Skip to content

drm/tegra: Support IOMMU-backed DMA API

Thierry Reding dri-devel linux-tegra 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest12 patches 2 repliesIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/12memory: tegra: Add gr2d and gr3d to DRM IOMMU groupdrivers/memory/tegra/tegra114.c drivers/memory/tegra/tegra124.c drivers/memory/tegra/tegra30.c+18 -112 replies
2/12drm/tegra: Simplify IOMMU group selectiondrivers/gpu/drm/tegra/dc.c drivers/gpu/drm/tegra/drm.c drivers/gpu/drm/tegra/drm.h +3 more+25 -200 replies
3/12gpu: host1x: Overhaul host1x_bo_{pin,unpin}() APIdrivers/gpu/drm/tegra/gem.c drivers/gpu/host1x/job.c include/linux/host1x.h+52 -140 replies
4/12gpu: host1x: Clean up debugfs on removaldrivers/gpu/host1x/dev.c+1 -00 replies
5/12gpu: host1x: Add direction flags to relocationsdrivers/gpu/drm/tegra/drm.c include/linux/host1x.h+6 -00 replies
6/12gpu: host1x: Allocate gather copy for host1xdrivers/gpu/host1x/job.c+6 -50 replies
7/12gpu: host1x: Support DMA mapping of buffersdrivers/gpu/drm/tegra/gem.c drivers/gpu/host1x/dev.c drivers/gpu/host1x/job.c +1 more+87 -240 replies
8/12gpu: host1x: Set DMA mask based on IOMMU setupdrivers/gpu/host1x/dev.c drivers/gpu/host1x/dev.h+136 -790 replies
9/12drm/tegra: Remove memory allocation from Falcon librarydrivers/gpu/drm/tegra/falcon.c drivers/gpu/drm/tegra/falcon.h drivers/gpu/drm/tegra/vic.c+68 -840 replies
10/12drm/tegra: falcon: Clarify address usagedrivers/gpu/drm/tegra/falcon.c drivers/gpu/drm/tegra/falcon.h drivers/gpu/drm/tegra/vic.c+34 -410 replies
11/12drm/tegra: Support DMA API for display controllersdrivers/gpu/drm/tegra/dc.c drivers/gpu/drm/tegra/hub.c drivers/gpu/drm/tegra/plane.c +1 more+120 -60 replies
12/12drm/tegra: Optionally attach clients to the IOMMUdrivers/gpu/drm/tegra/drm.c drivers/gpu/drm/tegra/drm.h+49 -180 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.

Read the v1 thread

Cover letter [PATCH 00/12] drm/tegra: Support IOMMU-backed DMA API

From: Thierry Reding <[email protected]>

This series is a continuation of the work to move host1x and Tegra DRM towards being able to use the IOMMU-backed DMA API.

The first two patches are required to workaround the shortage of IOMMU domains on older Tegra SoC generations. The remainder of the patches is mostly preparatory work to smoothen the transition to the DMA API. With all of these patches applied, it's possible for the drivers to either use the IOMMU API explicitly, or, if already attached to an DMA IOMMU domain, continue to use that existing mapping with the DMA API.

These patches apply on top of linux-next and the ->load()/->unload() removal patch from here:

	https://patchwork.freedesktop.org/patch/337896/

Thierry

Thierry Reding (12):
memory: tegra: Add gr2d and gr3d to DRM IOMMU group drm/tegra: Simplify IOMMU group selection
gpu: host1x: Overhaul host1x_bo_{pin,unpin}() API
gpu: host1x: Clean up debugfs on removal
gpu: host1x: Add direction flags to relocations
gpu: host1x: Allocate gather copy for host1x
gpu: host1x: Support DMA mapping of buffers
gpu: host1x: Set DMA mask based on IOMMU setup drm/tegra: Remove memory allocation from Falcon library drm/tegra: falcon: Clarify address usage drm/tegra: Support DMA API for display controllers drm/tegra: Optionally attach clients to the IOMMU

 drivers/gpu/drm/tegra/dc.c      |  10 +-
 drivers/gpu/drm/tegra/drm.c     |  82 ++++++++----
 drivers/gpu/drm/tegra/drm.h     |   4 +-
 drivers/gpu/drm/tegra/falcon.c  |  64 ++-------
 drivers/gpu/drm/tegra/falcon.h  |  16 +--
 drivers/gpu/drm/tegra/gem.c     |  46 ++++++-
 drivers/gpu/drm/tegra/gr2d.c    |   2 +-
 drivers/gpu/drm/tegra/gr3d.c    |   2 +-
 drivers/gpu/drm/tegra/hub.c     |   6 +-
 drivers/gpu/drm/tegra/plane.c   | 104 +++++++++++++++
 drivers/gpu/drm/tegra/plane.h   |   8 ++
 drivers/gpu/drm/tegra/vic.c     |  91 ++++++++-----
 drivers/gpu/host1x/dev.c        | 223 +++++++++++++++++++-------------
 drivers/gpu/host1x/dev.h        |   1 +
 drivers/gpu/host1x/job.c        |  91 +++++++++++--
 drivers/gpu/host1x/job.h        |   4 +
 drivers/memory/tegra/tegra114.c |  10 +-
 drivers/memory/tegra/tegra124.c |   8 +-
 drivers/memory/tegra/tegra30.c  |  11 +-
 include/linux/host1x.h          |  21 ++-
 20 files changed, 552 insertions(+), 252 deletions(-)
Signature · 6 lines
2.23.0

_______________________________________________
dri-devel mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/dri-devel