1. 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
  2. 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
  3. 31 8月, 2009 1 次提交
    • D
      drm/kms: move driver specific fb common code to helper functions (v2) · 785b93ef
      Dave Airlie 提交于
      Initially I always meant this code to be shared, but things
      ran away from me before I got to it.
      
      This refactors the i915 and radeon kms fbdev interaction layers
      out into generic helpers + driver specific pieces.
      
      It moves all the panic/sysrq enhancements to the core file,
      and stores a linked list of kernel fbs. This could possibly be
      improved to only store the fb which has fbcon on it for panics
      etc.
      
      radeon retains some specific codes used for a big endian
      workaround.
      
      changes:
      fix oops in v1
      fix freeing path for crtc_info
      Reviewed-by: NJesse Barnes <jbarnes@virtuousgeek.org>
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      785b93ef
  4. 06 8月, 2009 1 次提交
  5. 04 8月, 2009 1 次提交
  6. 11 7月, 2009 1 次提交
  7. 02 7月, 2009 3 次提交
  8. 19 6月, 2009 2 次提交
  9. 12 6月, 2009 1 次提交
  10. 10 6月, 2009 1 次提交
  11. 05 6月, 2009 3 次提交
  12. 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
    • D
      drm: fix irq naming for kms drivers. · b8da7de5
      Dave Airlie 提交于
      allocating devname in the i915 driver was a hack originally and I
      forgot to figure out how to do this properly back then.
      
      So this is the cleaner version that just picks devname or driver name
      in the irq code.
      
      It removes the devname allocs from the i915 driver.
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      b8da7de5
  13. 15 5月, 2009 2 次提交
  14. 22 4月, 2009 1 次提交
  15. 18 4月, 2009 1 次提交
  16. 03 4月, 2009 1 次提交
  17. 02 4月, 2009 2 次提交
  18. 28 3月, 2009 3 次提交
  19. 13 3月, 2009 1 次提交
  20. 11 3月, 2009 1 次提交
  21. 25 2月, 2009 2 次提交
  22. 23 2月, 2009 1 次提交
  23. 08 2月, 2009 4 次提交
  24. 22 1月, 2009 2 次提交
  25. 16 1月, 2009 1 次提交
    • D
      drm/i915: add support for physical memory objects · 71acb5eb
      Dave Airlie 提交于
      This is an initial patch to do support for objects which needs physical
      contiguous main ram, cursors and overlay registers on older chipsets.
      
      These objects are bound on cursor bin, like pinning, and we copy
      the data to/from the backing store object into the real one on attach/detach.
      
      notes:
      possible over the top in attach/detach operations.
      no overlay support yet.
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      71acb5eb