summaryrefslogtreecommitdiff
path: root/drivers/mxc
diff options
context:
space:
mode:
authorWu Guoxing <b39297@freescale.com>2012-02-21 13:02:50 +0800
committerWu Guoxing <b39297@freescale.com>2012-02-21 13:24:29 +0800
commitd515de560f6f29c7ffe0e6cce811d6625b7a94b5 (patch)
tree7e83857e6e794e5e5b86cae7e3854f7d89967e66 /drivers/mxc
parenta434c32db29bc69075f397df85a3346ccef0e3c9 (diff)
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 <b39297@freescale.com> Acked-by: Lily Zhang
Diffstat (limited to 'drivers/mxc')
-rw-r--r--drivers/mxc/gpu-viv/arch/XAQ2/hal/kernel/gc_hal_kernel_hardware.c11
1 files changed, 11 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 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 <mach/hardware.h>
#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;