[Intel-gfx] [PATCH 0/7] RFC: duct-tape for the gpu reset vs. modeset deadlock

Daniel Vetter daniel.vetter at ffwll.ch
Sat Jul 15 11:39:59 UTC 2017


Hi all,

Here's my patch series to unbreak the gpu reset vs. modeset deadlock.

First things first: This needs Maarten's swap_state series, otherwise the atomic
commit machinery will sooner or later shoot itself, keel over and take the
entire kernel with it.

There's two important bits in here:

- Reduce the scope of modeset locking, we accidentally encumbered all platforms
  with this problem instead of just pre-g4x (and igt testing in special
  test-only modes).

- Decouple the TDR from the atomic machinery. I've done this in 2 stage, first
  explicit wedge at the right spot, as a proof of concept and for testing. Then
  refine that hammer into just unbreaking the depency and so making sure TDR can
  do it's thing everywhere.

Seems to all work, but definitely needs more testing.

The only glitch left now is that on affected platforms you might spot a short
glitch until TDR has done its thing and rendering and atomic are in lockstep
again.

Cheers, Daniel

Daniel Vetter (7):
  drm/i915: Nuke legacy flip queueing code
  drm/i915: Unbreak gpu reset vs. modeset locking
  drm/atomic-helper: add sync_all helper for gpu reset
  drm/i915: only disable outputs in simulated gpu resets
  drm/i915: Avoid the gpu reset vs. modeset deadlock
  drm/i915: Push i915_sw_fence_wait into the nonblocking atomic commit
  drm/i915: More surgically unbreak the modeset vs reset deadlock

 drivers/gpu/drm/drm_atomic_helper.c  |  38 ++
 drivers/gpu/drm/i915/i915_drv.h      |   6 +-
 drivers/gpu/drm/i915/intel_display.c | 768 +++--------------------------------
 include/drm/drm_atomic_helper.h      |   1 +
 4 files changed, 100 insertions(+), 713 deletions(-)

-- 
2.13.2



More information about the Intel-gfx mailing list