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

From: JÃrg Otte
Date: Wed May 14 2014 - 04:52:18 EST


2014-05-13 18:38 GMT+02:00 Daniel Vetter <daniel@xxxxxxxx>:
> 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@xxxxxxxx>:
>> > 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@xxxxxxxxx> 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.

The Display corruption fix works for me.
Attached the dmesg with fifo underrun patch.

Thanks, JÃrg

Attachment: dmesg-nightly-1405-withfifopatch
Description: Binary data