All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH V2 0/5]  SMP support for Armada XP
@ 2012-10-29 21:11 ` Gregory CLEMENT
  0 siblings, 0 replies; 52+ messages in thread
From: Gregory CLEMENT @ 2012-10-29 21:11 UTC (permalink / raw)
  To: Jason Cooper, Andrew Lunn, Gregory Clement
  Cc: Lior Amsalem, Ike Pan, Will Deacon, Nadav Haklai, Ian Molton,
	David Marlin, Yehuda Yitschak, Jani Monoses, Russell King,
	Tawfik Bayouk, Dan Frazier, Eran Ben-Avi, Leif Lindholm,
	Sebastian Hesselbarth, Arnd Bergmann, Jon Masters,
	devicetree-discuss, Rob Herring, Ben Dooks, Mike Turquette,
	linux-arm-kernel, Thomas Petazzoni, Chris Van Hoof

Hello,

The purpose of this patch set is to add the SMP support for the Armada
XP SoCs. Beside the SMP support itself brought by the last 3 patches,
this patch set also adds the support for the coherency fabric unit and
the power management service unit.

The coherency fabric is responsible for ensuring hardware coherency
between all CPUs and between CPUs and I/O masters. This unit is also
available for Armada 370 and will be used in an incoming patch set
for hardware I/O cache coherency.

The power management service unit is responsible for powering down and
waking up CPUs and other SOC units.

The original code is from Yehuda Yitschak, it was reworked by myself
and reviewed by Yehuda.

This patch set is based on 3.7-rc3 and depends one the framework clock
support (the last version was posted 2 weeks ago:
http://thread.gmane.org/gmane.linux.kernel/1375701). The git branch
called ArmadaXP-SMP-for-3.8-V2 is also available at
https://github.com/MISL-EBU-System-SW/mainline-public.git.

Arnd, Olof, as this code is SoC specific will you be able to pull it
through Jason tree? Or should I push the part added in
arch/arm/mm/proc-v7.S to support PJ4B CPU through Russell tree?

Changelog:
V1 -> V2:
- Rebased on to v3.7-rc3
- Fixed typos found by Alexandre Belloni
- Added clk_prepare_enable() before getting rate clk in
  set_secondary_cpus_clock()
- Add explanation in the binding documentation about the per-CPU
  interrupt registers: the address of the virtual register must be
  used.
- Removed the armada_xp prefix in the coherency.c file to be more
  compliant with the name convention of the other files.
- Coherency_init is now called from armada_370_xp_dt_init() and is no
  more an early_init() call. As the device tree is not available from
  an early_init(), it was useless to call coherency_init() so
  early. The need to be able to call some function very early during
  the boot were already resolved by using the hard code address of the
  register.

Regards,

Yehuda Yitschak (5):
  arm: mvebu: Added support for coherency fabric in mach-mvebu
  arm: mvebu: Added initial support for power managmement service unit
  arm: mvebu: Added IPI support via doorbells
  arm: mm: Added support for PJ4B cpu and init routines
  arm: mvebu: Added SMP support for Armada XP

 .../devicetree/bindings/arm/armada-370-xp-mpic.txt |   12 +-
 .../devicetree/bindings/arm/armada-370-xp-pmsu.txt |   20 ++++
 .../devicetree/bindings/arm/coherency-fabric.txt   |   16 +++
 arch/arm/boot/dts/armada-370-xp.dtsi               |    5 +
 arch/arm/boot/dts/armada-xp.dtsi                   |   12 +-
 arch/arm/configs/mvebu_defconfig                   |    3 +
 arch/arm/mach-mvebu/Kconfig                        |    3 +-
 arch/arm/mach-mvebu/Makefile                       |    4 +-
 arch/arm/mach-mvebu/armada-370-xp.c                |    3 +
 arch/arm/mach-mvebu/armada-370-xp.h                |   10 ++
 arch/arm/mach-mvebu/coherency.c                    |   89 ++++++++++++++
 arch/arm/mach-mvebu/coherency.h                    |   21 ++++
 arch/arm/mach-mvebu/common.h                       |    6 +
 arch/arm/mach-mvebu/headsmp.S                      |   66 +++++++++++
 arch/arm/mach-mvebu/hotplug.c                      |   30 +++++
 arch/arm/mach-mvebu/irq-armada-370-xp.c            |   92 ++++++++++++++-
 arch/arm/mach-mvebu/platsmp.c                      |  124 ++++++++++++++++++++
 arch/arm/mach-mvebu/pmsu.c                         |   78 ++++++++++++
 arch/arm/mach-mvebu/pmsu.h                         |   16 +++
 arch/arm/mm/Kconfig                                |    4 +
 arch/arm/mm/proc-v7.S                              |   46 ++++++++
 21 files changed, 648 insertions(+), 12 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/arm/armada-370-xp-pmsu.txt
 create mode 100644 Documentation/devicetree/bindings/arm/coherency-fabric.txt
 create mode 100644 arch/arm/mach-mvebu/coherency.c
 create mode 100644 arch/arm/mach-mvebu/coherency.h
 create mode 100644 arch/arm/mach-mvebu/headsmp.S
 create mode 100644 arch/arm/mach-mvebu/hotplug.c
 create mode 100644 arch/arm/mach-mvebu/platsmp.c
 create mode 100644 arch/arm/mach-mvebu/pmsu.c
 create mode 100644 arch/arm/mach-mvebu/pmsu.h

-- 
1.7.9.5

^ permalink raw reply	[flat|nested] 52+ messages in thread

end of thread, other threads:[~2012-11-19 10:32 UTC | newest]

Thread overview: 52+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-10-29 21:11 [PATCH V2 0/5] SMP support for Armada XP Gregory CLEMENT
2012-10-29 21:11 ` Gregory CLEMENT
2012-10-29 21:11 ` [PATCH V2 1/5] arm: mvebu: Added support for coherency fabric in mach-mvebu Gregory CLEMENT
2012-10-29 21:11   ` Gregory CLEMENT
2012-11-05 14:02   ` Will Deacon
2012-11-05 14:02     ` Will Deacon
2012-11-05 23:53     ` Gregory CLEMENT
2012-11-05 23:53       ` Gregory CLEMENT
2012-11-12 20:21     ` Gregory CLEMENT
2012-11-12 20:21       ` Gregory CLEMENT
2012-11-13 10:43       ` Will Deacon
2012-11-13 10:43         ` Will Deacon
2012-11-14 20:00         ` Gregory CLEMENT
2012-11-14 20:00           ` Gregory CLEMENT
2012-11-15 10:17           ` Will Deacon
2012-11-15 10:17             ` Will Deacon
2012-11-15 15:54             ` Gregory CLEMENT
2012-11-15 15:54               ` Gregory CLEMENT
2012-11-15 16:21               ` Will Deacon
2012-11-15 16:21                 ` Will Deacon
2012-11-15 16:49                 ` Gregory CLEMENT
2012-11-15 16:49                   ` Gregory CLEMENT
2012-11-16 18:56                   ` Will Deacon
2012-11-16 18:56                     ` Will Deacon
     [not found]                     ` <20121116185610.GA1019-MRww78TxoiP5vMa5CHWGZ34zcgK1vI+I0E9HWUfgJXw@public.gmane.org>
2012-11-16 19:25                       ` Gregory CLEMENT
2012-11-16 19:25                         ` Gregory CLEMENT
     [not found]                         ` <50A69341.2090202-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>
2012-11-19 10:32                           ` Will Deacon
2012-11-19 10:32                             ` Will Deacon
2012-10-29 21:11 ` [PATCH V2 2/5] arm: mvebu: Added initial support for power managmement service unit Gregory CLEMENT
2012-10-29 21:11   ` Gregory CLEMENT
2012-11-05 14:05   ` Will Deacon
2012-11-05 14:05     ` Will Deacon
2012-11-14  0:07     ` Russell King - ARM Linux
2012-11-14  0:07       ` Russell King - ARM Linux
2012-11-14  9:46       ` Will Deacon
2012-11-14  9:46         ` Will Deacon
2012-10-29 21:11 ` [PATCH V2 3/5] arm: mvebu: Added IPI support via doorbells Gregory CLEMENT
2012-10-29 21:11   ` Gregory CLEMENT
2012-10-29 21:11 ` [PATCH V2 4/5] arm: mm: Added support for PJ4B cpu and init routines Gregory CLEMENT
2012-10-29 21:11   ` Gregory CLEMENT
2012-11-13 15:15   ` Gregory CLEMENT
2012-11-13 15:15     ` Gregory CLEMENT
2012-11-13 22:53     ` Will Deacon
2012-11-13 22:53       ` Will Deacon
2012-11-14  0:14   ` Russell King - ARM Linux
2012-11-14  0:14     ` Russell King - ARM Linux
2012-10-29 21:11 ` [PATCH V2 5/5] arm: mvebu: Added SMP support for Armada XP Gregory CLEMENT
2012-10-29 21:11   ` Gregory CLEMENT
2012-11-12 20:49 ` [PATCH V2 0/5] " Gregory CLEMENT
2012-11-12 20:49   ` Gregory CLEMENT
2012-11-12 22:32   ` Arnd Bergmann
2012-11-12 22:32     ` Arnd Bergmann

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.