A user has bisected a regression which causes graphical corruptions on his screen to commit 7627a0edef54 ("ata: ahci: Drop low power policy board type"). Simply reverting commit 7627a0edef54 ("ata: ahci: Drop low power policy board type") makes the graphical corruptions on his screen to go away. (Note: there are no visible messages in dmesg that indicates a problem with AHCI.) The user also reports that the problem occurs regardless if there is an HDD or an SSD connected via AHCI, so the problem is not device related. The devices also work fine on other motherboards, so it seems specific to the ASUSPRO-D840SA motherboard. While enabling low power modes for AHCI is not supposed to affect completely unrelated hardware, like a graphics card, it does however allow the system to enter deeper PC-states, which could expose ACPI issues that were previously not visible (because the system never entered these lower power states before). There are previous examples where enabling LPM exposed serious BIOS/ACPI bugs, see e.g. commit 240630e61870 ("ahci: Disable LPM on Lenovo 50 series laptops with a too old BIOS"). Since there hasn't been any BIOS update in years for the ASUSPRO-D840SA motherboard, disable LPM for this board, in order to avoid entering lower PC-states, which triggers graphical corruptions. Cc: stable+noautosel@xxxxxxxxxx # Depends on ahci_broken_lpm() refactor Reviewed-by: Hans de Goede <hansg@xxxxxxxxxx> Reported-by: Andy Yang <andyybtc79@xxxxxxxxx> Closes: https://bugzilla.kernel.org/show_bug.cgi?id=220111 Fixes: 7627a0edef54 ("ata: ahci: Drop low power policy board type") Signed-off-by: Niklas Cassel <cassel@xxxxxxxxxx> --- drivers/ata/ahci.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/drivers/ata/ahci.c b/drivers/ata/ahci.c index 05ff03b80b85..b065440bd911 100644 --- a/drivers/ata/ahci.c +++ b/drivers/ata/ahci.c @@ -1456,6 +1456,17 @@ static bool ahci_broken_lpm(struct pci_dev *pdev) */ .driver_data = "20180408", }, + { + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."), + DMI_MATCH(DMI_PRODUCT_VERSION, "ASUSPRO D840MB_M840SA"), + }, + /* + * 320, build date 20230208, has broken LPM, no working + * BIOS exists at the time of writing. + */ + .driver_data = "20230208", + }, { } /* terminate list */ }; const struct dmi_system_id *dmi = dmi_first_match(sysids); -- 2.49.0