]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
ACPICA: SPCR: Update the SPCR table to version 4
authorSia Jee Heng <jeeheng.sia@starfivetech.com>
Thu, 29 Feb 2024 06:39:50 +0000 (22:39 -0800)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Thu, 29 Aug 2024 15:34:36 +0000 (17:34 +0200)
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
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>
include/acpi/actbl3.h

index 8f775e3a08fdfb0c8d2ab770461d910df6dd3a62..5cd755143b7de997bd506c34d8b6480c1026fcfc 100644 (file)
@@ -92,10 +92,10 @@ struct acpi_table_slit {
 /*******************************************************************************
  *
  * SPCR - Serial Port Console Redirection table
- *        Version 2
+ *        Version 4
  *
  * 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 flow_control;
        u8 terminal_type;
-       u8 reserved1;
+       u8 language;
        u16 pci_device_id;
        u16 pci_vendor_id;
        u8 pci_bus;
@@ -120,7 +120,11 @@ struct acpi_table_spcr {
        u8 pci_function;
        u32 pci_flags;
        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 */