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(-) >