* [PATCH v2 00/12] MIPS CPC fixup and CPU Idle for MIPSr6 CPUs
@ 2016-09-07 9:45 Matt Redfearn
2016-09-07 9:45 ` [PATCH v2 12/12] cpuidle: cpuidle-cps: Enable use with " Matt Redfearn
0 siblings, 1 reply; 3+ messages in thread
From: Matt Redfearn @ 2016-09-07 9:45 UTC (permalink / raw)
To: Ralf Baechle
Cc: linux-mips, Matt Redfearn, Arnd Bergmann, Tony Wu,
Nikolay Martynov, Masahiro Yamada, Kees Cook, linux-pm,
Qais Yousef, linux-kernel, Michael S. Tsirkin, Thomas Gleixner,
Rafael J. Wysocki, James Hogan, Andrew Morton, Markos Chandras,
Adam Buchbinder, Peter Zijlstra (Intel), Paul Burton,
Daniel Lezcano
This updated series incorporates comments from Peter Zijlstra on v1
around the barriers in pm-cps.c.
This series fixes a small issue with the CPC driver when A CM3 is
present, where a redundant lock was taken.
There are then additions to the pm-cps driver to add support for R6 CPUs
such as the I6400, and additionally the CM3 present in the I6400.
Finally we enable the cpuidle-cps driver for MIPSr6 CPUs.
Applies atop v4.8-rc4
Changes in v2:
Update comments on barriers
Add new patch to define standard MIPS barrier types
Use architecturally standard lightweight sync types rather than
selecting CPU specific ones.
Matt Redfearn (12):
MIPS: CPC: Convert bare 'unsigned' to 'unsigned int'
MIPS: CPC: Avoid lock when MIPS CM >= 3 is present
MIPS: pm-cps: Change FSB workaround to CPU blacklist
MIPS: pm-cps: Update comments on barrier instructions
MIPS: Barrier: Add definitions of SYNC stype values
MIPS: pm-cps: Use MIPS standard lightweight ordering barrier
MIPS: pm-cps: Use MIPS standard completion barrier
MIPS: pm-cps: Remove selection of sync types
MIPS: pm-cps: Add MIPSr6 CPU support
MIPS: pm-cps: Support CM3 changes to Coherence Enable Register
MIPS: SMP: Wrap call to mips_cpc_lock_other in mips_cm_lock_other
cpuidle: cpuidle-cps: Enable use with MIPSr6 CPUs.
arch/mips/include/asm/barrier.h | 96 +++++++++++++++++++++++++++++++++
arch/mips/include/asm/mips-cm.h | 1 +
arch/mips/include/asm/pm-cps.h | 6 ++-
arch/mips/kernel/mips-cpc.c | 17 ++++--
arch/mips/kernel/pm-cps.c | 115 +++++++++++++++++++---------------------
arch/mips/kernel/smp.c | 2 +
drivers/cpuidle/Kconfig.mips | 2 +-
drivers/cpuidle/cpuidle-cps.c | 2 +-
8 files changed, 173 insertions(+), 68 deletions(-)
--
2.7.4
^ permalink raw reply [flat|nested] 3+ messages in thread
* [PATCH v2 12/12] cpuidle: cpuidle-cps: Enable use with MIPSr6 CPUs.
2016-09-07 9:45 [PATCH v2 00/12] MIPS CPC fixup and CPU Idle for MIPSr6 CPUs Matt Redfearn
@ 2016-09-07 9:45 ` Matt Redfearn
2016-09-08 10:55 ` Daniel Lezcano
0 siblings, 1 reply; 3+ messages in thread
From: Matt Redfearn @ 2016-09-07 9:45 UTC (permalink / raw)
To: Ralf Baechle
Cc: linux-mips, Matt Redfearn, Rafael J. Wysocki, linux-pm,
linux-kernel, Daniel Lezcano
This patch enables the MIPS CPS driver for MIPSr6 CPUs.
Signed-off-by: Matt Redfearn <matt.redfearn@imgtec.com>
Reviewed-by: Paul Burton <paul.burton@imgtec.com>
---
Changes in v2: None
drivers/cpuidle/Kconfig.mips | 2 +-
drivers/cpuidle/cpuidle-cps.c | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/cpuidle/Kconfig.mips b/drivers/cpuidle/Kconfig.mips
index 4102be01d06a..512ee37b374b 100644
--- a/drivers/cpuidle/Kconfig.mips
+++ b/drivers/cpuidle/Kconfig.mips
@@ -5,7 +5,7 @@ config MIPS_CPS_CPUIDLE
bool "CPU Idle driver for MIPS CPS platforms"
depends on CPU_IDLE && MIPS_CPS
depends on SYS_SUPPORTS_MIPS_CPS
- select ARCH_NEEDS_CPU_IDLE_COUPLED if MIPS_MT
+ select ARCH_NEEDS_CPU_IDLE_COUPLED if MIPS_MT || CPU_MIPSR6
select GENERIC_CLOCKEVENTS_BROADCAST if SMP
select MIPS_CPS_PM
default y
diff --git a/drivers/cpuidle/cpuidle-cps.c b/drivers/cpuidle/cpuidle-cps.c
index 1adb6980b707..926ba9871c62 100644
--- a/drivers/cpuidle/cpuidle-cps.c
+++ b/drivers/cpuidle/cpuidle-cps.c
@@ -163,7 +163,7 @@ static int __init cps_cpuidle_init(void)
core = cpu_data[cpu].core;
device = &per_cpu(cpuidle_dev, cpu);
device->cpu = cpu;
-#ifdef CONFIG_MIPS_MT
+#ifdef CONFIG_ARCH_NEEDS_CPU_IDLE_COUPLED
cpumask_copy(&device->coupled_cpus, &cpu_sibling_map[cpu]);
#endif
--
2.7.4
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH v2 12/12] cpuidle: cpuidle-cps: Enable use with MIPSr6 CPUs.
2016-09-07 9:45 ` [PATCH v2 12/12] cpuidle: cpuidle-cps: Enable use with " Matt Redfearn
@ 2016-09-08 10:55 ` Daniel Lezcano
0 siblings, 0 replies; 3+ messages in thread
From: Daniel Lezcano @ 2016-09-08 10:55 UTC (permalink / raw)
To: Matt Redfearn, Ralf Baechle
Cc: linux-mips, Rafael J. Wysocki, linux-pm, linux-kernel
On 07/09/2016 11:45, Matt Redfearn wrote:
> This patch enables the MIPS CPS driver for MIPSr6 CPUs.
>
> Signed-off-by: Matt Redfearn <matt.redfearn@imgtec.com>
> Reviewed-by: Paul Burton <paul.burton@imgtec.com>
>
Reviewed-by: Daniel Lezcano <daniel.lezcano@linaro.org>
> ---
>
> Changes in v2: None
>
> drivers/cpuidle/Kconfig.mips | 2 +-
> drivers/cpuidle/cpuidle-cps.c | 2 +-
> 2 files changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/cpuidle/Kconfig.mips b/drivers/cpuidle/Kconfig.mips
> index 4102be01d06a..512ee37b374b 100644
> --- a/drivers/cpuidle/Kconfig.mips
> +++ b/drivers/cpuidle/Kconfig.mips
> @@ -5,7 +5,7 @@ config MIPS_CPS_CPUIDLE
> bool "CPU Idle driver for MIPS CPS platforms"
> depends on CPU_IDLE && MIPS_CPS
> depends on SYS_SUPPORTS_MIPS_CPS
> - select ARCH_NEEDS_CPU_IDLE_COUPLED if MIPS_MT
> + select ARCH_NEEDS_CPU_IDLE_COUPLED if MIPS_MT || CPU_MIPSR6
> select GENERIC_CLOCKEVENTS_BROADCAST if SMP
> select MIPS_CPS_PM
> default y
> diff --git a/drivers/cpuidle/cpuidle-cps.c b/drivers/cpuidle/cpuidle-cps.c
> index 1adb6980b707..926ba9871c62 100644
> --- a/drivers/cpuidle/cpuidle-cps.c
> +++ b/drivers/cpuidle/cpuidle-cps.c
> @@ -163,7 +163,7 @@ static int __init cps_cpuidle_init(void)
> core = cpu_data[cpu].core;
> device = &per_cpu(cpuidle_dev, cpu);
> device->cpu = cpu;
> -#ifdef CONFIG_MIPS_MT
> +#ifdef CONFIG_ARCH_NEEDS_CPU_IDLE_COUPLED
> cpumask_copy(&device->coupled_cpus, &cpu_sibling_map[cpu]);
> #endif
>
>
--
<http://www.linaro.org/> Linaro.org │ Open source software for ARM SoCs
Follow Linaro: <http://www.facebook.com/pages/Linaro> Facebook |
<http://twitter.com/#!/linaroorg> Twitter |
<http://www.linaro.org/linaro-blog/> Blog
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2016-09-08 10:55 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-09-07 9:45 [PATCH v2 00/12] MIPS CPC fixup and CPU Idle for MIPSr6 CPUs Matt Redfearn
2016-09-07 9:45 ` [PATCH v2 12/12] cpuidle: cpuidle-cps: Enable use with " Matt Redfearn
2016-09-08 10:55 ` Daniel Lezcano
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).