[RFC v1 1/1] RISC-V: ACPI: Enable SPCR table for console output on RISC-V

From: Sia Jee Heng
Date: Fri Dec 29 2023 - 01:54:34 EST


The ACPI SPCR code has been used to enable console output for ARM64 and
X86. The same code can be reused for RISC-V.

Vendor will enable/disable the SPCR table in the firmware based on the
platform design. However, in cases where the SPCR table is not usable,
a kernel parameter could be used to specify the preferred console.

Signed-off-by: Sia Jee Heng <jeeheng.sia@xxxxxxxxxxxxxxxx>
---
arch/riscv/kernel/acpi.c | 4 ++++
1 file changed, 4 insertions(+)

diff --git a/arch/riscv/kernel/acpi.c b/arch/riscv/kernel/acpi.c
index e619edc8b0cc..5ec2fdf9e09f 100644
--- a/arch/riscv/kernel/acpi.c
+++ b/arch/riscv/kernel/acpi.c
@@ -18,6 +18,7 @@
#include <linux/io.h>
#include <linux/memblock.h>
#include <linux/pci.h>
+#include <linux/serial_core.h>

int acpi_noirq = 1; /* skip ACPI IRQ initialization */
int acpi_disabled = 1;
@@ -151,6 +152,9 @@ void __init acpi_boot_table_init(void)
if (!param_acpi_force)
disable_acpi();
}
+
+ if (!acpi_disabled)
+ acpi_parse_spcr(earlycon_acpi_spcr_enable, true);
}

static int acpi_parse_madt_rintc(union acpi_subtable_headers *header, const unsigned long end)
--
2.34.1