/*! ****************************************************************************** @Function PALLOCKM_CloneAlloc ******************************************************************************/ IMG_RESULT PALLOCKM_CloneAlloc( IMG_UINT32 ui32AllocId, IMG_HANDLE hResBHandle, IMG_HANDLE * phResHandle, IMG_UINT32 * pui32AllocId ) { IMG_UINT32 ui32Result; IMG_HANDLE hResHandle; /* Get the resource info from the id...*/ ui32Result = RMAN_GetResource(ui32AllocId, PALLOC_RES_TYPE_1, IMG_NULL, &hResHandle); IMG_ASSERT(ui32Result == IMG_SUCCESS); if (ui32Result != IMG_SUCCESS) { return ui32Result; } /* Create a cloned reference...*/ ui32Result = RMAN_CloneResourceHandle(hResHandle, hResBHandle, phResHandle, pui32AllocId); IMG_ASSERT(ui32Result == IMG_SUCCESS); if (ui32Result != IMG_SUCCESS) { return ui32Result; } /* Return IMG_SUCCESS...*/ return IMG_SUCCESS; }
/*! ****************************************************************************** @Function PALLOC_Free1 ******************************************************************************/ IMG_RESULT PALLOC_Free1( IMG_UINT32 ui32AllocId ) { IMG_UINT32 ui32Result; PALLOC_sKmAlloc * psKmAlloc; IMG_HANDLE hResHandle; IMG_HANDLE hDevHandle; LOG_EVENT(PALLOC, PALLOC_FREEID, (LOG_FLAG_START | LOG_FLAG_QUAL_ARG1), ui32AllocId, 0); /* Get the resource info from the id...*/ ui32Result = RMAN_GetResource(ui32AllocId, PALLOC_RES_TYPE_1, (IMG_VOID **)&psKmAlloc, &hResHandle); IMG_ASSERT(ui32Result == IMG_SUCCESS); if (ui32Result != IMG_SUCCESS) { return ui32Result; } hDevHandle = psKmAlloc->hDevHandle; /* Lock the device...*/ DMANKM_LockDeviceContext(hDevHandle); /* Free through the resource manager...*/ RMAN_FreeResource(hResHandle); /* Unlock the device...*/ DMANKM_UnlockDeviceContext(hDevHandle); LOG_EVENT(PALLOC, PALLOC_FREEID, (LOG_FLAG_END| LOG_FLAG_QUAL_ARG1), ui32AllocId, 0); /* Return IMG_SUCCESS...*/ return IMG_SUCCESS; }
/*! ****************************************************************************** @Function DMANKM_GetConnHandleFromId ******************************************************************************/ IMG_RESULT DMANKM_GetConnHandleFromId(IMG_UINT32 ui32ConnId, IMG_HANDLE * phConnHandle) { IMG_UINT32 ui32Result; ui32Result = RMAN_GetResource(ui32ConnId, DMAN_CONN_TYPE_ID, phConnHandle, IMG_NULL ); IMG_ASSERT(ui32Result == IMG_SUCCESS); return ui32Result; }
/*! ****************************************************************************** @Function DMANKM_GetAttachHandleFromId ******************************************************************************/ IMG_RESULT DMANKM_GetAttachHandleFromId(IMG_UINT32 ui32AttachId, IMG_HANDLE * phAttachHandle) { IMG_UINT32 ui32Result; ui32Result = RMAN_GetResource(ui32AttachId, DMAN_ATTACH_TYPE_ID, phAttachHandle, IMG_NULL ); IMG_ASSERT(ui32Result == IMG_SUCCESS); return ui32Result; }
/*! ****************************************************************************** @Function PALLOCKM_GetAllocInfo ******************************************************************************/ IMG_RESULT PALLOCKM_GetAllocInfo( IMG_UINT32 ui32AllocId, PALLOCKM_sAllocInfo * psAllocInfo ) { IMG_UINT32 ui32Result; PALLOC_sKmAlloc * psKmAlloc; IMG_HANDLE hResHandle; /* Get the resource info from the id...*/ ui32Result = RMAN_GetResource(ui32AllocId, PALLOC_RES_TYPE_1, (IMG_VOID **)&psKmAlloc, &hResHandle); IMG_ASSERT(ui32Result == IMG_SUCCESS); if (ui32Result != IMG_SUCCESS) { return ui32Result; } /* Return the allocation info...*/ *psAllocInfo = psKmAlloc->sAllocInfo; /* Return IMG_SUCCESS...*/ return IMG_SUCCESS; }