[PATCH v3 14/16] PCI: dwc: spear13xx: Use cached PCIe capability offset
Hans Zhang <[email protected]>
| Newsgroups | gmane.linux.ports.ppc.embedded |
|---|---|
| Message-ID | <20260720150619.24733-15-18255117159__31853.5734944575$1784560288$gmane$org@163.com> |
Inside .init we must call dw_pcie_get_pcie_cap() to obtain the offset, because the core has not yet cached it. The hardware is already enabled by the driver's own initialization before this point. Signed-off-by: Hans Zhang <[email protected]> --- In pcie-spear13xx, the call chain is: static const struct dw_pcie_host_ops spear13xx_pcie_host_ops = { .init = spear13xx_pcie_host_init, }; spear13xx_pcie_host_init() -> dw_pcie_find_capability() --- drivers/pci/controller/dwc/pcie-spear13xx.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/pci/controller/dwc/pcie-spear13xx.c b/drivers/pci/controller/dwc/pcie-spear13xx.c index 01794a9d3ad2..6e4c11b497d4 100644 --- a/drivers/pci/controller/dwc/pcie-spear13xx.c +++ b/drivers/pci/controller/dwc/pcie-spear13xx.c @@ -122,7 +122,7 @@ static int spear13xx_pcie_host_init(struct dw_pcie_rp *pp) { struct dw_pcie *pci = to_dw_pcie_from_pp(pp); struct spear13xx_pcie *spear13xx_pcie = to_spear13xx_pcie(pci); - u32 exp_cap_off = dw_pcie_find_capability(pci, PCI_CAP_ID_EXP); + u8 exp_cap_off = dw_pcie_get_pcie_cap(pci); u32 val; spear13xx_pcie->app_base = pci->dbi_base + 0x2000; -- 2.34.1