|
@@ -165,9 +165,25 @@ static int hdmi_runtime_get(void)
|
|
|
|
|
|
DSSDBG("hdmi_runtime_get\n");
|
|
|
|
|
|
+ /*
|
|
|
+ * HACK: Add dss_runtime_get() to ensure DSS clock domain is enabled.
|
|
|
+ * This should be removed later.
|
|
|
+ */
|
|
|
+ r = dss_runtime_get();
|
|
|
+ if (r < 0)
|
|
|
+ goto err_get_dss;
|
|
|
+
|
|
|
r = pm_runtime_get_sync(&hdmi.pdev->dev);
|
|
|
WARN_ON(r < 0);
|
|
|
- return r < 0 ? r : 0;
|
|
|
+ if (r < 0)
|
|
|
+ goto err_get_hdmi;
|
|
|
+
|
|
|
+ return 0;
|
|
|
+
|
|
|
+err_get_hdmi:
|
|
|
+ dss_runtime_put();
|
|
|
+err_get_dss:
|
|
|
+ return r;
|
|
|
}
|
|
|
|
|
|
static void hdmi_runtime_put(void)
|
|
@@ -178,6 +194,12 @@ static void hdmi_runtime_put(void)
|
|
|
|
|
|
r = pm_runtime_put_sync(&hdmi.pdev->dev);
|
|
|
WARN_ON(r < 0);
|
|
|
+
|
|
|
+ /*
|
|
|
+ * HACK: This is added to complement the dss_runtime_get() call in
|
|
|
+ * hdmi_runtime_get(). This should be removed later.
|
|
|
+ */
|
|
|
+ dss_runtime_put();
|
|
|
}
|
|
|
|
|
|
int hdmi_init_display(struct omap_dss_device *dssdev)
|