void mali_pm_init_end(void) { struct mali_pmu_core *pmu = mali_pmu_get_global_pmu_core(); /* Ensure all PMU domains are off */ if (NULL != pmu) { mali_pmu_power_down_all(pmu); } _mali_osk_pm_dev_ref_put(); }
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_powerdown(void) { struct mali_pmu_core *pmu = mali_pmu_get_global_pmu_core(); MALI_DEBUG_PRINT(5, ("Mali PMU: Power down\n")); MALI_DEBUG_ASSERT_POINTER(pmu); if (NULL == pmu) { return -ENXIO; } if (_MALI_OSK_ERR_OK != mali_pmu_power_down_all(pmu)) { return -EFAULT; } return 0; }
static int mali_cri_deep_suspend(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(); if (NULL != device->driver && NULL != device->driver->pm && NULL != device->driver->pm->suspend) { /* Need to notify Mali driver about this event */ ret = device->driver->pm->suspend(device); } mali_pmu_power_down_all(pmu); return ret; }