[PATCH v5 0/5] PCI: dwc: Add support for integrating HDMA with DWC EP driver

From: Manivannan Sadhasivam
Date: Mon Mar 18 2024 - 02:04:57 EST


Hello,

This series adds support for integrating HDMA with the DWC EP driver.

Hyper DMA (HDMA) is already supported by the dw-edma dmaengine driver.
Unlike it's predecessor Embedded DMA (eDMA), HDMA supports only unroll
mapping format and doesn't support auto detecting the read/write channels.

Hence, this series modifies the existing eDMA code to work with HDMA by
honoring the platform supplied mapping format and read/write channels
count.

The platform drivers making use of HDMA should pass the EDMA_MF_HDMA_NATIVE
flag and provide channels count. In this series, HDMA support is added for
the Qcom SA8775P SoC and the DMA support in enabled in MHI EPF driver as
well.

Testing
-------

Tested on Qualcomm SA8775P Ride board.

Dependency
----------

Depends on:
https://lore.kernel.org/dmaengine/20240129-b4-feature_hdma_mainline-v7-0-8e8c1acb7a46@xxxxxxxxxxx/
https://lore.kernel.org/all/1701432377-16899-1-git-send-email-quic_msarkar@xxxxxxxxxxx/

NOTE: I've taken over this series from Mrinmay who posted v1:
https://lore.kernel.org/linux-pci/1705669223-5655-1-git-send-email-quic_msarkar@xxxxxxxxxxx/

- Mani

Changes in v5:

- Addressed comments from Sergey for patches 1 and 2
- Collected review tags
- Link to v4: https://lore.kernel.org/r/20240306-dw-hdma-v4-0-9fed506e95be@xxxxxxxxxx

Changes in v4:

- Rolled back the code refactoring done in v2 for patch 1 (Sergey)
- Reworked the channels count auto detection (Sergey)
- Collected tags
- Link to v3: https://lore.kernel.org/r/20240226-dw-hdma-v3-0-cfcb8171fc24@xxxxxxxxxx

Changes in v3:

- Collected review tags
- Minor code refactoring (Siddharth)
- Link to v2: https://lore.kernel.org/r/20240216-dw-hdma-v2-0-b42329003f43@xxxxxxxxxx

Changes in v2:

- Dropped dmaengine patches (Sergey)
- Reworked dw_pcie_edma_find_chip() to support both eDMA and HDMA (Sergey)
- Skipped MF and channel detection if glue drivers have provided them (Sergey)
- Addressed review comments in pcie-qcom-ep and pci-epf-mhi drivers (Mani)

Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@xxxxxxxxxx>
---
Manivannan Sadhasivam (3):
PCI: dwc: Refactor dw_pcie_edma_find_chip() API
PCI: dwc: Skip finding eDMA channels count for HDMA platforms
PCI: dwc: Pass the eDMA mapping format flag directly from glue drivers

Mrinmay Sarkar (2):
PCI: qcom-ep: Add HDMA support for SA8775P SoC
PCI: epf-mhi: Enable HDMA for SA8775P SoC

drivers/pci/controller/dwc/pcie-designware.c | 65 +++++++++++++++++++++-------
drivers/pci/controller/dwc/pcie-designware.h | 5 +--
drivers/pci/controller/dwc/pcie-qcom-ep.c | 23 +++++++++-
drivers/pci/controller/dwc/pcie-rcar-gen4.c | 2 +-
drivers/pci/endpoint/functions/pci-epf-mhi.c | 1 +
5 files changed, 75 insertions(+), 21 deletions(-)
---
base-commit: fdd10aee7740a53c370a867b8743a8c8945d1db1
change-id: 20240216-dw-hdma-64ddc09fb30b

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