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

Thierry Reding thierry.reding at gmail.com
Mon Oct 28 12:37:06 UTC 2019


From: Thierry Reding <treding at nvidia.com>

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(-)

-- 
2.23.0



More information about the dri-devel mailing list