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

Jon Hunter
2026-03-31T18:06:12Z

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@nvidia.com>

Thanks!
Jon

--
nvpublic