On Thu, 10 Nov 2011 16:38:33 -0500 Matthew Garrett <mjg@xxxxxxxxxx> wrote: > Right now we forcibly clear ASPM state on all devices if the BIOS indicates > that the feature isn't supported. Based on the Microsoft presentation > "PCI Express In Depth for Windows Vista and Beyond", I'm starting to think > that this may be an error. The implication is that unless the platform > grants full control via _OSC, Windows will not touch any PCIe features - > including ASPM. In that case clearing ASPM state would be an error unless > the platform has granted us that control. > > This patch reworks the ASPM disabling code such that the actual clearing > of state is triggered by a successful handoff of PCIe control to the OS. > The general ASPM code undergoes some changes in order to ensure that the > ability to clear the bits isn't overridden by ASPM having already been > disabled. Further, this theoretically now allows for situations where > only a subset of PCIe roots hand over control, leaving the others in the > BIOS state. > > It's difficult to know for sure that this is the right thing to do - > there's zero public documentation on the interaction between all of these > components. But enough vendors enable ASPM on platforms and then set this > bit that it seems likely that they're expecting the OS to leave them alone. > > Measured to save around 5W on an idle Thinkpad X220. > Applied to linux-next, thanks. -- Jesse Barnes, Intel Open Source Technology Center
Attachment:
signature.asc
Description: PGP signature