[PATCHv2 00/17] cpuidle for Marvell Armada 370 and 38x

Jason Cooper jason at lakedaemon.net
Sun Jul 13 15:22:23 PDT 2014


Rafael, Daniel,

On Wed, Jul 09, 2014 at 03:40:04PM +0200, Thomas Petazzoni wrote:
> Hello,
> 
> Here comes the second version of the cpuidle support for Armada 370
> and Armada 38x. This series has been tested on the following
> configurations:
> 
>  * Armada XP, LE and BE, to verify that the existing, SMP, cpuidle and
>    CPU hotplug functionalities are still working.
> 
>  * Armada 375, Z1 and A0, LE and BE, to verify that the existing SMP
>    functionality is still working (SMP support on Armada 375 Z1 is
>    affected by this series).
> 
>  * Armada 370, LE and BE, to verify that the newly introduced cpuidle
>    functionality is working fine.
> 
>  * Armada 38x, LE and BE, to verify that the existing SMP
>    functionality, and the newly introduced cpuidle functionality is
>    working fine.
> 
> We are hoping to see this patch series merged for 3.17.
> 
> Most patches are touching only arch/arm/mach-mvebu/ code so they
> should be handled by the mvebu maintainers. However, patches 11-14 are
> touching the mvebu cpuidle driver, with a possible issue on patch 11,
> which touches both the cpuidle driver and the mach-mvebu code in order
> to rename the driver without breaking functionality (if needed, we can
> decide to split the commits, it would break functionality temporarly,
> but not buildability).

Would one or both of you mind Acking this series so we can keep it
together?

thx,

Jason.

> 
> Changes since v1
> ================
> 
>  * Series rebased on top of mvebu/fixes + mvebu/soc to take into
>    account the conflicts with the changes already merged on the PMSU
>    code.
> 
>  * Adjusted the fix that sorts the #include statements in pmsu.c by
>    alphabetic order to really use the alphabetic order.
> 
>  * Various improvements to the implementation of the common function
>    for the boot address workaround:
> 
>     - Main function renamed from mvebu_boot_addr_wa() to
>       mvebu_setup_boot_addr_wa().
>     - Both target and attribute of the crypto SRAM MBus window are now
>       passed as arguments.
>     - Use appropriate types for arguments.
>     - Add error checking for ioremap() call.
>     - Use __raw_writel() instead of direct pointer dereference
>     - Fix the assembly code to work properly in big-endian
>       configurations.
> 
>  * Misc small fixes in the migration of the Armada 375 SMP code to use
>    the common function for the boot address workaround: use correct
>    types, split in a separate function to reduce the indentation
>    level, use better naming for macros, etc.
> 
>  * Re-organized the commits by grouping several patches that were
>    separate before, to for example have a single patch to introduce
>    the cpuidle support on Armada 370.
> 
>  * Move back into the cpuidle driver the list of the cpuidle states
>    for each SoC.
> 
>  * Numerous other small typos and improvements.
> 
> Thanks,
> 
> Thomas
> 
> Gregory CLEMENT (15):
>   ARM: mvebu: split again armada_370_xp_pmsu_idle_enter() in PMSU code
>   ARM: mvebu: sort the #include of pmsu.c in alphabetic order
>   ARM: mvebu: add a common function for the boot address work around
>   ARM: mvebu: use the common function for Armada 375 SMP workaround
>   ARM: mvebu: rename the armada_370_xp symbols to mvebu_v7 in pmsu.c
>   ARM: mvebu: make the cpuidle initialization more generic
>   ARM: mvebu: use a local variable to store the resume address
>   ARM: mvebu: make the snoop disabling optional in
>     mvebu_v7_pmsu_idle_prepare()
>   ARM: mvebu: export the SCU address
>   ARM: mvebu: add CA9 MPcore SoC Controller node
>   cpuidle: mvebu: rename the driver from armada-370-xp to mvebu-v7
>   cpuidle: mvebu: make the cpuidle driver capable of handling multiple
>     SoCs
>   ARM: mvebu: add cpuidle support for Armada 370
>   ARM: mvebu: add cpuidle support for Armada 38x
>   ARM: mvebu: defconfig: enable cpuidle support in mvebu_v7_defconfig
> 
> Thomas Petazzoni (2):
>   cpuidle: mvebu: add Armada 370 support
>   cpuidle: mvebu: add Armada 38x support
> 
>  .../bindings/arm/armada-380-mpcore-soc-ctrl.txt    |  14 +
>  arch/arm/boot/dts/armada-38x.dtsi                  |   5 +
>  arch/arm/configs/mvebu_v7_defconfig                |   2 +
>  arch/arm/mach-mvebu/armada-370-xp.h                |   1 -
>  arch/arm/mach-mvebu/board-v7.c                     |   9 +-
>  arch/arm/mach-mvebu/common.h                       |   2 +
>  arch/arm/mach-mvebu/headsmp-a9.S                   |  15 --
>  arch/arm/mach-mvebu/platsmp-a9.c                   |  42 +--
>  arch/arm/mach-mvebu/platsmp.c                      |   2 +-
>  arch/arm/mach-mvebu/pmsu.c                         | 288 ++++++++++++++++++---
>  arch/arm/mach-mvebu/pmsu.h                         |   5 +
>  arch/arm/mach-mvebu/pmsu_ll.S                      |  36 +++
>  arch/arm/mach-mvebu/system-controller.c            |  31 +++
>  drivers/cpuidle/Kconfig.arm                        |  12 +-
>  drivers/cpuidle/Makefile                           |   2 +-
>  drivers/cpuidle/cpuidle-armada-370-xp.c            |  93 -------
>  drivers/cpuidle/cpuidle-mvebu-v7.c                 | 136 ++++++++++
>  include/linux/mvebu-v7-cpuidle.h                   |  28 ++
>  18 files changed, 529 insertions(+), 194 deletions(-)
>  create mode 100644 Documentation/devicetree/bindings/arm/armada-380-mpcore-soc-ctrl.txt
>  delete mode 100644 drivers/cpuidle/cpuidle-armada-370-xp.c
>  create mode 100644 drivers/cpuidle/cpuidle-mvebu-v7.c
>  create mode 100644 include/linux/mvebu-v7-cpuidle.h
> 
> -- 
> 2.0.0
> 



More information about the linux-arm-kernel mailing list