Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 310373
b: refs/heads/master
c: 2aefad4
h: refs/heads/master
i:
  310371: b135cf8
v: v3
  • Loading branch information
Archit Taneja authored and Tomi Valkeinen committed May 22, 2012
1 parent cc0b76a commit 419490f
Show file tree
Hide file tree
Showing 3 changed files with 18 additions and 19 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: 65e006ff4bb06d42b532f866a846db6e4e637723
refs/heads/master: 2aefad49d8e3a898cf629d4c5264ffd061113531
29 changes: 16 additions & 13 deletions trunk/drivers/video/omap2/dss/dispc.c
Original file line number Diff line number Diff line change
Expand Up @@ -2665,37 +2665,40 @@ void dispc_mgr_set_timings(enum omap_channel channel,
{
unsigned xtot, ytot;
unsigned long ht, vt;
struct omap_video_timings t = *timings;

DSSDBG("channel %d xres %u yres %u\n", channel, timings->x_res,
timings->y_res);
DSSDBG("channel %d xres %u yres %u\n", channel, t.x_res, t.y_res);

if (!dispc_mgr_timings_ok(channel, timings)) {
if (!dispc_mgr_timings_ok(channel, &t)) {
BUG();
return;
}

if (dispc_mgr_is_lcd(channel)) {
_dispc_mgr_set_lcd_timings(channel, timings->hsw, timings->hfp,
timings->hbp, timings->vsw, timings->vfp,
timings->vbp);
_dispc_mgr_set_lcd_timings(channel, t.hsw, t.hfp, t.hbp, t.vsw,
t.vfp, t.vbp);

xtot = timings->x_res + timings->hfp + timings->hsw +
timings->hbp;
ytot = timings->y_res + timings->vfp + timings->vsw +
timings->vbp;
xtot = t.x_res + t.hfp + t.hsw + t.hbp;
ytot = t.y_res + t.vfp + t.vsw + t.vbp;

ht = (timings->pixel_clock * 1000) / xtot;
vt = (timings->pixel_clock * 1000) / xtot / ytot;

DSSDBG("pck %u\n", timings->pixel_clock);
DSSDBG("hsw %d hfp %d hbp %d vsw %d vfp %d vbp %d\n",
timings->hsw, timings->hfp, timings->hbp,
timings->vsw, timings->vfp, timings->vbp);
t.hsw, t.hfp, t.hbp, t.vsw, t.vfp, t.vbp);

DSSDBG("hsync %luHz, vsync %luHz\n", ht, vt);
} else {
enum dss_hdmi_venc_clk_source_select source;

source = dss_get_hdmi_venc_clk_source();

if (source == DSS_VENC_TV_CLK)
t.y_res /= 2;
}

dispc_mgr_set_size(channel, timings->x_res, timings->y_res);
dispc_mgr_set_size(channel, t.x_res, t.y_res);
}

static void dispc_mgr_set_lcd_divisor(enum omap_channel channel, u16 lck_div,
Expand Down
6 changes: 1 addition & 5 deletions trunk/drivers/video/omap2/dss/venc.c
Original file line number Diff line number Diff line change
Expand Up @@ -422,7 +422,6 @@ static int venc_power_on(struct omap_dss_device *dssdev)
{
u32 l;
int r;
struct omap_video_timings timings;

venc_reset();
venc_write_config(venc_timings_to_config(&dssdev->panel.timings));
Expand All @@ -442,10 +441,7 @@ static int venc_power_on(struct omap_dss_device *dssdev)

venc_write_reg(VENC_OUTPUT_CONTROL, l);

timings = dssdev->panel.timings;
timings.y_res /= 2;

dss_mgr_set_timings(dssdev->manager, &timings);
dss_mgr_set_timings(dssdev->manager, &dssdev->panel.timings);

r = regulator_enable(venc.vdda_dac_reg);
if (r)
Expand Down

0 comments on commit 419490f

Please sign in to comment.