From e7fd42c35e4fb41962ff5b72953a7ebe67d9350c Mon Sep 17 00:00:00 2001 From: Finley Xiao Date: Sat, 7 May 2022 17:54:06 +0800 Subject: [PATCH] MALI: bifrost: disable regulator when pm status is suspended The system calls pm_runtime_get_noresume() to prevent device from entering to runtime suspend status when reboot, and the pm_runtime_put_sync_suspend() is called in a delay work, so when reboot the power domain may be power on, but the regulator is disabled, it's not allowed. Signed-off-by: Finley Xiao Change-Id: Ie25451ddf4fc866e93e7272a8d9a809919a96e1d --- drivers/gpu/arm/bifrost/platform/rk/mali_kbase_config_rk.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/arm/bifrost/platform/rk/mali_kbase_config_rk.c b/drivers/gpu/arm/bifrost/platform/rk/mali_kbase_config_rk.c index bf991ca608f1..4452c3f3ed0f 100755 --- a/drivers/gpu/arm/bifrost/platform/rk/mali_kbase_config_rk.c +++ b/drivers/gpu/arm/bifrost/platform/rk/mali_kbase_config_rk.c @@ -105,8 +105,10 @@ static void rk_pm_power_off_delay_work(struct work_struct *work) rk_pm_disable_clk(kbdev); - rk_pm_disable_regulator(kbdev); - platform->is_regulator_on = false; + if (pm_runtime_suspended(kbdev->dev)) { + rk_pm_disable_regulator(kbdev); + platform->is_regulator_on = false; + } platform->is_powered = false; wake_unlock(&platform->wake_lock);