Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

ACPI: SPCR: extend XGENE 8250 workaround to m400

xgene v1/v2 chips are also used on moonshot cartridges that have
different table headers to the ones on Mustang. Extend the quirk
so it also recognises the Moonshot M400 variant too.

Signed-off-by: Graeme Gregory <graeme.gregory@linaro.org>
Tested-by: Mark Salter <msalter@redhat.com>
Reviewed-by: Mark Salter <msalter@redhat.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>

authored by

Graeme Gregory and committed by
Rafael J. Wysocki
dee82bc1 ef954844

+10 -3
+10 -3
drivers/acpi/spcr.c
··· 53 53 */ 54 54 static bool xgene_8250_erratum_present(struct acpi_table_spcr *tb) 55 55 { 56 + bool xgene_8250 = false; 57 + 56 58 if (tb->interface_type != ACPI_DBG2_16550_COMPATIBLE) 57 59 return false; 58 60 59 - if (memcmp(tb->header.oem_id, "APMC0D", ACPI_OEM_ID_SIZE)) 61 + if (memcmp(tb->header.oem_id, "APMC0D", ACPI_OEM_ID_SIZE) && 62 + memcmp(tb->header.oem_id, "HPE ", ACPI_OEM_ID_SIZE)) 60 63 return false; 61 64 62 65 if (!memcmp(tb->header.oem_table_id, "XGENESPC", 63 66 ACPI_OEM_TABLE_ID_SIZE) && tb->header.oem_revision == 0) 64 - return true; 67 + xgene_8250 = true; 65 68 66 - return false; 69 + if (!memcmp(tb->header.oem_table_id, "ProLiant", 70 + ACPI_OEM_TABLE_ID_SIZE) && tb->header.oem_revision == 1) 71 + xgene_8250 = true; 72 + 73 + return xgene_8250; 67 74 } 68 75 69 76 /**