| From: |
| Akhil R <akhilrajeev-AT-nvidia.com> |
| To: |
| Vinod Koul <vkoul-AT-kernel.org>, Frank Li <Frank.Li-AT-kernel.org>, Rob Herring <robh-AT-kernel.org>, Krzysztof Kozlowski <krzk+dt-AT-kernel.org>, Conor Dooley <conor+dt-AT-kernel.org>, Thierry Reding <thierry.reding-AT-gmail.com>, "Jonathan Hunter" <jonathanh-AT-nvidia.com>, Laxman Dewangan <ldewangan-AT-nvidia.com>, Philipp Zabel <p.zabel-AT-pengutronix.de>, <dmaengine-AT-vger.kernel.org>, <devicetree-AT-vger.kernel.org>, <linux-tegra-AT-vger.kernel.org>, <linux-kernel-AT-vger.kernel.org> |
| Subject: |
| [PATCH v4 00/10] Add GPCDMA support in Tegra264 |
| Date: |
| Thu, 26 Mar 2026 16:39:37 +0530 |
| Message-ID: |
| <20260326110948.68908-1-akhilrajeev@nvidia.com> |
| Cc: |
| Akhil R <akhilrajeev-AT-nvidia.com> |
| Archive-link: |
| Article |
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.
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 | 34 +-
.../arm64/boot/dts/nvidia/tegra264-p3834.dtsi | 4 +
arch/arm64/boot/dts/nvidia/tegra264.dtsi | 3 +-
drivers/dma/tegra186-gpc-dma.c | 435 +++++++++++-------
4 files changed, 292 insertions(+), 184 deletions(-)
--
2.50.1