Re: Lost PCIe PME after a914ff2d78ce ("PCI/ASPM: Don't select CONFIG_PCIEASPM by default")

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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



[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux