From: Ville Syrjälä Date: Wed, 29 Apr 2020 10:10:34 +0000 (+0300) Subject: drm/i915: Suppress spurious underruns on gen2 X-Git-Tag: v5.9-rc1~134^2~18^2~14 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=f6a7d3952cbed2c1e07d945dbb36f5c34200e9c1;p=thirdparty%2Flinux.git drm/i915: Suppress spurious underruns on gen2 Often we seem to detect an underrun right after modeset on gen2. It seems to be a spurious detection (potentially the pipe is still in a wonky state when we enable the planes). An extra vblank wait seems to cure it. Signed-off-by: Ville Syrjälä Link: https://patchwork.freedesktop.org/patch/msgid/20200429101034.8208-13-ville.syrjala@linux.intel.com Reviewed-by: José Roberto de Souza --- diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c index 4fdc9ccfea2ae..182cef0dc2fd9 100644 --- a/drivers/gpu/drm/i915/display/intel_display.c +++ b/drivers/gpu/drm/i915/display/intel_display.c @@ -7526,6 +7526,10 @@ static void i9xx_crtc_enable(struct intel_atomic_state *state, intel_crtc_vblank_on(new_crtc_state); intel_encoders_enable(state, crtc); + + /* prevents spurious underruns */ + if (IS_GEN(dev_priv, 2)) + intel_wait_for_vblank(dev_priv, pipe); } static void i9xx_pfit_disable(const struct intel_crtc_state *old_crtc_state)