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