diff options
author | Loren HUANG <b02279@freescale.com> | 2013-09-04 15:58:04 +0800 |
---|---|---|
committer | Jason Liu <r64343@freescale.com> | 2013-10-30 09:55:24 +0800 |
commit | 561250ddcfbe1254ef783e4a0fc9b5e68e572708 (patch) | |
tree | 686e4cd33d72e1f0822c24560109cc4e78a36909 /drivers | |
parent | 1d1035dec51c03725613c4b1bfe33a5213989285 (diff) |
ENGR00277333 gpu: Enable OT limitation for gc880
Enable OT limitation for gc880, without this limitation
3D core may stall system bus when it is running at a very low clock.
Signed-off-by: Loren HUANG <b02279@freescale.com>
Acked-by: Shawn Guo
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/mxc/gpu-viv/arch/XAQ2/hal/kernel/gc_hal_kernel_hardware.c | 15 |
1 files changed, 15 insertions, 0 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 00f383993ffe..64929350f567 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 @@ -728,6 +728,13 @@ gckHARDWARE_Construct( default: hardware->type = gcvHARDWARE_3D; + if(hardware->identity.chipModel == gcv880) + { + /*set outstanding limit*/ + gcmkONERROR(gckOS_ReadRegisterEx(Os, Core, 0x00414, &axi_ot)); + axi_ot = (axi_ot & (~0xFF)) | 0x10; + gcmkONERROR(gckOS_WriteRegisterEx(Os, Core, 0x00414, axi_ot)); + } if ((((((gctUINT32) (hardware->identity.chipFeatures)) >> (0 ? 9:9)) & ((gctUINT32) ((((1 ? 9:9) - (0 ? 9:9) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 9:9) - (0 ? 9:9) + 1)))))) )) { @@ -1198,6 +1205,14 @@ gckHARDWARE_InitializeHardware( #endif /* Limit 2D outstanding request. */ + if(Hardware->identity.chipModel == gcv880) + { + gctUINT32 axi_ot; + gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00414, &axi_ot)); + axi_ot = (axi_ot & (~0xFF)) | 0x10; + gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00414, axi_ot)); + } + if ((Hardware->identity.chipModel == gcv320) && ((Hardware->identity.chipRevision == 0x5007) || (Hardware->identity.chipRevision == 0x5220))) |