Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 196756
b: refs/heads/master
c: f49a951
h: refs/heads/master
v: v3
  • Loading branch information
Tomi Valkeinen committed May 18, 2010
1 parent 3daa121 commit 9072ad5
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 1 deletion.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 279fcd48c4a426050422b2d196fd99c2b5ae7d71
refs/heads/master: f49a951f8a2dacbbb145b6199297fcc3e493b90f
20 changes: 20 additions & 0 deletions trunk/drivers/video/omap2/dss/manager.c
Original file line number Diff line number Diff line change
Expand Up @@ -940,6 +940,22 @@ static int configure_dispc(void)
return r;
}

/* Make the coordinates even. There are some strange problems with OMAP and
* partial DSI update when the update widths are odd. */
static void make_even(u16 *x, u16 *w)
{
u16 x1, x2;

x1 = *x;
x2 = *x + *w;

x1 &= ~1;
x2 = ALIGN(x2, 2);

*x = x1;
*w = x2 - x1;
}

/* Configure dispc for partial update. Return possibly modified update
* area */
void dss_setup_partial_planes(struct omap_dss_device *dssdev,
Expand Down Expand Up @@ -968,6 +984,8 @@ void dss_setup_partial_planes(struct omap_dss_device *dssdev,
return;
}

make_even(&x, &w);

spin_lock_irqsave(&dss_cache.lock, flags);

/* We need to show the whole overlay if it is scaled. So look for
Expand Down Expand Up @@ -1029,6 +1047,8 @@ void dss_setup_partial_planes(struct omap_dss_device *dssdev,
w = x2 - x1;
h = y2 - y1;

make_even(&x, &w);

DSSDBG("changing upd area due to ovl(%d) scaling %d,%d %dx%d\n",
i, x, y, w, h);
}
Expand Down

0 comments on commit 9072ad5

Please sign in to comment.