aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/cpufreq/loongson2_cpufreq.c
diff options
context:
space:
mode:
authorAlexandre Oliva <lxoliva@fsfla.org>2020-01-21 09:30:45 -0300
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>2020-01-23 00:39:37 +0100
commit1250c1a568ca33e9c9b586b99a763277684c6899 (patch)
tree417362d2209650a9d62648ee499469a99306b70a /drivers/cpufreq/loongson2_cpufreq.c
parentcpufreq: intel_pstate: fix spelling mistake: "Whethet" -> "Whether" (diff)
downloadlinux-dev-1250c1a568ca33e9c9b586b99a763277684c6899.tar.xz
linux-dev-1250c1a568ca33e9c9b586b99a763277684c6899.zip
cpufreq: loongson2_cpufreq: adjust cpufreq uses of LOONGSON_CHIPCFG
The post-fork cleanup of loongson2ef from loongson64 changed LOONGSON_CHIPCFG from a single-argument functional macro to a non-functional macro with an mmio address in loongson2ef, but loongson2_cpufreq still uses the notation of a functional macro call expecting it to be an lvalue. Fixed based on loongson_suspend_enter. Signed-off-by: Alexandre Oliva <lxoliva@fsfla.org> Acked-by: Viresh Kumar <viresh.kumar@linaro.org> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Diffstat (limited to 'drivers/cpufreq/loongson2_cpufreq.c')
-rw-r--r--drivers/cpufreq/loongson2_cpufreq.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/drivers/cpufreq/loongson2_cpufreq.c b/drivers/cpufreq/loongson2_cpufreq.c
index e9caa9586982..909f40fbcde2 100644
--- a/drivers/cpufreq/loongson2_cpufreq.c
+++ b/drivers/cpufreq/loongson2_cpufreq.c
@@ -144,9 +144,11 @@ static void loongson2_cpu_wait(void)
u32 cpu_freq;
spin_lock_irqsave(&loongson2_wait_lock, flags);
- cpu_freq = LOONGSON_CHIPCFG(0);
- LOONGSON_CHIPCFG(0) &= ~0x7; /* Put CPU into wait mode */
- LOONGSON_CHIPCFG(0) = cpu_freq; /* Restore CPU state */
+ cpu_freq = readl(LOONGSON_CHIPCFG);
+ /* Put CPU into wait mode */
+ writel(readl(LOONGSON_CHIPCFG) & ~0x7, LOONGSON_CHIPCFG);
+ /* Restore CPU state */
+ writel(cpu_freq, LOONGSON_CHIPCFG);
spin_unlock_irqrestore(&loongson2_wait_lock, flags);
local_irq_enable();
}