Hi Niklas, On 9-Jun-25 3:45 PM, Niklas Cassel wrote: > 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 > 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 a6ce172fa928..be464d0f46a4 100644 > --- a/drivers/ata/ahci.c > +++ b/drivers/ata/ahci.c > @@ -1460,6 +1460,17 @@ static bool ahci_broken_lpm(struct pci_dev *pdev) > */ > .driver_data = "20180309", > }, > + { > + .matches = { > + DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."), > + DMI_MATCH(DMI_PRODUCT_VERSION, "ASUSPRO D840MB_M840SA"), > + }, > + /* > + * 320, released 20230208, has broken LPM, no working > + * BIOS has been released at time of writing. > + */ > + .driver_data = "20230208", > + }, Same remark about using "released" in the comment. Otherwise both patches look good to me: Reviewed-by: Hans de Goede <hansg@xxxxxxxxxx> for the series. Regards, Hans > { } /* terminate list */ > }; > const struct dmi_system_id *dmi = dmi_first_match(sysids);