devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Martin Blumenstingl <martin.blumenstingl-gM/Ye1E23mwN+BqQ9rBEUg@public.gmane.org>
To: linux-I+IVW8TIWO2tmTQ+vhA3Yw@public.gmane.org
Cc: devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	arnd-r2nGTMty4D4@public.gmane.org,
	mark.rutland-5wv7dgnIgG8@public.gmane.org,
	carlo-KA+7E9HrN00dnm+yROfE0A@public.gmane.org,
	f.fainelli-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org,
	Martin Blumenstingl
	<martin.blumenstingl-gM/Ye1E23mwN+BqQ9rBEUg@public.gmane.org>,
	linux-amlogic-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org,
	khilman-rdvid1DuHRBWk0Htik3J/w@public.gmane.org,
	robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org
Subject: Re: [PATCH v5 0/6] SMP and CPU hotplug support for Meson8/Meson8b
Date: Sun, 13 Aug 2017 20:30:06 +0200	[thread overview]
Message-ID: <CAFBinCCYMQr3VwLX=7f9ti2MxDecmTdELxb1wiMLsR9_6SZEbA@mail.gmail.com> (raw)
In-Reply-To: <20170728212138.12217-1-martin.blumenstingl-gM/Ye1E23mwN+BqQ9rBEUg@public.gmane.org>

Hi Russel and all other ARM maintainers,

On Fri, Jul 28, 2017 at 11:21 PM, Martin Blumenstingl
<martin.blumenstingl-gM/Ye1E23mwN+BqQ9rBEUg@public.gmane.org> wrote:
> This patchset adds support for booting the secondary CPU cores (and
> taking them offline again) on Amlogic Meson8 and Meson8b SoCs.
> It is based on an earlier version from Carlo Caione - this helped me
> a lot to get a better understanding of how SMP/CPU hotplug works
> (compared to the code found in Amlogic's GPL kernel sources from
> year 2015).
>
>
> The .dts changes from series depend on:
> - "add the reset controller to the Meson8b clkc" version 3, see [1]
this dependency is now queued in Kevin's linux-amlogic tree (and the
pull request for the corresponding clock driver updates is waiting to
be merged as well).

