Background of this extension is a problem with the r8169 network driver. Several combinations of board chipsets and network chip versions have problems if ASPM is enabled, therefore we have to disable ASPM per default. However especially on notebooks ASPM can provide significant power-saving, therefore we want to give users the option to enable ASPM. With the new sysfs attribute users can control which ASPM link-states are disabled. This is a RFC version, therefore documentation of attribute is still missing. The attribute handling was inspired by the protocol attribute handling in drivers/media/rc/rc-main.c. Attribute syntax in a few words: none: allow all supported ASPM states all: disable all ASPM states +<state>: add state to list of disabled ASPM states -<state>: re-enable ASPM state if supported v2: - bind attribute to the endpoint v3: - reverse semantics of attribute - change attribute name to aspm_link_states to reflect changed semantics Heiner Kallweit (3): PCI/ASPM: add L1 sub-state support to pci_disable_link_state PCI/ASPM: allow to re-enable Clock PM PCI/ASPM: add sysfs attribute for controlling ASPM drivers/pci/pci.h | 8 +- drivers/pci/pcie/aspm.c | 204 ++++++++++++++++++++++++++++++++++++--- include/linux/pci-aspm.h | 8 +- 3 files changed, 199 insertions(+), 21 deletions(-) -- 2.21.0