ACPICA: SPCR: Update the SPCR table to version 4

ACPICA commit 1eeff52124a45d5cd887ba5687bbad0116e4d211

The Microsoft Serial Port Console Redirection (SPCR) specification
revision 1.09 comprises additional fields [1]. The newly added fields
are:
- RISC-V SBI
- Precise Baud Rate
- namespace_string_length
- namespace_string_offset
- namespace_string

Additionaly, this code will support up to SPCR revision 1.10, as it
includes only minor wording changes.

Link: https://learn.microsoft.com/en-us/windows-hardware/drivers/serports/serial-port-console-redirection-table # [1]
Link: https://github.com/acpica/acpica/commit/1eeff521
Signed-off-by: Sia Jee Heng <jeeheng.sia@starfivetech.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
This commit is contained in:
Sia Jee Heng 2024-02-28 22:39:50 -08:00 committed by Rafael J. Wysocki
parent ff418f34ba
commit 7741e3c5f8

View File

@ -92,10 +92,10 @@ struct acpi_table_slit {
/******************************************************************************* /*******************************************************************************
* *
* SPCR - Serial Port Console Redirection table * SPCR - Serial Port Console Redirection table
* Version 2 * Version 4
* *
* Conforms to "Serial Port Console Redirection Table", * Conforms to "Serial Port Console Redirection Table",
* Version 1.03, August 10, 2015 * Version 1.10, Jan 5, 2023
* *
******************************************************************************/ ******************************************************************************/
@ -112,7 +112,7 @@ struct acpi_table_spcr {
u8 stop_bits; u8 stop_bits;
u8 flow_control; u8 flow_control;
u8 terminal_type; u8 terminal_type;
u8 reserved1; u8 language;
u16 pci_device_id; u16 pci_device_id;
u16 pci_vendor_id; u16 pci_vendor_id;
u8 pci_bus; u8 pci_bus;
@ -120,7 +120,11 @@ struct acpi_table_spcr {
u8 pci_function; u8 pci_function;
u32 pci_flags; u32 pci_flags;
u8 pci_segment; u8 pci_segment;
u32 reserved2; u32 uart_clk_freq;
u32 precise_baudrate;
u16 name_space_string_length;
u16 name_space_string_offset;
char name_space_string[];
}; };
/* Masks for pci_flags field above */ /* Masks for pci_flags field above */