From 9d9b0b79666ea37607357e8c320b4fc7c7d2e150 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.5