drm/i915: Wait for scanout to stop when sanitizing planes
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Wed, 17 Feb 2021 16:20:50 +0000 (18:20 +0200)
committerVille Syrjälä <ville.syrjala@linux.intel.com>
Thu, 18 Feb 2021 16:14:13 +0000 (18:14 +0200)
When we sanitize planes let's wait for the scanout to stop
before we let the subsequent code tear down the ggtt mappings
and whatnot. Cures an underrun on my ivb when I boot with
VT-d enabled and the BIOS fb gets thrown out due to stolen
being considered unusable with VT-d active.

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20210217162050.13803-1-ville.syrjala@linux.intel.com
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
drivers/gpu/drm/i915/display/intel_display.c

index 8c5e752..e106007 100644 (file)
@@ -2406,6 +2406,7 @@ static void intel_plane_disable_noatomic(struct intel_crtc *crtc,
                intel_set_cpu_fifo_underrun_reporting(dev_priv, crtc->pipe, false);
 
        intel_disable_plane(plane, crtc_state);
+       intel_wait_for_vblank(dev_priv, crtc->pipe);
 }
 
 static void