linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCHv3 00/12] arm/arm64: Unify PSCI client support
@ 2015-05-26 13:52 Mark Rutland
  2015-05-26 13:52 ` [PATCHv3 01/12] arm/arm64: kvm: add missing PSCI include Mark Rutland
                   ` (12 more replies)
  0 siblings, 13 replies; 26+ messages in thread
From: Mark Rutland @ 2015-05-26 13:52 UTC (permalink / raw)
  To: linux-arm-kernel

This series unifies the 32-bit and 64-bit PSCI client code, moving the bulk of
the FW invocation and probing out to a common location in drivers/firmware.
As part of this, the remaining edge cases for PSCI 0.2 (Trusted OSs rejecting
CPU_OFF) are accounted for, making both 32-bit adn 64-bit clients more robust.

This results in a reasonable saving in terms of lines of code, and will allow
for PSCI 1.0 support to be unified form the beginning, avoiding further
duplication.

The series is based on the arm64 for-next/cpu-init branch [3] due to conflicts
with that series.

Since v1 [1]:
* Fix build when PSCI isn't selected
* Don't indirect migrate_info_up_cpu
* Fix ver to u32 in psci_get_version

Since v2: [2]:
* Rebase atop of Lorenzo's cpu init cleanup series [3]
* Use the correct native function IDs
* Fix cpu_disable return values
* Report invalid MIGRATE_INFO_UP_CPU return values

Many thanks to those who have reviewed and tested so far! Unfortunately, due to
the volume of changes in the rebase I've dropped all Tested-by tags. I've
locally tested 32-bit and 64-bit kernels with DT.

Russell, are you happy with the penultimate patch? If so, would you be happy for
that to go via arm-soc (which I guess should take the series)?

Thanks,
Mark.

[1] http://lists.infradead.org/pipermail/linux-arm-kernel/2015-May/341770.html
[2] http://lists.infradead.org/pipermail/linux-arm-kernel/2015-May/344309.html
[3] git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-next/cpu-init

Mark Rutland (12):
  arm/arm64: kvm: add missing PSCI include
  arm64: smp_plat: add get_logical_index
  arm64: smp: consistently use error codes
  arm64: psci: remove unnecessary id indirection
  arm64: psci: support unsigned return values
  arm64: psci: account for Trusted OS instances
  arm64: psci: kill psci_power_state
  arm64: psci: remove ACPI coupling
  arm64: psci: factor invocation code to drivers
  drivers: psci: support native SMC{32,64} calls
  ARM: migrate to common PSCI client code
  MAINTAINERS: add PSCI entry

 MAINTAINERS                                    |   9 +
 arch/arm/Kconfig                               |   1 +
 arch/arm/include/asm/psci.h                    |  23 --
 arch/arm/kernel/Makefile                       |   2 +-
 arch/arm/kernel/psci.c                         | 299 -------------------
 arch/arm/kernel/psci_smp.c                     |  29 +-
 arch/arm/kernel/setup.c                        |   3 +-
 arch/arm/kvm/psci.c                            |   2 +
 arch/arm/mach-highbank/highbank.c              |   2 +-
 arch/arm/mach-highbank/pm.c                    |   8 +-
 arch/arm64/Kconfig                             |   1 +
 arch/arm64/include/asm/acpi.h                  |  17 +-
 arch/arm64/include/asm/psci.h                  |  20 --
 arch/arm64/include/asm/smp_plat.h              |  16 +
 arch/arm64/kernel/acpi.c                       |  11 +
 arch/arm64/kernel/psci.c                       | 398 ++-----------------------
 arch/arm64/kernel/setup.c                      |   2 +-
 arch/arm64/kernel/smp.c                        |  10 +-
 drivers/cpuidle/cpuidle-calxeda.c              |   7 +-
 drivers/firmware/Kconfig                       |   3 +
 drivers/firmware/Makefile                      |   1 +
 drivers/firmware/psci.c                        | 383 ++++++++++++++++++++++++
 {arch/arm/include/asm => include/linux}/psci.h |  40 +--
 23 files changed, 523 insertions(+), 764 deletions(-)
 delete mode 100644 arch/arm/kernel/psci.c
 delete mode 100644 arch/arm64/include/asm/psci.h
 create mode 100644 drivers/firmware/psci.c
 copy {arch/arm/include/asm => include/linux}/psci.h (55%)

-- 
1.9.1

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

end of thread, other threads:[~2015-06-05 10:35 UTC | newest]

Thread overview: 26+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-05-26 13:52 [PATCHv3 00/12] arm/arm64: Unify PSCI client support Mark Rutland
2015-05-26 13:52 ` [PATCHv3 01/12] arm/arm64: kvm: add missing PSCI include Mark Rutland
2015-05-26 13:52 ` [PATCHv3 02/12] arm64: smp_plat: add get_logical_index Mark Rutland
2015-05-26 13:52 ` [PATCHv3 03/12] arm64: smp: consistently use error codes Mark Rutland
2015-05-26 13:52 ` [PATCHv3 04/12] arm64: psci: remove unnecessary id indirection Mark Rutland
2015-05-26 13:52 ` [PATCHv3 05/12] arm64: psci: support unsigned return values Mark Rutland
2015-05-26 13:52 ` [PATCHv3 06/12] arm64: psci: account for Trusted OS instances Mark Rutland
2015-05-26 13:52 ` [PATCHv3 07/12] arm64: psci: kill psci_power_state Mark Rutland
2015-05-26 13:52 ` [PATCHv3 08/12] arm64: psci: remove ACPI coupling Mark Rutland
2015-05-26 20:18   ` Al Stone
2015-05-26 13:52 ` [PATCHv3 09/12] arm64: psci: factor invocation code to drivers Mark Rutland
2015-05-26 13:52 ` [PATCHv3 10/12] drivers: psci: support native SMC{32,64} calls Mark Rutland
2015-05-26 13:52 ` [PATCHv3 11/12] ARM: migrate to common PSCI client code Mark Rutland
2015-05-27 12:01   ` Ashwin Chaugule
2015-05-27 12:41     ` Mark Rutland
2015-05-27 16:46   ` Rob Herring
2015-05-27 17:17     ` Mark Rutland
2015-06-03 15:19       ` Mark Rutland
2015-06-03 15:16   ` Mark Rutland
2015-06-04  9:45     ` Catalin Marinas
2015-06-05 10:04       ` Mark Rutland
2015-06-05 10:35         ` Catalin Marinas
2015-06-04  9:49     ` Russell King - ARM Linux
2015-05-26 13:52 ` [PATCHv3 12/12] MAINTAINERS: add PSCI entry Mark Rutland
2015-05-27  8:08 ` [PATCHv3 00/12] arm/arm64: Unify PSCI client support Hanjun Guo
2015-05-27 12:23   ` Mark Rutland

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