1. 11 5月, 2010 1 次提交
  2. 19 4月, 2010 1 次提交
    • D
      drm/i915: fix tiling limits for i915 class hw v2 · c36a2a6d
      Daniel Vetter 提交于
      Current code is definitely crap: Largest pitch allowed spills into
      the TILING_Y bit of the fence registers ... :(
      
      I've rewritten the limits check under the assumption that 3rd gen hw
      has a 3d pitch limit of 8kb (like 2nd gen). This is supported by an
      otherwise totally misleading XXX comment.
      
      This bug mostly resulted in tiling-corrupted pixmaps because the kernel
      allowed too wide buffers to be tiled. Bug brought to the light by the
      xf86-video-intel 2.11 release because that unconditionally enabled
      tiling for pixmaps, relying on the kernel to check things. Tiling for
      the framebuffer was not affected because the ddx does some additional
      checks there ensure the buffer is within hw-limits.
      
      v2: Instead of computing the value that would be written into the
      hw fence registers and then checking the limits simply check whether
      the stride is above the 8kb limit. To better document the hw, add
      some WARN_ONs in i915_write_fence_reg like I've done for the i830
      case (using the right limits).
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=27449Tested-by: NAlexander Lam <lambchop468@gmail.com>
      Cc: stable@kernel.org
      Signed-off-by: NEric Anholt <eric@anholt.net>
      c36a2a6d
  3. 26 3月, 2010 1 次提交
  4. 19 3月, 2010 1 次提交
  5. 27 2月, 2010 1 次提交
  6. 23 2月, 2010 2 次提交
  7. 17 2月, 2010 1 次提交
  8. 11 2月, 2010 1 次提交
  9. 07 1月, 2010 1 次提交
  10. 08 12月, 2009 1 次提交
  11. 06 11月, 2009 1 次提交
  12. 08 9月, 2009 1 次提交
    • D
      drm/i915: get the bridge device once. · ec2a4c3f
      Dave Airlie 提交于
      The driver gets the bridge device in a number of places, upcoming
      vga arb code paths need the bridge device, however they need it in
      under a lock, and the pci lookup can allocate memory. So clean
      this code up before then and get the bridge once for the driver lifetime.
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      ec2a4c3f
  13. 05 9月, 2009 1 次提交
  14. 11 7月, 2009 1 次提交
  15. 19 6月, 2009 2 次提交
  16. 10 6月, 2009 1 次提交
  17. 05 6月, 2009 1 次提交
  18. 27 5月, 2009 1 次提交
    • E
      drm/i915: Fix tiling pitch handling on 8xx. · e76a16de
      Eric Anholt 提交于
      The pitch field is an exponent on pre-965, so we were rejecting buffers
      on 8xx that we shouldn't have.  915 got lucky in that the largest legal
      value happened to match (8KB / 512 = 0x10), but 8xx has a smaller tile width.
      Additionally, we programmed that bad value into the register on 8xx, so the
      only pitch that would work correctly was 4096 (512-1023 pixels), while others
      would probably give bad rendering or hangs.
      Signed-off-by: NEric Anholt <eric@anholt.net>
      
      fd.o bug #20473.
      e76a16de
  19. 18 4月, 2009 1 次提交
  20. 09 4月, 2009 1 次提交
    • E
      drm/i915: Allow tiling of objects with bit 17 swizzling by the CPU. · 280b713b
      Eric Anholt 提交于
      Save the bit 17 state of the pages when freeing the page list, and
      reswizzle them if necessary when rebinding the pages (in case they were
      swapped out).  Since we have userland with expectations that the swizzle
      enums let it pread and pwrite contents accurately, we can't expose a new
      swizzle enum for bit 17 (which it would have to GTT map to handle), so we
      handle it down in pread and pwrite by swizzling the copy when bit 17 of the
      page address is set.
      Signed-off-by: NEric Anholt <eric@anholt.net>
      280b713b
  21. 02 4月, 2009 1 次提交
    • D
      drm/i915: fix up tiling/fence reg setup on i8xx class hw · 8d7773a3
      Daniel Vetter 提交于
      This fixes all the tiling problems with the 2d ddx. glxgears still doesn't work.
      Changes:
      
      - fix a copy&paste error in i8xx fence reg setup. It resulted in an at most a
        512KB offset of the fence reg window, so was only visible sometimes.
      - add tests for stride and object size constrains (also for i915 and 1965 class
        hw). Userspace seems to have an of-by-one bug there, which changes the fence
        size by at most 512KB due to an overflow.
      - because i8xx hw is quite old (and therefore not as well-tested) I left 2 debug
        WARN_ONs in the i8xx fence reg setup code to hopefully catch any further
        overflows in the bit-fields. Lastly there's one small change to make the
        alignment checks more consistent.
      
      Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=20289Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      Signed-off-by: NEric Anholt <eric@anholt.net>
      8d7773a3
  22. 28 3月, 2009 1 次提交
  23. 20 2月, 2009 1 次提交
  24. 08 2月, 2009 2 次提交
  25. 29 12月, 2008 1 次提交
  26. 04 12月, 2008 1 次提交
  27. 18 10月, 2008 3 次提交