aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/pvr/sgx/sgxutils.c
diff options
context:
space:
mode:
authorHemant Hariyani <hemanthariyani@ti.com>2011-08-25 03:01:10 -0400
committerPaolo Pisati <paolo.pisati@canonical.com>2012-08-17 04:18:39 -0400
commitb7f68b0d0649bec8d50054b78873ca40b267321b (patch)
tree56e9917cfa159b1728721dbae9d8c46f33bc2699 /drivers/gpu/pvr/sgx/sgxutils.c
parent8827e270c06639a9a89390799c8860bf9640ec5f (diff)
OMAP4: SGX-KM: Upgrade DDK to version 1.7.17.4403
This patch upgrades the kernel side graphics driver to version 1.7.17.4403. The corresponding change in the user side must be in place for this to work. Change-Id: Id3a713fa22a227dbcd0ec098589d62b350802247 Signed-off-by: Hemant Hariyani <hemanthariyani@ti.com>
Diffstat (limited to 'drivers/gpu/pvr/sgx/sgxutils.c')
-rw-r--r--drivers/gpu/pvr/sgx/sgxutils.c154
1 files changed, 90 insertions, 64 deletions
diff --git a/drivers/gpu/pvr/sgx/sgxutils.c b/drivers/gpu/pvr/sgx/sgxutils.c
index cf7ecc68d93..75b1b893200 100644
--- a/drivers/gpu/pvr/sgx/sgxutils.c
+++ b/drivers/gpu/pvr/sgx/sgxutils.c
@@ -206,7 +206,7 @@ PVRSRV_ERROR SGXScheduleCCBCommand(PVRSRV_DEVICE_NODE *psDeviceNode,
206 206
207 207
208 208
209 if ( (eCmdType != SGXMKIF_CMD_PROCESS_QUEUES) && 209 if ( (eCmdType != SGXMKIF_CMD_PROCESS_QUEUES) &&
210 ((psDevInfo->ui32CacheControl & SGXMKIF_CC_INVAL_DATA) != 0) && 210 ((psDevInfo->ui32CacheControl & SGXMKIF_CC_INVAL_DATA) != 0) &&
211 ((psDevInfo->ui32CacheControl & (SGXMKIF_CC_INVAL_BIF_PT | SGXMKIF_CC_INVAL_BIF_PD)) != 0)) 211 ((psDevInfo->ui32CacheControl & (SGXMKIF_CC_INVAL_BIF_PT | SGXMKIF_CC_INVAL_BIF_PD)) != 0))
212 { 212 {
@@ -227,7 +227,7 @@ PVRSRV_ERROR SGXScheduleCCBCommand(PVRSRV_DEVICE_NODE *psDeviceNode,
227 { 227 {
228 goto Exit; 228 goto Exit;
229 } 229 }
230 230
231 231
232 #if !defined(NO_HARDWARE) 232 #if !defined(NO_HARDWARE)
233 if(PollForValueKM(&psSGXHostCtl->ui32InvalStatus, 233 if(PollForValueKM(&psSGXHostCtl->ui32InvalStatus,
@@ -241,7 +241,7 @@ PVRSRV_ERROR SGXScheduleCCBCommand(PVRSRV_DEVICE_NODE *psDeviceNode,
241 PVR_DBG_BREAK; 241 PVR_DBG_BREAK;
242 } 242 }
243 #endif 243 #endif
244 244
245 #if defined(PDUMP) 245 #if defined(PDUMP)
246 246
247 PDUMPCOMMENTWITHFLAGS(0, "Host Control - Poll for BIF cache invalidate request to complete"); 247 PDUMPCOMMENTWITHFLAGS(0, "Host Control - Poll for BIF cache invalidate request to complete");
@@ -253,14 +253,14 @@ PVRSRV_ERROR SGXScheduleCCBCommand(PVRSRV_DEVICE_NODE *psDeviceNode,
253 0, 253 0,
254 MAKEUNIQUETAG(psSGXHostCtlMemInfo)); 254 MAKEUNIQUETAG(psSGXHostCtlMemInfo));
255 #endif 255 #endif
256 256
257 psSGXHostCtl->ui32InvalStatus &= ~(PVRSRV_USSE_EDM_BIF_INVAL_COMPLETE); 257 psSGXHostCtl->ui32InvalStatus &= ~(PVRSRV_USSE_EDM_BIF_INVAL_COMPLETE);
258 PDUMPMEM(IMG_NULL, psSGXHostCtlMemInfo, offsetof(SGXMKIF_HOST_CTL, ui32CleanupStatus), sizeof(IMG_UINT32), 0, MAKEUNIQUETAG(psSGXHostCtlMemInfo)); 258 PDUMPMEM(IMG_NULL, psSGXHostCtlMemInfo, offsetof(SGXMKIF_HOST_CTL, ui32CleanupStatus), sizeof(IMG_UINT32), 0, MAKEUNIQUETAG(psSGXHostCtlMemInfo));
259 } 259 }
260#else 260#else
261 PVR_UNREFERENCED_PARAMETER(hDevMemContext); 261 PVR_UNREFERENCED_PARAMETER(hDevMemContext);
262#endif 262#endif
263 263
264#if defined(FIX_HW_BRN_31620) 264#if defined(FIX_HW_BRN_31620)
265 if ((eCmdType != SGXMKIF_CMD_FLUSHPDCACHE) && (psDevInfo->ui32CacheControl & SGXMKIF_CC_INVAL_BIF_PD)) 265 if ((eCmdType != SGXMKIF_CMD_FLUSHPDCACHE) && (psDevInfo->ui32CacheControl & SGXMKIF_CC_INVAL_BIF_PD))
266 { 266 {
@@ -636,9 +636,10 @@ PVRSRV_ERROR SGXGetInternalDevInfoKM(IMG_HANDLE hDevCookie,
636} 636}
637 637
638 638
639IMG_VOID SGXCleanupRequest(PVRSRV_DEVICE_NODE *psDeviceNode, 639PVRSRV_ERROR SGXCleanupRequest(PVRSRV_DEVICE_NODE *psDeviceNode,
640 IMG_DEV_VIRTADDR *psHWDataDevVAddr, 640 IMG_DEV_VIRTADDR *psHWDataDevVAddr,
641 IMG_UINT32 ui32CleanupType) 641 IMG_UINT32 ui32CleanupType,
642 IMG_BOOL bForceCleanup)
642{ 643{
643 PVRSRV_ERROR eError; 644 PVRSRV_ERROR eError;
644 PVRSRV_SGXDEV_INFO *psDevInfo = psDeviceNode->pvDevice; 645 PVRSRV_SGXDEV_INFO *psDevInfo = psDeviceNode->pvDevice;
@@ -647,52 +648,64 @@ IMG_VOID SGXCleanupRequest(PVRSRV_DEVICE_NODE *psDeviceNode,
647 648
648 SGXMKIF_COMMAND sCommand = {0}; 649 SGXMKIF_COMMAND sCommand = {0};
649 650
650 sCommand.ui32Data[0] = ui32CleanupType;
651 sCommand.ui32Data[1] = (psHWDataDevVAddr == IMG_NULL) ? 0 : psHWDataDevVAddr->uiAddr;
652 PDUMPCOMMENTWITHFLAGS(0, "Request ukernel resource clean-up, Type %u, Data 0x%X", sCommand.ui32Data[0], sCommand.ui32Data[1]);
653 651
654 eError = SGXScheduleCCBCommandKM(psDeviceNode, SGXMKIF_CMD_CLEANUP, &sCommand, KERNEL_ID, 0, IMG_NULL, IMG_FALSE); 652 if (bForceCleanup != FORCE_CLEANUP)
655 if (eError != PVRSRV_OK)
656 { 653 {
657 PVR_DPF((PVR_DBG_ERROR,"SGXCleanupRequest: Failed to submit clean-up command")); 654 sCommand.ui32Data[0] = ui32CleanupType;
658 PVR_DBG_BREAK; 655 sCommand.ui32Data[1] = (psHWDataDevVAddr == IMG_NULL) ? 0 : psHWDataDevVAddr->uiAddr;
659 } 656 PDUMPCOMMENTWITHFLAGS(0, "Request ukernel resource clean-up, Type %u, Data 0x%X", sCommand.ui32Data[0], sCommand.ui32Data[1]);
660
661 657
662 #if !defined(NO_HARDWARE) 658 eError = SGXScheduleCCBCommandKM(psDeviceNode, SGXMKIF_CMD_CLEANUP, &sCommand, KERNEL_ID, 0, IMG_NULL, IMG_FALSE);
663 if(PollForValueKM(&psHostCtl->ui32CleanupStatus, 659 if (eError != PVRSRV_OK)
664 PVRSRV_USSE_EDM_CLEANUPCMD_COMPLETE, 660 {
665 PVRSRV_USSE_EDM_CLEANUPCMD_COMPLETE, 661 PVR_DPF((PVR_DBG_ERROR,"SGXCleanupRequest: Failed to submit clean-up command"));
666 10 * MAX_HW_TIME_US, 662 PVR_DBG_BREAK;
667 1000, 663 return eError;
668 IMG_TRUE) != PVRSRV_OK) 664 }
669 {
670 PVR_DPF((PVR_DBG_ERROR,"SGXCleanupRequest: Wait for uKernel to clean up (%u) failed", ui32CleanupType));
671 PVR_DBG_BREAK;
672 }
673 #endif
674 665
675 #if defined(PDUMP)
676
677 PDUMPCOMMENTWITHFLAGS(0, "Host Control - Poll for clean-up request to complete");
678 PDUMPMEMPOL(psHostCtlMemInfo,
679 offsetof(SGXMKIF_HOST_CTL, ui32CleanupStatus),
680 PVRSRV_USSE_EDM_CLEANUPCMD_COMPLETE,
681 PVRSRV_USSE_EDM_CLEANUPCMD_COMPLETE,
682 PDUMP_POLL_OPERATOR_EQUAL,
683 0,
684 MAKEUNIQUETAG(psHostCtlMemInfo));
685 #endif
686 666
667 #if !defined(NO_HARDWARE)
668 if(PollForValueKM(&psHostCtl->ui32CleanupStatus,
669 PVRSRV_USSE_EDM_CLEANUPCMD_COMPLETE,
670 PVRSRV_USSE_EDM_CLEANUPCMD_COMPLETE,
671 10 * MAX_HW_TIME_US,
672 1000,
673 IMG_TRUE) != PVRSRV_OK)
674 {
675 PVR_DPF((PVR_DBG_ERROR,"SGXCleanupRequest: Wait for uKernel to clean up (%u) failed", ui32CleanupType));
676 eError = PVRSRV_ERROR_TIMEOUT;
677 PVR_DBG_BREAK;
678 }
679 #endif
680
681 #if defined(PDUMP)
682
683 PDUMPCOMMENTWITHFLAGS(0, "Host Control - Poll for clean-up request to complete");
684 PDUMPMEMPOL(psHostCtlMemInfo,
685 offsetof(SGXMKIF_HOST_CTL, ui32CleanupStatus),
686 PVRSRV_USSE_EDM_CLEANUPCMD_COMPLETE,
687 PVRSRV_USSE_EDM_CLEANUPCMD_COMPLETE,
688 PDUMP_POLL_OPERATOR_EQUAL,
689 0,
690 MAKEUNIQUETAG(psHostCtlMemInfo));
691 #endif
692
693 if (eError != PVRSRV_OK)
694 {
695 return eError;
696 }
697 }
698
687 psHostCtl->ui32CleanupStatus &= ~(PVRSRV_USSE_EDM_CLEANUPCMD_COMPLETE); 699 psHostCtl->ui32CleanupStatus &= ~(PVRSRV_USSE_EDM_CLEANUPCMD_COMPLETE);
688 PDUMPMEM(IMG_NULL, psHostCtlMemInfo, offsetof(SGXMKIF_HOST_CTL, ui32CleanupStatus), sizeof(IMG_UINT32), 0, MAKEUNIQUETAG(psHostCtlMemInfo)); 700 PDUMPMEM(IMG_NULL, psHostCtlMemInfo, offsetof(SGXMKIF_HOST_CTL, ui32CleanupStatus), sizeof(IMG_UINT32), 0, MAKEUNIQUETAG(psHostCtlMemInfo));
689 701
690 702
691#if defined(SGX_FEATURE_SYSTEM_CACHE) 703#if defined(SGX_FEATURE_SYSTEM_CACHE)
692 psDevInfo->ui32CacheControl |= (SGXMKIF_CC_INVAL_BIF_SL | SGXMKIF_CC_INVAL_DATA); 704 psDevInfo->ui32CacheControl |= (SGXMKIF_CC_INVAL_BIF_SL | SGXMKIF_CC_INVAL_DATA);
693#else 705#else
694 psDevInfo->ui32CacheControl |= SGXMKIF_CC_INVAL_DATA; 706 psDevInfo->ui32CacheControl |= SGXMKIF_CC_INVAL_DATA;
695#endif 707#endif
708 return PVRSRV_OK;
696} 709}
697 710
698 711
@@ -706,15 +719,18 @@ typedef struct _SGX_HW_RENDER_CONTEXT_CLEANUP_
706 719
707 720
708static PVRSRV_ERROR SGXCleanupHWRenderContextCallback(IMG_PVOID pvParam, 721static PVRSRV_ERROR SGXCleanupHWRenderContextCallback(IMG_PVOID pvParam,
709 IMG_UINT32 ui32Param) 722 IMG_UINT32 ui32Param,
723 IMG_BOOL bForceCleanup)
710{ 724{
725 PVRSRV_ERROR eError;
711 SGX_HW_RENDER_CONTEXT_CLEANUP *psCleanup = pvParam; 726 SGX_HW_RENDER_CONTEXT_CLEANUP *psCleanup = pvParam;
712 727
713 PVR_UNREFERENCED_PARAMETER(ui32Param); 728 PVR_UNREFERENCED_PARAMETER(ui32Param);
714 729
715 SGXCleanupRequest(psCleanup->psDeviceNode, 730 eError = SGXCleanupRequest(psCleanup->psDeviceNode,
716 &psCleanup->sHWRenderContextDevVAddr, 731 &psCleanup->sHWRenderContextDevVAddr,
717 PVRSRV_CLEANUPCMD_RC); 732 PVRSRV_CLEANUPCMD_RC,
733 bForceCleanup);
718 734
719 OSFreeMem(PVRSRV_OS_PAGEABLE_HEAP, 735 OSFreeMem(PVRSRV_OS_PAGEABLE_HEAP,
720 sizeof(SGX_HW_RENDER_CONTEXT_CLEANUP), 736 sizeof(SGX_HW_RENDER_CONTEXT_CLEANUP),
@@ -722,7 +738,7 @@ static PVRSRV_ERROR SGXCleanupHWRenderContextCallback(IMG_PVOID pvParam,
722 psCleanup->hBlockAlloc); 738 psCleanup->hBlockAlloc);
723 739
724 740
725 return PVRSRV_OK; 741 return eError;
726} 742}
727 743
728typedef struct _SGX_HW_TRANSFER_CONTEXT_CLEANUP_ 744typedef struct _SGX_HW_TRANSFER_CONTEXT_CLEANUP_
@@ -735,15 +751,18 @@ typedef struct _SGX_HW_TRANSFER_CONTEXT_CLEANUP_
735 751
736 752
737static PVRSRV_ERROR SGXCleanupHWTransferContextCallback(IMG_PVOID pvParam, 753static PVRSRV_ERROR SGXCleanupHWTransferContextCallback(IMG_PVOID pvParam,
738 IMG_UINT32 ui32Param) 754 IMG_UINT32 ui32Param,
755 IMG_BOOL bForceCleanup)
739{ 756{
757 PVRSRV_ERROR eError;
740 SGX_HW_TRANSFER_CONTEXT_CLEANUP *psCleanup = (SGX_HW_TRANSFER_CONTEXT_CLEANUP *)pvParam; 758 SGX_HW_TRANSFER_CONTEXT_CLEANUP *psCleanup = (SGX_HW_TRANSFER_CONTEXT_CLEANUP *)pvParam;
741 759
742 PVR_UNREFERENCED_PARAMETER(ui32Param); 760 PVR_UNREFERENCED_PARAMETER(ui32Param);
743 761
744 SGXCleanupRequest(psCleanup->psDeviceNode, 762 eError = SGXCleanupRequest(psCleanup->psDeviceNode,
745 &psCleanup->sHWTransferContextDevVAddr, 763 &psCleanup->sHWTransferContextDevVAddr,
746 PVRSRV_CLEANUPCMD_TC); 764 PVRSRV_CLEANUPCMD_TC,
765 bForceCleanup);
747 766
748 OSFreeMem(PVRSRV_OS_PAGEABLE_HEAP, 767 OSFreeMem(PVRSRV_OS_PAGEABLE_HEAP,
749 sizeof(SGX_HW_TRANSFER_CONTEXT_CLEANUP), 768 sizeof(SGX_HW_TRANSFER_CONTEXT_CLEANUP),
@@ -751,7 +770,7 @@ static PVRSRV_ERROR SGXCleanupHWTransferContextCallback(IMG_PVOID pvParam,
751 psCleanup->hBlockAlloc); 770 psCleanup->hBlockAlloc);
752 771
753 772
754 return PVRSRV_OK; 773 return eError;
755} 774}
756 775
757IMG_EXPORT 776IMG_EXPORT
@@ -804,7 +823,7 @@ IMG_HANDLE SGXRegisterHWRenderContextKM(IMG_HANDLE psDeviceNode,
804} 823}
805 824
806IMG_EXPORT 825IMG_EXPORT
807PVRSRV_ERROR SGXUnregisterHWRenderContextKM(IMG_HANDLE hHWRenderContext) 826PVRSRV_ERROR SGXUnregisterHWRenderContextKM(IMG_HANDLE hHWRenderContext, IMG_BOOL bForceCleanup)
808{ 827{
809 PVRSRV_ERROR eError; 828 PVRSRV_ERROR eError;
810 SGX_HW_RENDER_CONTEXT_CLEANUP *psCleanup; 829 SGX_HW_RENDER_CONTEXT_CLEANUP *psCleanup;
@@ -819,7 +838,7 @@ PVRSRV_ERROR SGXUnregisterHWRenderContextKM(IMG_HANDLE hHWRenderContext)
819 return PVRSRV_ERROR_INVALID_PARAMS; 838 return PVRSRV_ERROR_INVALID_PARAMS;
820 } 839 }
821 840
822 eError = ResManFreeResByPtr(psCleanup->psResItem); 841 eError = ResManFreeResByPtr(psCleanup->psResItem, bForceCleanup);
823 842
824 return eError; 843 return eError;
825} 844}
@@ -875,7 +894,7 @@ IMG_HANDLE SGXRegisterHWTransferContextKM(IMG_HANDLE psDeviceNode,
875} 894}
876 895
877IMG_EXPORT 896IMG_EXPORT
878PVRSRV_ERROR SGXUnregisterHWTransferContextKM(IMG_HANDLE hHWTransferContext) 897PVRSRV_ERROR SGXUnregisterHWTransferContextKM(IMG_HANDLE hHWTransferContext, IMG_BOOL bForceCleanup)
879{ 898{
880 PVRSRV_ERROR eError; 899 PVRSRV_ERROR eError;
881 SGX_HW_TRANSFER_CONTEXT_CLEANUP *psCleanup; 900 SGX_HW_TRANSFER_CONTEXT_CLEANUP *psCleanup;
@@ -890,7 +909,7 @@ PVRSRV_ERROR SGXUnregisterHWTransferContextKM(IMG_HANDLE hHWTransferContext)
890 return PVRSRV_ERROR_INVALID_PARAMS; 909 return PVRSRV_ERROR_INVALID_PARAMS;
891 } 910 }
892 911
893 eError = ResManFreeResByPtr(psCleanup->psResItem); 912 eError = ResManFreeResByPtr(psCleanup->psResItem, bForceCleanup);
894 913
895 return eError; 914 return eError;
896} 915}
@@ -904,15 +923,19 @@ typedef struct _SGX_HW_2D_CONTEXT_CLEANUP_
904 PRESMAN_ITEM psResItem; 923 PRESMAN_ITEM psResItem;
905} SGX_HW_2D_CONTEXT_CLEANUP; 924} SGX_HW_2D_CONTEXT_CLEANUP;
906 925
907static PVRSRV_ERROR SGXCleanupHW2DContextCallback(IMG_PVOID pvParam, IMG_UINT32 ui32Param) 926static PVRSRV_ERROR SGXCleanupHW2DContextCallback(IMG_PVOID pvParam,
927 IMG_UINT32 ui32Param,
928 IMG_BOOL bForceCleanup)
908{ 929{
930 PVRSRV_ERROR eError;
909 SGX_HW_2D_CONTEXT_CLEANUP *psCleanup = (SGX_HW_2D_CONTEXT_CLEANUP *)pvParam; 931 SGX_HW_2D_CONTEXT_CLEANUP *psCleanup = (SGX_HW_2D_CONTEXT_CLEANUP *)pvParam;
910 932
911 PVR_UNREFERENCED_PARAMETER(ui32Param); 933 PVR_UNREFERENCED_PARAMETER(ui32Param);
912 934
913 SGXCleanupRequest(psCleanup->psDeviceNode, 935 eError = SGXCleanupRequest(psCleanup->psDeviceNode,
914 &psCleanup->sHW2DContextDevVAddr, 936 &psCleanup->sHW2DContextDevVAddr,
915 PVRSRV_CLEANUPCMD_2DC); 937 PVRSRV_CLEANUPCMD_2DC,
938 bForceCleanup);
916 939
917 OSFreeMem(PVRSRV_OS_PAGEABLE_HEAP, 940 OSFreeMem(PVRSRV_OS_PAGEABLE_HEAP,
918 sizeof(SGX_HW_2D_CONTEXT_CLEANUP), 941 sizeof(SGX_HW_2D_CONTEXT_CLEANUP),
@@ -920,7 +943,7 @@ static PVRSRV_ERROR SGXCleanupHW2DContextCallback(IMG_PVOID pvParam, IMG_UINT32
920 psCleanup->hBlockAlloc); 943 psCleanup->hBlockAlloc);
921 944
922 945
923 return PVRSRV_OK; 946 return eError;
924} 947}
925 948
926IMG_EXPORT 949IMG_EXPORT
@@ -973,7 +996,7 @@ IMG_HANDLE SGXRegisterHW2DContextKM(IMG_HANDLE psDeviceNode,
973} 996}
974 997
975IMG_EXPORT 998IMG_EXPORT
976PVRSRV_ERROR SGXUnregisterHW2DContextKM(IMG_HANDLE hHW2DContext) 999PVRSRV_ERROR SGXUnregisterHW2DContextKM(IMG_HANDLE hHW2DContext, IMG_BOOL bForceCleanup)
977{ 1000{
978 PVRSRV_ERROR eError; 1001 PVRSRV_ERROR eError;
979 SGX_HW_2D_CONTEXT_CLEANUP *psCleanup; 1002 SGX_HW_2D_CONTEXT_CLEANUP *psCleanup;
@@ -987,7 +1010,7 @@ PVRSRV_ERROR SGXUnregisterHW2DContextKM(IMG_HANDLE hHW2DContext)
987 1010
988 psCleanup = (SGX_HW_2D_CONTEXT_CLEANUP *)hHW2DContext; 1011 psCleanup = (SGX_HW_2D_CONTEXT_CLEANUP *)hHW2DContext;
989 1012
990 eError = ResManFreeResByPtr(psCleanup->psResItem); 1013 eError = ResManFreeResByPtr(psCleanup->psResItem, bForceCleanup);
991 1014
992 return eError; 1015 return eError;
993} 1016}
@@ -1076,13 +1099,16 @@ PVRSRV_ERROR SGX2DQueryBlitsCompleteKM(PVRSRV_SGXDEV_INFO *psDevInfo,
1076 1099
1077 1100
1078IMG_EXPORT 1101IMG_EXPORT
1079IMG_VOID SGXFlushHWRenderTargetKM(IMG_HANDLE psDeviceNode, IMG_DEV_VIRTADDR sHWRTDataSetDevVAddr) 1102PVRSRV_ERROR SGXFlushHWRenderTargetKM(IMG_HANDLE psDeviceNode,
1103 IMG_DEV_VIRTADDR sHWRTDataSetDevVAddr,
1104 IMG_BOOL bForceCleanup)
1080{ 1105{
1081 PVR_ASSERT(sHWRTDataSetDevVAddr.uiAddr != IMG_NULL); 1106 PVR_ASSERT(sHWRTDataSetDevVAddr.uiAddr != IMG_NULL);
1082 1107
1083 SGXCleanupRequest(psDeviceNode, 1108 return SGXCleanupRequest(psDeviceNode,
1084 &sHWRTDataSetDevVAddr, 1109 &sHWRTDataSetDevVAddr,
1085 PVRSRV_CLEANUPCMD_RT); 1110 PVRSRV_CLEANUPCMD_RT,
1111 bForceCleanup);
1086} 1112}
1087 1113
1088 1114
@@ -1141,7 +1167,7 @@ PVRSRV_ERROR SGXContextSuspend(PVRSRV_DEVICE_NODE *psDeviceNode,
1141 PVR_DPF((PVR_DBG_ERROR,"SGXContextSuspend: Failed to submit context suspend command")); 1167 PVR_DPF((PVR_DBG_ERROR,"SGXContextSuspend: Failed to submit context suspend command"));
1142 return eError; 1168 return eError;
1143 } 1169 }
1144 1170
1145 return eError; 1171 return eError;
1146} 1172}
1147 1173