From 2d1c49463b38463f4d6100b5a5b2074832ecda2f Mon Sep 17 00:00:00 2001 From: chenzhen Date: Fri, 30 Dec 2016 19:56:50 +0800 Subject: [PATCH] Revert "MALI: midgard: RK: slowdown clk_gpu before poweroff cores" This reverts commit 89501d8dd3c214e4a162e94804f0d56c61c23237. Change-Id: I403b63847da10bc2c5536bd26f692bafc849588e Signed-off-by: chenzhen --- .../midgard/backend/gpu/mali_kbase_devfreq.c | 8 +--- .../backend/gpu/mali_kbase_pm_backend.c | 39 ------------------- .../gpu/arm/midgard/mali_kbase_core_linux.c | 3 -- drivers/gpu/arm/midgard/mali_kbase_defs.h | 11 ------ 4 files changed, 2 insertions(+), 59 deletions(-) diff --git a/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_devfreq.c b/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_devfreq.c index 8f9a67e57cea..ad05fe5bea8d 100644 --- a/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_devfreq.c +++ b/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_devfreq.c @@ -54,7 +54,7 @@ kbase_devfreq_target(struct device *dev, unsigned long *target_freq, u32 flags) struct dev_pm_opp *opp; unsigned long freq = 0; unsigned long voltage; - int err = 0; + int err; freq = *target_freq; @@ -86,11 +86,7 @@ kbase_devfreq_target(struct device *dev, unsigned long *target_freq, u32 flags) } #endif - mutex_lock(&kbdev->mutex_for_clk); - if (!kbdev->is_power_off) - err = clk_set_rate(kbdev->clock, freq); - kbdev->freq = freq; - mutex_unlock(&kbdev->mutex_for_clk); + err = clk_set_rate(kbdev->clock, freq); if (err) { dev_err(dev, "Failed to set clock %lu (target %lu)\n", freq, *target_freq); diff --git a/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_pm_backend.c b/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_pm_backend.c index 0919969da523..711e44c7f80a 100644 --- a/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_pm_backend.c +++ b/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_pm_backend.c @@ -20,9 +20,6 @@ * GPU backend implementation of base kernel power management APIs */ -/* #define ENABLE_DEBUG_LOG */ -#include "../../platform/rk/custom_log.h" - #include #include #include @@ -35,36 +32,6 @@ #include #include -static int rk_slowdown_clk_gpu_before_poweroff_cores(struct kbase_device *kbdev) -{ - int ret = 0; - const unsigned long freq = 200 * 1000 * 1000; - - mutex_lock(&kbdev->mutex_for_clk); - ret = clk_set_rate(kbdev->clock, freq); - if (ret) - E("Failed to set clock to %lu.", freq); - kbdev->is_power_off = true; - mutex_unlock(&kbdev->mutex_for_clk); - - return ret; -} - -static int rk_restore_clk_gpu(struct kbase_device *kbdev) -{ - int ret = 0; - - mutex_lock(&kbdev->mutex_for_clk); - if (kbdev->freq != 0) - ret = clk_set_rate(kbdev->clock, kbdev->freq); - if (ret) - E("Failed to set clock to %lu.", kbdev->freq); - kbdev->is_power_off = false; - mutex_unlock(&kbdev->mutex_for_clk); - - return ret; -} - void kbase_pm_register_access_enable(struct kbase_device *kbdev) { struct kbase_pm_callback_conf *callbacks; @@ -188,9 +155,6 @@ void kbase_pm_do_poweron(struct kbase_device *kbdev, bool is_resume) /* NOTE: We don't wait to reach the desired state, since running atoms * will wait for that state to be reached anyway */ - - D("to restore clk_gpu."); - rk_restore_clk_gpu(kbdev); } bool kbase_pm_do_poweroff(struct kbase_device *kbdev, bool is_suspend) @@ -200,9 +164,6 @@ bool kbase_pm_do_poweroff(struct kbase_device *kbdev, bool is_suspend) lockdep_assert_held(&kbdev->pm.lock); - D("to slowdown clk_gpu before poweroff pm_cores."); - rk_slowdown_clk_gpu_before_poweroff_cores(kbdev); - spin_lock_irqsave(&kbdev->pm.power_change_lock, flags); /* Force all cores off */ diff --git a/drivers/gpu/arm/midgard/mali_kbase_core_linux.c b/drivers/gpu/arm/midgard/mali_kbase_core_linux.c index 499ef46a0fe2..ee59504cd4e8 100644 --- a/drivers/gpu/arm/midgard/mali_kbase_core_linux.c +++ b/drivers/gpu/arm/midgard/mali_kbase_core_linux.c @@ -3026,9 +3026,6 @@ static int power_control_init(struct platform_device *pdev) goto fail; } } - kbdev->freq = 0; - mutex_init(&kbdev->mutex_for_clk); - kbdev->is_power_off = false; #if defined(CONFIG_OF) && defined(CONFIG_PM_OPP) /* Register the OPPs if they are available in device tree */ diff --git a/drivers/gpu/arm/midgard/mali_kbase_defs.h b/drivers/gpu/arm/midgard/mali_kbase_defs.h index f5775bcbb248..4bb8c2c7aec2 100644 --- a/drivers/gpu/arm/midgard/mali_kbase_defs.h +++ b/drivers/gpu/arm/midgard/mali_kbase_defs.h @@ -912,17 +912,6 @@ struct kbase_device { } irqs[3]; struct clk *clock; - - /* - * current freq of clk_gpu, in Hz. - */ - unsigned long freq; - /* - * mutex for setting freq of clk_gpu. - */ - struct mutex mutex_for_clk; - bool is_power_off; - #ifdef CONFIG_REGULATOR struct regulator *regulator; #endif -- 2.34.1