From: chenzhen <chenzhen@rock-chips.com>
Date: Fri, 30 Dec 2016 11:56:50 +0000 (+0800)
Subject: Revert "MALI: midgard: RK: slowdown clk_gpu before poweroff cores"
X-Git-Tag: firefly_0821_release~599
X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=2d1c49463b38463f4d6100b5a5b2074832ecda2f;p=firefly-linux-kernel-4.4.55.git

Revert "MALI: midgard: RK: slowdown clk_gpu before poweroff cores"

This reverts commit 89501d8dd3c214e4a162e94804f0d56c61c23237.

Change-Id: I403b63847da10bc2c5536bd26f692bafc849588e
Signed-off-by: chenzhen <chenzhen@rock-chips.com>
---

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 <mali_kbase.h>
 #include <mali_midg_regmap.h>
 #include <mali_kbase_config_defaults.h>
@@ -35,36 +32,6 @@
 #include <backend/gpu/mali_kbase_js_internal.h>
 #include <backend/gpu/mali_kbase_pm_internal.h>
 
-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