All of lore.kernel.org
 help / color / mirror / Atom feed
From: Lucas Stach <l.stach@pengutronix.de>
To: etnaviv@lists.freedesktop.org
Cc: patchwork-lst@pengutronix.de, kernel@pengutronix.de,
	dri-devel@lists.freedesktop.org,
	Russell King <linux+etnaviv@armlinux.org.uk>
Subject: [PATCH 00/10] per-process address spaces for MMUv2
Date: Wed, 19 Dec 2018 15:45:36 +0100	[thread overview]
Message-ID: <20181219144546.28224-1-l.stach@pengutronix.de> (raw)

Hi all,

the following patches finally implement one of the longstanding TODO
items in the etnaviv driver: per-process address spaces. They are only
enabled for MMUv2, as switching the MMU context on MMUv1 would require
a full stop of the FE, which I deemed too expensive to do on potentially
every submitted commandstream.

For now this only provides better isolation between GPU clients, but it
is also a big step in the direction of supporting softpin. Softpin will
later be used by GC7000 userspace drivers to deal with texture descriptors
without the need to add even more relocation interfaces to the etnaviv
UAPI.

The changes are big and pretty disruptive, so I acknowledge that they
aren't prime targets for a quick review, but I would appreciate a
second pairs of eyes on them.

FWIW, I've been running a variation of those patches for some time on
GC2000, GC3000 and GC7000.

Regards,
Lucas

Lucas Stach (10):
  drm/etnaviv: move job context pointer to etnaviv_gem_submit
  drm/etnaviv: mmuv2: don't map zero page
  drm/etnaviv: split out cmdbuf mapping into address space
  drm/etnaviv: share a single cmdbuf suballoc region across all GPUs
  drm/etnaviv: replace MMU flush marker with flush sequence
  drm/etnaviv: rework MMU handling
  drm/etnaviv: split out starting of FE idle loop
  drm/etnaviv: provide MMU context to etnaviv_gem_mapping_get
  drm/etnaviv: implement per-process address spaces on MMUv2
  drm/etnaviv: dump only failing submit

 drivers/gpu/drm/etnaviv/etnaviv_buffer.c     |  83 +++--
 drivers/gpu/drm/etnaviv/etnaviv_cmdbuf.c     |  56 ++--
 drivers/gpu/drm/etnaviv/etnaviv_cmdbuf.h     |  18 +-
 drivers/gpu/drm/etnaviv/etnaviv_drv.c        |  27 +-
 drivers/gpu/drm/etnaviv/etnaviv_drv.h        |  12 +-
 drivers/gpu/drm/etnaviv/etnaviv_dump.c       |  63 ++--
 drivers/gpu/drm/etnaviv/etnaviv_dump.h       |   4 +-
 drivers/gpu/drm/etnaviv/etnaviv_gem.c        |  27 +-
 drivers/gpu/drm/etnaviv/etnaviv_gem.h        |   6 +-
 drivers/gpu/drm/etnaviv/etnaviv_gem_submit.c |  11 +-
 drivers/gpu/drm/etnaviv/etnaviv_gpu.c        | 131 ++++----
 drivers/gpu/drm/etnaviv/etnaviv_gpu.h        |  12 +-
 drivers/gpu/drm/etnaviv/etnaviv_iommu.c      | 160 +++++-----
 drivers/gpu/drm/etnaviv/etnaviv_iommu.h      |  20 --
 drivers/gpu/drm/etnaviv/etnaviv_iommu_v2.c   | 279 ++++++++---------
 drivers/gpu/drm/etnaviv/etnaviv_mmu.c        | 301 ++++++++++++-------
 drivers/gpu/drm/etnaviv/etnaviv_mmu.h        | 109 +++++--
 drivers/gpu/drm/etnaviv/etnaviv_sched.c      |   4 +-
 18 files changed, 717 insertions(+), 606 deletions(-)
 delete mode 100644 drivers/gpu/drm/etnaviv/etnaviv_iommu.h

-- 
2.19.1

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

             reply	other threads:[~2018-12-19 14:45 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-12-19 14:45 Lucas Stach [this message]
2018-12-19 14:45 ` [PATCH 01/10] drm/etnaviv: move job context pointer to etnaviv_gem_submit Lucas Stach
2018-12-28 12:23   ` Christian Gmeiner
2018-12-19 14:45 ` [PATCH 02/10] drm/etnaviv: mmuv2: don't map zero page Lucas Stach
2018-12-30 15:49   ` Guido Günther
2019-01-07  8:50     ` Lucas Stach
2019-01-07  9:13       ` Guido Günther
2019-01-07 15:02         ` Lucas Stach
2019-04-02 11:38           ` Guido Günther
2019-02-01  7:57   ` Christian Gmeiner
2019-04-02 11:39   ` Guido Günther
2018-12-19 14:45 ` [PATCH 03/10] drm/etnaviv: split out cmdbuf mapping into address space Lucas Stach
2018-12-19 14:45 ` [PATCH 04/10] drm/etnaviv: share a single cmdbuf suballoc region across all GPUs Lucas Stach
2018-12-19 14:45 ` [PATCH 05/10] drm/etnaviv: replace MMU flush marker with flush sequence Lucas Stach
2018-12-19 14:45 ` [PATCH 06/10] drm/etnaviv: rework MMU handling Lucas Stach
2018-12-19 14:45 ` [PATCH 07/10] drm/etnaviv: split out starting of FE idle loop Lucas Stach
2018-12-19 14:45 ` [PATCH 08/10] drm/etnaviv: provide MMU context to etnaviv_gem_mapping_get Lucas Stach
2018-12-19 14:45 ` [PATCH 09/10] drm/etnaviv: implement per-process address spaces on MMUv2 Lucas Stach
2018-12-19 14:45 ` [PATCH 10/10] drm/etnaviv: dump only failing submit Lucas Stach

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20181219144546.28224-1-l.stach@pengutronix.de \
    --to=l.stach@pengutronix.de \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=etnaviv@lists.freedesktop.org \
    --cc=kernel@pengutronix.de \
    --cc=linux+etnaviv@armlinux.org.uk \
    --cc=patchwork-lst@pengutronix.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.