Re: [PATCH v4 00/16] PCI: dwc: Cache PCIe capability offset
From: Bjorn Helgaas
Date: Tue Oct 27 2026 - 19:19:27 EST
On Tue, Oct 27, 2026 at 08:28:11PM +0800, Hans Zhang wrote:
> Hi,
>
> The DWC PCIe core and its platform drivers repeatedly call
> dw_pcie_find_capability(pci, PCI_CAP_ID_EXP) to obtain the offset of the
> PCI Express Capability structure, including in paths that run more than
> once such as link polling, suspend/resume and interrupt handlers.
>
> Add a cached pcie_cap field to struct dw_pcie and a
> dw_pcie_get_pcie_cap() helper that performs the lookup on first use and
> caches the result, then convert the core and the 14 platform drivers
> that use PCI_CAP_ID_EXP.
>
> After this series, dw_pcie_find_capability(..., PCI_CAP_ID_EXP) no
> longer appears in drivers/pci/controller/dwc/ outside of the helper
> itself.
> ...
> base-commit: 4352b8aee98005853aa63f57d6377282de17a33f
This does indeed apply cleanly on 4352b8aee980 ("Merge tag
'i3c/for-7.3' of git://git.kernel.org/pub/scm/linux/kernel/git/i3c/linux"),
but that's pretty old and not really useful any more.
PCI topic branches are typically based on -rc1, but of course v7.4-rc1
hasn't been tagged. Until it is, you can use pci/main as a good base.
It's currently 17bb0e2f6c80 ("Merge tag 'pci-v7.4-changes' of
git://git.kernel.org/pub/scm/linux/kernel/git/pci/pci"), so
drivers/pci/ in v7.4-rc1 will be pretty close to that.