devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 00/17] dmaengine: ti: Add support for BCDMA v2 and PKTDMA v2
@ 2025-06-12  7:15 Sai Sree Kartheek Adivi
  2025-06-12  7:15 ` [PATCH v2 01/17] dmaengine: ti: k3-udma: move macros to header file Sai Sree Kartheek Adivi
                   ` (16 more replies)
  0 siblings, 17 replies; 23+ messages in thread
From: Sai Sree Kartheek Adivi @ 2025-06-12  7:15 UTC (permalink / raw)
  To: Peter Ujfalusi, Vinod Koul, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, Nishanth Menon, Santosh Shilimkar,
	Sai Sree Kartheek Adivi, dmaengine, devicetree, linux-kernel,
	linux-arm-kernel, praneeth, vigneshr, u-kumar1, a-chavda,
	p-mantena

This series adds support for the BCDMA_V2 and PKTDMA_V2 which is
introduced in AM62L.

The key differences between the existing DMA and DMA V2 are:
- Absence of TISCI: Instead of configuring via TISCI calls, direct
  register writes are required.
- Autopair: There is no longer a need for PSIL pair and instead AUTOPAIR
  bit needs to set in the RT_CTL register.
- Static channel mapping: Each channel is mapped to a single peripheral.
- Direct IRQs: There is no INT-A and interrupt lines from DMA are
  directly connected to GIC.
- Remote side configuration handled by DMA. So no need to write to PEER
  registers to START / STOP / PAUSE / TEARDOWN.

Changes from v1 to v2:
- Split refactoring of k3-udma driver into multiple commits
- Fix bcdma v2 and pktdma v2 dt-binding examples
- Fix compatibles in k3-udma-v2.c
- move udma_is_desc_really_done to k3-udma-common.c as the difference
  between k3-udma and k3-udma-v2 implementation is minor.
- remove udma_ prefix to function pointers in udma_dev
- reorder the commits to first refactor the existing code completely and
  then introduce k3-udma-v2 related commits.
- remove redundant includes in k3-udma-common.c
- remove ti_sci_ dependency for k3_ringacc in Kconfig
- refactor setup_resources functions to remove ti_sci_ code from common
  logic.
link to v1: https://lore.kernel.org/linux-arm-kernel/20250428072032.946008-1-s-adivi@ti.com/

Sai Sree Kartheek Adivi (17):
  dmaengine: ti: k3-udma: move macros to header file
  dmaengine: ti: k3-udma: move structs and enums to header file
  dmaengine: ti: k3-udma: move static inline helper functions to header
    file
  dmaengine: ti: k3-udma: move descriptor management to k3-udma-common.c
  dmaengine: ti: k3-udma: move ring management functions to
    k3-udma-common.c
  dmaengine: ti: k3-udma: Add variant-specific function pointers to
    udma_dev
  dmaengine: ti: k3-udma: move udma utility functions to
    k3-udma-common.c
  dmaengine: ti: k3-udma: move resource management functions to
    k3-udma-common.c
  dmaengine: ti: k3-udma: refactor resource setup functions
  dmaengine: ti: k3-udma: move inclusion of k3-udma-private.c to
    k3-udma-common.c
  drivers: soc: ti: k3-ringacc: handle absence of tisci
  dt-bindings: dma: ti: Add document for K3 BCDMA V2
  dt-bindings: dma: ti: Add document for K3 PKTDMA V2
  dmaengine: ti: k3-psil-am62l: Add AM62Lx PSIL and PDMA data
  dmaengine: ti: k3-udma-v2: New driver for K3 BCDMA_V2
  dmaengine: ti: k3-udma-v2: Add support for PKTDMA V2
  dmaengine: ti: k3-udma-v2: Update glue layer to support PKTDMA V2

 .../bindings/dma/ti/k3-bcdma-v2.yaml          |   97 +
 .../bindings/dma/ti/k3-pktdma-v2.yaml         |   73 +
 drivers/dma/ti/Kconfig                        |   14 +-
 drivers/dma/ti/Makefile                       |    6 +-
 drivers/dma/ti/k3-psil-am62l.c                |  132 +
 drivers/dma/ti/k3-psil-priv.h                 |    1 +
 drivers/dma/ti/k3-psil.c                      |    1 +
 drivers/dma/ti/k3-udma-common.c               | 2556 ++++++++++++++
 drivers/dma/ti/k3-udma-glue.c                 |   91 +-
 drivers/dma/ti/k3-udma-private.c              |   48 +-
 drivers/dma/ti/k3-udma-v2.c                   | 1479 ++++++++
 drivers/dma/ti/k3-udma.c                      | 3088 +----------------
 drivers/dma/ti/k3-udma.h                      |  583 ++++
 drivers/soc/ti/Kconfig                        |    1 -
 drivers/soc/ti/k3-ringacc.c                   |  183 +-
 include/linux/soc/ti/k3-ringacc.h             |   20 +
 16 files changed, 5336 insertions(+), 3037 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/dma/ti/k3-bcdma-v2.yaml
 create mode 100644 Documentation/devicetree/bindings/dma/ti/k3-pktdma-v2.yaml
 create mode 100644 drivers/dma/ti/k3-psil-am62l.c
 create mode 100644 drivers/dma/ti/k3-udma-common.c
 create mode 100644 drivers/dma/ti/k3-udma-v2.c


