On Fri, Jul 15, 2022 at 05:19:25PM +0800, Manyi Li wrote: > > > On 2022/7/15 16:29, Matthew Garrett wrote: > > On Fri, Jul 15, 2022 at 03:40:36PM +0800, Manyi Li wrote: > > > > > Please see the details of this issus: > > > https://bugzilla.kernel.org/show_bug.cgi?id=216245 > > > > Hmm. The only case where changing aspm_support_enabled to false should > > matter is in pcie_aspm_init_link_state(), where it looks like we'll > > potentially rewrite some registers even if aspm_disabled is true. I > > think in theory we shouldn't actually modify anything as a result, and > > the lspcis from the bug don't show any ASPM values having changed, but I > > don't trust Realtek hardware in the general case so maybe it gets upset > > here? If the proposed patch is to just set aspm_support_enabled to false > > when we see the FADT bit set then I think this is fine. > > > > "aspm_support_enabled" alse be used in calculate_support(): > if (pcie_aspm_support_enabled()) > support |= OSC_PCI_ASPM_SUPPORT | OSC_PCI_CLOCK_PM_SUPPORT; > When set OSC_PCI_ASPM_SUPPORT | OSC_PCI_CLOCK_PM_SUPPORT, cause this AER > issue. I want don't set OSC_PCI_ASPM_SUPPORT | OSC_PCI_CLOCK_PM_SUPPORT when > we see the FADT bit set. Oh hm. Are you sure it's the OSC call that breaks it? I have some recollection that I verified the behaviour of Windows here, but it's been over 10 years since I touched this so I could well be wrong. I can try to set up a test env to verify the behaviour of Windows when it comes to _OSC if the FADT says ASPM is unsupported.