git: 5db3699be68f - main - Kill ignore regshft flag

From: Warner Losh <imp_at_FreeBSD.org>
Date: Wed, 15 Jan 2025 02:26:33 UTC
The branch main has been updated by imp:

URL: https://cgit.FreeBSD.org/src/commit/?id=5db3699be68f3a49d96d58c78af6f12e2dc1b38b

commit 5db3699be68f3a49d96d58c78af6f12e2dc1b38b
Author:     Warner Losh <imp@FreeBSD.org>
AuthorDate: 2025-01-15 02:21:26 +0000
Commit:     Warner Losh <imp@FreeBSD.org>
CommitDate: 2025-01-15 02:24:36 +0000

    Kill ignore regshft flag
    
    This flag was introduced to ignore bad firmware values. These were
    present in older versions of EDK-II that many devices (both Ampere and
    Amazon) used. QEMU also used this value, but fixed it. But since it's
    tied to the firmware bug not the device name ID it doesn't make sense to
    have it flagged there.
    
    Sponsored by:           Netflix
    Reviewed by:            emaste
    Differential Revision:  https://reviews.freebsd.org/D47947
---
 sys/dev/uart/uart_bus.h       |  1 -
 sys/dev/uart/uart_cpu_acpi.c  | 12 ------------
 sys/dev/uart/uart_dev_pl011.c |  6 +++---
 3 files changed, 3 insertions(+), 16 deletions(-)

diff --git a/sys/dev/uart/uart_bus.h b/sys/dev/uart/uart_bus.h
index ccf8ad06a8ec..a605e3d20be7 100644
--- a/sys/dev/uart/uart_bus.h
+++ b/sys/dev/uart/uart_bus.h
@@ -56,7 +56,6 @@
 
 /* UART quirk flags */
 #define	UART_F_BUSY_DETECT		0x1
-#define	UART_F_IGNORE_SPCR_REGSHFT	0x2
 
 /*
  * UART class & instance (=softc)
diff --git a/sys/dev/uart/uart_cpu_acpi.c b/sys/dev/uart/uart_cpu_acpi.c
index ce00a09fee33..7382c47a8db6 100644
--- a/sys/dev/uart/uart_cpu_acpi.c
+++ b/sys/dev/uart/uart_cpu_acpi.c
@@ -221,12 +221,6 @@ uart_cpu_acpi_spcr(int devtype, struct uart_devinfo *di)
 		di->pci_info.device = spcr->PciDeviceId;
 	}
 
-	/* Apply device tweaks. */
-	if ((cd->cd_quirks & UART_F_IGNORE_SPCR_REGSHFT) ==
-	    UART_F_IGNORE_SPCR_REGSHFT) {
-		di->bas.regshft = cd->cd_regshft;
-	}
-
 	/* Create a bus space handle. */
 	error = bus_space_map(di->bas.bst, spcr->SerialPort.Address,
 	    uart_getrange(class), 0, &di->bas.bsh);
@@ -296,12 +290,6 @@ next:
 	/* XXX: Find the correct value */
 	di->baudrate = 115200;
 
-	/* Apply device tweaks. */
-	if ((cd->cd_quirks & UART_F_IGNORE_SPCR_REGSHFT) ==
-	    UART_F_IGNORE_SPCR_REGSHFT) {
-		di->bas.regshft = cd->cd_regshft;
-	}
-
 	/* Create a bus space handle. */
 	error = bus_space_map(di->bas.bst, base_address->Address,
 	    uart_getrange(class), 0, &di->bas.bsh);
diff --git a/sys/dev/uart/uart_dev_pl011.c b/sys/dev/uart/uart_dev_pl011.c
index e7a2ff7a85f1..a0d5a5b1c7e2 100644
--- a/sys/dev/uart/uart_dev_pl011.c
+++ b/sys/dev/uart/uart_dev_pl011.c
@@ -392,9 +392,9 @@ UART_FDT_CLASS_AND_DEVICE(fdt_compat_data);
 
 #ifdef DEV_ACPI
 static struct acpi_uart_compat_data acpi_compat_data[] = {
-	{"ARMH0011", &uart_pl011_class, ACPI_DBG2_ARM_PL011, 2, 0, 0, UART_F_IGNORE_SPCR_REGSHFT, "uart pl011"},
-	{"ARMHB000", &uart_pl011_class, ACPI_DBG2_ARM_SBSA_GENERIC, 2, 0, 0, UART_F_IGNORE_SPCR_REGSHFT, "uart pl011"},
-	{"ARMHB000", &uart_pl011_class, ACPI_DBG2_ARM_SBSA_32BIT, 2, 0, 0, UART_F_IGNORE_SPCR_REGSHFT, "uart pl011"},
+	{"ARMH0011", &uart_pl011_class, ACPI_DBG2_ARM_PL011, 2, 0, 0, 0, "uart pl011"},
+	{"ARMHB000", &uart_pl011_class, ACPI_DBG2_ARM_SBSA_GENERIC, 2, 0, 0, 0, "uart pl011"},
+	{"ARMHB000", &uart_pl011_class, ACPI_DBG2_ARM_SBSA_32BIT, 2, 0, 0, 0, "uart pl011"},
 	{NULL, NULL, 0, 0, 0, 0, 0, NULL},
 };
 UART_ACPI_CLASS_AND_DEVICE(acpi_compat_data);