[PATCH v3 0/9] PCI: endpoint: Make host reboot handling more robust

From: Manivannan Sadhasivam
Date: Thu Apr 18 2024 - 07:58:58 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] which are currently in pci/next.

@Niklas: I've dropped your Tested-by tags as there were some changes in between
and I want to make sure this version gets tested again. So please give it a go!

- 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 v3:
- Dropped the patch that split epc_events into two
- Added a patch to rename BME to Bus Master Enable
- Added back the comment for REBAR
- Switched to cancel_delayed_work_sync() for Link Down event
- Rebased on top of pci/next
- Dropped the tested-by tag from Niklas as I'd like to get this series tested
one more time due to changes
- Link to v2: https://lore.kernel.org/r/20240401-pci-epf-rework-v2-0-970dbe90b99d@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 (9):
PCI: qcom-ep: Disable resources unconditionally during PERST# assert
PCI: endpoint: Rename core_init() callback in 'struct pci_epc_event_ops' to epc_init()
PCI: endpoint: Rename BME to Bus Master Enable
PCI: endpoint: pci-epf-test: Refactor pci_epf_test_unbind() function
PCI: endpoint: 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: endpoint: pci-epf-test: Handle Link Down event

drivers/pci/controller/dwc/pcie-designware-ep.c | 104 ++++++++++++++++--------
drivers/pci/controller/dwc/pcie-designware.h | 5 ++
drivers/pci/controller/dwc/pcie-qcom-ep.c | 13 +--
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 | 95 ++++++++++++++++------
drivers/pci/endpoint/pci-epc-core.c | 58 +++++++++----
include/linux/pci-epc.h | 3 +-
include/linux/pci-epf.h | 10 ++-
9 files changed, 230 insertions(+), 106 deletions(-)
---
base-commit: 13ccfe1d824dd392c9200b91655929b6f49a3e69
change-id: 20240314-pci-epf-rework-a6e65b103a79

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