diff options
author | Alexei Shlychkov <x0177296@ti.com> | 2012-07-17 16:29:07 -0700 |
---|---|---|
committer | Ziyann <jaraidaniel@gmail.com> | 2014-10-01 13:00:52 +0200 |
commit | 1951c714097434a8630c7e6e579dcbc6a0f23d71 (patch) | |
tree | 28bdbacf9bc17f268ea6f8a78ef36d7ed1bb6c16 /drivers/misc | |
parent | 0beca986ab2bb9c46411576abc22385147a14ca0 (diff) | |
download | kernel_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.c | 31 |
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: |