[PATCH V6 0/5] PCI/ASPM: reconfigure ASPM following hotplug for POLICY_DEFAULT
Patel, Mayurkumar
mayurkumar.patel at intel.com
Thu Mar 30 06:07:47 PDT 2017
Hi Sinan
>
>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 v5 (https://www.spinics.net/lists/arm-kernel/msg571758.html)
>------------------------
>- rebase to 4.11-rc3
>- Split pci_aspm_init() body into pci_aspm_init_upstream()
> and pci_aspm_init_downstream() for bridge and endpoint
> specific code behavior.
>- Get rid of function0 function.
> Detect downstream link in pci_aspm_init_upstream() instead
>
>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
>
Thanks for quick patches. I can boot up now without any crash. I will test actual
functionality by next week as I am out for this week.
> 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(-)
>
>--
>1.9.1
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