DRI_DRM_STATIC int PVRSRVDrmLoad(struct drm_device *dev, unsigned long flags) { int iRes = 0; PVR_TRACE(("PVRSRVDrmLoad")); gpsPVRDRMDev = dev; #if !defined(PVR_DRI_DRM_NOT_PCI) && !defined(SUPPORT_DRI_DRM_EXTERNAL) #if defined(PVR_DRI_DRM_PLATFORM_DEV) gpsPVRLDMDev = dev->platformdev; #else gpsPVRLDMDev = dev->pdev; #endif #endif #if defined(PDUMP) iRes = dbgdrv_init(); if (iRes != 0) { goto exit; } #endif /* Module initialisation */ iRes = PVRCore_Init(); if (iRes != 0) { goto exit_dbgdrv_cleanup; } #if defined(DISPLAY_CONTROLLER) iRes = PVR_DRM_MAKENAME(DISPLAY_CONTROLLER, _Init)(dev); if (iRes != 0) { goto exit_pvrcore_cleanup; } #endif goto exit; #if defined(DISPLAY_CONTROLLER) exit_pvrcore_cleanup: PVRCore_Cleanup(); #endif exit_dbgdrv_cleanup: #if defined(PDUMP) dbgdrv_cleanup(); #endif exit: if (iRes != 0) { bInitFailed = IMG_TRUE; } bInitComplete = IMG_TRUE; wake_up_interruptible(&sWaitForInit); return iRes; }
int SYSPVRResume(struct drm_device *dev) { #if defined(DISPLAY_CONTROLLER) if (PVR_DRM_MAKENAME(DISPLAY_CONTROLLER, _Resume)(dev) != 0) { return -EINVAL; } #else PVR_UNREFERENCED_PARAMETER(dev); #endif return 0; }
static IMG_INT PVRDRM_Display_ioctl(struct drm_device *dev, void *arg, struct drm_file *pFile) { IMG_INT res; LinuxLockMutex(&gPVRSRVLock); res = PVR_DRM_MAKENAME(DISPLAY_CONTROLLER, _Ioctl)(dev, arg, pFile); LinuxUnLockMutex(&gPVRSRVLock); return res; }
static int PVRDRM_Display_ioctl(struct drm_device *dev, void *arg, struct drm_file *pFile) { int res; LinuxLockMutexNested(&gPVRSRVLock, PVRSRV_LOCK_CLASS_BRIDGE); res = PVR_DRM_MAKENAME(DISPLAY_CONTROLLER, _Ioctl)(dev, arg, pFile); LinuxUnLockMutex(&gPVRSRVLock); return res; }
static int PVRSRVDrmUnload(struct drm_device *dev) { PVR_TRACE(("PVRSRVDrmUnload")); #if defined(DISPLAY_CONTROLLER) PVR_DRM_MAKENAME(DISPLAY_CONTROLLER, _Cleanup) (dev); #endif PVRCore_Cleanup(); #if defined(PDUMP) dbgdrv_cleanup(); #endif return 0; }
DRI_DRM_STATIC IMG_INT PVRSRVDrmLoad(struct drm_device *dev, IMG_UINT32 flags) { IMG_INT iRes; PVR_TRACE(("PVRSRVDrmLoad")); gpsPVRDRMDev = dev; #if !defined(PVR_DRI_DRM_NOT_PCI) gpsPVRLDMDev = dev->pdev; #endif #if defined(PDUMP) iRes = dbgdrv_init(); if (iRes != 0) { return iRes; } #endif iRes = PVRCore_Init(); if (iRes != 0) { goto exit_dbgdrv_cleanup; } #if defined(DISPLAY_CONTROLLER) iRes = PVR_DRM_MAKENAME(DISPLAY_CONTROLLER, _Init)(dev); if (iRes != 0) { goto exit_pvrcore_cleanup; } #endif return 0; #if defined(DISPLAY_CONTROLLER) exit_pvrcore_cleanup: PVRCore_Cleanup(); #endif exit_dbgdrv_cleanup: #if defined(PDUMP) dbgdrv_cleanup(); #endif return iRes; }
int SYSPVRPreSuspend(struct drm_device *dev) { if (PVRSRVSetPowerStateKM(PVRSRV_SYS_POWER_STATE_D3) != PVRSRV_OK) { return -EBUSY; } #if defined(DISPLAY_CONTROLLER) if (PVR_DRM_MAKENAME(DISPLAY_CONTROLLER, _Suspend)(dev) != 0) { (void)PVRSRVSetPowerStateKM(PVRSRV_SYS_POWER_STATE_D0); return -EBUSY; } #else PVR_UNREFERENCED_PARAMETER(dev); #endif return 0; }
static int PVRSRVDrmLoad(struct drm_device *dev, unsigned long flags) { int iRes; PVR_TRACE(("PVRSRVDrmLoad")); gpsPVRDRMDev = dev; gpsPVRLDMDev = dev->pdev; #if defined(PDUMP) iRes = dbgdrv_init(); if (iRes != 0) { return iRes; } #endif iRes = PVRCore_Init(); if (iRes != 0) { goto exit_dbgdrv_cleanup; } #if defined(DISPLAY_CONTROLLER) iRes = PVR_DRM_MAKENAME(DISPLAY_CONTROLLER, _Init) (dev); if (iRes != 0) { goto exit_pvrcore_cleanup; } #endif return 0; #if defined(DISPLAY_CONTROLLER) exit_pvrcore_cleanup: PVRCore_Cleanup(); #endif exit_dbgdrv_cleanup: #if defined(PDUMP) dbgdrv_cleanup(); #endif return iRes; }