[PATCH V7 0/5] PCI/ASPM: reconfigure ASPM following hotplug for POLICY_DEFAULT

Patel, Mayurkumar mayurkumar.patel at intel.com
Tue Apr 4 08:02:45 PDT 2017

Hi Sinan

>Hi Mayurkumar,
>On 3/30/2017 9:30 AM, Sinan Kaya wrote:
>> When the operating system is booted with the default ASPM policy
>> (POLICY_DEFAULT), current code is querying the enable/disable
>> states from ASPM registers to determine the policy.
>> For example, a BIOS could set the power saving state to performance
>> and clear all ASPM control registers. A balanced ASPM policy could
>> enable L0s and disable L1. A power conscious BIOS could enable both
>> L0s and L1 to trade off latency and performance vs. power.
>> After hotplug removal, pcie_aspm_exit_link_state() function clears
>> the ASPM registers. An insertion following hotplug removal reads
>> incorrect policy as ASPM disabled even though ASPM was enabled
>> during boot.
>> This is caused by the fact that same function is used for reconfiguring
>> ASPM regardless of the power on state.
>> ------------------------
>> Changes from v6 (https://www.spinics.net/lists/arm-kernel/msg572876.html)
>> ------------------------
>> - revert the accidental parent check in bridge remove
>> Sinan Kaya (5):
>>   PCI/ASPM: introduce pci_aspm_init() and add to pci_init_capabilities()
>>   PCI/ASPM: split pci_aspm_init() into two
>>   PCI/ASPM: add init hook to device_add
>>   PCI/ASPM: save power on values during bridge init
>>   PCI/ASPM: move link_state cleanup to bridge remove
>>  drivers/pci/pcie/aspm.c | 137 ++++++++++++++++++++++++++++++++----------------
>>  drivers/pci/probe.c     |   3 ++
>>  drivers/pci/remove.c    |   3 +-
>>  include/linux/pci.h     |   2 +
>>  4 files changed, 98 insertions(+), 47 deletions(-)
>Did you get a chance to test?

Not yet. Will get back in this week sometimes to give you some feedback.


>Sinan Kaya
>Qualcomm Datacenter Technologies, Inc. as an affiliate of Qualcomm Technologies, Inc.
>Qualcomm Technologies, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project.
Intel Deutschland GmbH
Registered Address: Am Campeon 10-12, 85579 Neubiberg, Germany
Tel: +49 89 99 8853-0, www.intel.de
Managing Directors: Christin Eisenschmid, Christian Lamprechter
Chairperson of the Supervisory Board: Nicole Lau
Registered Office: Munich
Commercial Register: Amtsgericht Muenchen HRB 186928

More information about the linux-arm-kernel mailing list