[lkml]   [2011]   [Nov]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectRe: [PATCH] pci: Rework ASPM disable code
    2011/11/10 Matthew Garrett <>:
    > 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 <>

    Does it make sense to CC stable? To get it into 2.6.38+?

    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to
    More majordomo info at
    Please read the FAQ at

     \ /
      Last update: 2011-11-11 10:51    [W:0.020 / U:24.132 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site