Skip to content

Commit e2a5636

Browse files
superm1rafaeljw
authored andcommitted
ACPI: x86: utils: Add Cezanne to the list for forcing StorageD3Enable
commit 018d671 ("ACPI: x86: Add a quirk for Dell Inspiron 14 2-in-1 for StorageD3Enable") introduced a quirk to allow a system with ambiguous use of _ADR 0 to force StorageD3Enable. It was reported that several more Dell systems suffered the same symptoms. As the list is continuing to grow but these are all Cezanne systems, instead add Cezanne to the CPU list to apply the StorageD3Enable property and remove the whole list. It was also reported that an HP system only has StorageD3Enable on the ACPI device for the first NVME disk, not the second. Link: https://bugzilla.kernel.org/show_bug.cgi?id=217003 Link: https://bugzilla.kernel.org/show_bug.cgi?id=216773 Reported-by: David Alvarez Lombardi <[email protected]> Reported-by: [email protected] Reported-and-tested-by: Elvis Angelaccio <[email protected]> Tested-by: [email protected] Tested-by: [email protected] Signed-off-by: Mario Limonciello <[email protected]> Signed-off-by: Rafael J. Wysocki <[email protected]>
1 parent 88af9b1 commit e2a5636

File tree

1 file changed

+13
-24
lines changed

1 file changed

+13
-24
lines changed

drivers/acpi/x86/utils.c

Lines changed: 13 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -200,39 +200,28 @@ bool acpi_device_override_status(struct acpi_device *adev, unsigned long long *s
200200
* a hardcoded allowlist for D3 support, which was used for these platforms.
201201
*
202202
* 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.
203214
*/
204215
static const struct x86_cpu_id storage_d3_cpu_ids[] = {
205216
X86_MATCH_VENDOR_FAM_MODEL(AMD, 23, 96, NULL), /* Renoir */
206217
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 */
228219
{}
229220
};
230221

231222
bool force_storage_d3(void)
232223
{
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);
236225
}
237226

238227
/*

0 commit comments

Comments
 (0)