From: Mythri P K <mythr...@ti.com>

Define new HDMI timings structure to replace the OMAP DSS timing strucutre in
hdmi.c to have the HDMI include defintion out of DSS.

Signed-off-by: Mythri P K <mythr...@ti.com>
---
 drivers/video/omap2/dss/hdmi.c |   22 +++++++++++++++++++---
 drivers/video/omap2/dss/hdmi.h |   15 ++++++++++++++-
 2 files changed, 33 insertions(+), 4 deletions(-)

diff --git a/drivers/video/omap2/dss/hdmi.c b/drivers/video/omap2/dss/hdmi.c
index 084a47e..ba1ad06 100644
--- a/drivers/video/omap2/dss/hdmi.c
+++ b/drivers/video/omap2/dss/hdmi.c
@@ -537,6 +537,20 @@ static int read_edid(struct hdmi_ip_data *ip_data, u8 
*pedid, u16 max_length)
        return 0;
 }
 
+static void copy_hdmi_to_dss_timings(struct hdmi_video_timings hdmi_timings,
+                       struct omap_video_timings *timings)
+{
+       timings->x_res = hdmi_timings.x_res;
+       timings->y_res = hdmi_timings.y_res;
+       timings->pixel_clock = hdmi_timings.pixel_clock;
+       timings->hbp = hdmi_timings.hbp;
+       timings->hfp = hdmi_timings.hfp;
+       timings->hsw = hdmi_timings.hsw;
+       timings->vbp = hdmi_timings.vbp;
+       timings->vfp = hdmi_timings.vfp;
+       timings->vsw = hdmi_timings.vsw;
+}
+
 static int get_timings_index(void)
 {
        int code;
@@ -561,7 +575,7 @@ static struct hdmi_cm hdmi_get_code(struct 
omap_video_timings *timing)
 {
        int i = 0, code = -1, temp_vsync = 0, temp_hsync = 0;
        int timing_vsync = 0, timing_hsync = 0;
-       struct omap_video_timings temp;
+       struct hdmi_video_timings temp;
        struct hdmi_cm cm = {-1};
        DSSDBG("hdmi_get_code\n");
 
@@ -719,7 +733,8 @@ static void hdmi_read_edid(struct omap_video_timings *dp)
 
        code = get_timings_index();
 
-       *dp = cea_vesa_timings[code].timings;
+       copy_hdmi_to_dss_timings(cea_vesa_timings[code].timings, dp);
+
 }
 
 static void hdmi_core_init(struct hdmi_core_video_config *video_cfg,
@@ -1178,7 +1193,8 @@ static int hdmi_power_on(struct omap_dss_device *dssdev)
                hdmi_read_edid(p);
        }
        code = get_timings_index();
-       dssdev->panel.timings = cea_vesa_timings[code].timings;
+       copy_hdmi_to_dss_timings(cea_vesa_timings[code].timings,
+                       &dssdev->panel.timings);
        update_hdmi_timings(&hdmi.hdmi_data.cfg, p, code);
 
        phy = p->pixel_clock;
diff --git a/drivers/video/omap2/dss/hdmi.h b/drivers/video/omap2/dss/hdmi.h
index c0f4c2a..7046ff3 100644
--- a/drivers/video/omap2/dss/hdmi.h
+++ b/drivers/video/omap2/dss/hdmi.h
@@ -198,9 +198,22 @@ struct hdmi_reg { u16 idx; };
 #define REG_GET(base, idx, start, end) \
        FLD_GET(hdmi_read_reg(base, idx), start, end)
 
+struct hdmi_video_timings {
+       u16 x_res;
+       u16 y_res;
+       /* Unit: KHz */
+       u32 pixel_clock;
+       u16 hsw;
+       u16 hfp;
+       u16 hbp;
+       u16 vsw;
+       u16 vfp;
+       u16 vbp;
+};
+
 /* HDMI timing structure */
 struct hdmi_timings {
-       struct omap_video_timings timings;
+       struct hdmi_video_timings timings;
        int vsync_pol;
        int hsync_pol;
 };
-- 
1.7.5.4

--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to