[PATCH v4 0/3] dmaengine: dw-edma: Prepare channels for remote use

Koichiro Den posted 3 patches 1 week, 5 days ago
drivers/dma/dmaengine.c            |  13 ++-
drivers/dma/dw-edma/dw-edma-core.c | 161 +++++++++++++++++++++--------
include/linux/dma/edma.h           |  21 ++++
include/linux/dmaengine.h          |  20 ++++
4 files changed, 169 insertions(+), 46 deletions(-)
[PATCH v4 0/3] dmaengine: dw-edma: Prepare channels for remote use
Posted by Koichiro Den 1 week, 5 days ago
Hi,

This small series contains standalone refactoring and new infrastructure
for dmaengine and dw-edma.

It prepares PCIe EPC-local DMA channels for remote use. The upcoming
vNTB-embedded DMA support [1] will be the first user and depend on this
series.

[1] https://lore.kernel.org/r/20260903082327.2345602-1-den@valinux.co.jp/

Best regards,
Koichiro
---
Changes in v4:
  - Drop unnecessary READ_ONCE()/WRITE_ONCE() for irq_mode. (Frank)
  - Allow repeated dmaengine_slave_config() calls on idle channels when
    the IRQ mode is unchanged. (Sashiko)
  - Extend patch 2 to support native HDMA.
  - Simplify IRQ mode handling, assuming the channel has no pending
    interrupt status when its mode changes. Treat racing reads by shared
    IRQ handlers and same-value stores on release as harmless.
  - No changes in patches 1 and 3.

Changes in v3:
  - Rework patch 2 to use a common channel configuration, retain generic
    dma_slave_config fields, and close the shared-IRQ routing race.
    (Frank, Sashiko)
  - No code changes in patches 1 and 3.

Changes in v2:
  - Split and rework vNTB v1 patches 1, 4, and 5 into this prerequisite
    series.
  - Fold in the relevant PCI DMA EPF v7 review.

v3: https://lore.kernel.org/r/20260903064533.2269557-1-den@valinux.co.jp/
v2: https://lore.kernel.org/r/20260828163611.2691264-1-den@valinux.co.jp/
v1: https://lore.kernel.org/r/20260312165005.1148676-1-den@valinux.co.jp/


Koichiro Den (3):
  dmaengine: Allow drivers to assign static channel IDs
  dmaengine: dw-edma: Configure remote interrupt routing
  dmaengine: dw-edma: Account for the MSI vector offset

 drivers/dma/dmaengine.c            |  13 ++-
 drivers/dma/dw-edma/dw-edma-core.c | 161 +++++++++++++++++++++--------
 include/linux/dma/edma.h           |  21 ++++
 include/linux/dmaengine.h          |  20 ++++
 4 files changed, 169 insertions(+), 46 deletions(-)


base-commit: cee9395acd8043be0644b25c34bfa86623f2b935
-- 
2.51.0