aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/video/omap2/dss/dss.h
diff options
context:
space:
mode:
authorArchit Taneja <archit@ti.com>2012-08-08 07:20:42 -0400
committerArchit Taneja <archit@ti.com>2012-08-15 06:12:43 -0400
commit7849398fa28c21dad24292b838b059a862f99f16 (patch)
tree214847fc07fa918b3d269f17c1c9133ae9698e86 /drivers/video/omap2/dss/dss.h
parent55cd63acf6855cd45a183fdfca6d22450b8d1d47 (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.h3
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
485int omapdss_hdmi_display_enable(struct omap_dss_device *dssdev); 485int omapdss_hdmi_display_enable(struct omap_dss_device *dssdev);
486void omapdss_hdmi_display_disable(struct omap_dss_device *dssdev); 486void omapdss_hdmi_display_disable(struct omap_dss_device *dssdev);
487void omapdss_hdmi_display_set_timing(struct omap_dss_device *dssdev); 487void omapdss_hdmi_display_set_timing(struct omap_dss_device *dssdev,
488 struct omap_video_timings *timings);
488int omapdss_hdmi_display_check_timing(struct omap_dss_device *dssdev, 489int omapdss_hdmi_display_check_timing(struct omap_dss_device *dssdev,
489 struct omap_video_timings *timings); 490 struct omap_video_timings *timings);
490int omapdss_hdmi_read_edid(u8 *buf, int len); 491int omapdss_hdmi_read_edid(u8 *buf, int len);