diff options
| author | Xianzhong <b07117@freescale.com> | 2013-11-28 09:37:16 -0500 |
|---|---|---|
| committer | Nitin Garg <nitin.garg@freescale.com> | 2014-04-16 09:47:34 -0400 |
| commit | 14adcace58ae03c2d79052a9434670706cc67cb0 (patch) | |
| tree | 31fa9f25bf76211973707f746a75f8305f78438c /drivers/mxc | |
| parent | fb09778c301ed931be9f004104e1951dfd8abf0d (diff) | |
ENGR00289999 gpu: 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
Diffstat (limited to 'drivers/mxc')
| -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( | |||
| 436 | gctUINT i; | 436 | gctUINT i; |
| 437 | gctUINT vertexUniforms, fragmentUniforms; | 437 | gctUINT vertexUniforms, fragmentUniforms; |
| 438 | gctUINT fe2vsCount; | 438 | gctUINT fe2vsCount; |
| 439 | gctBOOL halti0; | ||
| 439 | #endif | 440 | #endif |
| 440 | 441 | ||
| 441 | /* Reset the buffer index. */ | 442 | /* Reset the buffer index. */ |
| @@ -457,6 +458,7 @@ _InitializeContextBuffer( | |||
| 457 | #if !defined(VIVANTE_NO_3D) | 458 | #if !defined(VIVANTE_NO_3D) |
| 458 | /**************************************************************************/ | 459 | /**************************************************************************/ |
| 459 | /* Build 3D states. *******************************************************/ | 460 | /* Build 3D states. *******************************************************/ |
| 461 | 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)))))) ); | ||
| 460 | 462 | ||
| 461 | /* Query shader support. */ | 463 | /* Query shader support. */ |
| 462 | gcmkVERIFY_OK(gckHARDWARE_QueryShaderCaps( | 464 | gcmkVERIFY_OK(gckHARDWARE_QueryShaderCaps( |
| @@ -747,6 +749,8 @@ _InitializeContextBuffer( | |||
| 747 | 749 | ||
| 748 | if (Context->hardware->identity.pixelPipes == 1) | 750 | if (Context->hardware->identity.pixelPipes == 1) |
| 749 | { | 751 | { |
| 752 | index += _State(Context, index, 0x01460 >> 2, 0x00000000, 8, gcvFALSE, gcvTRUE); | ||
| 753 | |||
| 750 | index += _State(Context, index, 0x01430 >> 2, 0x00000000, 1, gcvFALSE, gcvTRUE); | 754 | index += _State(Context, index, 0x01430 >> 2, 0x00000000, 1, gcvFALSE, gcvTRUE); |
| 751 | index += _State(Context, index, 0x01410 >> 2, 0x00000000, 1, gcvFALSE, gcvTRUE); | 755 | index += _State(Context, index, 0x01410 >> 2, 0x00000000, 1, gcvFALSE, gcvTRUE); |
| 752 | } | 756 | } |
| @@ -754,14 +758,17 @@ _InitializeContextBuffer( | |||
| 754 | { | 758 | { |
| 755 | index += _State(Context, index, (0x01460 >> 2) + (0 << 3), 0x00000000, Context->hardware->identity.pixelPipes, gcvFALSE, gcvTRUE); | 759 | index += _State(Context, index, (0x01460 >> 2) + (0 << 3), 0x00000000, Context->hardware->identity.pixelPipes, gcvFALSE, gcvTRUE); |
| 756 | 760 | ||
| 757 | index += _State(Context, index, (0x01480 >> 2) + (0 << 3), 0x00000000, Context->hardware->identity.pixelPipes, gcvFALSE, gcvTRUE); | ||
| 758 | |||
| 759 | for (i = 0; i < 2; i++) | 761 | for (i = 0; i < 2; i++) |
| 760 | { | 762 | { |
| 761 | index += _State(Context, index, (0x01500 >> 2) + (i << 3), 0x00000000, Context->hardware->identity.pixelPipes, gcvFALSE, gcvTRUE); | 763 | index += _State(Context, index, (0x01500 >> 2) + (i << 3), 0x00000000, Context->hardware->identity.pixelPipes, gcvFALSE, gcvTRUE); |
| 762 | } | 764 | } |
| 763 | } | 765 | } |
| 764 | 766 | ||
| 767 | if (Context->hardware->identity.pixelPipes > 1 || halti0) | ||
| 768 | { | ||
| 769 | index += _State(Context, index, (0x01480 >> 2) + (0 << 3), 0x00000000, Context->hardware->identity.pixelPipes, gcvFALSE, gcvTRUE); | ||
| 770 | } | ||
| 771 | |||
| 765 | /* Resolve states. */ | 772 | /* Resolve states. */ |
| 766 | index += _State(Context, index, 0x01604 >> 2, 0x00000000, 1, gcvFALSE, gcvFALSE); | 773 | index += _State(Context, index, 0x01604 >> 2, 0x00000000, 1, gcvFALSE, gcvFALSE); |
| 767 | index += _State(Context, index, 0x01608 >> 2, 0x00000000, 1, gcvFALSE, gcvTRUE); | 774 | index += _State(Context, index, 0x01608 >> 2, 0x00000000, 1, gcvFALSE, gcvTRUE); |
