aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/misc
diff options
context:
space:
mode:
authorAlexei Shlychkov <x0177296@ti.com>2012-09-13 04:29:15 -0700
committerZiyann <jaraidaniel@gmail.com>2014-10-01 13:01:00 +0200
commit60f88d5146b545605701c4787a0a2b39531856cd (patch)
treeb3b7581f9c2a1c1f1b6ca861ab95ddf539cdeec3 /drivers/misc
parentd041ff1f03bf2a876cd93dfd9b9c145675b6b5e0 (diff)
downloadkernel_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.c18
-rw-r--r--drivers/misc/gcx/gcbv/gcbv.h4
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. */