[PATCH 0/3] drm/i915: Handle hanging during nonblocking modeset correctly.

Maarten Lankhorst maarten.lankhorst at linux.intel.com
Thu Jan 26 15:59:21 UTC 2017


When writing some testcases for nonblocking modesets. I found out that the
infinite wait on the old fb was causing issues.

A nonblocking modeset with a hang on the old fb, followed by a blocking
update was enough to trigger it.

For old platforms patch 2 is needed else
kms_busy.extended-modeset-hang-oldfb-*
will put the gpu in a bad state when the 90s in swap_state is reached,
for newer platforms patch 3 will fix this. The display doesn't need to be
reset when there are no CS flips and no display reset.

If you have a newer platform, (gen4+) then the display reset can be
simulated with the kms_busy.extended-modeset-hang-oldfb-with-reset-* test.

Maarten Lankhorst (3):
  drm/atomic: Bump timeout for waiting for hw_done to 90s in swap_state
  drm/i915: Set a timeout when waiting for fence on the old fb
  drm/i915: Skip modeset locking when atomic pageflips are used.

 drivers/gpu/drm/drm_atomic_helper.c  | 12 ++++++++----
 drivers/gpu/drm/i915/intel_display.c | 14 +++++++++++++-
 2 files changed, 21 insertions(+), 5 deletions(-)

-- 
2.7.4



More information about the dri-devel mailing list