PVRSRV_ERROR PVRSRVRGXSetTransferContextPriorityKM(CONNECTION_DATA *psConnection, RGX_SERVER_TQ_CONTEXT *psTransferContext, IMG_UINT32 ui32Priority) { PVRSRV_ERROR eError; if (psTransferContext->s2DData.ui32Priority != ui32Priority) { eError = ContextSetPriority(psTransferContext->s2DData.psServerCommonContext, psConnection, psTransferContext->psDeviceNode->pvDevice, ui32Priority, RGXFWIF_DM_2D); if (eError != PVRSRV_OK) { PVR_DPF((PVR_DBG_ERROR, "%s: Failed to set the priority of the 2D part of the transfercontext", __FUNCTION__)); goto fail_2dcontext; } psTransferContext->s2DData.ui32Priority = ui32Priority; } if (psTransferContext->s3DData.ui32Priority != ui32Priority) { eError = ContextSetPriority(psTransferContext->s3DData.psServerCommonContext, psConnection, psTransferContext->psDeviceNode->pvDevice, ui32Priority, RGXFWIF_DM_3D); if (eError != PVRSRV_OK) { PVR_DPF((PVR_DBG_ERROR, "%s: Failed to set the priority of the 3D part of the transfercontext", __FUNCTION__)); goto fail_3dcontext; } psTransferContext->s3DData.ui32Priority = ui32Priority; } return PVRSRV_OK; fail_3dcontext: fail_2dcontext: PVR_ASSERT(eError != PVRSRV_OK); return eError; }
PVRSRV_ERROR PVRSRVRGXSetComputeContextPriorityKM(CONNECTION_DATA *psConnection, RGX_SERVER_COMPUTE_CONTEXT *psComputeContext, IMG_UINT32 ui32Priority) { PVRSRV_ERROR eError; eError = ContextSetPriority(psComputeContext->psServerCommonContext, psConnection, psComputeContext->psDeviceNode->pvDevice, ui32Priority, RGXFWIF_DM_CDM); if (eError != PVRSRV_OK) { PVR_DPF((PVR_DBG_ERROR, "%s: Failed to set the priority of the compute context", __FUNCTION__)); } return eError; }