1. 22 Feb, 2010 3 commits
    • Dave Airlie's avatar
      [rfc] drm/radeon/kms: pm debugging check for vbl. · f735261b
      Dave Airlie authored
      This patch adds a check on avivo chips to see if we are in the VBL
      region for the active crtcs when we trigger the engine change.
      
      I appear to have glitches locally on pm transistion (not sure all
      fixes are in yet) and this at least seems to be correct here,
      maybe others can test on systems with no glitches.
      f735261b
    • Pauli Nieminen's avatar
      drm/radeon: Fix memory allocation failures in the preKMS command stream checking. · b4fe9454
      Pauli Nieminen authored
      Allocation of single large block of memory may fail under memory
      presure. drm_buffer object can hold one large block of data in
      multiple independ pages which preents alloation failures.
      
      This patch converts all access to command stream to use drm_buffer
      interface. All direct access to array has to go tough drm_buffer
      functions to get correct pointer.
      
      Outputting the command stream to ring buffer needs to be awear of
      the split nature of drm_buffer. The output operation requires the
      new OUT_RING_DRM_BUFFER.
      Signed-off-by: default avatarPauli Nieminen <suokkos@gmail.com>
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      b4fe9454
    • Pauli Nieminen's avatar
      drm: Add generic multipart buffer. · 7a9f0dd9
      Pauli Nieminen authored
      Allocating multiple pages of memory for data that is coming
      from user space may fail. To fix memory allocation failures
      the buffer object should be split to multiple independ pages.
      
      drm buffer provides generic interface to copy and process
      large data arrays from user space.
      
      Interface includes allocation and free functions to allocate
      the buffer object and data storage pages.
      
      All access operations are performed relative to a internal
      pointer which is advanced with drm_buffer_advance function.
      
      The buffer can be accessed using drm_buffer_pointer_to_XXX
      functions if it is known that requested object doesn't split
      over a page boundary. These functions don't do any error
      checking to maximize performance.
      
      If there is large object which could be split there is special
      drm_buffer_read_object function. drm_buffer_read_object takes
      a pointer as argument which is used as temporary store for
      data if it is split over boundary in the buffer.
      Signed-off-by: default avatarPauli Nieminen <suokkos@gmail.com>
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      7a9f0dd9
  2. 18 Feb, 2010 10 commits
  3. 15 Feb, 2010 3 commits
  4. 11 Feb, 2010 9 commits
  5. 08 Feb, 2010 15 commits