1. 22 Dec, 2009 1 commit
  2. 09 Dec, 2009 2 commits
  3. 03 Dec, 2009 1 commit
  4. 23 Nov, 2009 1 commit
    • Jerome Glisse's avatar
      drm: mm always protect change to unused_nodes with unused_lock spinlock · a698cf34
      Jerome Glisse authored
      
      
      unused_nodes modification needs to be protected by unused_lock spinlock.
      Here is an example of an usage where there is no such protection without
      this patch.
      
        Process 1: 1-drm_mm_pre_get(this function modify unused_nodes list)
                   2-spin_lock(spinlock protecting mm struct)
                   3-drm_mm_put_block(this function might modify unused_nodes
                     list but doesn't protect modification with unused_lock)
                   4-spin_unlock(spinlock protecting mm struct)
        Process2:  1-drm_mm_pre_get(this function modify unused_nodes list)
      At this point Process1 & Process2 might both be doing modification to
      unused_nodes list. This patch add unused_lock protection into
      drm_mm_put_block to avoid such issue.
      
      Signed-off-by: default avatarJerome Glisse <jglisse@redhat.com>
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      a698cf34
  5. 01 Sep, 2009 1 commit
  6. 18 Jun, 2009 1 commit
  7. 14 Jun, 2009 1 commit
  8. 11 Jun, 2009 1 commit
  9. 29 Dec, 2008 1 commit
    • Dave Airlie's avatar
      DRM: add mode setting support · f453ba04
      Dave Airlie authored
      
      
      Add mode setting support to the DRM layer.
      
      This is a fairly big chunk of work that allows DRM drivers to provide
      full output control and configuration capabilities to userspace.  It was
      motivated by several factors:
        - the fb layer's APIs aren't suited for anything but simple
          configurations
        - coordination between the fb layer, DRM layer, and various userspace
          drivers is poor to non-existent (radeonfb excepted)
        - user level mode setting drivers makes displaying panic & oops
          messages more difficult
        - suspend/resume of graphics state is possible in many more
          configurations with kernel level support
      
      This commit just adds the core DRM part of the mode setting APIs.
      Driver specific commits using these new structure and APIs will follow.
      
      Co-authors: Jesse Barnes <jbarnes@virtuousgeek.org>, Jakob Bornecrantz <jakob@tungstengraphics.com>
      Contributors: Alan Hourihane <alanh@tungstengraphics.com>, Maarten Maathuis <madman2003@gmail.com>
      
      Signed-off-by: default avatarJesse Barnes <jbarnes@virtuousgeek.org>
      Signed-off-by: default avatarEric Anholt <eric@anholt.net>
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      f453ba04
  10. 17 Oct, 2008 1 commit
    • Eric Anholt's avatar
      drm: Add GEM ("graphics execution manager") to i915 driver. · 673a394b
      Eric Anholt authored
      
      
      GEM allows the creation of persistent buffer objects accessible by the
      graphics device through new ioctls for managing execution of commands on the
      device.  The userland API is almost entirely driver-specific to ensure that
      any driver building on this model can easily map the interface to individual
      driver requirements.
      
      GEM is used by the 2d driver for managing its internal state allocations and
      will be used for pixmap storage to reduce memory consumption and enable
      zero-copy GLX_EXT_texture_from_pixmap, and in the 3d driver is used to enable
      GL_EXT_framebuffer_object and GL_ARB_pixel_buffer_object.
      
      Signed-off-by: default avatarEric Anholt <eric@anholt.net>
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      673a394b
  11. 13 Jul, 2008 1 commit
    • Dave Airlie's avatar
      drm: reorganise drm tree to be more future proof. · c0e09200
      Dave Airlie authored
      
      
      With the coming of kernel based modesetting and the memory manager stuff,
      the everything in one directory approach was getting very ugly and
      starting to be unmanageable.
      
      This restructures the drm along the lines of other kernel components.
      
      It creates a drivers/gpu/drm directory and moves the hw drivers into
      subdirectores. It moves the includes into an include/drm, and
      sets up the unifdef for the userspace headers we should be exporting.
      
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      c0e09200
  12. 06 Feb, 2008 1 commit
  13. 19 Oct, 2007 1 commit
  14. 11 Jul, 2007 1 commit
  15. 10 Mar, 2007 1 commit
  16. 07 Feb, 2007 1 commit
    • Thomas Hellstrom's avatar
      drm: update core memory manager from git drm tree · 1d58420b
      Thomas Hellstrom authored
      
      
      Remove the memory manager parameter from the put_block function, as this
      makes the client code a lot cleaner. Prepare buffer manager for lock and
      unlock calls.
      Fix buggy aligned allocations.
      Remove the stupid root_node field from the core memory manager.
      Support multi-page buffer offset alignments
      Add improved alignment functionality to the core memory manager.
      This makes an allocated block actually align itself and returns any
      wasted space to the manager.
      
      Signed-off-by: default avatarDave Airlie <airlied@linux.ie>
      1d58420b
  17. 21 Sep, 2006 2 commits