Re: [PATCH v7 6/7] PCI: pciehp: Rely on `link_active_reporting'

From: Lukas Wunner
Date: Wed Apr 05 2023 - 03:18:47 EST


On Tue, Apr 04, 2023 at 10:56:21PM +0100, Maciej W. Rozycki wrote:
> Use `link_active_reporting' to determine whether Data Link Layer Link
> Active Reporting is available rather than re-retrieving the capability.
>
> Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxx>

I provided a Reviewed-by for this patch back in February:

https://lore.kernel.org/linux-pci/20230213135327.GA29595@xxxxxxxxx/

Please always include collected tags when reposting your patches.

I also noted back then that this patch does not depend on the preceding
patches in the series. So please move it to the front of the series
so that it can be picked up despite the other patches still being
under discussion. That way you reduce the size of any future reposts
of the series and make life easier both for yourself and reviewers.

Thanks,

Lukas

> ---
> NB this has been compile-tested only with PPC64LE and x86-64
> configurations.
>
> No change from v6.
>
> New change in v6.
> ---
> drivers/pci/hotplug/pciehp_hpc.c | 7 ++-----
> 1 file changed, 2 insertions(+), 5 deletions(-)
>
> linux-pcie-link-active-reporting-hpc.diff
> Index: linux-macro/drivers/pci/hotplug/pciehp_hpc.c
> ===================================================================
> --- linux-macro.orig/drivers/pci/hotplug/pciehp_hpc.c
> +++ linux-macro/drivers/pci/hotplug/pciehp_hpc.c
> @@ -984,7 +984,7 @@ static inline int pcie_hotplug_depth(str
> struct controller *pcie_init(struct pcie_device *dev)
> {
> struct controller *ctrl;
> - u32 slot_cap, slot_cap2, link_cap;
> + u32 slot_cap, slot_cap2;
> u8 poweron;
> struct pci_dev *pdev = dev->port;
> struct pci_bus *subordinate = pdev->subordinate;
> @@ -1030,9 +1030,6 @@ struct controller *pcie_init(struct pcie
> if (dmi_first_match(inband_presence_disabled_dmi_table))
> ctrl->inband_presence_disabled = 1;
>
> - /* Check if Data Link Layer Link Active Reporting is implemented */
> - pcie_capability_read_dword(pdev, PCI_EXP_LNKCAP, &link_cap);
> -
> /* Clear all remaining event bits in Slot Status register. */
> pcie_capability_write_word(pdev, PCI_EXP_SLTSTA,
> PCI_EXP_SLTSTA_ABP | PCI_EXP_SLTSTA_PFD |
> @@ -1051,7 +1048,7 @@ struct controller *pcie_init(struct pcie
> FLAG(slot_cap, PCI_EXP_SLTCAP_EIP),
> FLAG(slot_cap, PCI_EXP_SLTCAP_NCCS),
> FLAG(slot_cap2, PCI_EXP_SLTCAP2_IBPD),
> - FLAG(link_cap, PCI_EXP_LNKCAP_DLLLARC),
> + FLAG(pdev->link_active_reporting, true),
> pdev->broken_cmd_compl ? " (with Cmd Compl erratum)" : "");
>
> /*