1. 21 9月, 2010 7 次提交
  2. 18 9月, 2010 1 次提交
    • C
      drm/i915: use GMBUS to manage i2c links · f899fc64
      Chris Wilson 提交于
      Use the GMBUS interface rather than direct bit banging to grab the EDID
      over DDC (and for other forms of auxiliary communication with external
      display controllers). The hope is that this method will be much faster
      and more reliable than bit banging for fetching EDIDs from buggy monitors
      or through switches, though we still preserve the bit banging as a
      fallback in case GMBUS fails.
      
      Based on an original patch by Jesse Barnes.
      
      Cc: Jesse Barnes <jbarnes@virtuousgeek.org>
      Signed-off-by: NChris Wilson <chris@chris-wilson.co.uk>
      f899fc64
  3. 15 9月, 2010 2 次提交
  4. 14 9月, 2010 2 次提交
  5. 13 9月, 2010 1 次提交
  6. 11 9月, 2010 1 次提交
  7. 09 9月, 2010 2 次提交
  8. 08 9月, 2010 11 次提交
  9. 07 9月, 2010 1 次提交
  10. 10 8月, 2010 9 次提交
  11. 02 8月, 2010 3 次提交
    • C
      drm/i915: Repeat unbinding during free if interrupted (v6) · be72615b
      Chris Wilson 提交于
      If during the freeing of an object the unbind is interrupted by a system
      call, which is quite possible if we have outstanding GPU writes that
      must be flushed, the unbind is silently aborted. This still leaves the
      AGP region and backing pages allocated, and perhaps more importantly,
      the object remains upon the various lists exposing us to memory
      corruption.
      
      I think this is the cause behind the use-after-free, such as
      
        Bug 15664 - Graphics hang and kernel backtrace when starting Azureus
                    with Compiz enabled
        https://bugzilla.kernel.org/show_bug.cgi?id=15664
      
      v2: Daniel Vetter reminded me that kernel space programming is never easy.
      We cannot simply spin to clear the pending signal and so must deferred
      the freeing of the object until later.
      v3: Run from the top level retire requests.
      v4: Tested with P(return -ERESTARTSYS)=.5 from i915_gem_do_wait_request()
      v5: Rebase against Eric's for-linus tree.
      v6: Refactor, split and add a comment about avoiding unbounded recursion.
      Signed-off-by: NChris Wilson <chris@chris-wilson.co.uk>
      Cc: Daniel Vetter <daniel@ffwll.ch>
      Signed-off-by: NEric Anholt <eric@anholt.net>
      be72615b
    • C
      drm/i915: Refactor i915_gem_retire_requests() · b09a1fec
      Chris Wilson 提交于
      Combine the iteration over active render rings into a common function.
      This is in preparation for reusing the idle function to also retire
      deferred free requests.
      Signed-off-by: NChris Wilson <chris@chris-wilson.co.uk>
      Signed-off-by: NEric Anholt <eric@anholt.net>
      b09a1fec
    • C
      drm/i915: Use 128k alignment for untiled display surface on i965 (v2) · 534843da
      Chris Wilson 提交于
      The original i965, including the revised G35 and Q35, requires an
      alignment of 128K for the display surface with linear memory, so
      increase the requirement from 64k for these chipsets. For the later
      chipsets in the i965 family, only a 4k alignment is required. (So
      long as we do not start performing asynchronous flips.)
      
      Note the impact of this should be slight as on i965 we should be using a
      tiled frontbuffer for anything up to a 4096x4096 display.
      
      v2: compilation fixes and note that the docs do not exclude the G35 from
      the extra alignment.
      Signed-off-by: NChris Wilson <chris@chris-wilson.co.uk>
      Reviewed-by: NJesse Barnes <jbarnes@virtuousgeek.org>
      Signed-off-by: NEric Anholt <eric@anholt.net>
      534843da