/*! ****************************************************************************** @Function SYSDEVKM_GetCpuKmAddr ******************************************************************************/ IMG_RESULT SYSDEVKM_GetCpuKmAddr( IMG_HANDLE hSysDevHandle, SYSDEVKM_eRegionId eRegionId, IMG_VOID ** ppvCpuKmAddr, IMG_UINT32 * pui32Size ) { SYSDEVKM_sDevice * psDevice = (SYSDEVKM_sDevice *)hSysDevHandle; IMG_UINT32 ui32Result; IMG_ASSERT(hSysDevHandle != IMG_NULL); if (hSysDevHandle == IMG_NULL) { return IMG_ERROR_GENERIC_FAILURE; } ui32Result = SYSDEVU_GetCpuAddrs(psDevice->ui32DeviceId, eRegionId, ppvCpuKmAddr, IMG_NULL, pui32Size); IMG_ASSERT(ui32Result == IMG_SUCCESS); if (ui32Result != IMG_SUCCESS) { return ui32Result; } return IMG_SUCCESS; }
/*! ****************************************************************************** @Function SYSDEVU_GetCpuKmAddr ******************************************************************************/ IMG_RESULT SYSDEVU_GetCpuKmAddr( SYSDEVU_sInfo * hSysDevHandle, SYSDEVU_eRegionId eRegionId, IMG_VOID ** ppvCpuKmAddr, IMG_UINT32 * pui32Size ) { SYSDEVU_sInfo * psDevice = (SYSDEVU_sInfo *)hSysDevHandle; IMG_PHYSADDR paCpuPhysAddr; IMG_UINT32 ui32Result; IMG_HANDLE hRegHandle; IMG_ASSERT(hSysDevHandle != IMG_NULL); if (hSysDevHandle == IMG_NULL) { return IMG_ERROR_GENERIC_FAILURE; } ui32Result = SYSDEVU_GetCpuAddrs(psDevice, eRegionId, ppvCpuKmAddr, &paCpuPhysAddr, pui32Size); IMG_ASSERT(ui32Result == IMG_SUCCESS); if (ui32Result != IMG_SUCCESS) { return ui32Result; } /* Add this to the list of mappable regions...*/ if (!SYSBRGU_GetMappableRegion(paCpuPhysAddr)) { ui32Result = SYSBRGU_CreateMappableRegion(paCpuPhysAddr, *pui32Size, SYS_MEMATTRIB_UNCACHED, NULL, &hRegHandle); IMG_ASSERT(ui32Result == IMG_SUCCESS); if (ui32Result != IMG_SUCCESS) { return ui32Result; } } return IMG_SUCCESS; }