diff options
author | Archit Taneja <archit@ti.com> | 2012-08-08 07:20:42 -0400 |
---|---|---|
committer | Archit Taneja <archit@ti.com> | 2012-08-15 06:12:43 -0400 |
commit | 7849398fa28c21dad24292b838b059a862f99f16 (patch) | |
tree | 214847fc07fa918b3d269f17c1c9133ae9698e86 /drivers/video/omap2/dss/dss.h | |
parent | 55cd63acf6855cd45a183fdfca6d22450b8d1d47 (diff) |
OMAPDSS: HDMI: Use our own omap_video_timings field when setting interface timings
The hdmi driver currently updates only the 'code' member of hdmi_config when
the op omapdss_hdmi_display_set_timing() is called by the hdmi panel driver.
The 'timing' field of hdmi_config is updated only when hdmi_power_on is called.
It makes more sense to configure the whole hdmi_config field in the set_timing
op called by the panel driver. This way, we don't need to call both functions
to ensure that our hdmi_config is configured correctly. Also, we don't need to
calculate hdmi_config during hdmi_power_on, or rely on the omap_video_timings
in the panel's omap_dss_device struct.
The default timings of the hdmi panel are represented in a cleaner form. Since
the hdmi output is now configured by it's own copy of timings (in
hdmi.ip_data.cfg), the panel driver needs to set it to a valid value before
enabling hdmi output. We now call omapdss_hdmi_set_timing() before enabling
hdmi output, this is done to atleast have the hdmi output configured to the
panel's default timings if the DSS user didn't call panel driver's set_timings()
op explicitly.
Signed-off-by: Archit Taneja <archit@ti.com>
Diffstat (limited to 'drivers/video/omap2/dss/dss.h')
-rw-r--r-- | drivers/video/omap2/dss/dss.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/video/omap2/dss/dss.h b/drivers/video/omap2/dss/dss.h index 3682e3f78426..ea39a994d1fd 100644 --- a/drivers/video/omap2/dss/dss.h +++ b/drivers/video/omap2/dss/dss.h | |||
@@ -484,7 +484,8 @@ static inline unsigned long hdmi_get_pixel_clock(void) | |||
484 | #endif | 484 | #endif |
485 | int omapdss_hdmi_display_enable(struct omap_dss_device *dssdev); | 485 | int omapdss_hdmi_display_enable(struct omap_dss_device *dssdev); |
486 | void omapdss_hdmi_display_disable(struct omap_dss_device *dssdev); | 486 | void omapdss_hdmi_display_disable(struct omap_dss_device *dssdev); |
487 | void omapdss_hdmi_display_set_timing(struct omap_dss_device *dssdev); | 487 | void omapdss_hdmi_display_set_timing(struct omap_dss_device *dssdev, |
488 | struct omap_video_timings *timings); | ||
488 | int omapdss_hdmi_display_check_timing(struct omap_dss_device *dssdev, | 489 | int omapdss_hdmi_display_check_timing(struct omap_dss_device *dssdev, |
489 | struct omap_video_timings *timings); | 490 | struct omap_video_timings *timings); |
490 | int omapdss_hdmi_read_edid(u8 *buf, int len); | 491 | int omapdss_hdmi_read_edid(u8 *buf, int len); |