drm/i915: Try to suppress more spurious PCH underruns on ILK-IVB
My ILK seems to generate a spurious PCH underrun with most interlaced HDMI modes. Add a second vblank wait to avoid it. We have seen some spurious PCH underruns still in CI as well, some of which seem to be progressive DP. The logs also point towards some spurious underrins with progressive HDMI on SNB. While I don't have a solid explanation for those let's try to kill all the birds with one stone and always do the double wait. Buzilla: https://bugs.freedesktop.org/show_bug.cgi?id=106387 Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20180524190406.2973-1-ville.syrjala@linux.intel.com Acked-by: Chris Wilson <chris@chris-wilson.co.uk>
This commit is contained in:
parent
10ed55e4d9
commit
ea80a661fe
@ -5528,9 +5528,16 @@ static void ironlake_crtc_enable(struct intel_crtc_state *pipe_config,
|
||||
if (HAS_PCH_CPT(dev_priv))
|
||||
cpt_verify_modeset(dev, intel_crtc->pipe);
|
||||
|
||||
/* Must wait for vblank to avoid spurious PCH FIFO underruns */
|
||||
if (intel_crtc->config->has_pch_encoder)
|
||||
/*
|
||||
* Must wait for vblank to avoid spurious PCH FIFO underruns.
|
||||
* And a second vblank wait is needed at least on ILK with
|
||||
* some interlaced HDMI modes. Let's do the double wait always
|
||||
* in case there are more corner cases we don't know about.
|
||||
*/
|
||||
if (intel_crtc->config->has_pch_encoder) {
|
||||
intel_wait_for_vblank(dev_priv, pipe);
|
||||
intel_wait_for_vblank(dev_priv, pipe);
|
||||
}
|
||||
intel_set_cpu_fifo_underrun_reporting(dev_priv, pipe, true);
|
||||
intel_set_pch_fifo_underrun_reporting(dev_priv, pipe, true);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user