Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 271405
b: refs/heads/master
c: 38863b7
h: refs/heads/master
i:
  271403: c3d2494
v: v3
  • Loading branch information
Mythri P K authored and Tomi Valkeinen committed Sep 30, 2011
1 parent 49b2785 commit d4408bc
Show file tree
Hide file tree
Showing 3 changed files with 35 additions and 5 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 7b27da548389cede637653033211369a2c9678f7
refs/heads/master: 38863b7e1d22ca83614cf61ba73bd97a1355524d
23 changes: 20 additions & 3 deletions trunk/drivers/video/omap2/dss/hdmi.c
Original file line number Diff line number Diff line change
Expand Up @@ -534,6 +534,21 @@ static int read_edid(struct hdmi_ip_data *ip_data, u8 *pedid, u16 max_length)
return 0;
}

static void copy_hdmi_to_dss_timings(
const 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;
Expand All @@ -558,7 +573,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");

Expand Down Expand Up @@ -716,7 +731,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,
Expand Down Expand Up @@ -1178,7 +1194,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.ip_data.cfg, p, code);

phy = p->pixel_clock;
Expand Down
15 changes: 14 additions & 1 deletion trunk/drivers/video/omap2/dss/hdmi.h
Original file line number Diff line number Diff line change
Expand Up @@ -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;
};
Expand Down

0 comments on commit d4408bc

Please sign in to comment.