[PATCH v2 00/10] PCI: endpoint: Make host reboot handling more robust

From: Manivannan Sadhasivam
Date: Mon Apr 01 2024 - 11:51:12 EST


Hello,

This is the follow up series of [1], to improve the handling of host reboot in
the endpoint subsystem. This involves refining the PERST# and Link Down event
handling in both the controller and function drivers.

Testing
=======

This series is tested on Qcom SM8450 based development board with both MHI_EPF
and EPF_TEST function drivers.

Dependency
==========

This series depends on [1] and [2].

- Mani

[1] https://lore.kernel.org/linux-pci/20240314-pci-dbi-rework-v10-0-14a45c5a938e@xxxxxxxxxx/
[2] https://lore.kernel.org/linux-pci/20240320113157.322695-1-cassel@xxxxxxxxxx/

Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@xxxxxxxxxx>
---
Changes in v2:
- Dropped the {start/stop}_link rework patches
- Incorporated comments from Niklas
- Collected review tags
- Rebased on top of v6.9-rc1 and https://lore.kernel.org/linux-pci/20240320113157.322695-1-cassel@xxxxxxxxxx/
- Link to v1: https://lore.kernel.org/r/20240314-pci-epf-rework-v1-0-6134e6c1d491@xxxxxxxxxx

---
Manivannan Sadhasivam (10):
PCI: qcom-ep: Disable resources unconditionally during PERST# assert
PCI: endpoint: Decouple EPC and PCIe bus specific events
PCI: endpoint: Rename core_init() callback in 'struct pci_epc_event_ops' to init()
PCI: epf-test: Refactor pci_epf_test_unbind() function
PCI: epf-{mhi/test}: Move DMA initialization to EPC init callback
PCI: endpoint: Introduce EPC 'deinit' event and notify the EPF drivers
PCI: dwc: ep: Add a generic dw_pcie_ep_linkdown() API to handle Link Down event
PCI: qcom-ep: Use the generic dw_pcie_ep_linkdown() API to handle Link Down event
PCI: epf-test: Handle Link Down event
PCI: qcom: Implement shutdown() callback to properly reset the endpoint devices

drivers/pci/controller/dwc/pcie-designware-ep.c | 99 ++++++++++++++---------
drivers/pci/controller/dwc/pcie-designware.h | 5 ++
drivers/pci/controller/dwc/pcie-qcom-ep.c | 9 +--
drivers/pci/controller/dwc/pcie-qcom.c | 8 ++
drivers/pci/controller/dwc/pcie-tegra194.c | 1 +
drivers/pci/endpoint/functions/pci-epf-mhi.c | 47 ++++++++---
drivers/pci/endpoint/functions/pci-epf-test.c | 103 +++++++++++++++++-------
drivers/pci/endpoint/pci-epc-core.c | 53 ++++++++----
include/linux/pci-epc.h | 1 +
include/linux/pci-epf.h | 27 +++++--
10 files changed, 248 insertions(+), 105 deletions(-)
---
base-commit: e6377605ca734126533a0f8e4de2b4bac881f076
change-id: 20240314-pci-epf-rework-a6e65b103a79

Best regards,
--
Manivannan Sadhasivam <manivannan.sadhasivam@xxxxxxxxxx>