From mboxrd@z Thu Jan 1 00:00:00 1970 From: Maxime Ripard Subject: Re: [PATCH 2/7] drm/edid: Allow to ignore the audio EDID data Date: Tue, 5 Mar 2019 10:12:40 +0100 Message-ID: <20190305091240.sbkvdwosocaytx22@flea> References: <4914bea9fc3ef3deaffa39ab691dbd9a76461e97.1551711042.git-series.maxime.ripard@bootlin.com> <87wole76ws.fsf@anholt.net> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="===============1972883862==" Return-path: Received: from relay6-d.mail.gandi.net (relay6-d.mail.gandi.net [217.70.183.198]) by gabe.freedesktop.org (Postfix) with ESMTPS id 4754A89613 for ; Tue, 5 Mar 2019 09:12:45 +0000 (UTC) In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Alex Deucher Cc: eben@raspberrypi.org, David Airlie , Maling list - DRI developers , Paul Kocialkowski , Sean Paul , Thomas Petazzoni , Daniel Vetter , linux-arm-kernel List-Id: dri-devel@lists.freedesktop.org --===============1972883862== Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="n2vtjd32cw567zqx" Content-Disposition: inline --n2vtjd32cw567zqx Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable 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 EDIDs, = 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_edid.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 monitor do= esn'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 play > > 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 play > > audio by default? >=20 > 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. Maxime --=20 Maxime Ripard, Bootlin Embedded Linux and Kernel engineering https://bootlin.com --n2vtjd32cw567zqx Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iHUEABYIAB0WIQRcEzekXsqa64kGDp7j7w1vZxhRxQUCXH49iAAKCRDj7w1vZxhR xT34AQDwXhsJGWoDU4pebMHaFXdj1Acfc+5W9KZMxBIgEM3qTgD/QeIeceVRJywd BoLElduutiqIDxpJFLUeXfLJWaH9QQk= =Z3V7 -----END PGP SIGNATURE----- --n2vtjd32cw567zqx-- --===============1972883862== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: inline X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVs IG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlz dHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVs --===============1972883862==--