Commit fcc36619 authored by Archit Taneja's avatar Archit Taneja Committed by Tomi Valkeinen

OMAPDSS: DPI/HDMI: Apply manager timings even if panel is disabled

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: default avatarArchit Taneja <archit@ti.com>
parent 228b2134
...@@ -297,6 +297,8 @@ void dpi_set_timings(struct omap_dss_device *dssdev, ...@@ -297,6 +297,8 @@ void dpi_set_timings(struct omap_dss_device *dssdev,
dispc_runtime_put(); dispc_runtime_put();
dss_runtime_put(); dss_runtime_put();
} else {
dss_mgr_set_timings(dssdev->manager, timings);
} }
} }
EXPORT_SYMBOL(dpi_set_timings); EXPORT_SYMBOL(dpi_set_timings);
......
...@@ -435,6 +435,8 @@ void omapdss_hdmi_display_set_timing(struct omap_dss_device *dssdev) ...@@ -435,6 +435,8 @@ void omapdss_hdmi_display_set_timing(struct omap_dss_device *dssdev)
r = hdmi_power_on(dssdev); r = hdmi_power_on(dssdev);
if (r) if (r)
DSSERR("failed to power on device\n"); DSSERR("failed to power on device\n");
} else {
dss_mgr_set_timings(dssdev->manager, &dssdev->panel.timings);
} }
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment