From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH 2/7] drm/edid: Allow to ignore the audio EDID data Date: Tue, 5 Mar 2019 21:15:54 +0200 Message-ID: <20190305191554.GA3888@intel.com> References: <4914bea9fc3ef3deaffa39ab691dbd9a76461e97.1551711042.git-series.maxime.ripard@bootlin.com> <87wole76ws.fsf@anholt.net> <20190305091240.sbkvdwosocaytx22@flea> <20190305152413.GD16917@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <20190305152413.GD16917@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Maxime Ripard Cc: alsa-devel@alsa-project.org, eben@raspberrypi.org, David Airlie , Maling list - DRI developers , Paul Kocialkowski , Sean Paul , Thomas Petazzoni , Daniel Vetter , linux-arm-kernel List-Id: alsa-devel@alsa-project.org T24gVHVlLCBNYXIgMDUsIDIwMTkgYXQgMDU6MjQ6MTNQTSArMDIwMCwgVmlsbGUgU3lyasOkbMOk IHdyb3RlOgo+IE9uIFR1ZSwgTWFyIDA1LCAyMDE5IGF0IDEwOjEyOjQwQU0gKzAxMDAsIE1heGlt ZSBSaXBhcmQgd3JvdGU6Cj4gPiBPbiBNb24sIE1hciAwNCwgMjAxOSBhdCAwMzowNTozMVBNIC0w NTAwLCBBbGV4IERldWNoZXIgd3JvdGU6Cj4gPiA+IE9uIE1vbiwgTWFyIDQsIDIwMTkgYXQgMjo1 MyBQTSBFcmljIEFuaG9sdCA8ZXJpY0BhbmhvbHQubmV0PiB3cm90ZToKPiA+ID4gPgo+ID4gPiA+ IE1heGltZSBSaXBhcmQgPG1heGltZS5yaXBhcmRAYm9vdGxpbi5jb20+IHdyaXRlczoKPiA+ID4g Pgo+ID4gPiA+ID4gSW4gc29tZSBjYXNlcywgaW4gb3JkZXIgdG8gYWNjb21vZGF0ZSB3aXRoIGRp c3BsYXlzIHdpdGggcG9vciBFRElEcywgd2UKPiA+ID4gPiA+IG5lZWQgdG8gaWdub3JlIHRoYXQg dGhlIG1vbml0b3IgYWxsZWRnZWRseSBzdXBwb3J0cyBhdWRpbyBvdXRwdXQgYW5kCj4gPiA+ID4g PiBkaXNhYmxlIHRoZSBhdWRpbyBvdXRwdXQuCj4gPiA+ID4gPgo+ID4gPiA+ID4gU2lnbmVkLW9m Zi1ieTogTWF4aW1lIFJpcGFyZCA8bWF4aW1lLnJpcGFyZEBib290bGluLmNvbT4KPiA+ID4gPiA+ IC0tLQo+ID4gPiA+ID4gIGRyaXZlcnMvZ3B1L2RybS9kcm1fZWRpZC5jIHwgOCArKysrKysrKwo+ ID4gPiA+ID4gIDEgZmlsZSBjaGFuZ2VkLCA4IGluc2VydGlvbnMoKykKPiA+ID4gPiA+Cj4gPiA+ ID4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9lZGlkLmMgYi9kcml2ZXJzL2dw dS9kcm0vZHJtX2VkaWQuYwo+ID4gPiA+ID4gaW5kZXggOTkwYjE5MDlmOWQ3Li5jMDI1OGIwMTFi YjIgMTAwNjQ0Cj4gPiA+ID4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2VkaWQuYwo+ID4g PiA+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9lZGlkLmMKPiA+ID4gPiA+IEBAIC00MTkw LDYgKzQxOTAsMTEgQEAgYm9vbCBkcm1fZGV0ZWN0X2hkbWlfbW9uaXRvcihzdHJ1Y3QgZWRpZCAq ZWRpZCkKPiA+ID4gPiA+ICB9Cj4gPiA+ID4gPiAgRVhQT1JUX1NZTUJPTChkcm1fZGV0ZWN0X2hk bWlfbW9uaXRvcik7Cj4gPiA+ID4gPgo+ID4gPiA+ID4gK3N0YXRpYyBib29sIGlnbm9yZV9lZGlk X2F1ZGlvID0gZmFsc2U7Cj4gPiA+ID4gPiArbW9kdWxlX3BhcmFtKGlnbm9yZV9lZGlkX2F1ZGlv LCBib29sLCAwNjQ0KTsKPiA+ID4gPiA+ICtNT0RVTEVfUEFSTV9ERVNDKGlnbm9yZV9lZGlkX2F1 ZGlvLAo+ID4gPiA+ID4gKyAgICAgICAgICAgICAgIklnbm9yZSB0aGUgRURJRCBhbmQgYWx3YXlz IGNvbnNpZGVyIHRoYXQgYSBtb25pdG9yIGRvZXNuJ3QgaGF2ZSBhdWRpbyBjYXBhYmlsaXRpZXMi KTsKPiA+ID4gPiA+ICsKPiA+ID4gPiA+ICAvKioKPiA+ID4gPiA+ICAgKiBkcm1fZGV0ZWN0X21v bml0b3JfYXVkaW8gLSBjaGVjayBtb25pdG9yIGF1ZGlvIGNhcGFiaWxpdHkKPiA+ID4gPiA+ICAg KiBAZWRpZDogRURJRCBibG9jayB0byBzY2FuCj4gPiA+ID4gPiBAQCAtNDIwOSw2ICs0MjE0LDkg QEAgYm9vbCBkcm1fZGV0ZWN0X21vbml0b3JfYXVkaW8oc3RydWN0IGVkaWQgKmVkaWQpCj4gPiA+ ID4gPiAgICAgICBib29sIGhhc19hdWRpbyA9IGZhbHNlOwo+ID4gPiA+ID4gICAgICAgaW50IHN0 YXJ0X29mZnNldCwgZW5kX29mZnNldDsKPiA+ID4gPiA+Cj4gPiA+ID4gPiArICAgICBpZiAoaWdu b3JlX2VkaWRfYXVkaW8pCj4gPiA+ID4gPiArICAgICAgICAgICAgIGdvdG8gZW5kOwo+ID4gPiA+ ID4gKwo+ID4gPiA+ID4gICAgICAgZWRpZF9leHQgPSBkcm1fZmluZF9jZWFfZXh0ZW5zaW9uKGVk aWQpOwo+ID4gPiA+ID4gICAgICAgaWYgKCFlZGlkX2V4dCkKPiA+ID4gPiA+ICAgICAgICAgICAg ICAgZ290byBlbmQ7Cj4gPiA+ID4KPiA+ID4gPiBJdCBsb29rcyBsaWtlIHRoZSBtb3RpdmF0aW9u IGZvciB0aGUgb3JpZ2luYWwgZmxhZyBvbiBSYXNwYmVycnkgUGkgd2FzCj4gPiA+ID4gIkkndmUg Z290IGEgbm9uLWF1ZGlvIG1vbml0b3IsIGJ1dCB0aGUgc3lzdGVtIGNvbWVzIHVwIHRyeWluZyB0 byBwbGF5Cj4gPiA+ID4gYXVkaW8gdG8gSERNSSBpbnN0ZWFkIG9mIHRoZSBhbmFsb2cgamFjayIu ICBEbyB3ZSBoYXZlIHNvbWUgd2F5IGZvciBEUk0KPiA+ID4gPiB0byBjb21tdW5pY2F0ZSB0byBB TFNBIHRoYXQgdGhpcyBpcyBub3QgdGhlIHJpZ2h0IHBsYWNlIHRvIHRyeSB0byBwbGF5Cj4gPiA+ ID4gYXVkaW8gYnkgZGVmYXVsdD8KPiA+ID4gCj4gPiA+IEFwcGFyZW50bHkgbm90LiAgV2UgaGF2 ZSB1c2VycyB1c2luZyBkZWJ1ZyBrbm9icyBpbiBvdXIgZHJpdmVycyB0bwo+ID4gPiBkaXNhYmxl IGRpc3BsYXkgYXVkaW8gYmVjYXVzZSBBTFNBIGRlZmF1bHRzIHRvIHRoYXQgcmF0aGVyIHRoYW4g b3RoZXIKPiA+ID4gYXVkaW8uCj4gPiAKPiA+IEkgZ3Vlc3Mgb25lIHdheSB0byBkbyB0aGlzIHdv dWxkIGJlIHRvIHJlZ2lzdGVyIHRoZSBjYXJkIG9ubHkgd2hlbiBhbgo+ID4gYXVkaW8tY2FwYWJs ZSBtb25pdG9yIGlzIGNvbm5lY3RlZCBpbnN0ZWFkIG9mIGRvaW5nIHRoaXMgYXQgcHJvYmUKPiA+ IHRpbWUuIEknbSBub3Qgc3VyZSBob3cgY29udmVuaWVudCBpdCBpcyBmb3IgdXNlcnNwYWNlIHRo b3VnaC4KPiAKPiBXZSBhbHJlYWR5IHByb3ZpZGUgdGhlIEVMRCB0byBhbHNhLiBJJ20gcHJldHR5 IHN1cmUgcHVsc2VhdWRpbyB1c2VzCj4gdGhhdCBzdHVmZiBzb21laG93IHRvIGZpZ3VyZSBvdXQg d2hldGhlciB0byBwbGF5IGF1ZGlvIG92ZXIgSERNSS4KPiBCdXQgc2luY2UgSSBkb24ndCB1c2Ug cHVsc2VhdWRpbyBteXNlbGYgSSBjYW4ndCBiZSAxMDAlIHN1cmUuCj4gCj4gQ2M6aW5nIFRha2Fz aGkvYWxzYSBmb2xrcyBmb3IgY29uZmlybWF0aW9uLgoKSSBmb3Jnb3QgdGhhdCB0aGUgLnBpbl9l bGRfbm90aWZ5KCkgc3R1ZmYgaXMgaTkxNSBzcGVjaWZpYy4gQnV0Ckkgc2VlIHNvbWUga2luZCBv ZiBoZG1pX2NvZGVjX29wcyB0aGluZyB1c2VkIGJ5IHNvbWUgb3RoZXIgZHJpdmVycy4KSSBndWVz cyB0aGF0IGlzIHN1cHBvc2VkIHRvIGFjaGlldmUgdGhlIHNhbWUgdGhpbmcgbW9yZSBvciBsZXNz PwpJJ20gbm90IGltbWVkaWF0ZWx5IHNlZWluZyBhbnkga2luZCBvZiBkcm0tPmFsc2Egbm90aWZp Y2F0aW9uCmhvb2sgaW4gdGhlcmUgdGhvdWdoLgoKLS0gClZpbGxlIFN5cmrDpGzDpApJbnRlbApf X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwg bWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0 cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWw= From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.5 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_PASS,USER_AGENT_MUTT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 1D58DC43381 for ; Tue, 5 Mar 2019 19:16:07 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id D681A2075B for ; Tue, 5 Mar 2019 19:16:06 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="HPOyT6v4" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org D681A2075B Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=linux.intel.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:References: Message-ID:Subject:To:From:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=6AWaYa5ieoIB+3+symmyDHGbFu8cNQpDP9xDxWfHhLA=; b=HPOyT6v4sNHHiR TC2PfbjmUZqbfcop1SFNVZUPKCRvmbxi538TVb+5rI9Qdv2nbNVm+B80Jzbiu+xb0B76fwUMC1Ozs txqpv23QkJZdCnpY+CMuvK30isSSVNZNx/lzFm/v1KpRr6z1PLbqyqU2nsolsYkuVKaklRVvfIGTG WI1VwjKLC2MpFkJlRLrSNuC32Yia1Eh1Xtw7jIHofqVTc6TLzwrevP6vPdqSAYFhCFIT7+3THLExw mzXTAEmFgwgiIT5T4mbaMbirOtcBYSecOYYWo3GKWxhZQdm1ZVIMM61OqP6OPq3bjhsM5lMQfdPb0 fVmMCSUok/gjRcDvtFIQ==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.90_1 #2 (Red Hat Linux)) id 1h1FXn-0001lm-UU; Tue, 05 Mar 2019 19:16:03 +0000 Received: from mga06.intel.com ([134.134.136.31]) by bombadil.infradead.org with esmtps (Exim 4.90_1 #2 (Red Hat Linux)) id 1h1FXl-0001l4-5D for linux-arm-kernel@lists.infradead.org; Tue, 05 Mar 2019 19:16:02 +0000 X-Amp-Result: UNSCANNABLE X-Amp-File-Uploaded: False Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by orsmga104.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 05 Mar 2019 11:15:59 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.58,445,1544515200"; d="scan'208";a="129244309" Received: from stinkbox.fi.intel.com (HELO stinkbox) ([10.237.72.174]) by fmsmga008.fm.intel.com with SMTP; 05 Mar 2019 11:15:55 -0800 Received: by stinkbox (sSMTP sendmail emulation); Tue, 05 Mar 2019 21:15:54 +0200 Date: Tue, 5 Mar 2019 21:15:54 +0200 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= To: Maxime Ripard Subject: Re: [PATCH 2/7] drm/edid: Allow to ignore the audio EDID data Message-ID: <20190305191554.GA3888@intel.com> References: <4914bea9fc3ef3deaffa39ab691dbd9a76461e97.1551711042.git-series.maxime.ripard@bootlin.com> <87wole76ws.fsf@anholt.net> <20190305091240.sbkvdwosocaytx22@flea> <20190305152413.GD16917@intel.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20190305152413.GD16917@intel.com> User-Agent: Mutt/1.10.1 (2018-07-13) X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20190305_111601_250551_FC3BFC49 X-CRM114-Status: GOOD ( 28.34 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: alsa-devel@alsa-project.org, eben@raspberrypi.org, David Airlie , Maling list - DRI developers , Paul Kocialkowski , Takashi Iwai , Sean Paul , Thomas Petazzoni , Alex Deucher , Daniel Vetter , linux-arm-kernel Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org On Tue, Mar 05, 2019 at 05:24:13PM +0200, Ville Syrj=E4l=E4 wrote: > On Tue, Mar 05, 2019 at 10:12:40AM +0100, Maxime Ripard wrote: > > On Mon, Mar 04, 2019 at 03:05:31PM -0500, Alex Deucher wrote: > > > On Mon, Mar 4, 2019 at 2:53 PM Eric Anholt wrote: > > > > > > > > Maxime Ripard writes: > > > > > > > > > In some cases, in order to accomodate with displays with poor EDI= Ds, we > > > > > need to ignore that the monitor alledgedly supports audio output = and > > > > > disable the audio output. > > > > > > > > > > Signed-off-by: Maxime Ripard > > > > > --- > > > > > drivers/gpu/drm/drm_edid.c | 8 ++++++++ > > > > > 1 file changed, 8 insertions(+) > > > > > > > > > > diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edi= d.c > > > > > index 990b1909f9d7..c0258b011bb2 100644 > > > > > --- a/drivers/gpu/drm/drm_edid.c > > > > > +++ b/drivers/gpu/drm/drm_edid.c > > > > > @@ -4190,6 +4190,11 @@ bool drm_detect_hdmi_monitor(struct edid *= edid) > > > > > } > > > > > EXPORT_SYMBOL(drm_detect_hdmi_monitor); > > > > > > > > > > +static bool ignore_edid_audio =3D false; > > > > > +module_param(ignore_edid_audio, bool, 0644); > > > > > +MODULE_PARM_DESC(ignore_edid_audio, > > > > > + "Ignore the EDID and always consider that a monito= r doesn't have audio capabilities"); > > > > > + > > > > > /** > > > > > * drm_detect_monitor_audio - check monitor audio capability > > > > > * @edid: EDID block to scan > > > > > @@ -4209,6 +4214,9 @@ bool drm_detect_monitor_audio(struct edid *= edid) > > > > > bool has_audio =3D false; > > > > > int start_offset, end_offset; > > > > > > > > > > + if (ignore_edid_audio) > > > > > + goto end; > > > > > + > > > > > edid_ext =3D drm_find_cea_extension(edid); > > > > > if (!edid_ext) > > > > > goto end; > > > > > > > > It looks like the motivation for the original flag on Raspberry Pi = was > > > > "I've got a non-audio monitor, but the system comes up trying to pl= ay > > > > audio to HDMI instead of the analog jack". Do we have some way for= DRM > > > > to communicate to ALSA that this is not the right place to try to p= lay > > > > audio by default? > > > = > > > Apparently not. We have users using debug knobs in our drivers to > > > disable display audio because ALSA defaults to that rather than other > > > audio. > > = > > I guess one way to do this would be to register the card only when an > > audio-capable monitor is connected instead of doing this at probe > > time. I'm not sure how convenient it is for userspace though. > = > We already provide the ELD to alsa. I'm pretty sure pulseaudio uses > that stuff somehow to figure out whether to play audio over HDMI. > But since I don't use pulseaudio myself I can't be 100% sure. > = > Cc:ing Takashi/alsa folks for confirmation. I forgot that the .pin_eld_notify() stuff is i915 specific. But I see some kind of hdmi_codec_ops thing used by some other drivers. I guess that is supposed to achieve the same thing more or less? I'm not immediately seeing any kind of drm->alsa notification hook in there though. -- = Ville Syrj=E4l=E4 Intel _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel