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

Configure Feed

Select the types of activity you want to include in your feed.

Merge tag 'acpi-6.3-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm

Pull more ACPI updates from Rafael Wysocki:
"These update ACPI quirks for some x86 platforms and add an IRQ
override quirk for one more system.

Specifics:

- Add an ACPI IRQ override quirk for Asus Expertbook B2402FBA
(Vojtech Hejsek)

- Drop a suspend-to-idle quirk for HP Elitebook G9 that is not needed
any more after a firmware update (Mario Limonciello)

- Add all Cezanne systems to the list for forcing StorageD3Enable,
because they all need the same quirk (Mario Limonciello)"

* tag 'acpi-6.3-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
ACPI: x86: utils: Add Cezanne to the list for forcing StorageD3Enable
ACPI: x86: Drop quirk for HP Elitebook
ACPI: resource: Skip IRQ override on Asus Expertbook B2402FBA

+20 -48
+7
drivers/acpi/resource.c
··· 440 440 }, 441 441 }, 442 442 { 443 + .ident = "Asus ExpertBook B2402FBA", 444 + .matches = { 445 + DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."), 446 + DMI_MATCH(DMI_BOARD_NAME, "B2402FBA"), 447 + }, 448 + }, 449 + { 443 450 .ident = "Asus ExpertBook B2502", 444 451 .matches = { 445 452 DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."),
-24
drivers/acpi/x86/s2idle.c
··· 384 384 {} 385 385 }; 386 386 387 - static int lps0_prefer_amd(const struct dmi_system_id *id) 388 - { 389 - pr_debug("Using AMD GUID w/ _REV 2.\n"); 390 - rev_id = 2; 391 - return 0; 392 - } 393 - static const struct dmi_system_id s2idle_dmi_table[] __initconst = { 394 - { 395 - /* 396 - * AMD Rembrandt based HP EliteBook 835/845/865 G9 397 - * Contains specialized AML in AMD/_REV 2 path to avoid 398 - * triggering a bug in Qualcomm WLAN firmware. This may be 399 - * removed in the future if that firmware is fixed. 400 - */ 401 - .callback = lps0_prefer_amd, 402 - .matches = { 403 - DMI_MATCH(DMI_BOARD_VENDOR, "HP"), 404 - DMI_MATCH(DMI_BOARD_NAME, "8990"), 405 - }, 406 - }, 407 - {} 408 - }; 409 - 410 387 static int lps0_device_attach(struct acpi_device *adev, 411 388 const struct acpi_device_id *not_used) 412 389 { ··· 563 586 564 587 void __init acpi_s2idle_setup(void) 565 588 { 566 - dmi_check_system(s2idle_dmi_table); 567 589 acpi_scan_add_handler(&lps0_handler); 568 590 s2idle_set_ops(&acpi_s2idle_ops_lps0); 569 591 }
+13 -24
drivers/acpi/x86/utils.c
··· 200 200 * a hardcoded allowlist for D3 support, which was used for these platforms. 201 201 * 202 202 * This allows quirking on Linux in a similar fashion. 203 + * 204 + * Cezanne systems shouldn't *normally* need this as the BIOS includes 205 + * StorageD3Enable. But for two reasons we have added it. 206 + * 1) The BIOS on a number of Dell systems have ambiguity 207 + * between the same value used for _ADR on ACPI nodes GPP1.DEV0 and GPP1.NVME. 208 + * GPP1.NVME is needed to get StorageD3Enable node set properly. 209 + * https://bugzilla.kernel.org/show_bug.cgi?id=216440 210 + * https://bugzilla.kernel.org/show_bug.cgi?id=216773 211 + * https://bugzilla.kernel.org/show_bug.cgi?id=217003 212 + * 2) On at least one HP system StorageD3Enable is missing on the second NVME 213 + disk in the system. 203 214 */ 204 215 static const struct x86_cpu_id storage_d3_cpu_ids[] = { 205 216 X86_MATCH_VENDOR_FAM_MODEL(AMD, 23, 96, NULL), /* Renoir */ 206 217 X86_MATCH_VENDOR_FAM_MODEL(AMD, 23, 104, NULL), /* Lucienne */ 207 - {} 208 - }; 209 - 210 - static const struct dmi_system_id force_storage_d3_dmi[] = { 211 - { 212 - /* 213 - * _ADR is ambiguous between GPP1.DEV0 and GPP1.NVME 214 - * but .NVME is needed to get StorageD3Enable node 215 - * https://bugzilla.kernel.org/show_bug.cgi?id=216440 216 - */ 217 - .matches = { 218 - DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."), 219 - DMI_MATCH(DMI_PRODUCT_NAME, "Inspiron 14 7425 2-in-1"), 220 - } 221 - }, 222 - { 223 - .matches = { 224 - DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."), 225 - DMI_MATCH(DMI_PRODUCT_NAME, "Inspiron 16 5625"), 226 - } 227 - }, 218 + X86_MATCH_VENDOR_FAM_MODEL(AMD, 25, 80, NULL), /* Cezanne */ 228 219 {} 229 220 }; 230 221 231 222 bool force_storage_d3(void) 232 223 { 233 - const struct dmi_system_id *dmi_id = dmi_first_match(force_storage_d3_dmi); 234 - 235 - return dmi_id || x86_match_cpu(storage_d3_cpu_ids); 224 + return x86_match_cpu(storage_d3_cpu_ids); 236 225 } 237 226 238 227 /*