diff options
Diffstat (limited to 'pvr-source/services4/srvkm/common')
-rw-r--r-- | pvr-source/services4/srvkm/common/deviceclass.c | 3 | ||||
-rw-r--r-- | pvr-source/services4/srvkm/common/devicemem.c | 12 | ||||
-rw-r--r-- | pvr-source/services4/srvkm/common/queue.c | 9 |
3 files changed, 20 insertions, 4 deletions
diff --git a/pvr-source/services4/srvkm/common/deviceclass.c b/pvr-source/services4/srvkm/common/deviceclass.c index d047c78..4c54d1d 100644 --- a/pvr-source/services4/srvkm/common/deviceclass.c +++ b/pvr-source/services4/srvkm/common/deviceclass.c @@ -1,4 +1,5 @@ /*************************************************************************/ /*! +@File @Title Device class services functions @Copyright Copyright (c) Imagination Technologies Ltd. All Rights Reserved @Description Kernel services functions for device class devices @@ -1428,7 +1429,7 @@ PVRSRV_ERROR PVRSRVCreateDCSwapChainKM (PVRSRV_PER_PROCESS_DATA *psPerProc, psSwapChain->ui32RefCount = 1; psSwapChain->ui32Flags = ui32Flags; - /* Save pointer in DC structure if ti's shared struct */ + /* Save pointer in DC structure if it's shared struct */ if( ui32Flags & PVRSRV_CREATE_SWAPCHAIN_SHARED ) { if(! psDCInfo->psDCSwapChainShared ) diff --git a/pvr-source/services4/srvkm/common/devicemem.c b/pvr-source/services4/srvkm/common/devicemem.c index 872c0ba..5496753 100644 --- a/pvr-source/services4/srvkm/common/devicemem.c +++ b/pvr-source/services4/srvkm/common/devicemem.c @@ -1759,6 +1759,18 @@ PVRSRV_ERROR IMG_CALLCONV PVRSRVWrapExtMemoryKM(IMG_HANDLE hDevCookie, */ bPhysContig = IMG_FALSE; } + else + { + if (psExtSysPAddr) + { + PVR_DPF((PVR_DBG_ERROR, "PVRSRVWrapExtMemoryKM: invalid parameter, physical address passing is not supported")); + } + else + { + PVR_DPF((PVR_DBG_ERROR, "PVRSRVWrapExtMemoryKM: invalid parameter, no address specificed")); + } + return PVRSRV_ERROR_INVALID_PARAMS; + } /* Choose the heap to map to */ psDevMemoryInfo = &((BM_CONTEXT*)hDevMemContext)->psDeviceNode->sDevMemoryInfo; diff --git a/pvr-source/services4/srvkm/common/queue.c b/pvr-source/services4/srvkm/common/queue.c index 88b05a4..09892e3 100644 --- a/pvr-source/services4/srvkm/common/queue.c +++ b/pvr-source/services4/srvkm/common/queue.c @@ -1082,10 +1082,13 @@ PVRSRV_ERROR PVRSRVProcessCommand(SYS_DATA *psSysData, */ psCmdCompleteData->bInUse = IMG_FALSE; eError = PVRSRV_ERROR_CMD_NOT_PROCESSED; + PVR_LOG(("Failed to submit command from queue processor, this could cause sync wedge!")); + } + else + { + /* Increment the CCB offset */ + psDeviceCommandData[psCommand->CommandType].ui32CCBOffset = (ui32CCBOffset + 1) % DC_NUM_COMMANDS_PER_TYPE; } - - /* Increment the CCB offset */ - psDeviceCommandData[psCommand->CommandType].ui32CCBOffset = (ui32CCBOffset + 1) % DC_NUM_COMMANDS_PER_TYPE; return eError; } |