>
> Changes since v4 from [4]:
> - use __pa_symbol(secondary_startup) instead of
>   virt_to_phys(secondary_startup) as suggested by Florian Fainelli
>   (affects patch #4)
> - (cover-letter) removed dependency on my other patch
>   "ARM: dts: meson: add a node which describes the SRAM" [2] as that
>   was merged into Kevin's Amlogic repo today
> - dropped patch #5 ("clk: meson: meson8b: export the CPU soft reset
>   lines") again because the reset controller series exposes the
>   preprocessor macros now directly, see [1]
> - refreshed the .dts patches so they now include the new header for
>   the reset line preprocessor macros
>
> Changes since v3 from [3]:
> - added Rob's ACK to patch #1
> - replaced a msleep(10) with usleep_range(10000, 15000) in patch #4
> - removed all "pen" code from patch #4 as that code was not needed
>   at all (it was left-over while trying to fix Meson8 secondary CPU
>   boot - which turned out to have nothing to do with this "pen" code)
> - removed all memory barrier operations as they were added based on
>   the code in the Amlogic GPL kernel tree (while trying to fix the
>   Meson8 secondary CPU boot - just like the "pen" code). Everything
>   still works fine with these on my Meson8m2 and Meson8b boards.
> - added PATCH #5 as we now have to export the reset identifiers
>   (just like we do it with the clock identifiers / preprocessor
>   macros) - this is the result of a change in the reset controller
>   patch in version 2, see [1]
> - use the reset line preprocessor macros (from patch #5) in patches
>   #6 and #7
>
> Changes since v2 from [0]:
> - added support for Meson8 (which requires a slightly different
>   enable-method)
> - implemented CPU hotplug support which allows taking a CPU core
>   offline for both, Meson8 and Meson8b
> - add a function to smp_scu.c which allows enabling a CPU core from
>   a different CPU (previously only the power mode for the current CPU
>   could be changed). Without this the CPU cores on Meson8 won't come
>   up (Amlogic's vendor GPL kernel sources also enable power through
>   SCU as very first step for Meson8b as well)
> - add a function to smp_scu.c to get the power status of a CPU core
>   (which is needed because the code in .cpu_kill needs to wait until
>   the core is actually powered off)
> - dropped patch "ARM: DTS: meson8b: Extend L2 cache controller node"
>   as it is already applied (for both, Meson8 and Meson8b)
> - dropped the patches which implement the reset controller which is
>   built into the clock-controller, these are a separate series: [1]
> - moved the enable-method property to each CPU node
>
>
> [0] http://lists.infradead.org/pipermail/linux-arm-kernel/2015-December/390355.html
> [1] http://lists.infradead.org/pipermail/linux-amlogic/2017-July/004456.html
> [2] http://lists.infradead.org/pipermail/linux-amlogic/2017-July/004282.html
> [3] http://lists.infradead.org/pipermail/linux-amlogic/2017-July/004297.html
> [4] http://lists.infradead.org/pipermail/linux-amlogic/2017-July/004354.html
>
> Carlo Caione (2):
>   dt-bindings: Amlogic: Add Meson8 and Meson8b SMP related documentation
>   ARM: dts: meson8b: add support for booting the secondary CPU cores
>
> Martin Blumenstingl (4):
>   ARM: smp_scu: add a helper for powering on a specific CPU
>   ARM: smp_scu: allow the platform code to read the SCU CPU status
could you please have a look at these patches specifically? please let
me know if these are fine
will you take these patches through some ARM tree or should Kevin take
them through his linux-amlogic tree (I assume that Kevin can simply
take all other patches, as the other ones can go the standard route
for arch/arm/mach-meson, dt-bindings documentation and .dts changes)?

>   ARM: meson: Add SMP bringup code for Meson8 and Meson8b
>   ARM: dts: meson8: add support for booting the secondary CPU cores
>
>  .../devicetree/bindings/arm/amlogic/pmu.txt        |  18 +
>  .../devicetree/bindings/arm/amlogic/smp-sram.txt   |  32 ++
>  Documentation/devicetree/bindings/arm/cpus.txt     |   2 +
>  arch/arm/Makefile                                  |   1 +
>  arch/arm/boot/dts/meson8.dtsi                      |  21 +
>  arch/arm/boot/dts/meson8b.dtsi                     |  21 +
>  arch/arm/include/asm/smp_scu.h                     |  12 +
>  arch/arm/kernel/smp_scu.c                          |  47 ++-
>  arch/arm/mach-meson/Kconfig                        |   1 +
>  arch/arm/mach-meson/Makefile                       |   1 +
>  arch/arm/mach-meson/platsmp.c                      | 440 +++++++++++++++++++++
>  11 files changed, 590 insertions(+), 6 deletions(-)
>  create mode 100644 Documentation/devicetree/bindings/arm/amlogic/pmu.txt
>  create mode 100644 Documentation/devicetree/bindings/arm/amlogic/smp-sram.txt
>  create mode 100644 arch/arm/mach-meson/platsmp.c
>
> --
> 2.13.3
>


Thank you!
Regards,
Martin
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

      parent reply	other threads:[~2017-08-13 18:30 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-07-28 21:21 [PATCH v5 0/6] SMP and CPU hotplug support for Meson8/Meson8b Martin Blumenstingl
     [not found] ` <20170728212138.12217-1-martin.blumenstingl-gM/Ye1E23mwN+BqQ9rBEUg@public.gmane.org>
2017-07-28 21:21   ` [PATCH v5 1/6] dt-bindings: Amlogic: Add Meson8 and Meson8b SMP related documentation Martin Blumenstingl
2017-07-28 21:21   ` [PATCH v5 2/6] ARM: smp_scu: add a helper for powering on a specific CPU Martin Blumenstingl
     [not found]     ` <20170728212138.12217-3-martin.blumenstingl-gM/Ye1E23mwN+BqQ9rBEUg@public.gmane.org>
2017-08-14 10:52       ` Russell King - ARM Linux
2017-07-28 21:21   ` [PATCH v5 3/6] ARM: smp_scu: allow the platform code to read the SCU CPU status Martin Blumenstingl
2017-07-28 21:21   ` [PATCH v5 4/6] ARM: meson: Add SMP bringup code for Meson8 and Meson8b Martin Blumenstingl
2017-07-28 21:21   ` [PATCH v5 5/6] ARM: dts: meson8: add support for booting the secondary CPU cores Martin Blumenstingl
2017-07-28 21:21   ` [PATCH v5 6/6] ARM: dts: meson8b: " Martin Blumenstingl
2017-08-13 18:30   ` Martin Blumenstingl [this message]

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='CAFBinCCYMQr3VwLX=7f9ti2MxDecmTdELxb1wiMLsR9_6SZEbA@mail.gmail.com' \
    --to=martin.blumenstingl-gm/ye1e23mwn+bqq9rbeug@public.gmane.org \
    --cc=arnd-r2nGTMty4D4@public.gmane.org \
    --cc=carlo-KA+7E9HrN00dnm+yROfE0A@public.gmane.org \
    --cc=devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=f.fainelli-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
    --cc=khilman-rdvid1DuHRBWk0Htik3J/w@public.gmane.org \
    --cc=linux-I+IVW8TIWO2tmTQ+vhA3Yw@public.gmane.org \
    --cc=linux-amlogic-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org \
    --cc=linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org \
    --cc=mark.rutland-5wv7dgnIgG8@public.gmane.org \
    --cc=robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.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 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).