* [PATCH v3 0/3] ARM: renesas: Enable SMP on R-Car E2 @ 2017-09-01 8:37 Geert Uytterhoeven 2017-09-01 8:37 ` [PATCH v3 3/3] ARM: dts: r8a7794: Add SMP support Geert Uytterhoeven ` (2 more replies) 0 siblings, 3 replies; 6+ messages in thread From: Geert Uytterhoeven @ 2017-09-01 8:37 UTC (permalink / raw) To: linux-arm-kernel Hi all, This patch series enables SMP on R-Car E2 (r8a7794). The main hurdle here is that R-Car Gen2 boot loaders do not initialize the arch_timer CNTVOFF register, which thus needs workarounds on Linux. - The first patch adds a definition for MON_MODE, as suggested by Marc Zyngier, - The second patch makes sure CNTVOFF is initialized for boot and secondary Cortex-A15 and Cortex-A7 CPU cores, like is already done for the boot Cortex-A7 CPU core. Without this, the ARM arch timer does not work on secondary CPU cores. This patch depends on "[PATCH v2] ARM: shmobile: rcar-gen2: Correct arch timer frequency on RZ/G1E". - The third patch adds the required infrastructure (APMU device node and corresponding enable-method) to DT. Obviously this must not be applied on a branch that does not contain the first two patches! Due to dependencies, I think it is easiest if the ARM maintainers provide their Acked-by for patch 1, so the whole series can go in through Simon's Renesas tree. Changes compared to v2: - Replace "isb" by "instr_sync" to fix the arm v6 build (e.g. allmodconfig), Changes compared to v1: - New patch "[PATCH v2 1/3] ARM: Add definition for monitor mode", - Initialize CNTVOFF on Cortex-A15, too, - Use *_MODE definitions instead of hardcoded values, - Reduce duplication by calling the asm version from C, - Always build headsmp-apmu.o on R-Car Gen2. This has been tested on r8a7794/alt (dual Cortex-A7), and regression-tested on r8a7790/lager (quad Cortex-A15), and r8a7791/koelsch, r8a7791/porter, r8a7792/blanche, and r8a7793/gose (dual Cortex-A15). Thanks! Geert Uytterhoeven (2): ARM: Add definition for monitor mode ARM: shmobile: rcar-gen2: Make sure CNTVOFF is initialized on CA7/15 Sergei Shtylyov (1): ARM: dts: r8a7794: Add SMP support arch/arm/boot/dts/r8a7794.dtsi | 7 ++++++ arch/arm/include/uapi/asm/ptrace.h | 1 + arch/arm/mach-shmobile/Makefile | 1 + arch/arm/mach-shmobile/common.h | 2 ++ arch/arm/mach-shmobile/headsmp-apmu.S | 37 ++++++++++++++++++++++++++++++++ arch/arm/mach-shmobile/platsmp-apmu.c | 2 +- arch/arm/mach-shmobile/setup-rcar-gen2.c | 20 ++--------------- 7 files changed, 51 insertions(+), 19 deletions(-) create mode 100644 arch/arm/mach-shmobile/headsmp-apmu.S -- 2.7.4 ^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH v3 3/3] ARM: dts: r8a7794: Add SMP support 2017-09-01 8:37 [PATCH v3 0/3] ARM: renesas: Enable SMP on R-Car E2 Geert Uytterhoeven @ 2017-09-01 8:37 ` Geert Uytterhoeven 2017-09-01 8:42 ` [PATCH v3 0/3] ARM: renesas: Enable SMP on R-Car E2 Simon Horman 2017-09-01 17:04 ` Fabrizio Castro 2 siblings, 0 replies; 6+ messages in thread From: Geert Uytterhoeven @ 2017-09-01 8:37 UTC (permalink / raw) To: linux-arm-kernel From: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com> Add the device tree node for the Advanced Power Management Unit (APMU). Use the "enable-method" prop to point out that the APMU should be used for the SMP support. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com> Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be> --- v3: - No changes, v2: - No changes. --- arch/arm/boot/dts/r8a7794.dtsi | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/arch/arm/boot/dts/r8a7794.dtsi b/arch/arm/boot/dts/r8a7794.dtsi index a4c35d29f77c16dc..8d70e860468c5603 100644 --- a/arch/arm/boot/dts/r8a7794.dtsi +++ b/arch/arm/boot/dts/r8a7794.dtsi @@ -37,6 +37,7 @@ cpus { #address-cells = <1>; #size-cells = <0>; + enable-method = "renesas,apmu"; cpu0: cpu at 0 { device_type = "cpu"; @@ -65,6 +66,12 @@ }; }; + apmu at e6151000 { + compatible = "renesas,r8a7794-apmu", "renesas,apmu"; + reg = <0 0xe6151000 0 0x188>; + cpus = <&cpu0 &cpu1>; + }; + gic: interrupt-controller at f1001000 { compatible = "arm,gic-400"; #interrupt-cells = <3>; -- 2.7.4 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH v3 0/3] ARM: renesas: Enable SMP on R-Car E2 2017-09-01 8:37 [PATCH v3 0/3] ARM: renesas: Enable SMP on R-Car E2 Geert Uytterhoeven 2017-09-01 8:37 ` [PATCH v3 3/3] ARM: dts: r8a7794: Add SMP support Geert Uytterhoeven @ 2017-09-01 8:42 ` Simon Horman 2017-09-11 7:39 ` Simon Horman 2017-09-01 17:04 ` Fabrizio Castro 2 siblings, 1 reply; 6+ messages in thread From: Simon Horman @ 2017-09-01 8:42 UTC (permalink / raw) To: linux-arm-kernel On Fri, Sep 01, 2017 at 10:37:43AM +0200, Geert Uytterhoeven wrote: > Hi all, > > This patch series enables SMP on R-Car E2 (r8a7794). > The main hurdle here is that R-Car Gen2 boot loaders do not initialize the > arch_timer CNTVOFF register, which thus needs workarounds on Linux. > > - The first patch adds a definition for MON_MODE, as suggested by Marc > Zyngier, > - The second patch makes sure CNTVOFF is initialized for boot and > secondary Cortex-A15 and Cortex-A7 CPU cores, like is already done > for the boot Cortex-A7 CPU core. Without this, the ARM arch timer > does not work on secondary CPU cores. > This patch depends on "[PATCH v2] ARM: shmobile: rcar-gen2: Correct > arch timer frequency on RZ/G1E". > - The third patch adds the required infrastructure (APMU device node > and corresponding enable-method) to DT. > Obviously this must not be applied on a branch that does not contain > the first two patches! > > Due to dependencies, I think it is easiest if the ARM maintainers provide > their Acked-by for patch 1, so the whole series can go in through Simon's > Renesas tree. Thanks Geert, this merge strategy is fine by me. > > Changes compared to v2: > - Replace "isb" by "instr_sync" to fix the arm v6 build (e.g. > allmodconfig), > > Changes compared to v1: > - New patch "[PATCH v2 1/3] ARM: Add definition for monitor mode", > - Initialize CNTVOFF on Cortex-A15, too, > - Use *_MODE definitions instead of hardcoded values, > - Reduce duplication by calling the asm version from C, > - Always build headsmp-apmu.o on R-Car Gen2. > > This has been tested on r8a7794/alt (dual Cortex-A7), and regression-tested > on r8a7790/lager (quad Cortex-A15), and r8a7791/koelsch, r8a7791/porter, > r8a7792/blanche, and r8a7793/gose (dual Cortex-A15). > > Thanks! > > Geert Uytterhoeven (2): > ARM: Add definition for monitor mode > ARM: shmobile: rcar-gen2: Make sure CNTVOFF is initialized on CA7/15 > > Sergei Shtylyov (1): > ARM: dts: r8a7794: Add SMP support > > arch/arm/boot/dts/r8a7794.dtsi | 7 ++++++ > arch/arm/include/uapi/asm/ptrace.h | 1 + > arch/arm/mach-shmobile/Makefile | 1 + > arch/arm/mach-shmobile/common.h | 2 ++ > arch/arm/mach-shmobile/headsmp-apmu.S | 37 ++++++++++++++++++++++++++++++++ > arch/arm/mach-shmobile/platsmp-apmu.c | 2 +- > arch/arm/mach-shmobile/setup-rcar-gen2.c | 20 ++--------------- > 7 files changed, 51 insertions(+), 19 deletions(-) > create mode 100644 arch/arm/mach-shmobile/headsmp-apmu.S > > -- > 2.7.4 > ^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH v3 0/3] ARM: renesas: Enable SMP on R-Car E2 2017-09-01 8:42 ` [PATCH v3 0/3] ARM: renesas: Enable SMP on R-Car E2 Simon Horman @ 2017-09-11 7:39 ` Simon Horman 0 siblings, 0 replies; 6+ messages in thread From: Simon Horman @ 2017-09-11 7:39 UTC (permalink / raw) To: linux-arm-kernel On Fri, Sep 01, 2017 at 10:42:44AM +0200, Simon Horman wrote: > On Fri, Sep 01, 2017 at 10:37:43AM +0200, Geert Uytterhoeven wrote: > > Hi all, > > > > This patch series enables SMP on R-Car E2 (r8a7794). > > The main hurdle here is that R-Car Gen2 boot loaders do not initialize the > > arch_timer CNTVOFF register, which thus needs workarounds on Linux. > > > > - The first patch adds a definition for MON_MODE, as suggested by Marc > > Zyngier, > > - The second patch makes sure CNTVOFF is initialized for boot and > > secondary Cortex-A15 and Cortex-A7 CPU cores, like is already done > > for the boot Cortex-A7 CPU core. Without this, the ARM arch timer > > does not work on secondary CPU cores. > > This patch depends on "[PATCH v2] ARM: shmobile: rcar-gen2: Correct > > arch timer frequency on RZ/G1E". > > - The third patch adds the required infrastructure (APMU device node > > and corresponding enable-method) to DT. > > Obviously this must not be applied on a branch that does not contain > > the first two patches! > > > > Due to dependencies, I think it is easiest if the ARM maintainers provide > > their Acked-by for patch 1, so the whole series can go in through Simon's > > Renesas tree. > > Thanks Geert, this merge strategy is fine by me. This patch-set has been floating around one form or another for quite some time now and this version is now well over a week old. I've gone ahead and applied the first two patches for v4.15: * ARM: Add definition for monitor mode * ARM: shmobile: rcar-gen2: Make sure CNTVOFF is initialized on CA7/15 I will push those to the devel branch of the renesas tree later today. I would like to deffer the third and last patch until v4.16 to avoid an awkward branch dependency on the above - the branches are different even though the tree is the same. Please resubmit this patch once the above dependencies are present in an rc release, which at this stage I expect to be v4.15-rc1. * ARM: dts: r8a7794: Add SMP support ^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH v3 0/3] ARM: renesas: Enable SMP on R-Car E2 2017-09-01 8:37 [PATCH v3 0/3] ARM: renesas: Enable SMP on R-Car E2 Geert Uytterhoeven 2017-09-01 8:37 ` [PATCH v3 3/3] ARM: dts: r8a7794: Add SMP support Geert Uytterhoeven 2017-09-01 8:42 ` [PATCH v3 0/3] ARM: renesas: Enable SMP on R-Car E2 Simon Horman @ 2017-09-01 17:04 ` Fabrizio Castro 2017-09-05 11:07 ` Fabrizio Castro 2 siblings, 1 reply; 6+ messages in thread From: Fabrizio Castro @ 2017-09-01 17:04 UTC (permalink / raw) To: linux-arm-kernel > -----Original Message----- > From: linux-renesas-soc-owner at vger.kernel.org [mailto:linux-renesas-soc-owner at vger.kernel.org] On Behalf Of Geert > Uytterhoeven > Sent: 01 September 2017 09:38 > To: Simon Horman <horms@verge.net.au>; Magnus Damm <magnus.damm@gmail.com>; Russell King <linux@armlinux.org.uk>; > Catalin Marinas <catalin.marinas@arm.com>; Marc Zyngier <marc.zyngier@arm.com>; Mark Rutland <mark.rutland@arm.com> > Cc: linux-renesas-soc at vger.kernel.org; linux-arm-kernel at lists.infradead.org; Geert Uytterhoeven <geert+renesas@glider.be> > Subject: [PATCH v3 0/3] ARM: renesas: Enable SMP on R-Car E2 > > Hi all, > > This patch series enables SMP on R-Car E2 (r8a7794). > The main hurdle here is that R-Car Gen2 boot loaders do not initialize the arch_timer CNTVOFF register, which thus needs > workarounds on Linux. > > - The first patch adds a definition for MON_MODE, as suggested by Marc > Zyngier, > - The second patch makes sure CNTVOFF is initialized for boot and > secondary Cortex-A15 and Cortex-A7 CPU cores, like is already done > for the boot Cortex-A7 CPU core. Without this, the ARM arch timer > does not work on secondary CPU cores. > This patch depends on "[PATCH v2] ARM: shmobile: rcar-gen2: Correct > arch timer frequency on RZ/G1E". > - The third patch adds the required infrastructure (APMU device node > and corresponding enable-method) to DT. > Obviously this must not be applied on a branch that does not contain > the first two patches! > > Due to dependencies, I think it is easiest if the ARM maintainers provide their Acked-by for patch 1, so the whole series can go in > through Simon's Renesas tree. > > Changes compared to v2: > - Replace "isb" by "instr_sync" to fix the arm v6 build (e.g. > allmodconfig), > > Changes compared to v1: > - New patch "[PATCH v2 1/3] ARM: Add definition for monitor mode", > - Initialize CNTVOFF on Cortex-A15, too, > - Use *_MODE definitions instead of hardcoded values, > - Reduce duplication by calling the asm version from C, > - Always build headsmp-apmu.o on R-Car Gen2. > > This has been tested on r8a7794/alt (dual Cortex-A7), and regression-tested on r8a7790/lager (quad Cortex-A15), and > r8a7791/koelsch, r8a7791/porter, r8a7792/blanche, and r8a7793/gose (dual Cortex-A15). Hello Geert, last week we tried to enable APMU/SMP on the iWave RZG1E (r8a7745, dual Cortex-A7) G22D-SODIMM board unsuccessfully, this patch series fixes the problems we have been experiencing. Thanks, Fabrizio Tested-by: Fabrizio Castro <fabrizio.castro@bp.renesas.com> > > Thanks! > > Geert Uytterhoeven (2): > ARM: Add definition for monitor mode > ARM: shmobile: rcar-gen2: Make sure CNTVOFF is initialized on CA7/15 > > Sergei Shtylyov (1): > ARM: dts: r8a7794: Add SMP support > > arch/arm/boot/dts/r8a7794.dtsi | 7 ++++++ > arch/arm/include/uapi/asm/ptrace.h | 1 + > arch/arm/mach-shmobile/Makefile | 1 + > arch/arm/mach-shmobile/common.h | 2 ++ > arch/arm/mach-shmobile/headsmp-apmu.S | 37 ++++++++++++++++++++++++++++++++ > arch/arm/mach-shmobile/platsmp-apmu.c | 2 +- > arch/arm/mach-shmobile/setup-rcar-gen2.c | 20 ++--------------- > 7 files changed, 51 insertions(+), 19 deletions(-) create mode 100644 arch/arm/mach-shmobile/headsmp-apmu.S > > -- > 2.7.4 Renesas Electronics Europe Ltd, Dukes Meadow, Millboard Road, Bourne End, Buckinghamshire, SL8 5FH, UK. Registered in England & Wales under Registered No. 04586709. ^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH v3 0/3] ARM: renesas: Enable SMP on R-Car E2 2017-09-01 17:04 ` Fabrizio Castro @ 2017-09-05 11:07 ` Fabrizio Castro 0 siblings, 0 replies; 6+ messages in thread From: Fabrizio Castro @ 2017-09-05 11:07 UTC (permalink / raw) To: linux-arm-kernel > -----Original Message----- > From: linux-renesas-soc-owner at vger.kernel.org [mailto:linux-renesas-soc-owner at vger.kernel.org] On Behalf Of Fabrizio Castro > Sent: 01 September 2017 18:04 > To: Geert Uytterhoeven <geert+renesas@glider.be>; Simon Horman <horms@verge.net.au>; Magnus Damm > <magnus.damm@gmail.com>; Russell King <linux@armlinux.org.uk>; Catalin Marinas <catalin.marinas@arm.com>; Marc Zyngier > <marc.zyngier@arm.com>; Mark Rutland <mark.rutland@arm.com> > Cc: linux-renesas-soc at vger.kernel.org; linux-arm-kernel at lists.infradead.org > Subject: RE: [PATCH v3 0/3] ARM: renesas: Enable SMP on R-Car E2 > > > -----Original Message----- > > From: linux-renesas-soc-owner at vger.kernel.org [mailto:linux-renesas-soc-owner at vger.kernel.org] On Behalf Of Geert > > Uytterhoeven > > Sent: 01 September 2017 09:38 > > To: Simon Horman <horms@verge.net.au>; Magnus Damm <magnus.damm@gmail.com>; Russell King <linux@armlinux.org.uk>; > > Catalin Marinas <catalin.marinas@arm.com>; Marc Zyngier <marc.zyngier@arm.com>; Mark Rutland <mark.rutland@arm.com> > > Cc: linux-renesas-soc at vger.kernel.org; linux-arm-kernel at lists.infradead.org; Geert Uytterhoeven <geert+renesas@glider.be> > > Subject: [PATCH v3 0/3] ARM: renesas: Enable SMP on R-Car E2 > > > > Hi all, > > > > This patch series enables SMP on R-Car E2 (r8a7794). > > The main hurdle here is that R-Car Gen2 boot loaders do not initialize the arch_timer CNTVOFF register, which thus needs > > workarounds on Linux. > > > > - The first patch adds a definition for MON_MODE, as suggested by Marc > > Zyngier, > > - The second patch makes sure CNTVOFF is initialized for boot and > > secondary Cortex-A15 and Cortex-A7 CPU cores, like is already done > > for the boot Cortex-A7 CPU core. Without this, the ARM arch timer > > does not work on secondary CPU cores. > > This patch depends on "[PATCH v2] ARM: shmobile: rcar-gen2: Correct > > arch timer frequency on RZ/G1E". > > - The third patch adds the required infrastructure (APMU device node > > and corresponding enable-method) to DT. > > Obviously this must not be applied on a branch that does not contain > > the first two patches! > > > > Due to dependencies, I think it is easiest if the ARM maintainers provide their Acked-by for patch 1, so the whole series can go in > > through Simon's Renesas tree. > > > > Changes compared to v2: > > - Replace "isb" by "instr_sync" to fix the arm v6 build (e.g. > > allmodconfig), > > > > Changes compared to v1: > > - New patch "[PATCH v2 1/3] ARM: Add definition for monitor mode", > > - Initialize CNTVOFF on Cortex-A15, too, > > - Use *_MODE definitions instead of hardcoded values, > > - Reduce duplication by calling the asm version from C, > > - Always build headsmp-apmu.o on R-Car Gen2. > > > > This has been tested on r8a7794/alt (dual Cortex-A7), and regression-tested on r8a7790/lager (quad Cortex-A15), and > > r8a7791/koelsch, r8a7791/porter, r8a7792/blanche, and r8a7793/gose (dual Cortex-A15). > > Hello Geert, > > last week we tried to enable APMU/SMP on the iWave RZG1E (r8a7745, dual Cortex-A7) G22D-SODIMM board unsuccessfully, this > patch series fixes the problems we have been experiencing. Hello Geert, we tested your patch series on the RZG1M (r8a7743, dual Cortex-A15) too which was working well already, and it looks like the system keeps behaving properly. Thanks, Fabrizio > > Thanks, > Fabrizio > > Tested-by: Fabrizio Castro <fabrizio.castro@bp.renesas.com> > > > > > Thanks! > > > > Geert Uytterhoeven (2): > > ARM: Add definition for monitor mode > > ARM: shmobile: rcar-gen2: Make sure CNTVOFF is initialized on CA7/15 > > > > Sergei Shtylyov (1): > > ARM: dts: r8a7794: Add SMP support > > > > arch/arm/boot/dts/r8a7794.dtsi | 7 ++++++ > > arch/arm/include/uapi/asm/ptrace.h | 1 + > > arch/arm/mach-shmobile/Makefile | 1 + > > arch/arm/mach-shmobile/common.h | 2 ++ > > arch/arm/mach-shmobile/headsmp-apmu.S | 37 ++++++++++++++++++++++++++++++++ > > arch/arm/mach-shmobile/platsmp-apmu.c | 2 +- > > arch/arm/mach-shmobile/setup-rcar-gen2.c | 20 ++--------------- > > 7 files changed, 51 insertions(+), 19 deletions(-) create mode 100644 arch/arm/mach-shmobile/headsmp-apmu.S > > > > -- > > 2.7.4 > > > > > Renesas Electronics Europe Ltd, Dukes Meadow, Millboard Road, Bourne End, Buckinghamshire, SL8 5FH, UK. Registered in England & > Wales under Registered No. 04586709. Renesas Electronics Europe Ltd, Dukes Meadow, Millboard Road, Bourne End, Buckinghamshire, SL8 5FH, UK. Registered in England & Wales under Registered No. 04586709. ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2017-09-11 7:39 UTC | newest] Thread overview: 6+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2017-09-01 8:37 [PATCH v3 0/3] ARM: renesas: Enable SMP on R-Car E2 Geert Uytterhoeven 2017-09-01 8:37 ` [PATCH v3 3/3] ARM: dts: r8a7794: Add SMP support Geert Uytterhoeven 2017-09-01 8:42 ` [PATCH v3 0/3] ARM: renesas: Enable SMP on R-Car E2 Simon Horman 2017-09-11 7:39 ` Simon Horman 2017-09-01 17:04 ` Fabrizio Castro 2017-09-05 11:07 ` Fabrizio Castro
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).