summaryrefslogtreecommitdiff
path: root/libcopybit
diff options
context:
space:
mode:
authorSushil Chauhan <sushilchauhan@codeaurora.org>2013-12-04 17:29:48 -0800
committerSushil Chauhan <sushilchauhan@codeaurora.org>2013-12-04 18:39:11 -0800
commit2babecc511488f806d1ab13ab5360d9ab02a2ae3 (patch)
treefd2a39fd885bce2a5d658f6985627956a6e2dc88 /libcopybit
parentbff954800abc9804804f57c99cad616b28e75791 (diff)
downloaddisplay-2babecc511488f806d1ab13ab5360d9ab02a2ae3.tar.gz
copybit: Set default value on COPYBIT_TRANSFORM for Color layer.
1. For Color layer, set zero transform value on COPYBIT_TRANSFORM otherwise it causes MDP IOMMU page fault at 90/270 degree rotation. 2. Color layer is part of Copybit context list, so no need to call msm_copybit() explicitly for it, that will be called during flush. Change-Id: I4421b4bddfeca56b0ad8534d921c3d743a7d92bb
Diffstat (limited to 'libcopybit')
-rw-r--r--libcopybit/copybit.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/libcopybit/copybit.cpp b/libcopybit/copybit.cpp
index 5d8da05d..7f37bdad 100644
--- a/libcopybit/copybit.cpp
+++ b/libcopybit/copybit.cpp
@@ -637,6 +637,7 @@ static int fill_color(struct copybit_device_t *dev,
return -EINVAL;
}
+ int status = 0;
struct blitReq* list = &ctx->list;
mdp_blit_req* req = &list->req[list->count++];
set_infos(ctx, req, MDP_SOLID_FILL);
@@ -654,7 +655,11 @@ static int fill_color(struct copybit_device_t *dev,
req->const_color.b = (uint32_t)((color >> 16) & 0xff);
req->const_color.alpha = (uint32_t)((color >> 24) & 0xff);
- int status = msm_copybit(ctx, list);
+ if (list->count == sizeof(list->req)/sizeof(list->req[0])) {
+ status = msm_copybit(ctx, list);
+ list->sync.acq_fen_fd_cnt = 0;
+ list->count = 0;
+ }
return status;
}