[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <030ae04b-68b4-4570-90b3-1dfc6f31b4e5@gmail.com>
Date: Tue, 3 Feb 2026 08:42:24 +0200
From: Péter Ujfalusi <peter.ujfalusi@...il.com>
To: Sai Sree Kartheek Adivi <s-adivi@...com>, vkoul@...nel.org,
robh@...nel.org, krzk+dt@...nel.org, conor+dt@...nel.org, nm@...com,
ssantosh@...nel.org, dmaengine@...r.kernel.org, devicetree@...r.kernel.org,
linux-kernel@...r.kernel.org, linux-arm-kernel@...ts.infradead.org,
vigneshr@...com
Cc: r-sharma3@...com, gehariprasath@...com
Subject: Re: [PATCH v4 00/19] dmaengine: ti: Add support for BCDMA v2 and
PKTDMA v2
Hi
On 30/01/2026 13:01, Sai Sree Kartheek Adivi wrote:
> 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.
I think this looks really good overall, I have few nitpicks around
variable declaration order and one bigger ask for the possibility of
introducing version member to struct udma_match_data to cut down on
changes and have more targeted handling of the differences between the
two variants.
>
> Changes from v3 to v4:
> - Rename the dt-binding files to add "ti," prefix.
> - Update cell description in dt-bindings and add client examples.
> - Update k3_ring_intr_regs reg names
> - Rename soc specific data to bcdma_v2_data and pktdma_v2_data to
> bcdma_v2_am62l_data and pktdma_v2_am62l_data.
> - Add a new patch [18/19] to fix a null pointer dereference issue when
> trying to reserve a channel id that is out of bounds in
> udma_reserve_##res macro. Also fix logging issues in this macro.
> - Add a new patch [19/19] to switch to synchronous descriptor freeing to
> avoid running out of memory during stress tests.
> - Fix checkpatch warnings.
> link to v3:
> https://lore.kernel.org/linux-arm-kernel/20250623053716.1493974-1-s-adivi@ti.com
>
> Changes from v2 to v3:
> - Fix checkpatch errors & spellings.
> link to v2:
> https://lore.kernel.org/linux-arm-kernel/20250612071521.3116831-1-s-adivi@ti.com
>
> 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 (19):
> 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 K3 BCDMA V2
> dt-bindings: dma: ti: Add 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
> dmaengine: ti: k3-udma: Validate resource ID and fix logging in
> reservation
> dmaengine: ti: k3-udma: switch to synchronous descriptor freeing
>
> .../bindings/dma/ti/ti,k3-bcdma-v2.yaml | 116 +
> .../bindings/dma/ti/ti,k3-pktdma-v2.yaml | 90 +
> drivers/dma/ti/Kconfig | 21 +-
> drivers/dma/ti/Makefile | 5 +-
> 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 | 2577 ++++++++++++++
> drivers/dma/ti/k3-udma-glue.c | 91 +-
> drivers/dma/ti/k3-udma-private.c | 48 +-
> drivers/dma/ti/k3-udma-v2.c | 1472 ++++++++
> drivers/dma/ti/k3-udma.c | 3095 +----------------
> drivers/dma/ti/k3-udma.h | 583 ++++
> drivers/soc/ti/Kconfig | 1 -
> drivers/soc/ti/k3-ringacc.c | 188 +-
> include/linux/soc/ti/k3-ringacc.h | 20 +
> 16 files changed, 5402 insertions(+), 3039 deletions(-)
> create mode 100644 Documentation/devicetree/bindings/dma/ti/ti,k3-bcdma-v2.yaml
> create mode 100644 Documentation/devicetree/bindings/dma/ti/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
>
--
Péter
Powered by blists - more mailing lists