mbox series

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

Message ID 20240318-dw-hdma-v5-0-f04c5cdde760@linaro.org
Headers show
Series PCI: dwc: Add support for integrating HDMA with DWC EP driver | expand

Message

Manivannan Sadhasivam March 18, 2024, 6:04 a.m. UTC
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@bootlin.com/
https://lore.kernel.org/all/1701432377-16899-1-git-send-email-quic_msarkar@quicinc.com/

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@quicinc.com/

- 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@linaro.org

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@linaro.org

Changes in v3:

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

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@linaro.org>
---
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,

Comments

Krzysztof WilczyƄski May 17, 2024, 5:19 p.m. UTC | #1
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@bootlin.com/
> https://lore.kernel.org/all/1701432377-16899-1-git-send-email-quic_msarkar@quicinc.com/
> 
> 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@quicinc.com/

Applied to qcom, thank you!

[01/05] PCI: dwc: Refactor dw_pcie_edma_find_chip() API
        https://git.kernel.org/pci/pci/c/51d8f92534df
[02/05] PCI: dwc: Skip finding eDMA channels count for HDMA platforms
        https://git.kernel.org/pci/pci/c/f9eeafd85ef6
[03/05] PCI: dwc: Pass the eDMA mapping format flag directly from glue drivers
        https://git.kernel.org/pci/pci/c/6823373030c8
[04/05] PCI: qcom-ep: Add HDMA support for SA8775P SoC
        https://git.kernel.org/pci/pci/c/c5a9a5eebb3b
[05/05] PCI: epf-mhi: Enable HDMA for SA8775P SoC
        https://git.kernel.org/pci/pci/c/fd745ddc8edc

	Krzysztof