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

From: Ingo Molnar
Date: Sat Jan 20 2018 - 09:34:26 EST



* Prarit Bhargava <prarit@xxxxxxxxxx> 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 <prarit@xxxxxxxxxx>
> Cc: linux-acpi@xxxxxxxxxxxxxxx
> Cc: linux-doc@xxxxxxxxxxxxxxx
> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx
> Cc: linux-pm@xxxxxxxxxxxxxxx
> Cc: linux-serial@xxxxxxxxxxxxxxx
> Cc: Bhupesh Sharma <bhsharma@xxxxxxxxxx>
> Cc: Lv Zheng <lv.zheng@xxxxxxxxx>
> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
> Cc: Ingo Molnar <mingo@xxxxxxxxxx>
> Cc: "H. Peter Anvin" <hpa@xxxxxxxxx>
> Cc: x86@xxxxxxxxxx
> Cc: Jonathan Corbet <corbet@xxxxxxx>
> Cc: Catalin Marinas <catalin.marinas@xxxxxxx>
> Cc: Will Deacon <will.deacon@xxxxxxx>
> Cc: "Rafael J. Wysocki" Mrjw@xxxxxxxxxxxxx>
> Cc: Timur Tabi <timur@xxxxxxxxxxxxxx>
> Cc: graeme.gregory@xxxxxxxxxx
> Cc: mark.salter@xxxxxxxxxx
> ---
> 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@xxxxxxxxxx>

> 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