1. 15 Jul, 2009 1 commit
  2. 14 Jun, 2009 1 commit
    • Thomas Hellstrom's avatar
      drm: Add the TTM GPU memory manager subsystem. · ba4e7d97
      Thomas Hellstrom authored
      
      
      TTM is a GPU memory manager subsystem designed for use with GPU
      devices with various memory types (On-card VRAM, AGP,
      PCI apertures etc.). It's essentially a helper library that assists
      the DRM driver in creating and managing persistent buffer objects.
      
      TTM manages placement of data and CPU map setup and teardown on
      data movement. It can also optionally manage synchronization of
      data on a per-buffer-object level.
      
      TTM takes care to provide an always valid virtual user-space address
      to a buffer object which makes user-space sub-allocation of
      big buffer objects feasible.
      
      TTM uses a fine-grained per buffer-object locking scheme, taking
      care to release all relevant locks when waiting for the GPU.
      Although this implies some locking overhead, it's probably a big
      win for devices with multiple command submission mechanisms, since
      the lock contention will be minimal.
      
      TTM can be used with whatever user-space interface the driver
      chooses, including GEM. It's used by the upcoming Radeon KMS DRM driver
      and is also the GPU memory management core of various new experimental
      DRM drivers.
      Signed-off-by: default avatarThomas Hellstrom <thellstrom@vmware.com>
      Signed-off-by: default avatarJerome Glisse <jglisse@redhat.com>
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      ba4e7d97
  3. 17 Oct, 2008 2 commits
    • Dave Airlie's avatar
      drm: wbinvd is cache coherent. · e0f0754f
      Dave Airlie authored
      
      
      doing an ipi for the wbinvd case isn't necessary.
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      e0f0754f
    • 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
  4. 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
  5. 06 Feb, 2008 1 commit
  6. 19 Oct, 2007 1 commit
  7. 11 Jul, 2007 1 commit
  8. 10 Mar, 2007 1 commit
  9. 21 Sep, 2006 3 commits
    • Thomas Hellstrom's avatar
      drm: update user token hashing and map handles · 8d153f71
      Thomas Hellstrom authored
      
      
      Keep hashed user tokens, with the following changes:
      32-bit physical device addresses are mapped directly to user-tokens. No
          duplicate maps are allowed, and the addresses are assumed to be outside
          of the range 0x10000000 through 0x30000000. The user-token is identical
          to the 32-bit physical start-address of the map.
      64-bit physical device addressed are mapped to user-tokens in the range
      0x10000000 to 0x30000000 with page-size increments. The user_token should
          not be interpreted as an address.
      Other map types, like upcoming TTM maps are mapped to user-tokens in the
          range
      0x10000000 to 0x30000000 with page-size increments. The user_token should
          not be interpreted as an address.
      
      Implement hashed map lookups.
      Signed-off-by: default avatarDave Airlie <airlied@linux.ie>
      8d153f71
    • Thomas Hellstrom's avatar
      drm: move drm authentication to new generic hash table. · 8669cbc5
      Thomas Hellstrom authored
      
      
      Fix drm_remove_magic potential memory leak / corruption. Move drm
      authentication token hashing to new generic hash table implementation.
      Signed-off-by: default avatarDave Airlie <airlied@linux.ie>
      8669cbc5
    • Thomas Hellstrom's avatar
      drm: add simple DRM memory manager, and hash table · 3a1bd924
      Thomas Hellstrom authored
      
      
      This adds the DRM hashtable and simple memory manager implementations from
      Tungsten Graphics, this is NOT the new memory manager, this is a replacement
      for the SIS and VIA memory managers.
      Signed-off-by: default avatarDave Airlie <airlied@linux.ie>
      3a1bd924