Re: [PATCH v2] ACPI: x86: Disable wakeup on MSI MS-1592 and MS-1594 dGPU root port

From: Victor Carreras

Date: Wed Nov 11 2026 - 01:37:26 EST


On Mon, Nov 9, 2026 at 8:32 PM Rafael J. Wysocki wrote:
> Please see Sashiko's feedback on this one and let me know what you
> think about it:

Hi Rafael,

Sashiko is right, v2 does not work as intended. Clearing can_wakeup in a
final fixup is undone by pcie_pme_can_wakeup() when the PME service
binds, and in any case acpi_pci_wakeup() and acpi_pci_propagate_wakeup()
only look at adev->wakeup.flags.valid, so _DSW on PEG0 still gets
evaluated, both for the root port itself and when wakeup is propagated
from the dGPU below it.

v3 follows the suggestion: it clears adev->wakeup.flags.valid from a
DECLARE_PCI_FIXUP_EARLY quirk, which runs in pci_setup_device() after
pci_set_acpi_fwnode() and before device_add() calls pci_acpi_setup(),
so pci_acpi_setup() and pci_acpi_cleanup() stay balanced and both
paths skip PEG0. With v3 and the SSDT workaround removed, the root port
and the dGPU reach D3cold on my MS-1594 and the touchpad keeps working
across repeated D3cold cycles. I'm sending it as a reply to this thread.

Thanks,
Victor