* Re: [PATCH] [Loongson2F] adjust cpufreq uses of LOONGSON_CHIPCFG [not found] <or5zh9l5ok.fsf@livre.home> @ 2020-01-20 18:06 ` Paul Burton 2020-01-21 4:53 ` Viresh Kumar 0 siblings, 1 reply; 4+ messages in thread From: Paul Burton @ 2020-01-20 18:06 UTC (permalink / raw) To: Alexandre Oliva Cc: Jiaxun Yang, linux-mips, paul.burton, Rafael J. Wysocki, Viresh Kumar, linux-pm Hi Alexandre, On Sat, Jan 18, 2020 at 02:00:43AM -0300, Alexandre Oliva wrote: > > 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> > Cc: Jiaxun Yang <jiaxun.yang@flygoat.com> > Cc: linux-mips@vger.kernel.org > Cc: paul.burton@mips.com This patch looks good to me, but you need to copy the cpufreq maintainers: $ ./scripts/get_maintainer.pl -f drivers/cpufreq/loongson2_cpufreq.c Jiaxun Yang <jiaxun.yang@flygoat.com> (maintainer:MIPS/LOONGSON2EF ARCHITECTURE) "Rafael J. Wysocki" <rjw@rjwysocki.net> (maintainer:CPU FREQUENCY SCALING FRAMEWORK) Viresh Kumar <viresh.kumar@linaro.org> (maintainer:CPU FREQUENCY SCALING FRAMEWORK) linux-mips@vger.kernel.org (open list:MIPS/LOONGSON2EF ARCHITECTURE) linux-pm@vger.kernel.org (open list:CPU FREQUENCY SCALING FRAMEWORK) linux-kernel@vger.kernel.org (open list) I've CC'd them now, but they might want the patch resending. Thanks, Paul > --- > drivers/cpufreq/loongson2_cpufreq.c | 8 +++++--- > 1 file changed, 5 insertions(+), 3 deletions(-) > > diff --git a/drivers/cpufreq/loongson2_cpufreq.c b/drivers/cpufreq/loongson2_cpufreq.c > index 84f0eee..ace2d46 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(); > } > -- > 2.7.4 > > > -- > Alexandre Oliva, freedom fighter he/him https://FSFLA.org/blogs/lxo > Free Software Evangelist Stallman was right, but he's left :( > GNU Toolchain Engineer FSMatrix: It was he who freed the first of us > FSF & FSFLA board member The Savior shall return (true); ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] [Loongson2F] adjust cpufreq uses of LOONGSON_CHIPCFG 2020-01-20 18:06 ` [PATCH] [Loongson2F] adjust cpufreq uses of LOONGSON_CHIPCFG Paul Burton @ 2020-01-21 4:53 ` Viresh Kumar 2020-01-21 12:30 ` Alexandre Oliva 0 siblings, 1 reply; 4+ messages in thread From: Viresh Kumar @ 2020-01-21 4:53 UTC (permalink / raw) To: Paul Burton Cc: Alexandre Oliva, Jiaxun Yang, linux-mips, paul.burton, Rafael J. Wysocki, linux-pm On 20-01-20, 10:06, Paul Burton wrote: > Hi Alexandre, > > On Sat, Jan 18, 2020 at 02:00:43AM -0300, Alexandre Oliva wrote: > > > > 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> > > Cc: Jiaxun Yang <jiaxun.yang@flygoat.com> > > Cc: linux-mips@vger.kernel.org > > Cc: paul.burton@mips.com > > This patch looks good to me, but you need to copy the cpufreq > maintainers: > > $ ./scripts/get_maintainer.pl -f drivers/cpufreq/loongson2_cpufreq.c > Jiaxun Yang <jiaxun.yang@flygoat.com> (maintainer:MIPS/LOONGSON2EF ARCHITECTURE) > "Rafael J. Wysocki" <rjw@rjwysocki.net> (maintainer:CPU FREQUENCY SCALING FRAMEWORK) > Viresh Kumar <viresh.kumar@linaro.org> (maintainer:CPU FREQUENCY SCALING FRAMEWORK) > linux-mips@vger.kernel.org (open list:MIPS/LOONGSON2EF ARCHITECTURE) > linux-pm@vger.kernel.org (open list:CPU FREQUENCY SCALING FRAMEWORK) > linux-kernel@vger.kernel.org (open list) > > I've CC'd them now, but they might want the patch resending. > > Thanks, > Paul > > > --- > > drivers/cpufreq/loongson2_cpufreq.c | 8 +++++--- > > 1 file changed, 5 insertions(+), 3 deletions(-) > > > > diff --git a/drivers/cpufreq/loongson2_cpufreq.c b/drivers/cpufreq/loongson2_cpufreq.c > > index 84f0eee..ace2d46 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(); > > } Please resend it and add my Acked-by: Viresh Kumar <viresh.kumar@linaro.org> -- viresh ^ permalink raw reply [flat|nested] 4+ messages in thread
* [PATCH] [Loongson2F] adjust cpufreq uses of LOONGSON_CHIPCFG 2020-01-21 4:53 ` Viresh Kumar @ 2020-01-21 12:30 ` Alexandre Oliva 2020-01-22 23:46 ` Rafael J. Wysocki 0 siblings, 1 reply; 4+ messages in thread From: Alexandre Oliva @ 2020-01-21 12:30 UTC (permalink / raw) To: Viresh Kumar Cc: Paul Burton, Jiaxun Yang, linux-mips, paul.burton, Rafael J. Wysocki, linux-pm 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> Cc: Jiaxun Yang <jiaxun.yang@flygoat.com> Cc: linux-mips@vger.kernel.org Cc: paul.burton@mips.com Acked-by: Viresh Kumar <viresh.kumar@linaro.org> --- drivers/cpufreq/loongson2_cpufreq.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/drivers/cpufreq/loongson2_cpufreq.c b/drivers/cpufreq/loongson2_cpufreq.c index 84f0eee..ace2d46 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(); } -- 2.7.4 -- Alexandre Oliva, freedom fighter he/him https://FSFLA.org/blogs/lxo Free Software Evangelist Stallman was right, but he's left :( GNU Toolchain Engineer FSMatrix: It was he who freed the first of us FSF & FSFLA board member The Savior shall return (true); ^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH] [Loongson2F] adjust cpufreq uses of LOONGSON_CHIPCFG 2020-01-21 12:30 ` Alexandre Oliva @ 2020-01-22 23:46 ` Rafael J. Wysocki 0 siblings, 0 replies; 4+ messages in thread From: Rafael J. Wysocki @ 2020-01-22 23:46 UTC (permalink / raw) To: Alexandre Oliva Cc: Viresh Kumar, Paul Burton, Jiaxun Yang, linux-mips, paul.burton, Rafael J. Wysocki, Linux PM On Tue, Jan 21, 2020 at 1:39 PM Alexandre Oliva <lxoliva@fsfla.org> wrote: > > 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> > Cc: Jiaxun Yang <jiaxun.yang@flygoat.com> > Cc: linux-mips@vger.kernel.org > Cc: paul.burton@mips.com > Acked-by: Viresh Kumar <viresh.kumar@linaro.org> Queued up as 5.6 material under modified subject ("cpufreq: loongson2_cpufreq: adjust cpufreq uses of LOONGSON_CHIPCFG"), thanks! > --- > drivers/cpufreq/loongson2_cpufreq.c | 8 +++++--- > 1 file changed, 5 insertions(+), 3 deletions(-) > > diff --git a/drivers/cpufreq/loongson2_cpufreq.c b/drivers/cpufreq/loongson2_cpufreq.c > index 84f0eee..ace2d46 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(); > } > -- > 2.7.4 > > -- > Alexandre Oliva, freedom fighter he/him https://FSFLA.org/blogs/lxo > Free Software Evangelist Stallman was right, but he's left :( > GNU Toolchain Engineer FSMatrix: It was he who freed the first of us > FSF & FSFLA board member The Savior shall return (true); ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2020-01-22 23:47 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <or5zh9l5ok.fsf@livre.home>
2020-01-20 18:06 ` [PATCH] [Loongson2F] adjust cpufreq uses of LOONGSON_CHIPCFG Paul Burton
2020-01-21 4:53 ` Viresh Kumar
2020-01-21 12:30 ` Alexandre Oliva
2020-01-22 23:46 ` Rafael J. Wysocki
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox