IMG_EXPORT PVRSRV_ERROR PVRSRVRGXKickSyncCDMKM(RGX_SERVER_COMPUTE_CONTEXT *psComputeContext, IMG_UINT32 ui32ClientFenceCount, PRGXFWIF_UFO_ADDR *pauiClientFenceUFOAddress, IMG_UINT32 *paui32ClientFenceValue, IMG_UINT32 ui32ClientUpdateCount, PRGXFWIF_UFO_ADDR *pauiClientUpdateUFOAddress, IMG_UINT32 *paui32ClientUpdateValue, IMG_UINT32 ui32ServerSyncPrims, IMG_UINT32 *paui32ServerSyncFlags, SERVER_SYNC_PRIMITIVE **pasServerSyncs, IMG_UINT32 ui32NumFenceFDs, IMG_INT32 *paui32FenceFDs, IMG_BOOL bPDumpContinuous) { if (ui32NumFenceFDs > 0) { return PVRSRV_ERROR_NOT_IMPLEMENTED; } return RGXKickSyncKM(psComputeContext->psDeviceNode, psComputeContext->psServerCommonContext, RGXFWIF_DM_CDM, "SyncCDM", ui32ClientFenceCount, pauiClientFenceUFOAddress, paui32ClientFenceValue, ui32ClientUpdateCount, pauiClientUpdateUFOAddress, paui32ClientUpdateValue, ui32ServerSyncPrims, paui32ServerSyncFlags, pasServerSyncs, bPDumpContinuous); }
IMG_EXPORT PVRSRV_ERROR PVRSRVRGXKickSyncCDMKM(RGX_SERVER_COMPUTE_CONTEXT *psComputeContext, IMG_UINT32 ui32ClientFenceCount, SYNC_PRIMITIVE_BLOCK **pauiClientFenceUFOSyncPrimBlock, IMG_UINT32 *paui32ClientFenceSyncOffset, IMG_UINT32 *paui32ClientFenceValue, IMG_UINT32 ui32ClientUpdateCount, SYNC_PRIMITIVE_BLOCK **pauiClientUpdateUFOSyncPrimBlock, IMG_UINT32 *paui32ClientUpdateSyncOffset, IMG_UINT32 *paui32ClientUpdateValue, IMG_UINT32 ui32ServerSyncPrims, IMG_UINT32 *paui32ServerSyncFlags, SERVER_SYNC_PRIMITIVE **pasServerSyncs, IMG_UINT32 ui32NumCheckFenceFDs, IMG_INT32 *pai32CheckFenceFDs, IMG_INT32 i32UpdateFenceFD, IMG_BOOL bPDumpContinuous) { PVRSRV_ERROR eError; eError = SyncAddrListPopulate(&psComputeContext->sSyncAddrListFence, ui32ClientFenceCount, pauiClientFenceUFOSyncPrimBlock, paui32ClientFenceSyncOffset); if(eError != PVRSRV_OK) { goto err_populate_sync_addr_list; } eError = SyncAddrListPopulate(&psComputeContext->sSyncAddrListUpdate, ui32ClientUpdateCount, pauiClientUpdateUFOSyncPrimBlock, paui32ClientUpdateSyncOffset); if(eError != PVRSRV_OK) { goto err_populate_sync_addr_list; } if (ui32NumCheckFenceFDs > 0 || i32UpdateFenceFD >= 0) { return PVRSRV_ERROR_NOT_IMPLEMENTED; } eError = RGXKickSyncKM(psComputeContext->psDeviceNode, psComputeContext->psServerCommonContext, RGXFWIF_DM_CDM, "SyncCDM", ui32ClientFenceCount, psComputeContext->sSyncAddrListFence.pasFWAddrs, paui32ClientFenceValue, ui32ClientUpdateCount, psComputeContext->sSyncAddrListUpdate.pasFWAddrs, paui32ClientUpdateValue, ui32ServerSyncPrims, paui32ServerSyncFlags, pasServerSyncs, bPDumpContinuous); err_populate_sync_addr_list: return eError; }