dri-devel Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v4 0/9] drm/panfrost: Add heap and no execute buffer allocation
@ 2019-08-08 22:21 Rob Herring
  2019-08-08 22:21 ` [PATCH v4 1/9] drm/gem: Allow sparsely populated page arrays in drm_gem_put_pages Rob Herring
                   ` (8 more replies)
  0 siblings, 9 replies; 16+ messages in thread
From: Rob Herring @ 2019-08-08 22:21 UTC (permalink / raw)
  To: dri-devel
  Cc: Tomeu Vizoso, Maxime Ripard, Robin Murphy, Steven Price,
	David Airlie, Boris Brezillon, Alyssa Rosenzweig, Sean Paul

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

Hopefully, this is the last version, but I made a few changes after
implementing per FD address spaces on top of this. Primarily, I moved the
GPU VA mapping into GEM open/close functions. This is a bit cleaner and
will work when we need access to per FD objects.

I also found a problem with how the GPU reset is handled with the MMU.
With the move to a threaded irq handler, it's not okay to unmask the MMU
at any time as was possible with panfrost_mmu_enable() calls. The result
was some consolidation of the reset calls.

Tomeu, I don't think there should be any changes in test results, but I
didn't add your tested-by as there are a few too many changes that I felt
comfortable with. I did test this with your series.

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

v4:
 - Move GPU VA mapping/unmapping to GEM open/close
 - Add rework of reset handling.
 - Rebased on top of madvise support

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 (9):
  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: Consolidate reset handling
  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_device.c |  16 +-
 drivers/gpu/drm/panfrost/panfrost_device.h |   1 +
 drivers/gpu/drm/panfrost/panfrost_drv.c    |  65 +++++--
 drivers/gpu/drm/panfrost/panfrost_gem.c    | 138 ++++++++++---
 drivers/gpu/drm/panfrost/panfrost_gem.h    |  17 +-
 drivers/gpu/drm/panfrost/panfrost_job.c    |   7 +-
 drivers/gpu/drm/panfrost/panfrost_mmu.c    | 216 +++++++++++++++++----
 drivers/gpu/drm/panfrost/panfrost_mmu.h    |   3 +-
 include/uapi/drm/panfrost_drm.h            |   3 +
 12 files changed, 374 insertions(+), 101 deletions(-)

--
2.20.1
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2019-08-09 21:40 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-08-08 22:21 [PATCH v4 0/9] drm/panfrost: Add heap and no execute buffer allocation Rob Herring
2019-08-08 22:21 ` [PATCH v4 1/9] drm/gem: Allow sparsely populated page arrays in drm_gem_put_pages Rob Herring
2019-08-08 22:21 ` [PATCH v4 2/9] drm/shmem: Put pages independent of a SG table being set Rob Herring
2019-08-08 23:15   ` Eric Anholt
2019-08-08 22:21 ` [PATCH v4 3/9] drm/panfrost: Restructure the GEM object creation Rob Herring
2019-08-09 10:11   ` Steven Price
2019-08-09 21:38   ` Alyssa Rosenzweig
2019-08-08 22:21 ` [PATCH v4 4/9] drm/panfrost: Split panfrost_mmu_map SG list mapping to its own function Rob Herring
2019-08-08 22:21 ` [PATCH v4 5/9] drm/panfrost: Add a no execute flag for BO allocations Rob Herring
2019-08-08 22:21 ` [PATCH v4 6/9] drm/panfrost: Consolidate reset handling Rob Herring
2019-08-09 10:24   ` Steven Price
2019-08-09 21:40   ` Alyssa Rosenzweig
2019-08-08 22:21 ` [PATCH v4 7/9] drm/panfrost: Convert MMU IRQ handler to threaded handler Rob Herring
2019-08-08 22:21 ` [PATCH v4 8/9] drm/panfrost: Add support for GPU heap allocations Rob Herring
2019-08-09 10:31   ` Steven Price
2019-08-08 22:22 ` [PATCH v4 9/9] drm/panfrost: Bump driver version to 1.1 Rob Herring

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox