Re: [PATCH v2 0/6] DRM: VMA Access Management and Render Nodes

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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





[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux