aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/misc
diff options
context:
space:
mode:
authorAlexei Shlychkov <x0177296@ti.com>2012-07-17 16:29:07 -0700
committerZiyann <jaraidaniel@gmail.com>2014-10-01 13:00:52 +0200
commit1951c714097434a8630c7e6e579dcbc6a0f23d71 (patch)
tree28bdbacf9bc17f268ea6f8a78ef36d7ed1bb6c16 /drivers/misc
parent0beca986ab2bb9c46411576abc22385147a14ca0 (diff)
downloadkernel_samsung_tuna-1951c714097434a8630c7e6e579dcbc6a0f23d71.zip
kernel_samsung_tuna-1951c714097434a8630c7e6e579dcbc6a0f23d71.tar.gz
kernel_samsung_tuna-1951c714097434a8630c7e6e579dcbc6a0f23d71.tar.bz2
gcx: fixed suspend issue.
Clipping was only set during init. When GC320 was shut down in full system suspend, clipping was reset to the hardware default (0,0)-(0,0), which caused all primitived to be clipped after resume. Change-Id: I9d263c6d56950e4e29bb352ed53b70f034f7382a Signed-off-by: Alexei Shlychkov <x0177296@ti.com>
Diffstat (limited to 'drivers/misc')
-rw-r--r--drivers/misc/gcx/gcbv/gcbv.c31
1 files changed, 7 insertions, 24 deletions
diff --git a/drivers/misc/gcx/gcbv/gcbv.c b/drivers/misc/gcx/gcbv/gcbv.c
index e183a7c..4abc1eb 100644
--- a/drivers/misc/gcx/gcbv/gcbv.c
+++ b/drivers/misc/gcx/gcbv/gcbv.c
@@ -358,9 +358,6 @@ struct gccallbackinfo {
/* Driver context. */
struct gccontext {
- /* Pipe initialization. */
- int initdone;
-
/* Last generated error message. */
char bverrorstr[128];
@@ -2924,33 +2921,12 @@ static enum bverror set_dst(struct bvbltparams *bltparams,
struct bvbuffmap *dstmap)
{
enum bverror bverror = BVERR_NONE;
- struct gcmoclip *gcmoclip;
struct gcmodst *gcmodst;
GCENTER(GCZONE_DEST);
/* Did destination surface change? */
if ((batch->batchflags & BVBATCH_DST) != 0) {
- /* Perform initialization. */
- if (gccontext.initdone == 0) {
- /* Allocate command buffer. */
- bverror = claim_buffer(bltparams, batch,
- sizeof(struct gcmoclip),
- (void **) &gcmoclip);
- if (bverror != BVERR_NONE)
- goto exit;
-
- /* Set clipping. */
- gcmoclip->lt_ldst = gcmoclip_lt_ldst;
- gcmoclip->lt.raw = 0;
- gcmoclip->rb.raw = 0;
- gcmoclip->rb.reg.right = GC_CLIP_RESET_RIGHT;
- gcmoclip->rb.reg.bottom = GC_CLIP_RESET_BOTTOM;
-
- /* Mark as initialized. */
- gccontext.initdone = 1;
- }
-
/* Allocate command buffer. */
bverror = claim_buffer(bltparams, batch,
sizeof(struct gcmodst),
@@ -2973,6 +2949,13 @@ static enum bverror set_dst(struct bvbltparams *bltparams,
gcmodst->rotationheight_ldst = gcmodst_rotationheight_ldst;
gcmodst->rotationheight.raw = 0;
gcmodst->rotationheight.reg.height = batch->physheight;
+
+ /* Set clipping. */
+ gcmodst->clip_ldst = gcmodst_clip_ldst;
+ gcmodst->cliplt.raw = 0;
+ gcmodst->cliprb.raw = 0;
+ gcmodst->cliprb.reg.right = GC_CLIP_RESET_RIGHT;
+ gcmodst->cliprb.reg.bottom = GC_CLIP_RESET_BOTTOM;
}
exit: