[RFC PATCH v5 0/4] PCI/ASPM: Remove struct aspm_latency

From: Saheed O. Bolarinwa
Date: Fri Nov 19 2021 - 14:39:40 EST


To validate and set link latency capability, `struct aspm_latency` and
related members defined within `struct pcie_link_state` are used.
However, since there are not many access to theses values, it is
possible to directly access and compute these values.

Doing this will also reduce the dependency on `struct pcie_link_state`.

The series removes `struct aspm_latency` and related members within
`struct pcie_link_state`. All latencies are now calculated when needed.


VERSION CHANGES:
- v2:
» - directly access downstream by calling `pci_function_0()`
» instead of using the `struct pcie_link_state`
- v3:
» - rebase on Linux 5.15-rc2
- v4
» - Create a seprate path to move pci_function_0() upward
- v5
- shorten long lines as noted in the review

MERGE NOTICE:
These series are based on
» 'commit fa55b7dcdc43 ("Linux 5.16-rc1")'

Reviewed-by: Christoph Hellwig <hch@xxxxxx>

Bolarinwa O. Saheed (1):
PCI/ASPM: Move pci_function_0() upward

Saheed O. Bolarinwa (3):
PCI/ASPM: Do not cache link latencies
PCI/ASPM: Remove struct pcie_link_state.acceptable
PCI/ASPM: Remove struct aspm_latency

drivers/pci/pcie/aspm.c | 95 +++++++++++++++++++----------------------
1 file changed, 44 insertions(+), 51 deletions(-)

--
2.20.1