base-commit: 475c850a7fdd0915b856173186d5922899d65686
-- 
2.34.1


^ permalink raw reply	[flat|nested] 23+ messages in thread

end of thread, other threads:[~2025-06-18  8:05 UTC | newest]

Thread overview: 23+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-06-12  7:15 [PATCH v2 00/17] dmaengine: ti: Add support for BCDMA v2 and PKTDMA v2 Sai Sree Kartheek Adivi
2025-06-12  7:15 ` [PATCH v2 01/17] dmaengine: ti: k3-udma: move macros to header file Sai Sree Kartheek Adivi
2025-06-12  7:15 ` [PATCH v2 02/17] dmaengine: ti: k3-udma: move structs and enums " Sai Sree Kartheek Adivi
2025-06-12  7:15 ` [PATCH v2 03/17] dmaengine: ti: k3-udma: move static inline helper functions " Sai Sree Kartheek Adivi
2025-06-12 11:05   ` Siddharth Vadapalli
2025-06-18  8:04     ` Adivi, Sai Sree Kartheek
2025-06-12  7:15 ` [PATCH v2 04/17] dmaengine: ti: k3-udma: move descriptor management to k3-udma-common.c Sai Sree Kartheek Adivi
2025-06-12  7:15 ` [PATCH v2 05/17] dmaengine: ti: k3-udma: move ring management functions " Sai Sree Kartheek Adivi
2025-06-12  7:15 ` [PATCH v2 06/17] dmaengine: ti: k3-udma: Add variant-specific function pointers to udma_dev Sai Sree Kartheek Adivi
2025-06-12  7:15 ` [PATCH v2 07/17] dmaengine: ti: k3-udma: move udma utility functions to k3-udma-common.c Sai Sree Kartheek Adivi
2025-06-12  7:15 ` [PATCH v2 08/17] dmaengine: ti: k3-udma: move resource management " Sai Sree Kartheek Adivi
2025-06-12  7:15 ` [PATCH v2 09/17] dmaengine: ti: k3-udma: refactor resource setup functions Sai Sree Kartheek Adivi
2025-06-12  7:15 ` [PATCH v2 10/17] dmaengine: ti: k3-udma: move inclusion of k3-udma-private.c to k3-udma-common.c Sai Sree Kartheek Adivi
2025-06-12  7:15 ` [PATCH v2 11/17] drivers: soc: ti: k3-ringacc: handle absence of tisci Sai Sree Kartheek Adivi
2025-06-12  7:15 ` [PATCH v2 12/17] dt-bindings: dma: ti: Add document for K3 BCDMA V2 Sai Sree Kartheek Adivi
2025-06-12  8:55   ` Rob Herring (Arm)
2025-06-12 12:27   ` Rob Herring
2025-06-12  7:15 ` [PATCH v2 13/17] dt-bindings: dma: ti: Add document for K3 PKTDMA V2 Sai Sree Kartheek Adivi
2025-06-12  8:55   ` Rob Herring (Arm)
2025-06-12  7:15 ` [PATCH v2 14/17] dmaengine: ti: k3-psil-am62l: Add AM62Lx PSIL and PDMA data Sai Sree Kartheek Adivi
2025-06-12  7:15 ` [PATCH v2 15/17] dmaengine: ti: k3-udma-v2: New driver for K3 BCDMA_V2 Sai Sree Kartheek Adivi
2025-06-12  7:15 ` [PATCH v2 16/17] dmaengine: ti: k3-udma-v2: Add support for PKTDMA V2 Sai Sree Kartheek Adivi
2025-06-12  7:15 ` [PATCH v2 17/17] dmaengine: ti: k3-udma-v2: Update glue layer to support " Sai Sree Kartheek Adivi

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).