Message ID | 20240418-pci-epf-rework-v3-0-222a5d1ed2e5@linaro.org |
---|---|
Headers | show |
Series | PCI: endpoint: Make host reboot handling more robust | expand |
On Thu, Apr 18, 2024 at 05:28:28PM +0530, Manivannan Sadhasivam wrote: > 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! For the series: Tested-by: Niklas Cassel <cassel@kernel.org>
On Thu, Apr 18, 2024 at 05:28:31PM +0530, Manivannan Sadhasivam wrote: > BME which stands for 'Bus Master Enable' is not defined in the PCIe base > spec even though it is commonly referred in many places (vendor docs). But > to align with the spec, let's rename it to its expansion 'Bus Master > Enable'. > > Suggested-by: Damien Le Moal <dlemoal@kernel.org> > Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org> > --- Reviewed-by: Niklas Cassel <cassel@kernel.org> Outside the scope of this patch/series: Do we perhaps want to add a bus_master_enable() callback also for the pci-epf-test driver? In my opinion, the test driver should be "the driver" that tests that all the EPF features/callbacks work, at least a basic test "does it work at all". Other EPF drivers can implement the callbacks, and do more intelligent things, i.e. more than just seeing that "it works". Kind regards, Niklas
On Thu, Apr 18, 2024 at 04:49:04PM +0200, Niklas Cassel wrote: > On Thu, Apr 18, 2024 at 05:28:31PM +0530, Manivannan Sadhasivam wrote: > > BME which stands for 'Bus Master Enable' is not defined in the PCIe base > > spec even though it is commonly referred in many places (vendor docs). But > > to align with the spec, let's rename it to its expansion 'Bus Master > > Enable'. > > > > Suggested-by: Damien Le Moal <dlemoal@kernel.org> > > Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org> > > --- > > Reviewed-by: Niklas Cassel <cassel@kernel.org> > > > Outside the scope of this patch/series: > Do we perhaps want to add a bus_master_enable() callback also for the > pci-epf-test driver? > Makes sense to me. > In my opinion, the test driver should be "the driver" that tests that > all the EPF features/callbacks work, at least a basic test "does it > work at all". Other EPF drivers can implement the callbacks, and do > more intelligent things, i.e. more than just seeing that "it works". > Agree. Feel free to send a patch :) - Mani
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@linaro.org/ [2] https://lore.kernel.org/linux-pci/20240320113157.322695-1-cassel@kernel.org/ Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org> --- 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@linaro.org 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@kernel.org/ - Link to v1: https://lore.kernel.org/r/20240314-pci-epf-rework-v1-0-6134e6c1d491@linaro.org --- 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,