More ACPI updates for 6.3-rc1

- 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).
 -----BEGIN PGP SIGNATURE-----
 
 iQJGBAABCAAwFiEE4fcc61cGeeHD/fCwgsRv/nhiVHEFAmQCNtISHHJqd0Byand5
 c29ja2kubmV0AAoJEILEb/54YlRxYDIP/j8D71rA8caGRsIBOA46+V2449Viaf/v
 2x9y/cW/g6UOkKN90t3eqNENX78H8eE3LLneCKwT2r/AAHRMzvtuzYe5IhAFvc9l
 iU1knKhdVS/RJU0ir/uE4eeh0OwkL28W8NttsM1lSRuRZ0PTL1a6SCXmIs0qeN3K
 RQRJw42FMhiWz7tVGz+Xqoko3IiEh6Ci/40Km5VHUjrdYcoO8Ew01XSxUjB+SbJj
 giUGSuGfnGXrDUqLU7GnceS0cXm7iYeujpaws4vgsxKNzt5KvPlQ+xJjXe4q4pU/
 vrqRd+xsNn4getHlxZiFzjG0t1w4L42bc4j/Xnr5MnZ1GoRs1fO4lNJjkHniBB+z
 d/ROggg+jm3TwoFfWEZ7r4s6WhnfSyzADnqPP5h489RPtAbAFCdNkEvVFs0MZZT5
 xJavVXaaLjmC9Nx+XpGa8/4Hf+7dQwtO/ts0S9Rmcxf90TDbqTaic8vNEw9M0Fed
 aONjuCyxZMwjbpn6g+KuFzgS4KjSMBRmrLgD3Z+P4QJ1P5hRaK4yZRP2rHeELosK
 gTP8QBEXrj2N5I4SnlSzj6AGw5LHiEI2crDFLzZjAUUMdCDo9R1N63Zfpcf6INHi
 1+GCfO/jlTTUbGT0+NRaqCLWSuMeTnfKO5Beow4FsOIUuOLpDHl3bAir5YrtwNS+
 iHMhDzp00rRs
 =D8xL
 -----END PGP SIGNATURE-----

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
This commit is contained in:
Linus Torvalds 2023-03-03 10:36:01 -08:00
commit 44b6f565e7
3 changed files with 20 additions and 48 deletions

View file

@ -439,6 +439,13 @@ static const struct dmi_system_id asus_laptop[] = {
DMI_MATCH(DMI_BOARD_NAME, "B2402CBA"),
},
},
{
.ident = "Asus ExpertBook B2402FBA",
.matches = {
DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."),
DMI_MATCH(DMI_BOARD_NAME, "B2402FBA"),
},
},
{
.ident = "Asus ExpertBook B2502",
.matches = {

View file

@ -384,29 +384,6 @@ static const struct acpi_device_id amd_hid_ids[] = {
{}
};
static int lps0_prefer_amd(const struct dmi_system_id *id)
{
pr_debug("Using AMD GUID w/ _REV 2.\n");
rev_id = 2;
return 0;
}
static const struct dmi_system_id s2idle_dmi_table[] __initconst = {
{
/*
* AMD Rembrandt based HP EliteBook 835/845/865 G9
* Contains specialized AML in AMD/_REV 2 path to avoid
* triggering a bug in Qualcomm WLAN firmware. This may be
* removed in the future if that firmware is fixed.
*/
.callback = lps0_prefer_amd,
.matches = {
DMI_MATCH(DMI_BOARD_VENDOR, "HP"),
DMI_MATCH(DMI_BOARD_NAME, "8990"),
},
},
{}
};
static int lps0_device_attach(struct acpi_device *adev,
const struct acpi_device_id *not_used)
{
@ -586,7 +563,6 @@ static const struct platform_s2idle_ops acpi_s2idle_ops_lps0 = {
void __init acpi_s2idle_setup(void)
{
dmi_check_system(s2idle_dmi_table);
acpi_scan_add_handler(&lps0_handler);
s2idle_set_ops(&acpi_s2idle_ops_lps0);
}

View file

@ -200,39 +200,28 @@ bool acpi_device_override_status(struct acpi_device *adev, unsigned long long *s
* a hardcoded allowlist for D3 support, which was used for these platforms.
*
* This allows quirking on Linux in a similar fashion.
*
* Cezanne systems shouldn't *normally* need this as the BIOS includes
* StorageD3Enable. But for two reasons we have added it.
* 1) The BIOS on a number of Dell systems have ambiguity
* between the same value used for _ADR on ACPI nodes GPP1.DEV0 and GPP1.NVME.
* GPP1.NVME is needed to get StorageD3Enable node set properly.
* https://bugzilla.kernel.org/show_bug.cgi?id=216440
* https://bugzilla.kernel.org/show_bug.cgi?id=216773
* https://bugzilla.kernel.org/show_bug.cgi?id=217003
* 2) On at least one HP system StorageD3Enable is missing on the second NVME
disk in the system.
*/
static const struct x86_cpu_id storage_d3_cpu_ids[] = {
X86_MATCH_VENDOR_FAM_MODEL(AMD, 23, 96, NULL), /* Renoir */
X86_MATCH_VENDOR_FAM_MODEL(AMD, 23, 104, NULL), /* Lucienne */
{}
};
static const struct dmi_system_id force_storage_d3_dmi[] = {
{
/*
* _ADR is ambiguous between GPP1.DEV0 and GPP1.NVME
* but .NVME is needed to get StorageD3Enable node
* https://bugzilla.kernel.org/show_bug.cgi?id=216440
*/
.matches = {
DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
DMI_MATCH(DMI_PRODUCT_NAME, "Inspiron 14 7425 2-in-1"),
}
},
{
.matches = {
DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
DMI_MATCH(DMI_PRODUCT_NAME, "Inspiron 16 5625"),
}
},
X86_MATCH_VENDOR_FAM_MODEL(AMD, 25, 80, NULL), /* Cezanne */
{}
};
bool force_storage_d3(void)
{
const struct dmi_system_id *dmi_id = dmi_first_match(force_storage_d3_dmi);
return dmi_id || x86_match_cpu(storage_d3_cpu_ids);
return x86_match_cpu(storage_d3_cpu_ids);
}
/*