Thread (14 messages) 14 messages, 5 authors, 2018-02-12

[PATCH] acpi, spcr: Make SPCR available to x86

From: mingo@kernel.org (Ingo Molnar)
Date: 2018-01-20 14:33:58
Also in: linux-acpi, linux-pm, linux-serial, lkml

* Prarit Bhargava [off-list ref] wrote:
Note on testing:  I've tested this on several ARM64 and x86 boxes (only
earlycon, console=ttyS0,115200, and with both options), verified that
functionality on ARM64 has not changed (ie, CONFIG_ACPI_SPCR_TABLE is
always =y), and verified functionality when !CONFIG_ACPI_SPCR_TABLE on
x86.

P.

----8<----

SPCR is currently only enabled or ARM64 and x86 can use SPCR to setup an
early console.

General fixes include updating Documentation & Kconfig (for x86), updating
comments, and changing parse_spcr() to acpi_parse_spcr(), and
earlycon_init_is_deferred to earlycon_acpi_spcr_enable to be more
descriptive.

On x86, many systems have a valid SPCR table but the table version is not
2 so the table version check must be a warning.

On ARM64 when the kernel parameter earlycon is used both the early console
and console are enabled.  On x86, only the earlycon should be enabled by
by default.  Modify acpi_parse_spcr() to allow options for initializing
the early console and console separately.

Signed-off-by: Prarit Bhargava <redacted>
Cc: linux-acpi at vger.kernel.org
Cc: linux-doc at vger.kernel.org
Cc: linux-arm-kernel at lists.infradead.org
Cc: linux-pm at vger.kernel.org
Cc: linux-serial at vger.kernel.org
Cc: Bhupesh Sharma <redacted>
Cc: Lv Zheng <redacted>
Cc: Thomas Gleixner <redacted>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: "H. Peter Anvin" <hpa@zytor.com>
Cc: x86 at kernel.org
Cc: Jonathan Corbet <corbet@lwn.net>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Will Deacon <redacted>
Cc: "Rafael J. Wysocki" Mrjw at rjwysocki.net>
Cc: Timur Tabi <redacted>
Cc: graeme.gregory at linaro.org
Cc: mark.salter at redhat.com
---
 Documentation/admin-guide/kernel-parameters.txt |  9 +++++---
 arch/arm64/kernel/acpi.c                        |  4 ++--
 arch/x86/kernel/acpi/boot.c                     |  3 +++
 drivers/acpi/Kconfig                            |  7 +++++-
 drivers/acpi/spcr.c                             | 29 +++++++++++++------------
 drivers/tty/serial/earlycon.c                   | 15 +++++--------
 include/linux/acpi.h                            |  7 ++++--
 include/linux/serial_core.h                     |  4 ++--
 8 files changed, 44 insertions(+), 34 deletions(-)
I'm fine with the x86 aspect of this:

Acked-by: Ingo Molnar <mingo@kernel.org>
 	earlycon=	[KNL] Output early console device and options.
 
-			When used with no options, the early console is
-			determined by the stdout-path property in device
-			tree's chosen node.
+			[ARM64] The early console is determined by the
+			stdout-path property in device tree's chosen node,
+			or determined by the ACPI SPCR table.
s/in device tree's chosen node
 /in the device tree's chosen node

Thanks,

	Ingo
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help