From: "Mylène Josserand" <mylene.josserand@bootlin.com>
To: linux@armlinux.org.uk, maxime.ripard@bootlin.com, wens@csie.org,
marc.zyngier@arm.com, mark.rutland@arm.com, robh+dt@kernel.org,
horms@verge.net.au, geert@linux-m68k.org, magnus.damm@gmail.com
Cc: linux-renesas-soc@vger.kernel.org, devicetree@vger.kernel.org,
clabbe.montjoie@gmail.com, quentin.schulz@bootlin.com,
thomas.petazzoni@bootlin.com,
linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org, mylene.josserand@bootlin.com
Subject: [PATCH v8 00/12] Sunxi: Add SMP support on A83T
Date: Tue, 1 May 2018 14:31:19 +0200 [thread overview]
Message-ID: <20180501123131.7738-1-mylene.josserand@bootlin.com> (raw)
Hello everyone,
This is a V8 of my series that adds SMP support for Allwinner sun8i-a83t.
Based on sunxi's tree, sunxi/for-next branch.
Depends on a patch from Doug Berger that allows to include the "cpu-type"
header on assembly files that I included in my series (patch 01).
If you have any remarks/questions, let me know.
Thank you in advance,
Mylène
Changes from v7:
- Add the patch of Doug Berger in my series.
- Rename the machine name to start secure_cntvoff into "sun8i-a83t",
according to Maxime's review.
- Change the type of is_a83t field from integer into boolean.
Changes from v6:
- Correct the commit log on patch 07 according to Sergei Shtylyov's
review.
- Rename the field "is_sun8i" into "is_a83t".
- Add all Tested-by and Reviewed-by from previous version.
Changes from v5:
- Remove my patch 01 and use the patch of Doug Berger to be able to
include the cpu-type header on assembly files.
- Rename smp_init_cntvoff function into secure_cntvoff_init according
to Marc Zyngier's review.
- According to Chen-Yu and Maxime's reviews, remove the patch that was
moving structures. Instead of using an index to retrieve which
architecture we are having, use a global variable.
- Merge the 2 patches that move assembly code from C to assembly file.
- Use a sun8i field instead of sun9i to know on which architecture we
are using because many modifications/additions of the code are for
sun8i-a83t.
- Rework the patch "add is_sun8i field" to add only this field in this
patch. The part of the patch that was starting to handle the differences
between sun8i-a83t and sun9i-a80 is merged in the patch that adds the
support of sun8i-a83t.
- Add a new patch that refactor the shmobile code to use the new function
secure_cntvoff_init introduced in this series.
Changes from v4:
- Rebased my series according to new Chen-Yu series:
"ARM: sunxi: Clean and improvements for multi-cluster SMP"
https://lkml.org/lkml/2018/3/8/886
- Updated my series according to Marc Zyngier's reviews to add CNTVOFF
initialization's function into ARM's common part. Thanks to that, other
platforms such as Renesa can use this function.
- For boot CPU, create a new machine to handle the CNTVOFF initialization
using "init_early" callback.
Changes from v3:
- Take into account Maxime's reviews:
- split the first patch into 4 new patches: add sun9i device tree
parsing, rename some variables, add a83t support and finally,
add hotplug support.
- Move the code of previous patch 07 (to disable CPU0 disabling)
into hotplug support patch (see patch 04)
- Remove the patch that added PRCM register because it is already
available. Because of that, update the device tree parsing to use
"sun8i-a83t-r-ccu".
- Use a variable to know which SoC we currently have
- Take into account Chen-Yu's reviews: create two iounmap functions
to release the resources of the device tree parsing.
- Take into account Marc's review: Update the code to initialize CNTVOFF
register. As there is already assembly code in the driver, I decided
to create an assembly file not to mix assembly and C code.
For that, I create 3 new patches: move the current assembly code that
handles the cluster cache enabling into a file, move the cpu_resume entry
in this file and finally, add a new assembly entry to initialize the timer
offset for boot CPU and secondary CPUs.
Changes from v2:
- Rebased my modifications according to new Chen Yu's patch series
that adds SMP support for sun9i-a80 (without MCPM).
- Split the device-tree patches into 3 patches for CPUCFG, R_CPUCFG
and PRCM registers for more visibility.
- The hotplug of CPU0 is currently not working (even after trying what
Allwinner's code is doing) so remove the possibility of disabling
this CPU. Created a new patch for it.
Changes from v1:
- Add Chen Yu's patch in my series (see path 01)
- Add new compatibles for prcm and cpucfg registers for sun8i-a83t.
Create two functions to separate the DT parsing of sun9i-a80 and
sun8i-a83t.
- Thanks to Maxime's review: order device tree's nodes according
to physical addresses, remove unused label and fix registers' sizes.
Update the commit log and commit title of my last patch (see
patch 05).
Doug Berger (1):
ARM: Allow this header to be included by assembly files
Mylène Josserand (11):
ARM: sunxi: smp: Move assembly code into a file
ARM: dts: sun8i: Add CPUCFG device node for A83T dtsi
ARM: dts: sun8i: Add R_CPUCFG device node for the A83T dtsi
ARM: dts: sun8i: a83t: Add CCI-400 node
ARM: smp: Add initialization of CNTVOFF
ARM: sunxi: Add initialization of CNTVOFF
ARM: sun9i: smp: Rename clusters's power-off
ARM: sun9i: smp: Add is_a83t field
ARM: sun8i: smp: Add support for A83T
ARM: dts: sun8i: Add enable-method for SMP support for the A83T SoC
ARM: shmobile: Convert file to use cntvoff
arch/arm/boot/dts/sun8i-a83t.dtsi | 59 ++++++++
arch/arm/common/Makefile | 1 +
arch/arm/common/secure_cntvoff.S | 31 ++++
arch/arm/include/asm/cputype.h | 10 +-
arch/arm/include/asm/secure_cntvoff.h | 8 ++
arch/arm/mach-shmobile/common.h | 1 -
arch/arm/mach-shmobile/headsmp-apmu.S | 22 +--
arch/arm/mach-shmobile/setup-rcar-gen2.c | 3 +-
arch/arm/mach-sunxi/Kconfig | 2 +-
arch/arm/mach-sunxi/Makefile | 2 +-
arch/arm/mach-sunxi/headsmp.S | 81 +++++++++++
arch/arm/mach-sunxi/mc_smp.c | 239 +++++++++++++++++++------------
arch/arm/mach-sunxi/sunxi.c | 20 ++-
13 files changed, 356 insertions(+), 123 deletions(-)
create mode 100644 arch/arm/common/secure_cntvoff.S
create mode 100644 arch/arm/include/asm/secure_cntvoff.h
create mode 100644 arch/arm/mach-sunxi/headsmp.S
--
2.11.0
WARNING: multiple messages have this Message-ID
From: mylene.josserand@bootlin.com (Mylène Josserand)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v8 00/12] Sunxi: Add SMP support on A83T
Date: Tue, 1 May 2018 14:31:19 +0200 [thread overview]
Message-ID: <20180501123131.7738-1-mylene.josserand@bootlin.com> (raw)
Hello everyone,
This is a V8 of my series that adds SMP support for Allwinner sun8i-a83t.
Based on sunxi's tree, sunxi/for-next branch.
Depends on a patch from Doug Berger that allows to include the "cpu-type"
header on assembly files that I included in my series (patch 01).
If you have any remarks/questions, let me know.
Thank you in advance,
Myl?ne
Changes from v7:
- Add the patch of Doug Berger in my series.
- Rename the machine name to start secure_cntvoff into "sun8i-a83t",
according to Maxime's review.
- Change the type of is_a83t field from integer into boolean.
Changes from v6:
- Correct the commit log on patch 07 according to Sergei Shtylyov's
review.
- Rename the field "is_sun8i" into "is_a83t".
- Add all Tested-by and Reviewed-by from previous version.
Changes from v5:
- Remove my patch 01 and use the patch of Doug Berger to be able to
include the cpu-type header on assembly files.
- Rename smp_init_cntvoff function into secure_cntvoff_init according
to Marc Zyngier's review.
- According to Chen-Yu and Maxime's reviews, remove the patch that was
moving structures. Instead of using an index to retrieve which
architecture we are having, use a global variable.
- Merge the 2 patches that move assembly code from C to assembly file.
- Use a sun8i field instead of sun9i to know on which architecture we
are using because many modifications/additions of the code are for
sun8i-a83t.
- Rework the patch "add is_sun8i field" to add only this field in this
patch. The part of the patch that was starting to handle the differences
between sun8i-a83t and sun9i-a80 is merged in the patch that adds the
support of sun8i-a83t.
- Add a new patch that refactor the shmobile code to use the new function
secure_cntvoff_init introduced in this series.
Changes from v4:
- Rebased my series according to new Chen-Yu series:
"ARM: sunxi: Clean and improvements for multi-cluster SMP"
https://lkml.org/lkml/2018/3/8/886
- Updated my series according to Marc Zyngier's reviews to add CNTVOFF
initialization's function into ARM's common part. Thanks to that, other
platforms such as Renesa can use this function.
- For boot CPU, create a new machine to handle the CNTVOFF initialization
using "init_early" callback.
Changes from v3:
- Take into account Maxime's reviews:
- split the first patch into 4 new patches: add sun9i device tree
parsing, rename some variables, add a83t support and finally,
add hotplug support.
- Move the code of previous patch 07 (to disable CPU0 disabling)
into hotplug support patch (see patch 04)
- Remove the patch that added PRCM register because it is already
available. Because of that, update the device tree parsing to use
"sun8i-a83t-r-ccu".
- Use a variable to know which SoC we currently have
- Take into account Chen-Yu's reviews: create two iounmap functions
to release the resources of the device tree parsing.
- Take into account Marc's review: Update the code to initialize CNTVOFF
register. As there is already assembly code in the driver, I decided
to create an assembly file not to mix assembly and C code.
For that, I create 3 new patches: move the current assembly code that
handles the cluster cache enabling into a file, move the cpu_resume entry
in this file and finally, add a new assembly entry to initialize the timer
offset for boot CPU and secondary CPUs.
Changes from v2:
- Rebased my modifications according to new Chen Yu's patch series
that adds SMP support for sun9i-a80 (without MCPM).
- Split the device-tree patches into 3 patches for CPUCFG, R_CPUCFG
and PRCM registers for more visibility.
- The hotplug of CPU0 is currently not working (even after trying what
Allwinner's code is doing) so remove the possibility of disabling
this CPU. Created a new patch for it.
Changes from v1:
- Add Chen Yu's patch in my series (see path 01)
- Add new compatibles for prcm and cpucfg registers for sun8i-a83t.
Create two functions to separate the DT parsing of sun9i-a80 and
sun8i-a83t.
- Thanks to Maxime's review: order device tree's nodes according
to physical addresses, remove unused label and fix registers' sizes.
Update the commit log and commit title of my last patch (see
patch 05).
Doug Berger (1):
ARM: Allow this header to be included by assembly files
Myl?ne Josserand (11):
ARM: sunxi: smp: Move assembly code into a file
ARM: dts: sun8i: Add CPUCFG device node for A83T dtsi
ARM: dts: sun8i: Add R_CPUCFG device node for the A83T dtsi
ARM: dts: sun8i: a83t: Add CCI-400 node
ARM: smp: Add initialization of CNTVOFF
ARM: sunxi: Add initialization of CNTVOFF
ARM: sun9i: smp: Rename clusters's power-off
ARM: sun9i: smp: Add is_a83t field
ARM: sun8i: smp: Add support for A83T
ARM: dts: sun8i: Add enable-method for SMP support for the A83T SoC
ARM: shmobile: Convert file to use cntvoff
arch/arm/boot/dts/sun8i-a83t.dtsi | 59 ++++++++
arch/arm/common/Makefile | 1 +
arch/arm/common/secure_cntvoff.S | 31 ++++
arch/arm/include/asm/cputype.h | 10 +-
arch/arm/include/asm/secure_cntvoff.h | 8 ++
arch/arm/mach-shmobile/common.h | 1 -
arch/arm/mach-shmobile/headsmp-apmu.S | 22 +--
arch/arm/mach-shmobile/setup-rcar-gen2.c | 3 +-
arch/arm/mach-sunxi/Kconfig | 2 +-
arch/arm/mach-sunxi/Makefile | 2 +-
arch/arm/mach-sunxi/headsmp.S | 81 +++++++++++
arch/arm/mach-sunxi/mc_smp.c | 239 +++++++++++++++++++------------
arch/arm/mach-sunxi/sunxi.c | 20 ++-
13 files changed, 356 insertions(+), 123 deletions(-)
create mode 100644 arch/arm/common/secure_cntvoff.S
create mode 100644 arch/arm/include/asm/secure_cntvoff.h
create mode 100644 arch/arm/mach-sunxi/headsmp.S
--
2.11.0
next reply other threads:[~2018-05-01 12:32 UTC|newest]
Thread overview: 40+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-05-01 12:31 Mylène Josserand [this message]
2018-05-01 12:31 ` [PATCH v8 00/12] Sunxi: Add SMP support on A83T Mylène Josserand
2018-05-01 12:31 ` [PATCH v8 01/12] ARM: Allow this header to be included by assembly files Mylène Josserand
2018-05-01 12:31 ` Mylène Josserand
2018-05-01 12:31 ` [PATCH v8 02/12] ARM: sunxi: smp: Move assembly code into a file Mylène Josserand
2018-05-01 12:31 ` Mylène Josserand
2018-05-02 13:18 ` Maxime Ripard
2018-05-02 13:18 ` Maxime Ripard
2018-05-01 12:31 ` [PATCH v8 03/12] ARM: dts: sun8i: Add CPUCFG device node for A83T dtsi Mylène Josserand
2018-05-01 12:31 ` Mylène Josserand
2018-05-01 12:31 ` [PATCH v8 04/12] ARM: dts: sun8i: Add R_CPUCFG device node for the " Mylène Josserand
2018-05-01 12:31 ` Mylène Josserand
2018-05-01 12:31 ` [PATCH v8 05/12] ARM: dts: sun8i: a83t: Add CCI-400 node Mylène Josserand
2018-05-01 12:31 ` Mylène Josserand
2018-05-01 12:31 ` [PATCH v8 06/12] ARM: smp: Add initialization of CNTVOFF Mylène Josserand
2018-05-01 12:31 ` Mylène Josserand
2018-05-01 12:31 ` [PATCH v8 07/12] ARM: sunxi: " Mylène Josserand
2018-05-01 12:31 ` Mylène Josserand
2018-05-02 13:08 ` Maxime Ripard
2018-05-02 13:08 ` Maxime Ripard
2018-05-02 13:28 ` Mylène Josserand
2018-05-02 13:28 ` Mylène Josserand
2018-05-01 12:31 ` [PATCH v8 08/12] ARM: sun9i: smp: Rename clusters's power-off Mylène Josserand
2018-05-01 12:31 ` Mylène Josserand
2018-05-01 12:31 ` [PATCH v8 09/12] ARM: sun9i: smp: Add is_a83t field Mylène Josserand
2018-05-01 12:31 ` Mylène Josserand
2018-05-02 13:09 ` Maxime Ripard
2018-05-02 13:09 ` Maxime Ripard
2018-05-01 12:31 ` [PATCH v8 10/12] ARM: sun8i: smp: Add support for A83T Mylène Josserand
2018-05-01 12:31 ` Mylène Josserand
2018-05-02 13:14 ` Maxime Ripard
2018-05-02 13:14 ` Maxime Ripard
2018-05-01 12:31 ` [PATCH v8 11/12] ARM: dts: sun8i: Add enable-method for SMP support for the A83T SoC Mylène Josserand
2018-05-01 12:31 ` Mylène Josserand
2018-05-01 12:31 ` [PATCH v8 12/12] ARM: shmobile: Convert file to use cntvoff Mylène Josserand
2018-05-01 12:31 ` Mylène Josserand
2018-05-02 6:36 ` Simon Horman
2018-05-02 6:36 ` Simon Horman
2018-05-02 13:18 ` Maxime Ripard
2018-05-02 13:18 ` Maxime Ripard
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20180501123131.7738-1-mylene.josserand@bootlin.com \
--to=mylene.josserand@bootlin.com \
--cc=clabbe.montjoie@gmail.com \
--cc=devicetree@vger.kernel.org \
--cc=geert@linux-m68k.org \
--cc=horms@verge.net.au \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-renesas-soc@vger.kernel.org \
--cc=linux@armlinux.org.uk \
--cc=magnus.damm@gmail.com \
--cc=marc.zyngier@arm.com \
--cc=mark.rutland@arm.com \
--cc=maxime.ripard@bootlin.com \
--cc=quentin.schulz@bootlin.com \
--cc=robh+dt@kernel.org \
--cc=thomas.petazzoni@bootlin.com \
--cc=wens@csie.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.