summaryrefslogtreecommitdiffstats
path: root/hwc
diff options
context:
space:
mode:
authorErik Gilling <konkers@android.com>2011-12-13 17:29:09 -0800
committerAndroid Git Automerger <android-git-automerger@android.com>2011-12-13 17:29:09 -0800
commita7e1cf223e23a08ed1483ff87abc48e583b1e4e2 (patch)
tree6e8fca334b80b52e6880dc0922ea39faf5f03835 /hwc
parent8ce770dcb41825f304561e70114196305ff6b248 (diff)
parent252f905d197c5f385d21686a4368ab1114b84e39 (diff)
downloadhardware_ti_omap4xxx-a7e1cf223e23a08ed1483ff87abc48e583b1e4e2.zip
hardware_ti_omap4xxx-a7e1cf223e23a08ed1483ff87abc48e583b1e4e2.tar.gz
hardware_ti_omap4xxx-a7e1cf223e23a08ed1483ff87abc48e583b1e4e2.tar.bz2
am 252f905d: am 12c821db: hwc: update to new addressing mode handling
* commit '252f905d197c5f385d21686a4368ab1114b84e39': hwc: update to new addressing mode handling
Diffstat (limited to 'hwc')
-rw-r--r--hwc/hwc.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/hwc/hwc.c b/hwc/hwc.c
index 4fae106..1e3cefe 100644
--- a/hwc/hwc.c
+++ b/hwc/hwc.c
@@ -1092,6 +1092,7 @@ static int clone_layer(omap4_hwc_device_t *hwc_dev, int ix) {
/* reserve overlays at end for other display */
o->cfg.ix = MAX_HW_OVERLAYS - 1 - ext_ovl_ix;
o->cfg.mgr_ix = 1;
+ o->addressing = OMAP_DSS_BUFADDR_OVL_IX;
o->ba = ix;
/* use distinct z values (to simplify z-order checking) */
@@ -1233,9 +1234,8 @@ static int omap4_hwc_prepare(struct hwc_composer_device *dev, hwc_layer_list_t*
handle->iHeight);
dsscomp->ovls[dsscomp->num_ovls].cfg.ix = dsscomp->num_ovls;
- /* just marking dss layers */
- dsscomp->ovls[dsscomp->num_ovls].address = (void *) (dsscomp->num_ovls * 4096 + 0xA0000000);
- dsscomp->ovls[dsscomp->num_ovls].uv = (__u32) hwc_dev->buffers[dsscomp->num_ovls];
+ dsscomp->ovls[dsscomp->num_ovls].addressing = OMAP_DSS_BUFADDR_LAYER_IX;
+ dsscomp->ovls[dsscomp->num_ovls].ba = dsscomp->num_ovls;
/* ensure GFX layer is never scaled */
if (dsscomp->num_ovls == 0) {
@@ -1284,6 +1284,8 @@ static int omap4_hwc_prepare(struct hwc_composer_device *dev, hwc_layer_list_t*
hwc_dev->fb_dev->base.width,
hwc_dev->fb_dev->base.height);
dsscomp->ovls[0].cfg.pre_mult_alpha = 1;
+ dsscomp->ovls[0].addressing = OMAP_DSS_BUFADDR_LAYER_IX;
+ dsscomp->ovls[0].ba = 0;
}
/* mirror layers */
@@ -1293,7 +1295,7 @@ static int omap4_hwc_prepare(struct hwc_composer_device *dev, hwc_layer_list_t*
if (ext->current.enabled && hwc_dev->ext_ovls) {
if (ext->current.docking && ix_docking >= 0) {
if (clone_external_layer(hwc_dev, ix_docking) == 0)
- z++;
+ dsscomp->ovls[dsscomp->num_ovls - 1].cfg.zorder = z++;
} else if (!ext->current.docking) {
int res = 0;