Hi David,
Am 23.08.2013 13:13, schrieb David Herrmann:
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?
A bit unlikely, but 3.12 should work fine.
I'm working on a project that can make good use of this, so if Alex
doesn't mind like to add the necessary radeon flags (should be only a
few one liners anyway).
Cheers,
Christian.
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(-)
_______________________________________________
dri-devel mailing list
dri-devel@xxxxxxxxxxxxxxxxxxxxx
http://lists.freedesktop.org/mailman/listinfo/dri-devel