CHROMIUM: MALI: Fix GPU regulator power is not turn off issue
GPU regulator power is not turn off when idle or suspend
GPU related power bucks (Vgpu, Vgpu_sram) are turn on after init.
GPU regulator switch on/off is already implemented in pm_callback functions.
So remove the regulator control in init and deinit function.
This patch can make the regulator power correctly turn off when GPU idle
BUG=b:130687330
TEST=emerge-kukui chromeos-kernel-4_19
Change-Id: Iabc22d3874f3bc377a7c8217223537eb5229b354
Signed-off-by: Nick Fan <Nick.Fan@mediatek.com>
Reviewed-on: https://chromium-review.googlesource.com/1571048
Commit-Ready: Nicolas Boichat <drinkcat@chromium.org>
Tested-by: Nick Fan <nick.fan@mediatek.corp-partner.google.com>
Tested-by: Nicolas Boichat <drinkcat@chromium.org>
Reviewed-by: Nick Fan <nick.fan@mediatek.corp-partner.google.com>
Reviewed-by: Nicolas Boichat <drinkcat@chromium.org>
diff --git a/drivers/gpu/arm/midgard/platform/mediatek/mali_kbase_runtime_pm.c b/drivers/gpu/arm/midgard/platform/mediatek/mali_kbase_runtime_pm.c
index 79418bd..0f0d811 100644
--- a/drivers/gpu/arm/midgard/platform/mediatek/mali_kbase_runtime_pm.c
+++ b/drivers/gpu/arm/midgard/platform/mediatek/mali_kbase_runtime_pm.c
@@ -281,13 +281,6 @@
return err;
}
kbdev->current_voltage[i] = volt;
-
- err = regulator_enable(kbdev->regulator[i]);
- if (err < 0) {
- dev_err(kbdev->dev,
- "Regulator %d enable failed: %d\n", i, err);
- return err;
- }
}
mfg->is_powered = false;
@@ -295,19 +288,6 @@
return 0;
}
-void mali_mfgsys_deinit(struct kbase_device *kbdev)
-{
- int err, i;
-
- for (i = 0; i < kbdev->regulator_num; i++) {
- err = regulator_disable(kbdev->regulator[i]);
- if (err < 0) {
- dev_err(kbdev->dev,
- "Regulator %d disable failed: %d\n", i, err);
- }
- }
-}
-
static void voltage_range_check(struct kbase_device *kbdev,
unsigned long *voltages)
{
@@ -485,7 +465,6 @@
kfree(mfg);
kbdev->platform_context = NULL;
- mali_mfgsys_deinit(kbdev);
pm_runtime_disable(kbdev->dev);
}