[PATCH v2 0/6] DRM: VMA Access Management and Render Nodes
David Herrmann
dh.herrmann at gmail.com
Fri Aug 23 04:13:22 PDT 2013
Hi
I reduced the vma access-management patches to a minimum. I now do filp*
tracking in gem unconditionally and force drm_gem_mmap() to check this. Hence,
all gem drivers are safe now. For TTM drivers, I now use the already available
verify_access() callback to get access to the underlying gem-object. Pretty
simple.. Why hadn't I thought of that before?
Long story short: All drivers using GEM are safe now. This leaves vmwgfx.. But
they do their own access-management, anyway.
The 3 patches on top implement render-nodes. I added a "drm_rnodes" module
parameter to core drm. You need to pass "drm.rnodes=1" on the kernel
command-line or via sysfs _before_ loading a driver. Otherwise, render nodes
will not be created.
This allows us to test render-nodes and play with the API. I added FLINK for
now so we can better test it. Not sure whether we should allow it in the end,
though.
Maybe we can get this into 3.11?
Regards
David
David Herrmann (4):
drm/vma: add access management helpers
drm/gem: implement vma access management
drm: verify vma access in TTM+GEM drivers
drm: implement experimental render nodes
Kristian Høgsberg (1):
drm/i915: Support render nodes
Martin Peres (1):
drm/nouveau: Support render nodes
Documentation/DocBook/drm.tmpl | 71 ++++++++++++++++
drivers/gpu/drm/ast/ast_ttm.c | 4 +-
drivers/gpu/drm/cirrus/cirrus_ttm.c | 4 +-
drivers/gpu/drm/drm_drv.c | 15 ++--
drivers/gpu/drm/drm_fops.c | 14 +--
drivers/gpu/drm/drm_gem.c | 18 ++++
drivers/gpu/drm/drm_pci.c | 9 ++
drivers/gpu/drm/drm_platform.c | 9 ++
drivers/gpu/drm/drm_stub.c | 10 +++
drivers/gpu/drm/drm_usb.c | 9 ++
drivers/gpu/drm/drm_vma_manager.c | 155 ++++++++++++++++++++++++++++++++++
drivers/gpu/drm/i915/i915_dma.c | 36 ++++----
drivers/gpu/drm/i915/i915_drv.c | 3 +-
drivers/gpu/drm/mgag200/mgag200_ttm.c | 4 +-
drivers/gpu/drm/nouveau/nouveau_bo.c | 4 +-
drivers/gpu/drm/nouveau/nouveau_drm.c | 24 +++---
drivers/gpu/drm/qxl/qxl_ttm.c | 4 +-
drivers/gpu/drm/radeon/radeon_ttm.c | 4 +-
include/drm/drmP.h | 9 ++
include/drm/drm_vma_manager.h | 21 ++++-
20 files changed, 373 insertions(+), 54 deletions(-)
--
1.8.3.4
More information about the dri-devel
mailing list