[PATCH v3 0/8] drm/panfrost: Add heap and no execute buffer allocation

Rob Herring robh at kernel.org
Fri Aug 2 19:51:42 UTC 2019


This series adds new BO allocation flags PANFROST_BO_HEAP and
PANFROST_BO_NOEXEC. The heap allocations are paged in on GPU page faults.

Tomeu reports he has tested this in the panfrost CI.

This is based on drm-misc-next. An updated branch is here[1].

v3:
 - Retain shared irq support, splitting IRQ changes to separate patch (6/8)
 - Stop leaking SG tables
 - Prevent mmap and pinning pages for heap BOs

Rob

[1] git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux.git panfrost/heap-noexec


Rob Herring (8):
  drm/gem: Allow sparsely populated page arrays in drm_gem_put_pages
  drm/shmem: Put pages independent of a SG table being set
  drm/panfrost: Restructure the GEM object creation
  drm/panfrost: Split panfrost_mmu_map SG list mapping to its own
    function
  drm/panfrost: Add a no execute flag for BO allocations
  drm/panfrost: Convert MMU IRQ handler to threaded handler
  drm/panfrost: Add support for GPU heap allocations
  drm/panfrost: Bump driver version to 1.1

 drivers/gpu/drm/drm_gem.c               |   3 +
 drivers/gpu/drm/drm_gem_shmem_helper.c  |   4 +-
 drivers/gpu/drm/panfrost/TODO           |   2 -
 drivers/gpu/drm/panfrost/panfrost_drv.c |  65 ++++++--
 drivers/gpu/drm/panfrost/panfrost_gem.c | 106 +++++++++++--
 drivers/gpu/drm/panfrost/panfrost_gem.h |  16 +-
 drivers/gpu/drm/panfrost/panfrost_mmu.c | 200 ++++++++++++++++++++----
 include/uapi/drm/panfrost_drm.h         |   3 +
 8 files changed, 333 insertions(+), 66 deletions(-)

--
2.20.1


More information about the dri-devel mailing list