From 6a63cb03fd676ffd1783953f2245cc44aff6cd3d Mon Sep 17 00:00:00 2001 From: Wu Guoxing Date: Tue, 21 Feb 2012 13:02:50 +0800 Subject: [PATCH] ENGR00174899: mx6/dl:gpu2d:fix gc320 can not run at high core clock issue gc320 on Rigel can not run at high core clock, above 200M core clock will make system hang. change gc320's axi outstanding limit to 16 as a ic workaround. Signed-off-by: Wu Guoxing Acked-by: Lily Zhang --- .../arch/XAQ2/hal/kernel/gc_hal_kernel_hardware.c | 11 +++++++++++ 1 file changed, 11 insertions(+) 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 416021a5bb18..f7c238781cd2 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 @@ -23,6 +23,7 @@ #include "gc_hal.h" #include "gc_hal_kernel.h" +#include #define _GC_OBJ_ZONE gcvZONE_HARDWARE @@ -499,6 +500,16 @@ gckHARDWARE_Construct( #endif + if(cpu_is_mx6dl()) + { + /*set outstanding limit on mx6dl*/ + gctUINT32 data; + + gcmkONERROR(gckOS_ReadRegisterEx(Os, Core, 0x00414, &data)); + data = (data & (~0xFF)) | 0x10; + gcmkONERROR(gckOS_WriteRegisterEx(Os, Core, 0x00414, data)); + } + /* Set power state to ON. */ hardware->chipPowerState = gcvPOWER_ON; hardware->clockState = gcvTRUE; -- 2.39.2