[Intel-gfx] [PATCH 0/5] gpu reset improvements
Daniel Vetter
daniel.vetter at ffwll.ch
Sun Jun 24 16:42:31 CEST 2012
Hi all,
The first two patches are actually unrelated, I've stumbled over that while
chasing down a dead alley.
The later patches fix up some issues I've found around the gpu reset handling.
Without these running the hangman in a loop eventually fails, with these it
didn't fail on my ilk, snb & ivb while running for half a day.
Note that intel_ring_begin now unconditionally returns -EIO if the gpu died,
even when the reset code has not yet died. In pratice you'll only hit this when
the ringbuffer is completely full when the gpu died _and_ the gpu's death has
been declared while an execbuf ioctl call was in progress (specifically already
grabbed the mutex but hasn't yet emitted all the MI_ commands).
Still, with pipelined fencing gone and the flushing list's demise almost
certain I think we should push down the non-interruptible handling of
intel_ring_begin in the callchain and try to do the right thing in the execbuf
code at least. But that's future patch-fodder!
Happy bikeshedding!
Cheers, Daniel
Daniel Vetter (5):
drm/i915: wrap up gt powersave enabling functions
drm/i915: make enable/disable_gt_powersave locking consistent
drm/i915: don't return a spurious -EIO from intel_ring_begin
drm/i915: don't trylock in the gpu reset code
drm/i915: non-interruptible sleeps can't handle -EGAIN
drivers/gpu/drm/i915/i915_drv.c | 3 +-
drivers/gpu/drm/i915/i915_drv.h | 1 +
drivers/gpu/drm/i915/i915_gem.c | 19 ++++++++---
drivers/gpu/drm/i915/i915_suspend.c | 5 +--
drivers/gpu/drm/i915/intel_display.c | 23 +++----------
drivers/gpu/drm/i915/intel_drv.h | 9 ++---
drivers/gpu/drm/i915/intel_pm.c | 57 ++++++++++++++++++++-----------
drivers/gpu/drm/i915/intel_ringbuffer.c | 10 +++---
8 files changed, 65 insertions(+), 62 deletions(-)
--
1.7.10
More information about the Intel-gfx
mailing list