[Intel-gfx] [3.14.0-rc4] regression: drm FIFO underruns

Daniel Vetter daniel at ffwll.ch
Tue May 13 18:38:32 CEST 2014


On Tue, May 13, 2014 at 05:21:49PM +0200, Jörg Otte wrote:
> 2014-05-13 15:22 GMT+02:00 Daniel Vetter <daniel at ffwll.ch>:
> > On Tue, May 13, 2014 at 12:38:41PM +0200, Daniel Vetter wrote:
> >> On Tue, May 13, 2014 at 12:29 PM, Jörg Otte <jrg.otte at gmail.com> wrote:
> >> >>> Branch drm-intel-nightly as of
> >> >>> ed60c27 drm-intel-nightly: 2014y-05m-09d-21h-51m-45s integration manifest
> >> >>> looks badly:
> >> >>>    - KDE splash screen on boot-up is not visible
> >> >>>    - x-windows don't have title and menu bars
> >> >>>    - KDE system menu is not visible
> >> >>>    - moving windows around destroys its content
> >> >>
> >> >> Ugh, that's ugly. Nothing else change like e.g. the version of
> >> >> xfree-video-intel?
> >> >
> >> >  (II) Loading /usr/lib/xorg/modules/drivers/intel_drv.so
> >> >  (II) Module intel: vendor="X.Org Foundation"
> >> >  compiled for 1.11.3, module version = 2.17.0
> >> >  Module class: X.Org Video Driver
> >> >  ABI class: X.Org Video Driver, version 11.0
> >>
> >> Chris, any ideas? It's an ivybridge apparently.
> >>
> >> For the fifo underruns I think we've fully confirmed that they only
> >> happen on boot-up. I'll try to come up with some ideas what could have
> >> gone wrong there.
> >
> > Please test the below patch.
> > -Daniel
> >
> > diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c
> > index b10fbde1d5ee..63ced2dee027 100644
> > --- a/drivers/gpu/drm/i915/i915_irq.c
> > +++ b/drivers/gpu/drm/i915/i915_irq.c
> > @@ -427,9 +427,6 @@ bool __intel_set_cpu_fifo_underrun_reporting(struct drm_device *dev,
> >
> >         ret = !intel_crtc->cpu_fifo_underrun_disabled;
> >
> > -       if (enable == ret)
> > -               goto done;
> > -
> >         intel_crtc->cpu_fifo_underrun_disabled = !enable;
> >
> >         if (enable && (INTEL_INFO(dev)->gen < 5 || IS_VALLEYVIEW(dev)))
> > @@ -441,7 +438,6 @@ bool __intel_set_cpu_fifo_underrun_reporting(struct drm_device *dev,
> >         else if (IS_GEN8(dev))
> >                 broadwell_set_fifo_underrun_reporting(dev, pipe, enable);
> >
> > -done:
> >         return ret;
> >  }
> >
> > --
> 
> Doesn't work for me, I still have an underrun at boot-up.

I'm at a loss tbh with ideas. We successfully disable both pipes, then
enable pipe A and it all works.

Then we enable pipe B and _both_ pipes underrun immediately afterwards.
Really strange. Can you please reproduce the issue again on
drm-intel-nightly (latest -nightly should also have the display
corruptions fixed, so good to retest anyway) and attach a new dmesg with
drm.debug=0xe.

Meanwhile I'll try to come up with new theories and ideas.

Thanks, Daniel
-- 
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch



More information about the Intel-gfx mailing list