[PATCH V7 0/5] PCI/ASPM: reconfigure ASPM following hotplug for POLICY_DEFAULT
Sinan Kaya
okaya at codeaurora.org
Tue Apr 4 06:13:28 PDT 2017
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?
Sinan
--
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.
More information about the linux-arm-kernel
mailing list