From 47989c49754b2078364f98a51bf792f25713c371 Mon Sep 17 00:00:00 2001 From: Liang Chen Date: Thu, 30 Mar 2023 15:41:30 +0800 Subject: [PATCH] mali400: mali: set clk_gpu to normal pll when suspend The pvtpll will power-down when suspend, and it will cause gpu resume failed, so do not use pvtpll when suspend. Signed-off-by: Liang Chen Change-Id: Ibf06cc8d836c994468751a66cf9ed3d0cc1e4b9f --- drivers/gpu/arm/mali400/mali/platform/rk/rk.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/drivers/gpu/arm/mali400/mali/platform/rk/rk.c b/drivers/gpu/arm/mali400/mali/platform/rk/rk.c index 079ee21812d1..d9b1d1ea0dcf 100644 --- a/drivers/gpu/arm/mali400/mali/platform/rk/rk.c +++ b/drivers/gpu/arm/mali400/mali/platform/rk/rk.c @@ -430,6 +430,13 @@ static int rk_platform_power_on_gpu(struct device *dev) goto fail_to_enable_regulator; } + if (cpu_is_rk3528()) { +#if defined(CONFIG_MALI_DEVFREQ) && defined(CONFIG_HAVE_CLK) + struct mali_device *mdev = dev_get_drvdata(dev); + + clk_set_rate(mdev->clock, mdev->current_freq); +#endif + } platform->is_powered = true; } @@ -447,6 +454,14 @@ static void rk_platform_power_off_gpu(struct device *dev) struct rk_context *platform = s_rk_context; if (platform->is_powered) { + if (cpu_is_rk3528()) { +#if defined(CONFIG_MALI_DEVFREQ) && defined(CONFIG_HAVE_CLK) + struct mali_device *mdev = dev_get_drvdata(dev); + + //use normal pll 200M for gpu when suspend + clk_set_rate(mdev->clock, 200000000); +#endif + } rk_platform_disable_clk_gpu(dev); rk_platform_disable_gpu_regulator(dev);