Revert "drm/vc4: hdmi: Make sure the controller is powered up during bind"
authorDom Cobley <popcornmix@gmail.com>
Thu, 22 Jul 2021 14:27:27 +0000 (15:27 +0100)
committerDom Cobley <popcornmix@gmail.com>
Thu, 22 Jul 2021 14:27:27 +0000 (15:27 +0100)
This reverts commit 94bc403a9a7af3bd042ecdc160e6ab0b08331df8.

drivers/gpu/drm/vc4/vc4_hdmi.c

index e84f8aa..70414b0 100644 (file)
@@ -2316,18 +2316,6 @@ static int vc4_hdmi_bind(struct device *dev, struct device *master, void *data)
                        vc4_hdmi->disable_4kp60 = true;
        }
 
-       /*
-        * We need to have the device powered up at this point to call
-        * our reset hook and for the CEC init.
-        */
-       ret = vc4_hdmi_runtime_resume(dev);
-       if (ret)
-               goto err_put_ddc;
-
-       pm_runtime_get_noresume(dev);
-       pm_runtime_set_active(dev);
-       pm_runtime_enable(dev);
-
        if (vc4_hdmi->variant->reset)
                vc4_hdmi->variant->reset(vc4_hdmi);
 
@@ -2339,6 +2327,8 @@ static int vc4_hdmi_bind(struct device *dev, struct device *master, void *data)
                clk_prepare_enable(vc4_hdmi->pixel_bvb_clock);
        }
 
+       pm_runtime_enable(dev);
+
        drm_simple_encoder_init(drm, encoder, DRM_MODE_ENCODER_TMDS);
        drm_encoder_helper_add(encoder, &vc4_hdmi_encoder_helper_funcs);
 
@@ -2362,8 +2352,6 @@ static int vc4_hdmi_bind(struct device *dev, struct device *master, void *data)
                             vc4_hdmi_debugfs_regs,
                             vc4_hdmi);
 
-       pm_runtime_put_sync(dev);
-
        return 0;
 
 err_free_cec:
@@ -2374,7 +2362,6 @@ err_destroy_conn:
        vc4_hdmi_connector_destroy(&vc4_hdmi->connector);
 err_destroy_encoder:
        drm_encoder_cleanup(encoder);
-       pm_runtime_put_sync(dev);
        pm_runtime_disable(dev);
 err_put_ddc:
        put_device(&vc4_hdmi->ddc->dev);