Re: [PATCH v2] pci/aspm: Remove CONFIG_PCIEASPM_DEBUG

From: Bjorn Helgaas
Date: Mon Jul 30 2018 - 10:14:33 EST


On Sat, Jul 28, 2018 at 05:16:13PM -0700, Sinan Kaya wrote:
> On 7/27/2018 1:26 PM, Bjorn Helgaas wrote:
> > - A link can lead to a multi-function device, and the spec allows
> > those functions to have different ASPM settings (see PCIe r4.0,
> > sec 5.4.1). With the sysfs files at the upstream end of the link,
> > we have no way to configure those functions individually.
>
> Even though we can set them individually, there is only one PCIe link
> for single function as well as multi-function devices.
>
> It would be a user mistake to allow individual PCIe functions with
> different ASPM policies. (maybe, we should enforce it if we are not
> doing it already).

It's true that multi-function devices share a single PCIe link.

However, the end of sec 5.4.1 does make it clear that the functions
need not have the same ASPM configuration, and it gives rules for how
those different settings should affect the shared link. Since it
mentions different ASPM Control fields for the different functions, I
assume the policy combining those per-function settings into the
single link behavior must be implemented in the hardware.

Obviously we don't support per-function ASPM settings today. I don't
know whether there's any value in supporting them or not, but putting
the control files at the upstream end basically precludes us from ever
supporting them.

Bjorn