Commit 4d330fe5 authored by Chen Pei's avatar Chen Pei Committed by Rafael J. Wysocki
Browse files

ACPI: SPCR: Support Precise Baud Rate field

The Microsoft Serial Port Console Redirection (SPCR) specification
revision 1.09 comprises additional field: Precise Baud Rate [1].

It is used to describe non-traditional baud rates (such as those
used by high-speed UARTs).

It contains a specific non-zero baud rate which overrides the value
of the Configured Baud Rate field. If this field is zero or not
present, Configured Baud Rate is used.

Link: https://learn.microsoft.com/en-us/windows-hardware/drivers/serports/serial-port-console-redirection-table

 [1]
Signed-off-by: default avatarChen Pei <cp0613@linux.alibaba.com>
Link: https://patch.msgid.link/20250913070815.16758-1-cp0613@linux.alibaba.com


[ rjw: Corrected typo in the subject ]
Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
parent bf4206d7
Loading
Loading
Loading
Loading
+9 −1
Original line number Diff line number Diff line
@@ -149,7 +149,15 @@ int __init acpi_parse_spcr(bool enable_earlycon, bool enable_console)
		goto done;
	}

	switch (table->baud_rate) {
	/*
	 * SPCR 1.09 defines Precise Baud Rate Filed contains a specific
	 * non-zero baud rate which overrides the value of the Configured
	 * Baud Rate field. If this field is zero or not present, Configured
	 * Baud Rate is used.
	 */
	if (table->precise_baudrate)
		baud_rate = table->precise_baudrate;
	else switch (table->baud_rate) {
	case 0:
		/*
		 * SPCR 1.04 defines 0 as a preconfigured state of UART.