Skip to content

Commit

Permalink
OMAP: DSS2: HDMI: make set_timing saner
Browse files Browse the repository at this point in the history
Currently the set_timings code for hdmi is quite strange. The display is
disabled in hdmi_omap4_panel.c before setting timings, and enabled in
hdmi.c after setting the timings. Furthermore, the timings were not
permanent, and disabling and enabling the display would lose them.

This patch makes the set_timings handling a bit better.

Cc: Mythri P K <mythripk@ti.com>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
  • Loading branch information
Tomi Valkeinen committed Sep 30, 2011
1 parent df4769c commit fa70dc5
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 8 deletions.
13 changes: 11 additions & 2 deletions drivers/video/omap2/dss/hdmi.c
Original file line number Diff line number Diff line change
Expand Up @@ -571,11 +571,20 @@ void omapdss_hdmi_display_set_timing(struct omap_dss_device *dssdev)
struct hdmi_cm cm;

hdmi.custom_set = 1;

cm = hdmi_get_code(&dssdev->panel.timings);
hdmi.code = cm.code;
hdmi.mode = cm.mode;
omapdss_hdmi_display_enable(dssdev);
hdmi.custom_set = 0;

if (dssdev->state == OMAP_DSS_DISPLAY_ACTIVE) {
int r;

hdmi_power_off(dssdev);

r = hdmi_power_on(dssdev);
if (r)
DSSERR("failed to power on device\n");
}
}

int omapdss_hdmi_display_enable(struct omap_dss_device *dssdev)
Expand Down
7 changes: 1 addition & 6 deletions drivers/video/omap2/dss/hdmi_panel.c
Original file line number Diff line number Diff line change
Expand Up @@ -161,12 +161,7 @@ static void hdmi_set_timings(struct omap_dss_device *dssdev,
mutex_lock(&hdmi.hdmi_lock);

dssdev->panel.timings = *timings;

if (dssdev->state == OMAP_DSS_DISPLAY_ACTIVE) {
/* turn the hdmi off and on to get new timings to use */
omapdss_hdmi_display_disable(dssdev);
omapdss_hdmi_display_set_timing(dssdev);
}
omapdss_hdmi_display_set_timing(dssdev);

mutex_unlock(&hdmi.hdmi_lock);
}
Expand Down

0 comments on commit fa70dc5

Please sign in to comment.