linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: thomas.petazzoni@free-electrons.com (Thomas Petazzoni)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCHv3 00/16] cpuidle for Marvell Armada 370 and 38x
Date: Wed, 23 Jul 2014 15:00:37 +0200	[thread overview]
Message-ID: <1406120453-29291-1-git-send-email-thomas.petazzoni@free-electrons.com> (raw)

Hello,

Here comes the third version of the cpuidle support for Armada 370 and
Armada 38x.

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-13 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).

Changes since v2
================

 * According to the discussion with Daniel Lezcano (cpuidle
   maintainer) and Arnd Bergmann, changed the cpuidle-mvebu-v7 driver
   to actually register three separate cpuidle platform driver, one
   per-SoC. This way, we don't need special platform data to convey
   the SoC type being used, as this information is already available
   by looking at the driver name.

   This change impacts the patches "cpuidle: mvebu: rename the driver
   from armada-370-xp to mvebu-v7", "cpuidle: mvebu: add Armada 370
   support", "cpuidle: mvebu: add Armada 38x support", "ARM: mvebu:
   add cpuidle support for Armada 370" and "ARM: mvebu: add cpuidle
   support for Armada 38x". Other patches are unchanged. The patch
   "cpuidle: mvebu: make the cpuidle driver capable of handling
   multiple SoCs" was no longer needed, so it has been removed.

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 (14):
  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
  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                         | 273 ++++++++++++++++++---
 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                 | 150 +++++++++++
 17 files changed, 500 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

-- 
2.0.0

             reply	other threads:[~2014-07-23 13:00 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-07-23 13:00 Thomas Petazzoni [this message]
2014-07-23 13:00 ` [PATCHv3 01/16] ARM: mvebu: split again armada_370_xp_pmsu_idle_enter() in PMSU code Thomas Petazzoni
2014-07-23 13:00 ` [PATCHv3 02/16] ARM: mvebu: sort the #include of pmsu.c in alphabetic order Thomas Petazzoni
2014-07-23 13:00 ` [PATCHv3 03/16] ARM: mvebu: add a common function for the boot address work around Thomas Petazzoni
2014-07-23 13:00 ` [PATCHv3 04/16] ARM: mvebu: use the common function for Armada 375 SMP workaround Thomas Petazzoni
2014-07-23 13:00 ` [PATCHv3 05/16] ARM: mvebu: rename the armada_370_xp symbols to mvebu_v7 in pmsu.c Thomas Petazzoni
2014-07-23 13:00 ` [PATCHv3 06/16] ARM: mvebu: make the cpuidle initialization more generic Thomas Petazzoni
2014-07-23 13:00 ` [PATCHv3 07/16] ARM: mvebu: use a local variable to store the resume address Thomas Petazzoni
2014-07-23 13:00 ` [PATCHv3 08/16] ARM: mvebu: make the snoop disabling optional in mvebu_v7_pmsu_idle_prepare() Thomas Petazzoni
2014-07-23 13:00 ` [PATCHv3 09/16] ARM: mvebu: export the SCU address Thomas Petazzoni
2014-07-23 13:00 ` [PATCHv3 10/16] ARM: mvebu: add CA9 MPcore SoC Controller node Thomas Petazzoni
2014-07-23 13:00 ` [PATCHv3 11/16] cpuidle: mvebu: rename the driver from armada-370-xp to mvebu-v7 Thomas Petazzoni
2014-07-24  9:15   ` Daniel Lezcano
2014-07-24 12:00     ` Jason Cooper
2014-07-23 13:00 ` [PATCHv3 12/16] cpuidle: mvebu: add Armada 370 support Thomas Petazzoni
2014-07-24  9:17   ` Daniel Lezcano
2014-07-23 13:00 ` [PATCHv3 13/16] cpuidle: mvebu: add Armada 38x support Thomas Petazzoni
2014-07-24  9:17   ` Daniel Lezcano
2014-07-23 13:00 ` [PATCHv3 14/16] ARM: mvebu: add cpuidle support for Armada 370 Thomas Petazzoni
2014-07-23 13:00 ` [PATCHv3 15/16] ARM: mvebu: add cpuidle support for Armada 38x Thomas Petazzoni
2014-07-23 13:00 ` [PATCHv3 16/16] ARM: mvebu: defconfig: enable cpuidle support in mvebu_v7_defconfig Thomas Petazzoni
2014-07-24 12:03 ` [PATCHv3 00/16] cpuidle for Marvell Armada 370 and 38x Jason Cooper
2014-07-24 12:10   ` Thomas Petazzoni
2014-07-25  0:05   ` Jason Cooper

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=1406120453-29291-1-git-send-email-thomas.petazzoni@free-electrons.com \
    --to=thomas.petazzoni@free-electrons.com \
    --cc=linux-arm-kernel@lists.infradead.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).