void mali_pm_init_begin(void) { struct mali_pmu_core *pmu = mali_pmu_get_global_pmu_core(); _mali_osk_pm_dev_ref_get_sync(); /* Ensure all PMU domains are on */ if (NULL != pmu) { mali_pmu_power_up_all(pmu); } }
static int mali_cri_pmu_on_off(size_t param) { struct mali_pmu_core *pmu; MALI_DEBUG_PRINT(4, ("mali_os_suspend() called\n")); pmu = mali_pmu_get_global_pmu_core(); if (param == 0) mali_pmu_power_down_all(pmu); else mali_pmu_power_up_all(pmu); return 0; }
int mali_pmu_powerup(void) { struct mali_pmu_core *pmu = mali_pmu_get_global_pmu_core(); MALI_DEBUG_PRINT(5, ("Mali PMU: Power up\n")); MALI_DEBUG_ASSERT_POINTER(pmu); if (NULL == pmu) { return -ENXIO; } if (_MALI_OSK_ERR_OK != mali_pmu_power_up_all(pmu)) { return -EFAULT; } return 0; }
static int mali_cri_light_resume(size_t param) { int ret; struct device *device; struct mali_pmu_core *pmu; ret = 0; device = (struct device *)param; pmu = mali_pmu_get_global_pmu_core(); mali_pmu_power_up_all(pmu); if (NULL != device->driver && NULL != device->driver->pm && NULL != device->driver->pm->runtime_resume) { /* Need to notify Mali driver about this event */ ret = device->driver->pm->runtime_resume(device); } return ret; }