On Sat, May 30, 2020 at 04:33:44AM -0700, Christoph Hellwig wrote: > On Sat, May 30, 2020 at 08:14:34AM +0100, Matthew Garrett wrote: > > On Sat, May 30, 2020 at 08:33:50AM +0200, Heiner Kallweit wrote: > > > > > It *was* default y. This changed with a914ff2d78ce ("PCI/ASPM: Don't > > > select CONFIG_PCIEASPM by default") and that's what triggered the > > > problem. If there's no easy solution, then maybe it's best to revert > > > the change for now. > > > > Oh, sorry, I was looking at mainline. CONFIG_PCIEASPM should > > *definitely* be enabled by default - platforms expect the OS to support > > it. If we want to get rid of default y then I think it'd make more sense > > to have a CONFIG_DISABLE_PCIEASPM that's under EXPERT, and people who > > really want to disable the code can do so. > > I think the fact that the EXPERT didn't get removed in the above bug > is a defintive bug. But I'd go further and think the CONFIG_PCIEASPM > option should be removed entirely. There is absolutely no good reason > to not build this small amount of code if PCIe support is enabled. That might be a good solution. I don't really want a situation where leaving CONFIG_PCIEASPM unset is "known to break PME." ASPM support has historically been fragile, and it's actually a significant amount of code (~10KB on my x86), which is larger than many other things for which we have config options. But we do have boot-time and run-time ways to disable it. Another possibility might be to make it so Linux always advertises ASPM support, but doesn't actually *do* anything unless CONFIG_PCIEASPM is set. I don't think advertising ASPM support means the OS is required to change whatever configuration firmware did. Bjorn