Re: [PATCH V3] PCI/ASPM: reconfigure ASPM following hotplug for POLICY_DEFAULT

From: Sinan Kaya
Date: Mon Mar 13 2017 - 17:07:28 EST

Hi Bjorn,

On 3/9/2017 5:27 PM, Bjorn Helgaas wrote:
> This is an aspect of the ASPM design that I don't like:
> - pcie_aspm_init_link_state() is called on a *bridge* after we've
> enumerated any devices below the bridge, and we allocate the
> link_state.
> - pcie_aspm_exit_link_state() is called on an *endpoint*, and if
> we're removing the last endpoint below a bridge, we release the
> *parent's* link_state.

I just posted V4 a minute ago. I divided ASPM init into two so that the
ASPM registers are captured in device_add path.

There is a section of the ASPM init code that needs to walk all the devices
under the bridge.

This section of the code is not working in device_add path as the link list
for child devices has not been set up yet.

Unless you tell me there is a better way to handle this, I don't see how
we can remove the call from scan_slot.

After further review, I think I can split PATCH V4 3/3 into two. Before
diving into too much clean up, I wanted to get some feedback as it is
obvious from the messed up cover letter.


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.