From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [3.14.0-rc4] regression: drm FIFO underruns Date: Fri, 16 May 2014 14:53:46 +0300 Message-ID: <20140516115346.GO27580@intel.com> References: <20140509170335.GZ18465@intel.com> <20140512190300.GF25056@phenom.ffwll.local> <20140513132200.GC3908@phenom.ffwll.local> <20140513163832.GM3908@phenom.ffwll.local> Mime-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Return-path: Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by gabe.freedesktop.org (Postfix) with ESMTP id BAF8B6E2E4 for ; Fri, 16 May 2014 04:53:51 -0700 (PDT) Content-Disposition: inline In-Reply-To: <20140513163832.GM3908@phenom.ffwll.local> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: =?iso-8859-1?Q?J=F6rg?= Otte , Damien Lespiau , David Airlie , intel-gfx , Linux Kernel Mailing List , Dave Airlie , Linus Torvalds List-Id: intel-gfx@lists.freedesktop.org On Tue, May 13, 2014 at 06:38:32PM +0200, Daniel Vetter wrote: > On Tue, May 13, 2014 at 05:21:49PM +0200, J=F6rg Otte wrote: > > 2014-05-13 15:22 GMT+02:00 Daniel Vetter : > > > On Tue, May 13, 2014 at 12:38:41PM +0200, Daniel Vetter wrote: > > >> On Tue, May 13, 2014 at 12:29 PM, J=F6rg Otte w= rote: > > >> >>> 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=3D"X.Org Foundation" > > >> > compiled for 1.11.3, module version =3D 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 ha= ve > > >> gone wrong there. > > > > > > Please test the below patch. > > > -Daniel > > > > > > diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i= 915_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(stru= ct drm_device *dev, > > > > > > ret =3D !intel_crtc->cpu_fifo_underrun_disabled; > > > > > > - if (enable =3D=3D ret) > > > - goto done; > > > - > > > intel_crtc->cpu_fifo_underrun_disabled =3D !enable; > > > > > > if (enable && (INTEL_INFO(dev)->gen < 5 || IS_VALLEYVIEW(dev)= )) > > > @@ -441,7 +438,6 @@ bool __intel_set_cpu_fifo_underrun_reporting(stru= ct drm_device *dev, > > > else if (IS_GEN8(dev)) > > > broadwell_set_fifo_underrun_reporting(dev, pipe, enab= le); > > > > > > -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=3D0xe. I see a few underrun on my IVB as well. But it seems to be limited to cases that involve the VGA connector, which doesn't actually exist on this machine so I can't be sure if it's really properly set up on the PCH. But so far with just two HDMI connectors I was unable to reproduce it. > = > Meanwhile I'll try to come up with new theories and ideas. I was thinking that we might frob with the PCH refclk during driver init and that might cause the PCH underrun for J=F6rg, but it looks like the underruns really happen at the modeset time which is much later than the PCH refclock init. For the 1<->n pipe transition, I don't think we handle it correctly at the moment. I have a fix as part of my remaining watermark patches. I rebased those and I'll repost them soon. In the meantime I pushed them to [1]. J=F6rg, can you give that branch a go? [1] git://gitorious.org/vsyrjala/linux.git watermarks_intm_31_notrace -- = Ville Syrj=E4l=E4 Intel OTC