Ejemplo n.º 1
0
/*!
******************************************************************************

 @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;
}
Ejemplo n.º 2
0
/*!
******************************************************************************

 @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;
}
Ejemplo n.º 5
0
/*!
******************************************************************************

 @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;
}