Re: [PATCH v6 00/10] Add GPCDMA support in Tegra264

From: Jon Hunter

Date: Fri Apr 10 2026 - 04:14:36 EST


Hi Vinod,

On 31/03/2026 19:06, Jon Hunter wrote:

On 31/03/2026 11:22, Akhil R wrote:
This series adds support for GPCDMA in Tegra264 with additional
support for separate stream ID for each channel. Tegra264 GPCDMA
controller has changes in the register offsets and uses 41-bit
addressing for memory. Add changes in the tegra186-gpc-dma driver
to support these.

v5->v6:
- Replace dev_err() with dev_err_probe() in the probe function for fixed
   return values also.
v4->v5:
- Use dev_err_probe() when returning error from the probe function.
- Remove tegra194 and tegra234 compatible from the reset 'if' condition
   in the bindings as suggested in v2 (which I missed).
v3->v4:
- Split device tree changes to two patches.
- Reordered patches to have fixes first.
- Added fixes tag to dt-bindings and device tree changes.
v2->v3:
- Add description for iommu-map property and update commit descriptions.
- Use enum for compatible string instead of const.
- Remove unused registers from struct tegra_dma_channel_regs.
- Use devm_of_dma_controller_register() to register the DMA controller.
- Remove return value check for mask setting in the driver as the bitmask
   value is always greater than 32.
v1->v2:
- Fix dt_bindings_check warnings
- Drop fallback compatible "nvidia,tegra186-gpcdma" from Tegra264 DT
- Use dma_addr_t for sg_req src/dst fields and drop separate high_add
   variable and check for the addr_bits only when programming the
   registers.
- Update address width to 39 bits for Tegra234 and before since the SMMU
   supports only up to 39 bits till Tegra234.
- Add a patch to do managed DMA controller registration.
- Describe the second iteration in the probe.
- Update commit descriptions.

Akhil R (10):
   dt-bindings: dma: nvidia,tegra186-gpc-dma: Make reset optional
   arm64: tegra: Remove fallback compatible for GPCDMA
   dt-bindings: dma: nvidia,tegra186-gpc-dma: Add iommu-map property
   dmaengine: tegra: Make reset control optional
   dmaengine: tegra: Use struct for register offsets
   dmaengine: tegra: Support address width > 39 bits
   dmaengine: tegra: Use managed DMA controller registration
   dmaengine: tegra: Use iommu-map for stream ID
   dmaengine: tegra: Add Tegra264 support
   arm64: tegra: Enable GPCDMA in Tegra264 and add iommu-map

  .../bindings/dma/nvidia,tegra186-gpc-dma.yaml |  32 +-
  .../arm64/boot/dts/nvidia/tegra264-p3834.dtsi |   4 +
  arch/arm64/boot/dts/nvidia/tegra264.dtsi      |   3 +-
  drivers/dma/tegra186-gpc-dma.c                | 429 +++++++++++-------
  4 files changed, 284 insertions(+), 184 deletions(-)


For the series ...

Reviewed-by: Jon Hunter <jonathanh@xxxxxxxxxx>

I am not sure if it is too late to pick this up for v7.1, but we would like to get this into -next if you are happy with it.

Thanks
Jon

--
nvpublic