From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lyude Paul Subject: Re: [PATCH] drm/i915/ilk: Wait one vblank before enabling audio Date: Mon, 23 May 2016 15:30:15 -0400 Message-ID: <1464031815.26826.2.camel@redhat.com> References: <1463780200-22813-1-git-send-email-cpaul@redhat.com> <20160523180623.GU4329@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20160523180623.GU4329@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Ville =?ISO-8859-1?Q?Syrj=E4l=E4?= Cc: Daniel Vetter , intel-gfx@lists.freedesktop.org, "open list:INTEL DRM DRIVERS excluding Poulsbo, Moorestow..., linux-kernel@vger.kernel.org open list" , stable@vger.kernel.org List-Id: dri-devel@lists.freedesktop.org T24gTW9uLCAyMDE2LTA1LTIzIGF0IDIxOjA2ICswMzAwLCBWaWxsZSBTeXJqw6Rsw6Qgd3JvdGU6 Cj4gT24gRnJpLCBNYXkgMjAsIDIwMTYgYXQgMDU6MzY6NDBQTSAtMDQwMCwgTHl1ZGUgd3JvdGU6 Cj4gPiAKPiA+IFdlIG5vIGxvbmdlciBjYWxsIGlsa19hdWRpb19jb2RlY19lbmFibGUoKSB3aGls ZSB3ZSBoYXZlIHZibGFua3MKPiA+IGRpc2FibGVkLiBBcyBzdWNoLCB3ZSBjYW4gZmluYWxseSBm aXggdGhpcyBhbmQgc3RvcCB0aGUgb2NjYXNpb25hbCBwaXBlCj4gPiB1bmRlcnJ1bnMgSSdtIHNl ZWluZyBvbiB0aGlzIERlbGwgT3B0aVBsZXggOTkwLgo+IEhtbS4gQXJlIHlvdSBzdGlsbCBnZXR0 aW5nIHVuZGVycnVucyBvbiAtbmlnaHRseT8KRm9yIG1lIHRoZSBwcm9ibGVtIGlzbid0IGp1c3Qg dW5kZXJydW5zLCBhIGxvdCBvZiB0aW1lcyB0aGUgbW9kZXNldCByZXN1bHRzIGluIGEKYmxhbmsg bW9uaXRvciB3aXRob3V0IHRoaXMgZml44oCmIGFmYWljdCB3YWl0aW5nIGZvciAxIHZibGFuayBz ZWVtcyB0byBmaXggdGhlCmlzc3VlIGVudGlyZWx5IGhlcmUsIGJ1dCBJJ2xsIGNoZWNrIG1vcmUg dGhvcm91Z2hseSBpbiBhIGJpdCBhbmQgdXBkYXRlIHlvdSBpZiBJCm1hbmFnZSB0byBnZXQgaXQg dG8gdW5kZXJydW4uCgpDaGVlcnMsCkx5dWRlCgo+IAo+IEkgYmFzaWNhbGx5IHRyaWVkIHRoaXMg c2FtZSB0aGluZyAoKyBhIGJ1bmNoIG9mIG90aGVyIHR3ZWFrcyB0byB0aGUKPiBhdWRpbyBlbmFi bGUgc2VxdWVuY2UpIHdoZW4gSSB3YXMgaHVudGluZyB0aGUgcmVtYWluaW5nIHVuZGVycnVucyBv bgo+IG15IElMSywgYnV0IGluIHRoZSBlbmQgYXVkaW8gd2FzIGEgcmVkIGhlcnJpbmcuIFNvIEkg bmV2ZXIgZm91bmQKPiBhbnkgcmVhbCBiZW5lZml0IGZyb20gZXh0cmEgdmJsYW5rIHdhaXRzIGlu IHRoZSBhdWRpbyBlbmFibGUgc2VxdWVuY2UuCj4gVGhleSBkaWQgYXBwZWFyIHRvIGhlbHAgc29t ZXRpbWVzLCBidXQgd2l0aCBhIGVub3VnaCByZXBldGl0aW9ucyBpdAo+IHN0aWxsIGZhaWxlZC4K PiAKPiA+IAo+ID4gCj4gPiBDYzogc3RhYmxlQHZnZXIua2VybmVsLm9yZwo+ID4gU2lnbmVkLW9m Zi1ieTogTHl1ZGUgPGNwYXVsQHJlZGhhdC5jb20+Cj4gPiAtLS0KPiA+IMKgZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfYXVkaW8uYyB8IDggKystLS0tLS0KPiA+IMKgMSBmaWxlIGNoYW5nZWQs IDIgaW5zZXJ0aW9ucygrKSwgNiBkZWxldGlvbnMoLSkKPiA+IAo+ID4gZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2F1ZGlvLmMKPiA+IGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfYXVkaW8uYwo+ID4gaW5kZXggN2QyODFiNC4uMGQ2ODVmZSAxMDA2NDQKPiA+IC0t LSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2F1ZGlvLmMKPiA+ICsrKyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2F1ZGlvLmMKPiA+IEBAIC00MjMsMTIgKzQyMyw4IEBAIHN0YXRp YyB2b2lkIGlsa19hdWRpb19jb2RlY19lbmFibGUoc3RydWN0IGRybV9jb25uZWN0b3IKPiA+ICpj b25uZWN0b3IsCj4gPiDCoAlpZiAoV0FSTl9PTihwb3J0ID09IFBPUlRfQSkpCj4gPiDCoAkJcmV0 dXJuOwo+ID4gwqAKPiA+IC0JLyoKPiA+IC0JwqAqIEZJWE1FOiBXZSdyZSBzdXBwb3NlZCB0byB3 YWl0IGZvciB2YmxhbmsgaGVyZSwgYnV0IHdlIGhhdmUKPiA+IHZibGFua3MKPiA+IC0JwqAqIGRp c2FibGVkIGR1cmluZyB0aGUgbW9kZSBzZXQuIFRoZSBwcm9wZXIgZml4IHdvdWxkIGJlIHRvIHB1 c2gKPiA+IHRoZQo+ID4gLQnCoCogcmVzdCBvZiB0aGUgc2V0dXAgaW50byBhIHZibGFuayB3b3Jr IGl0ZW0sIHF1ZXVlZCBoZXJlLCBidXQgdGhlCj4gPiAtCcKgKiBpbmZyYXN0cnVjdHVyZSBpcyBu b3QgdGhlcmUgeWV0Lgo+ID4gLQnCoCovCj4gPiArCS8qIE5lZWQgdG8gd2FpdCBvbmUgdmJsYW5r IGJlZm9yZSBlbmFibGluZyBhdWRpbyAqLwo+ID4gKwlpbnRlbF93YWl0X2Zvcl92YmxhbmsoY29u bmVjdG9yLT5kZXYsIHBpcGUpOwo+ID4gwqAKPiA+IMKgCWlmIChIQVNfUENIX0lCWChjb25uZWN0 b3ItPmRldikpIHsKPiA+IMKgCQloZG1pd19oZG1pZWRpZCA9IElCWF9IRE1JV19IRE1JRURJRChw aXBlKTsKPiA+IC0twqAKPiA+IDIuNS41Cj4gPiAKPiA+IF9fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fCj4gPiBkcmktZGV2ZWwgbWFpbGluZyBsaXN0Cj4gPiBk cmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4gPiBodHRwczovL2xpc3RzLmZyZWVkZXNr dG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbApfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZl bEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFp bG1hbi9saXN0aW5mby9kcmktZGV2ZWwK From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mx1.redhat.com ([209.132.183.28]:57091 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753158AbcEWTaQ (ORCPT ); Mon, 23 May 2016 15:30:16 -0400 Message-ID: <1464031815.26826.2.camel@redhat.com> Subject: Re: [PATCH] drm/i915/ilk: Wait one vblank before enabling audio From: Lyude Paul To: Ville =?ISO-8859-1?Q?Syrj=E4l=E4?= Cc: intel-gfx@lists.freedesktop.org, stable@vger.kernel.org, "open list:INTEL DRM DRIVERS excluding Poulsbo, Moorestow..., " "linux-kernel@vger.kernel.org open list" , Daniel Vetter Date: Mon, 23 May 2016 15:30:15 -0400 In-Reply-To: <20160523180623.GU4329@intel.com> References: <1463780200-22813-1-git-send-email-cpaul@redhat.com> <20160523180623.GU4329@intel.com> Content-Type: text/plain; charset="UTF-8" Mime-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: stable-owner@vger.kernel.org List-ID: On Mon, 2016-05-23 at 21:06 +0300, Ville Syrjälä wrote: > On Fri, May 20, 2016 at 05:36:40PM -0400, Lyude wrote: > > > > We no longer call ilk_audio_codec_enable() while we have vblanks > > disabled. As such, we can finally fix this and stop the occasional pipe > > underruns I'm seeing on this Dell OptiPlex 990. > Hmm. Are you still getting underruns on -nightly? For me the problem isn't just underruns, a lot of times the modeset results in a blank monitor without this fix… afaict waiting for 1 vblank seems to fix the issue entirely here, but I'll check more thoroughly in a bit and update you if I manage to get it to underrun. Cheers, Lyude > > I basically tried this same thing (+ a bunch of other tweaks to the > audio enable sequence) when I was hunting the remaining underruns on > my ILK, but in the end audio was a red herring. So I never found > any real benefit from extra vblank waits in the audio enable sequence. > They did appear to help sometimes, but with a enough repetitions it > still failed. > > > > > > > Cc: stable@vger.kernel.org > > Signed-off-by: Lyude > > --- > >  drivers/gpu/drm/i915/intel_audio.c | 8 ++------ > >  1 file changed, 2 insertions(+), 6 deletions(-) > > > > diff --git a/drivers/gpu/drm/i915/intel_audio.c > > b/drivers/gpu/drm/i915/intel_audio.c > > index 7d281b4..0d685fe 100644 > > --- a/drivers/gpu/drm/i915/intel_audio.c > > +++ b/drivers/gpu/drm/i915/intel_audio.c > > @@ -423,12 +423,8 @@ static void ilk_audio_codec_enable(struct drm_connector > > *connector, > >   if (WARN_ON(port == PORT_A)) > >   return; > >   > > - /* > > -  * FIXME: We're supposed to wait for vblank here, but we have > > vblanks > > -  * disabled during the mode set. The proper fix would be to push > > the > > -  * rest of the setup into a vblank work item, queued here, but the > > -  * infrastructure is not there yet. > > -  */ > > + /* Need to wait one vblank before enabling audio */ > > + intel_wait_for_vblank(connector->dev, pipe); > >   > >   if (HAS_PCH_IBX(connector->dev)) { > >   hdmiw_hdmiedid = IBX_HDMIW_HDMIEDID(pipe); > > --  > > 2.5.5 > > > > _______________________________________________ > > dri-devel mailing list > > dri-devel@lists.freedesktop.org > > https://lists.freedesktop.org/mailman/listinfo/dri-devel