static void gpu_power_off(struct kbase_device *kbdev) { struct exynos_context *platform = (struct exynos_context *) kbdev->platform_context; if (!platform) return; GPU_LOG(DVFS_INFO, DUMMY, 0u, 0u, "power off\n"); gpu_control_enable_customization(kbdev); pm_schedule_suspend(kbdev->dev, platform->runtime_pm_delay_time); if (platform->early_clk_gating_status) gpu_control_disable_clock(kbdev); }
static void pm_callback_runtime_off(struct kbase_device *kbdev) { struct exynos_context *platform = (struct exynos_context *) kbdev->platform_context; if (!platform) return; GPU_LOG(DVFS_INFO, LSI_GPU_OFF, 0u, 0u, "runtime off callback\n"); gpu_dvfs_stop_env_data_gathering(kbdev); #ifdef CONFIG_MALI_DVFS gpu_dvfs_timer_control_locked(false); #endif /* CONFIG_MALI_DVFS */ if (!platform->early_clk_gating_status) gpu_control_disable_clock(kbdev); }