1. 03 May, 2012 14 commits
  2. 18 Apr, 2012 10 commits
  3. 17 Apr, 2012 2 commits
  4. 15 Apr, 2012 1 commit
    • Daniel Vetter's avatar
      drm/i915: don't pwrite tiled objects through the gtt · c07496fa
      Daniel Vetter authored
      ... we will botch up the bit17 swizzling. Furthermore tiled pwrite is
      a (now) unused slowpath, so no one really cares.
      This fixes the last swizzling issues I have with i-g-t on my bit17
      swizzling i915G. No regression, it's been broken since the dawn of
      gem, but it's nice for regression tracking when really _all_ i-g-t
      tests work.
      Actually this is not true, Chris Wilson noticed while reviewing this
      patch that the commit
      commit d9e86c0e
      Author: Chris Wilson <chris@chris-wilson.co.uk>
      Date:   Wed Nov 10 16:40:20 2010 +0000
          drm/i915: Pipelined fencing [infrastructure]
      contained a functional change that broke things.
      Reviewed-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
      Signed-Off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
  5. 12 Apr, 2012 7 commits
  6. 09 Apr, 2012 1 commit
  7. 01 Apr, 2012 2 commits
  8. 28 Mar, 2012 1 commit
  9. 27 Mar, 2012 2 commits
    • Daniel Vetter's avatar
      drm/i915: mark pwrite/pread slowpaths with unlikely · e7e58eb5
      Daniel Vetter authored
      Beside helping the compiler untangle this maze they double-up as
      documentation for which parts of the code aren't performance-critical
      but just around to keep old (but already dead-slow) userspace from
      Reviewed-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
      Signed-Off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
    • Daniel Vetter's avatar
      drm/i915: fixup in-line clflushing on bit17 swizzled bos · 23c18c71
      Daniel Vetter authored
      The issue is that with inline clflushing the clflushing isn't properly
      swizzled. Fix this by
      - always clflushing entire 128 byte chunks and
      - unconditionally flush before writes when swizzling a given page.
        We could be clever and check whether we pwrite a partial 128 byte
        chunk instead of a partial cacheline, but I've figured that's not
        worth it.
      Now the usual approach is to fold this into the original patch series, but
      I've opted against this because
      - this fixes a corner case only very old userspace relies on and
      - I'd like to not invalidate all the testing the pwrite rewrite has gotten.
      This fixes the regression notice by tests/gem_tiled_partial_prite_pread
      from i-g-t. Unfortunately it doesn't fix the issues with partial pwrites to
      tiled buffers on bit17 swizzling machines. But that is also broken without
      the pwrite patches, so likely a different issue (or a problem with the
      v2: Simplify the patch by dropping the overly clever partial write
      logic for swizzled pages.
      Reviewed-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
      Signed-Off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>