[PATCH v7 0/2] PCI: designware-ep: Fix DBI access before core init

Manivannan Sadhasivam
2023-11-20T08:40:32Z

Hello,

This series is the continuation of previous work by Vidya Sagar [1] to fix the
issues related to accessing DBI register space before completing the core
initialization in some EP platforms like Tegra194/234 and Qcom SM8450.

Since Vidya is busy, I took over the series based on his consent (off-list
discussion).

I've reworked the series in v7 to make it bisect friendly, and also to avoid
build issue with the dependency. This resulted in the patches being heavily
modified, so I took over the authorship of the patches.

Testing
=======

I've tested the series on Qcom SM8450 based dev board. I also expect it to work
on Tegra platforms as well but it'd be good if Vidya or someone could test it.

- Mani

[1] https://lore.kernel.org/linux-pci/20221013175712.7539-1-vidyas@nvidia.com/
[2] https://lore.kernel.org/linux-pci/20230825123843.GD6005@thinkpad/

Changes in v7:

- Rebased on top of v6.7-rc1
- Kept the current dw_pcie_ep_init_complete() API instead of renaming it to
dw_pcie_ep_init_late(), since changing the name causes a slight ambiguity.
- Splitted the change that moves pci_epc_init_notify() inside
dw_pcie_ep_init_notify() to help bisecting and also to avoid build issue.
- Added a new patch that moves pci_epc_init_notify() inside
dw_pcie_ep_init_notify().
- Took over the authorship and dropped the previous Ack as the patches are
heavily modified.

Changes in v6:

- Rebased on top of pci/next (6e2fca71e187)
- removed ep_init_late() callback as it is no longer necessary

For previous changelog, please refer [1].

Manivannan Sadhasivam (2):
PCI: designware-ep: Fix DBI access before core init
PCI: designware-ep: Move pci_epc_init_notify() inside
dw_pcie_ep_init_complete()

.../pci/controller/dwc/pcie-designware-ep.c | 149 +++++++++++-------
drivers/pci/controller/dwc/pcie-designware.h | 5 -
drivers/pci/controller/dwc/pcie-qcom-ep.c | 2 -
drivers/pci/controller/dwc/pcie-tegra194.c | 2 -
4 files changed, 93 insertions(+), 65 deletions(-)

--
2.25.1