OMAPDSS: DPI/HDMI: Apply manager timings even if panel is disabled
authorArchit Taneja <archit@ti.com>
Thu, 3 May 2012 14:33:11 +0000 (20:03 +0530)
committerTomi Valkeinen <tomi.valkeinen@ti.com>
Wed, 9 May 2012 10:44:08 +0000 (13:44 +0300)
The DPI and HDMI interfaces use their 'set_timing' functions to take in a new
set of timings. If the panel is disabled, they do not disable and re-enable
the interface. Currently, the manager timings are applied in hdmi_power_on()
and dpi_set_mode() respectively, these are not called by set_timings if the
panel is disabled.

When checking overlay and manager data, the DSS driver uses the last applied
manager timings, and not the timings held by omap_dss_device struct. Hence,
there is a need to apply the new manager timings even if the panel is disabled.

Apply the manager timings if the panel is disabled. Eventually, there should be
one common place where the timings are applied independent of the state of the
panel.

Signed-off-by: Archit Taneja <archit@ti.com>
drivers/video/omap2/dss/dpi.c
drivers/video/omap2/dss/hdmi.c

index e01ab98..d6e8fe7 100644 (file)
@@ -297,6 +297,8 @@ void dpi_set_timings(struct omap_dss_device *dssdev,
 
                dispc_runtime_put();
                dss_runtime_put();
+       } else {
+               dss_mgr_set_timings(dssdev->manager, timings);
        }
 }
 EXPORT_SYMBOL(dpi_set_timings);
index 8d4ff8c..32ad712 100644 (file)
@@ -435,6 +435,8 @@ void omapdss_hdmi_display_set_timing(struct omap_dss_device *dssdev)
                r = hdmi_power_on(dssdev);
                if (r)
                        DSSERR("failed to power on device\n");
+       } else {
+               dss_mgr_set_timings(dssdev->manager, &dssdev->panel.timings);
        }
 }