On Fri, Nov 11, 2011 at 09:28:11AM -0800, Jesse Barnes wrote: > On Fri, 11 Nov 2011 10:49:02 +0100 > Rafał Miłecki <zajec5@xxxxxxxxx> wrote: > > > 2011/11/10 Matthew Garrett <mjg@xxxxxxxxxx>: > > > 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. > > > > > > Signed-off-by: Matthew Garrett <mjg@xxxxxxxxxx> > > > > Does it make sense to CC stable? To get it into 2.6.38+? > > It's a pretty serious change that affects a lot of platforms, so I'd be > nervous about sticking it in stable right away. Maybe after some soak > time upstream and/or broad testing in distros. I agree. I'll watch what happens with this patch before being willing to stick it into the stable releases. greg k-h -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html