1. 22 11月, 2010 4 次提交
  2. 09 11月, 2010 1 次提交
  3. 21 10月, 2010 1 次提交
  4. 19 10月, 2010 1 次提交
  5. 05 10月, 2010 2 次提交
  6. 04 8月, 2010 1 次提交
  7. 07 5月, 2010 1 次提交
  8. 20 4月, 2010 2 次提交
    • J
      drm/ttm: remove io_ field from TTM V6 · 0c321c79
      Jerome Glisse 提交于
      All TTM driver have been converted to new io_mem_reserve/free
      interface which allow driver to choose and return proper io
      base, offset to core TTM for ioremapping if necessary. This
      patch remove what is now deadcode.
      
      V2 adapt to match with change in first patch of the patchset
      V3 update after io_mem_reserve/io_mem_free callback balancing
      V4 adjust to minor cleanup
      V5 remove the needs ioremap flag
      V6 keep the ioremapping facility in TTM
      
      [airlied- squashed driver removals in here also]
      Signed-off-by: NJerome Glisse <jglisse@redhat.com>
      Reviewed-by: NThomas Hellstrom <thellstrom@vmware.com>
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      0c321c79
    • J
      drm/ttm: ttm_fault callback to allow driver to handle bo placement V6 · 82c5da6b
      Jerome Glisse 提交于
      On fault the driver is given the opportunity to perform any operation
      it sees fit in order to place the buffer into a CPU visible area of
      memory. This patch doesn't break TTM users, nouveau, vmwgfx and radeon
      should keep working properly. Future patch will take advantage of this
      infrastructure and remove the old path from TTM once driver are
      converted.
      
      V2 return VM_FAULT_NOPAGE if callback return -EBUSY or -ERESTARTSYS
      V3 balance io_mem_reserve and io_mem_free call, fault_reserve_notify
         is responsible to perform any necessary task for mapping to succeed
      V4 minor cleanup, atomic_t -> bool as member is protected by reserve
         mecanism from concurent access
      V5 the callback is now responsible for iomapping the bo and providing
         a virtual address this simplify TTM and will allow to get rid of
         TTM_MEMTYPE_FLAG_NEEDS_IOREMAP
      V6 use the bus addr data to decide to ioremap or this isn't needed
         but we don't necesarily need to ioremap in the callback but still
         allow driver to use static mapping
      Signed-off-by: NJerome Glisse <jglisse@redhat.com>
      Reviewed-by: NThomas Hellstrom <thellstrom@vmware.com>
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      82c5da6b
  9. 08 4月, 2010 1 次提交
  10. 15 3月, 2010 1 次提交
  11. 01 3月, 2010 1 次提交
  12. 14 1月, 2010 1 次提交
  13. 10 12月, 2009 2 次提交
    • T
      drm/ttm: Have the TTM code return -ERESTARTSYS instead of -ERESTART. · 98ffc415
      Thomas Hellstrom 提交于
      Return -ERESTARTSYS instead of -ERESTART when interrupted by a signal.
      The -ERESTARTSYS is converted to an -EINTR by the kernel signal layer
      before returned to user-space.
      Signed-off-by: NThomas Hellstrom <thellstrom@vmware.com>
      Signed-off-by: NJerome Glisse <jglisse@redhat.com>
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      98ffc415
    • J
      drm/ttm: Rework validation & memory space allocation (V3) · ca262a99
      Jerome Glisse 提交于
      This change allow driver to pass sorted memory placement,
      from most prefered placement to least prefered placement.
      In order to avoid long function prototype a structure is
      used to gather memory placement informations such as range
      restriction (if you need a buffer to be in given range).
      Range restriction is determined by fpfn & lpfn which are
      the first page and last page number btw which allocation
      can happen. If those fields are set to 0 ttm will assume
      buffer can be put anywhere in the address space (thus it
      avoids putting a burden on the driver to always properly
      set those fields).
      
      This patch also factor few functions like evicting first
      entry of lru list or getting a memory space. This avoid
      code duplication.
      
      V2: Change API to use placement flags and array instead
          of packing placement order into a quadword.
      V3: Make sure we set the appropriate mem.placement flag
          when validating or allocation memory space.
      
      [Pending Thomas Hellstrom further review but okay
      from preliminary review so far].
      Signed-off-by: NJerome Glisse <jglisse@redhat.com>
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      ca262a99
  14. 07 12月, 2009 1 次提交
  15. 19 8月, 2009 1 次提交
  16. 29 7月, 2009 1 次提交
    • D
      drm/radeon/kms: add initial colortiling support. · e024e110
      Dave Airlie 提交于
      This adds new set/get tiling interfaces where the pitch
      and macro/micro tiling enables can be set. Along with
      a flag to decide if this object should have a surface when mapped.
      
      The only thing we need to allocate with a mapped surface should be
      the frontbuffer. Note rotate scanout shouldn't require one, and
      back/depth shouldn't either, though mesa needs some fixes.
      
      It fixes the TTM interfaces along Thomas's suggestions, and I've tested
      the surface stealing code with two X servers and not seen any lockdep issues.
      
      I've stopped tiling the fbcon frontbuffer, as I don't see there being
      any advantage other than testing, I've left the testing commands in there,
      just flip the fb_tiled to true in radeon_fb.c
      
      Open: Can we integrate endian swapping in with this?
      
      Future features:
      texture tiling - need to relocate texture registers TXOFFSET* with tiling info.
      
      This also merges Michel's cleanup surfaces regs at init time patch
      even though it makes sense on its own, this patch really relies on it.
      
      Some PowerMac firmwares set up a tiling surface at the beginning of VRAM
      which messes us up otherwise.
      that patch is:
      Signed-off-by: NMichel Dänzer <daenzer@vmware.com>
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      e024e110
  17. 15 7月, 2009 1 次提交
  18. 15 6月, 2009 1 次提交
    • T
      drm: Add the TTM GPU memory manager subsystem. · ba4e7d97
      Thomas Hellstrom 提交于
      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: NThomas Hellstrom <thellstrom@vmware.com>
      Signed-off-by: NJerome Glisse <jglisse@redhat.com>
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      ba4e7d97