diff options
author | Alexei Shlychkov <x0177296@ti.com> | 2012-09-13 04:29:15 -0700 |
---|---|---|
committer | Ziyann <jaraidaniel@gmail.com> | 2014-10-01 13:01:00 +0200 |
commit | 60f88d5146b545605701c4787a0a2b39531856cd (patch) | |
tree | b3b7581f9c2a1c1f1b6ca861ab95ddf539cdeec3 /drivers/misc | |
parent | d041ff1f03bf2a876cd93dfd9b9c145675b6b5e0 (diff) | |
download | kernel_samsung_tuna-60f88d5146b545605701c4787a0a2b39531856cd.zip kernel_samsung_tuna-60f88d5146b545605701c4787a0a2b39531856cd.tar.gz kernel_samsung_tuna-60f88d5146b545605701c4787a0a2b39531856cd.tar.bz2 |
gcx: fix format parsing/usage dependency.
Change-Id: I57a8a6f49fdf6bbfa150c25c78057fec5f7892d0
Signed-off-by: Alexei Shlychkov <x0177296@ti.com>
Diffstat (limited to 'drivers/misc')
-rw-r--r-- | drivers/misc/gcx/gcbv/gcblit.c | 18 | ||||
-rw-r--r-- | drivers/misc/gcx/gcbv/gcbv.h | 4 |
2 files changed, 12 insertions, 10 deletions
diff --git a/drivers/misc/gcx/gcbv/gcblit.c b/drivers/misc/gcx/gcbv/gcblit.c index 23ae521..fbf6de1 100644 --- a/drivers/misc/gcx/gcbv/gcblit.c +++ b/drivers/misc/gcx/gcbv/gcblit.c @@ -71,7 +71,6 @@ static enum bverror do_blit_end(struct bvbltparams *bvbltparams, { enum bverror bverror; struct gcblit *gcblit; - struct surfaceinfo *dstinfo; struct gcmobltconfig *gcmobltconfig; struct gcmostartde *gcmostartde; @@ -83,9 +82,6 @@ static enum bverror do_blit_end(struct bvbltparams *bvbltparams, GCDBG(GCZONE_BLIT, "finalizing the blit, scrcount = %d\n", gcblit->srccount); - /* Get a shortcut to the destination surface. */ - dstinfo = &batch->dstinfo; - /*********************************************************************** * Configure the operation. */ @@ -116,15 +112,13 @@ static enum bverror do_blit_end(struct bvbltparams *bvbltparams, } /* Set destination configuration. */ - GCDBG(GCZONE_BLIT, " swizzle code = %d\n", - dstinfo->format.swizzle); - GCDBG(GCZONE_BLIT, " format code = %d\n", - dstinfo->format.format); + GCDBG(GCZONE_BLIT, " swizzle code = %d\n", gcblit->swizzle); + GCDBG(GCZONE_BLIT, " format code = %d\n", gcblit->format); gcmobltconfig->dstconfig_ldst = gcmobltconfig_dstconfig_ldst; gcmobltconfig->dstconfig.raw = 0; - gcmobltconfig->dstconfig.reg.swizzle = dstinfo->format.swizzle; - gcmobltconfig->dstconfig.reg.format = dstinfo->format.format; + gcmobltconfig->dstconfig.reg.swizzle = gcblit->swizzle; + gcmobltconfig->dstconfig.reg.format = gcblit->format; gcmobltconfig->dstconfig.reg.command = gcblit->multisrc ? GCREG_DEST_CONFIG_COMMAND_MULTI_SOURCE_BLT : GCREG_DEST_CONFIG_COMMAND_BIT_BLT; @@ -519,6 +513,10 @@ enum bverror do_blit(struct bvbltparams *bvbltparams, gcblit->multisrc = multisrc; gcblit->rop = srcinfo->rop; + /* Set the destination format. */ + gcblit->format = dstinfo->format.format; + gcblit->swizzle = dstinfo->format.swizzle; + /* Set the destination coordinates. */ gcblit->dstrect.left = batch->dstadjusted.left - dstoffsetX; gcblit->dstrect.top = batch->dstadjusted.top - dstoffsetY; diff --git a/drivers/misc/gcx/gcbv/gcbv.h b/drivers/misc/gcx/gcbv/gcbv.h index 486e476..6b72f90 100644 --- a/drivers/misc/gcx/gcbv/gcbv.h +++ b/drivers/misc/gcx/gcbv/gcbv.h @@ -388,6 +388,10 @@ struct gcblit { /* Block walker enable. */ int blockenable; + + /* Destination format and swizzle */ + unsigned int format; + unsigned int swizzle; }; /* Filter states. */ |