1. 18 9月, 2009 1 次提交
  2. 11 9月, 2009 3 次提交
  3. 09 9月, 2009 1 次提交
  4. 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
  5. 07 9月, 2009 1 次提交
    • C
      drm/i915: Pad ringbuffer with NOOPs before wrapping · 0ef82af7
      Chris Wilson 提交于
      According to the docs, the ringbuffer is not allowed to wrap in the middle
      of an instruction.
      
      G45 PRM, Vol 1b, p101:
        While the “free space” wrap may allow commands to be wrapped around the
        end of the Ring Buffer, the wrap should only occur between commands.
        Padding (with NOP) may be required to follow this restriction.
      
      Do as commanded.
      
      [Having seen bug reports where there is evidence of split commands, but
      apparently the GPU has continued on merrily before a bizarre and untimely
      death, this may or may not fix a few random hangs.]
      Signed-off-by: NChris Wilson <chris@chris-wilson.co.uk>
      CC: Eric Anholt <eric@anholt.net>
      Signed-off-by: NEric Anholt <eric@anholt.net>
      0ef82af7
  6. 05 9月, 2009 2 次提交
  7. 30 8月, 2009 2 次提交
  8. 06 8月, 2009 1 次提交
  9. 30 7月, 2009 1 次提交
  10. 14 7月, 2009 1 次提交
  11. 11 7月, 2009 1 次提交
  12. 08 7月, 2009 2 次提交
  13. 02 7月, 2009 2 次提交
  14. 19 6月, 2009 3 次提交
  15. 10 6月, 2009 2 次提交
  16. 05 6月, 2009 2 次提交
  17. 04 6月, 2009 2 次提交
    • E
      drm/i915: Change GEM throttling to be 20ms like the comment says. · b962442e
      Eric Anholt 提交于
      keithp didn't like the original 20ms plan because a cooperative client could
      be starved by an uncooperative client.  There may even have been problems
      with cooperative clients versus cooperative clients.  So keithp changed
      throttle to just wait for the second to last seqno emitted by that client.
      It worked well, until we started getting more round-trips to the server
      due to DRI2 -- the server throttles in BlockHandler, and so if you did more
      than one round trip after finishing your frame, you'd end up unintentionally
      syncing to the swap.
      
      Fix this by keeping track of the client's requests, so the client can wait
      when it has an outstanding request over 20ms old.  This should have
      non-starving behavior, good behavior in the presence of restarts, and less
      waiting.  Improves high-settings openarena performance on my GM45 by 50%.
      Signed-off-by: NEric Anholt <eric@anholt.net>
      Reviewed-by: NJesse Barnes <jbarnes@virtuousgeek.org>
      b962442e
    • E
      drm/i915: Save/restore cursor state on suspend/resume. · 1fd1c624
      Eric Anholt 提交于
      This may fix cursor corruption in X on resume, which would persist until
      the cursor was hidden and then shown again.
      
      V2: Also include the cursor control regs.
      Signed-off-by: NEric Anholt <eric@anholt.net>
      Reviewed-by: NJesse Barnes <jbarnes@virtuousgeek.org>
      1fd1c624
  18. 23 5月, 2009 1 次提交
  19. 15 5月, 2009 1 次提交
  20. 01 5月, 2009 2 次提交
  21. 22 4月, 2009 1 次提交
  22. 18 4月, 2009 1 次提交
  23. 09 4月, 2009 2 次提交
    • 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
    • B
      drm/i915: Implement batch and ring buffer dumping · 6911a9b8
      Ben Gamari 提交于
      We create a debugfs node (i915_ringbuffer_data) to expose a hex dump
      of the ring buffer itself.  We also expose another debugfs node
      (i915_ringbuffer_info) with information on the state (i.e. head, tail
      addresses) of the ringbuffer.
      
      For batchbuffer dumping, we look at the device's active_list, dumping
      each object which has I915_GEM_DOMAIN_COMMAND in its read
      domains. This is all exposed through the dri/i915_batchbuffers debugfs
      file with a header for each object (giving the objects gtt_offset so
      that it can be matched against the offset given in the
      BATCH_BUFFER_START command.
      Signed-off-by: NBen Gamari <bgamari@gmail.com>
      Signed-off-by: NCarl Worth <cworth@cworth.org>
      Signed-off-by: NEric Anholt <eric@anholt.net>
      6911a9b8
  24. 02 4月, 2009 2 次提交
  25. 28 3月, 2009 2 次提交