diff options
author | Xianzhong <b07117@freescale.com> | 2013-11-28 22:37:16 +0800 |
---|---|---|
committer | Xianzhong <b07117@freescale.com> | 2013-11-28 22:42:51 +0800 |
commit | 98658721f56e851154f5510a8994781fd9c136ee (patch) | |
tree | fcf64df000435ca66ea9c1761f8c471a9ee681f2 | |
parent | 88ab53302cd114fef41cdd8fd424c984c82f81dd (diff) |
ENGR00289999 fixed gc880 invalid command state message
gpu kernel dump the error message when enable DEBUG mode:
gckCONTEXT_Update(1493): State 0x0518 is not mapped.
gckCONTEXT_Update(1493): State 0x0520 is not mapped.
gckCONTEXT_Update(1493): State 0x0518 is not mapped.
gckCONTEXT_Update(1493): State 0x0520 is not mapped.
align gpu kernel driver to fix the error message
Signed-off-by: Xianzhong <b07117@freescale.com>
Acked-by: Jason Liu
-rw-r--r-- | drivers/mxc/gpu-viv/arch/XAQ2/hal/kernel/gc_hal_kernel_context.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/drivers/mxc/gpu-viv/arch/XAQ2/hal/kernel/gc_hal_kernel_context.c b/drivers/mxc/gpu-viv/arch/XAQ2/hal/kernel/gc_hal_kernel_context.c index 42e69151ff13..e277a21a6097 100644 --- a/drivers/mxc/gpu-viv/arch/XAQ2/hal/kernel/gc_hal_kernel_context.c +++ b/drivers/mxc/gpu-viv/arch/XAQ2/hal/kernel/gc_hal_kernel_context.c @@ -436,6 +436,7 @@ _InitializeContextBuffer( gctUINT i; gctUINT vertexUniforms, fragmentUniforms; gctUINT fe2vsCount; + gctBOOL halti0; #endif /* Reset the buffer index. */ @@ -457,6 +458,7 @@ _InitializeContextBuffer( #if !defined(VIVANTE_NO_3D) /**************************************************************************/ /* Build 3D states. *******************************************************/ + halti0 = (((((gctUINT32) (Context->hardware->identity.chipMinorFeatures1)) >> (0 ? 23:23)) & ((gctUINT32) ((((1 ? 23:23) - (0 ? 23:23) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:23) - (0 ? 23:23) + 1)))))) ); /* Query shader support. */ gcmkVERIFY_OK(gckHARDWARE_QueryShaderCaps( @@ -747,6 +749,8 @@ _InitializeContextBuffer( if (Context->hardware->identity.pixelPipes == 1) { + index += _State(Context, index, 0x01460 >> 2, 0x00000000, 8, gcvFALSE, gcvTRUE); + index += _State(Context, index, 0x01430 >> 2, 0x00000000, 1, gcvFALSE, gcvTRUE); index += _State(Context, index, 0x01410 >> 2, 0x00000000, 1, gcvFALSE, gcvTRUE); } @@ -754,14 +758,17 @@ _InitializeContextBuffer( { index += _State(Context, index, (0x01460 >> 2) + (0 << 3), 0x00000000, Context->hardware->identity.pixelPipes, gcvFALSE, gcvTRUE); - index += _State(Context, index, (0x01480 >> 2) + (0 << 3), 0x00000000, Context->hardware->identity.pixelPipes, gcvFALSE, gcvTRUE); - for (i = 0; i < 2; i++) { index += _State(Context, index, (0x01500 >> 2) + (i << 3), 0x00000000, Context->hardware->identity.pixelPipes, gcvFALSE, gcvTRUE); } } + if (Context->hardware->identity.pixelPipes > 1 || halti0) + { + index += _State(Context, index, (0x01480 >> 2) + (0 << 3), 0x00000000, Context->hardware->identity.pixelPipes, gcvFALSE, gcvTRUE); + } + /* Resolve states. */ index += _State(Context, index, 0x01604 >> 2, 0x00000000, 1, gcvFALSE, gcvFALSE); index += _State(Context, index, 0x01608 >> 2, 0x00000000, 1, gcvFALSE, gcvTRUE); |