From d515de560f6f29c7ffe0e6cce811d6625b7a94b5 Mon Sep 17 00:00:00 2001 From: Wu Guoxing Date: Tue, 21 Feb 2012 13:02:50 +0800 Subject: 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 --- .../mxc/gpu-viv/arch/XAQ2/hal/kernel/gc_hal_kernel_hardware.c | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'drivers/mxc/gpu-viv') 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; -- cgit v1.2.3