diff --git a/drivers/gpu/msm/adreno_a6xx_gmu.c b/drivers/gpu/msm/adreno_a6xx_gmu.c index db703d1a32fb..92bda0fbac27 100644 --- a/drivers/gpu/msm/adreno_a6xx_gmu.c +++ b/drivers/gpu/msm/adreno_a6xx_gmu.c @@ -3115,6 +3115,7 @@ static void gmu_idle_check(struct work_struct *work) if (test_bit(GMU_PRIV_GPU_STARTED, &gmu->flags)) a6xx_power_off(adreno_dev); } else { + kgsl_pwrscale_update(device); mod_timer(&device->idle_timer, jiffies + device->pwrctrl.interval_timeout); } diff --git a/drivers/gpu/msm/adreno_a6xx_rgmu.c b/drivers/gpu/msm/adreno_a6xx_rgmu.c index 22e496d2bfa8..55f1ac8d9c3e 100644 --- a/drivers/gpu/msm/adreno_a6xx_rgmu.c +++ b/drivers/gpu/msm/adreno_a6xx_rgmu.c @@ -852,11 +852,13 @@ static void rgmu_idle_check(struct work_struct *work) if (test_bit(GMU_DISABLE_SLUMBER, &device->gmu_core.flags)) goto done; - if (!atomic_read(&device->active_cnt)) + if (!atomic_read(&device->active_cnt)) { a6xx_power_off(adreno_dev); - else + } else { + kgsl_pwrscale_update(device); mod_timer(&device->idle_timer, jiffies + device->pwrctrl.interval_timeout); + } done: mutex_unlock(&device->mutex);