diff options
author | Richard Liu <r66033@freescale.com> | 2014-04-04 12:19:12 +0800 |
---|---|---|
committer | Richard Liu <r66033@freescale.com> | 2014-04-04 12:23:49 +0800 |
commit | cc459654bfe76d3172bb261769d5c45a2e32d045 (patch) | |
tree | 4d4d814263510a77ebdbced9e379647d39d057e8 | |
parent | 0d5505cfd0b50db4bd046270b119c4dae0a143c2 (diff) |
ENGR00306993 revert gpu2d may cause bus hang fixkk4.4.2_1.0.0-beta
gpu2d hang fix has side effect, it causes flicker issue for popup window
menu on android, not integrate this fix before the side effect be fixed.
Revert "ENGR00302036-3 gpu:gpu2d may cause bus hang in some corner case"
This reverts commit 0d5505cfd0b50db4bd046270b119c4dae0a143c2.
Signed-off-by: Richard Liu <r66033@freescale.com>
Acked-by: Shawn Guo
-rw-r--r-- | drivers/mxc/gpu-viv/arch/XAQ2/hal/kernel/gc_hal_kernel_hardware.c | 61 | ||||
-rw-r--r-- | drivers/mxc/gpu-viv/hal/kernel/inc/gc_hal_driver.h | 3 |
2 files changed, 20 insertions, 44 deletions
diff --git a/drivers/mxc/gpu-viv/arch/XAQ2/hal/kernel/gc_hal_kernel_hardware.c b/drivers/mxc/gpu-viv/arch/XAQ2/hal/kernel/gc_hal_kernel_hardware.c index 60adbfe06cec..e8ad2ea3e031 100644 --- a/drivers/mxc/gpu-viv/arch/XAQ2/hal/kernel/gc_hal_kernel_hardware.c +++ b/drivers/mxc/gpu-viv/arch/XAQ2/hal/kernel/gc_hal_kernel_hardware.c @@ -509,36 +509,6 @@ _IdentifyHardware( Identity->varyingsCount -= 1; } - Identity->chip2DControl = 0; - if (Identity->chipModel == gcv320) - { - gctUINT32 data; - - gcmkONERROR( - gckOS_ReadRegisterEx(Os, - Core, - 0x0002C, - &data)); - - if ((data != 33956864) && - ((Identity->chipRevision == 0x5007) || - (Identity->chipRevision == 0x5220))) - { - Identity->chip2DControl |= 0xFF & - (Identity->chipRevision == 0x5220 ? 8 : - (Identity->chipRevision == 0x5007 ? 12 : 0)); - } - - if (Identity->chipRevision == 0x5007) - { - /* Disable splitting rectangle. */ - Identity->chip2DControl |= 0x100; - - /* Enable 2D Flush. */ - Identity->chip2DControl |= 0x200; - } - } - /* Success. */ gcmkFOOTER(); return gcvSTATUS_OK; @@ -1348,24 +1318,34 @@ gckHARDWARE_InitializeHardware( gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00414, axi_ot)); } - if (Hardware->identity.chip2DControl & 0xFF) - { + if ((Hardware->identity.chipModel == gcv320) + && ((Hardware->identity.chipRevision == 0x5007) + || (Hardware->identity.chipRevision == 0x5220))) + { gctUINT32 data; gcmkONERROR( gckOS_ReadRegisterEx(Hardware->os, Hardware->core, - 0x00414, + 0x0002C, &data)); + if (data != 33956864) + { + gcmkONERROR( + gckOS_ReadRegisterEx(Hardware->os, + Hardware->core, + 0x00414, + &data)); - data = ((((gctUINT32) (data)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 7:0) - (0 ? 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ? 7:0))) | (((gctUINT32) ((gctUINT32) (Hardware->identity.chip2DControl & 0xFF) & ((gctUINT32) ((((1 ? 7:0) - (0 ? 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ? 7:0))); + data = ((((gctUINT32) (data)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 7:0) - (0 ? 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ? 7:0))) | (((gctUINT32) ((gctUINT32) (Hardware->identity.chipRevision == 0x5220 ? 8 : (Hardware->identity.chipRevision == 0x5007 ? 16 : 0)) & ((gctUINT32) ((((1 ? 7:0) - (0 ? 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ? 7:0))); - gcmkONERROR( - gckOS_WriteRegisterEx(Hardware->os, - Hardware->core, - 0x00414, - data)); - } + gcmkONERROR( + gckOS_WriteRegisterEx(Hardware->os, + Hardware->core, + 0x00414, + data)); + } + } /* Update GPU AXI cache atttribute. */ gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, @@ -1573,7 +1553,6 @@ gckHARDWARE_QueryChipIdentity( Identity->bufferSize = Hardware->identity.bufferSize; Identity->varyingsCount = Hardware->identity.varyingsCount; Identity->superTileMode = Hardware->identity.superTileMode; - Identity->chip2DControl = Hardware->identity.chip2DControl; /* Success. */ gcmkFOOTER_NO(); diff --git a/drivers/mxc/gpu-viv/hal/kernel/inc/gc_hal_driver.h b/drivers/mxc/gpu-viv/hal/kernel/inc/gc_hal_driver.h index 8397f89cb078..ea86349dcf97 100644 --- a/drivers/mxc/gpu-viv/hal/kernel/inc/gc_hal_driver.h +++ b/drivers/mxc/gpu-viv/hal/kernel/inc/gc_hal_driver.h @@ -257,9 +257,6 @@ typedef struct _gcsHAL_QUERY_CHIP_IDENTITY /* Supertile layout style in hardware */ gctUINT32 superTileMode; - - /* Special control bits for 2D chip. */ - gctUINT32 chip2DControl; } gcsHAL_QUERY_CHIP_IDENTITY; |