[PATCH 00/18] drm/etnaviv: MMUv2 and new hardware support

Lucas Stach l.stach at pengutronix.de
Mon Aug 22 11:00:54 UTC 2016


Hi all,

this series adds support for the new MMU version 2, found on newer
Vivante cores. The new MMU provides full isolation, with no way for
the GPU to bypass it. This may enable optimizations like skipping
commandstream validation later on. For now we stick with a single
address space for all clients, making the initial implementation
a lot simpler.

With the support for the new MMU in place it is trivial to add
support for the new Vivante cores, found on the i.MX6 QuadPlus.

I've only really tested this series with the 2D core yet, as the
3D userspace needs some changes to work properly on top of the
GC3000 cores. Those are still in the works and will be published
in coming days.

Regards,
Lucas 

Lucas Stach (18):
  drm/etnaviv: reset GPU when coming back from suspend
  drm/etnaviv: only try to use the linear window on MMUv1
  drm/etnaviv: only check if the cmdbuf is inside the linear window on
    MMUv1
  drm/etnaviv: rename etnaviv_iommu_domain_restore to
    etnaviv_iommuv1_restore
  drm/etnaviv: move linear window setup into etnaviv_iommuv1_restore
  drm/etnaviv: indirect IOMMU restore through etnaviv MMU
  drm/etnaviv: move IOMMU domain allocation into etnaviv MMU
  drm/etnaviv: remove unused iommu_v2 header
  drm/etnaviv: move gpu_va() to etnaviv mmu
  drm/etnaviv: split out wait for gpu idle
  drm/etnaviv: split out FE start
  drm/etnaviv: split out iova search and MMU reaping logic
  drm/etnaviv: map cmdbuf through MMU on version 2
  drm/etnaviv: add function to construct MMUv2 init buffer
  drm/etnaviv: add flushing logic for MMUv2
  drm/etnaviv: handle MMU exception in IRQ handler
  drm/etnaviv: implement IOMMUv2 translation
  drm/etnaviv: fix up model and revision for GC2000+

 drivers/gpu/drm/etnaviv/etnaviv_buffer.c   |  81 +++++++--
 drivers/gpu/drm/etnaviv/etnaviv_drv.h      |   1 +
 drivers/gpu/drm/etnaviv/etnaviv_gpu.c      | 137 +++++++--------
 drivers/gpu/drm/etnaviv/etnaviv_gpu.h      |   4 +
 drivers/gpu/drm/etnaviv/etnaviv_iommu.c    |  15 +-
 drivers/gpu/drm/etnaviv/etnaviv_iommu.h    |  10 +-
 drivers/gpu/drm/etnaviv/etnaviv_iommu_v2.c | 257 ++++++++++++++++++++++++++++-
 drivers/gpu/drm/etnaviv/etnaviv_iommu_v2.h |  25 ---
 drivers/gpu/drm/etnaviv/etnaviv_mmu.c      | 144 ++++++++++++----
 drivers/gpu/drm/etnaviv/etnaviv_mmu.h      |   9 +-
 drivers/gpu/drm/etnaviv/state_hi.xml.h     |   9 +-
 11 files changed, 532 insertions(+), 160 deletions(-)
 delete mode 100644 drivers/gpu/drm/etnaviv/etnaviv_iommu_v2.h

-- 
2.8.1



More information about the dri-devel mailing list