Skip to content

Commit

Permalink
ACPI: x86: Add a quirk for Dell Inspiron 14 2-in-1 for StorageD3Enable
Browse files Browse the repository at this point in the history
Dell Inspiron 14 2-in-1 has two ACPI nodes under GPP1 both with _ADR of
0, both without _HID.  It's ambiguous which the kernel should take, but
it seems to take "DEV0".  Unfortunately "DEV0" is missing the device
property `StorageD3Enable` which is present on "NVME".

To avoid this causing problems for suspend, add a quirk for this system
to behave like `StorageD3Enable` property was found.

Link: https://bugzilla.kernel.org/show_bug.cgi?id=216440
Reported-and-tested-by: Luya Tshimbalanga <luya@fedoraproject.org>
Signed-off-by: Mario Limonciello <mario.limonciello@amd.com>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
  • Loading branch information
Mario Limonciello authored and Rafael J. Wysocki committed Sep 24, 2022
1 parent 521a547 commit 018d671
Showing 1 changed file with 18 additions and 1 deletion.
19 changes: 18 additions & 1 deletion drivers/acpi/x86/utils.c
Original file line number Diff line number Diff line change
Expand Up @@ -207,9 +207,26 @@ static const struct x86_cpu_id storage_d3_cpu_ids[] = {
{}
};

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"),
}
},
{}
};

bool force_storage_d3(void)
{
return x86_match_cpu(storage_d3_cpu_ids);
const struct dmi_system_id *dmi_id = dmi_first_match(force_storage_d3_dmi);

return dmi_id || x86_match_cpu(storage_d3_cpu_ids);
}

/*
Expand Down

0 comments on commit 018d671

Please sign in to comment.