From mboxrd@z Thu Jan 1 00:00:00 1970 From: Eric Anholt Subject: Re: [PATCH 2/7] drm/edid: Allow to ignore the audio EDID data Date: Tue, 05 Mar 2019 10:11:51 -0800 Message-ID: <877eddtcm0.fsf@anholt.net> References: <4914bea9fc3ef3deaffa39ab691dbd9a76461e97.1551711042.git-series.maxime.ripard@bootlin.com> <87wole76ws.fsf@anholt.net> <20190305091240.sbkvdwosocaytx22@flea> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="===============1294069548==" Return-path: Received: from anholt.net (anholt.net [50.246.234.109]) by gabe.freedesktop.org (Postfix) with ESMTP id BAF1C6E008 for ; Tue, 5 Mar 2019 18:11:56 +0000 (UTC) In-Reply-To: <20190305091240.sbkvdwosocaytx22@flea> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Maxime Ripard , 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 --===============1294069548== Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" --=-=-= Content-Type: text/plain Content-Transfer-Encoding: quoted-printable Maxime Ripard writes: > [ Unknown signature status ] > 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 *edi= d) >> > > } >> > > 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 d= oesn'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 *edi= d) >> > > 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. Yeah, I have no idea how this is supposed to work, but pulseaudio keeps doing reasonable things on my intel desktop so I'm wondering if we're just missing some bit of the HDMI driver communicating to ALSA about the state of the audio sink. --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAEBCgAdFiEE/JuuFDWp9/ZkuCBXtdYpNtH8nugFAlx+u+cACgkQtdYpNtH8 nuitMhAArCLoCGlOAh+easnD06nxsgndiFq38iHjvlKDh4WBH4Pr3JTe2Sn1e5i3 zEdwfoPkGXytFa6hLHGW+mAMK92snBhzYZY7oOz6z/8pGClSNb64/FV6pSotxUMC ks2+tKdZfVQz1xzByK8T/P/rwoB487T2+wMFICKpGjLEDECW//DMX7rwxnQaVJRs ZYQDHzl299qx8hRW/JJrjur+TEijOdLuOEndsdHVbsIdbiOnEx56sV63qJAGl3W5 0/eDx18uydfghYa60h7dLnQo8zxwQ/LpswFGxxEGmQb98Yr2llc88Iz8nr7ST1Et i7wJtoZxMAEWx3ZVGF26UulMeIoHUSZEGb4VXeK+olg3LERJoFd2Id83r9pYeiUv xkoOFM23u0YaLiGkXvmqayxgX6h3F7rdvgkYQSimOGa5qpg91CZqZjh1zlgXlryF fEVou2KE/YzTHJaPWqTybLpkLMGHJLttiHwht0Czrc316JzzcuQUzC8FYkYFrwDA lVoraNgKNyIHjfX05rM+1Q7f85h6u1d3eDd+Yp01xnRwpBFl1oZUZrKsl16u5FQg V+u5sY3dA9nHFieCoqBeYT+/V6wWdvoVzD/ygBKD7Q6kJIKvUWLLaIH2xD1CfkvP vX59pjh6QgmUosZcEaGODtVoDHwW6AoqLhCI3BsqTf/vnGq9cGM= =Z3NN -----END PGP SIGNATURE----- --=-=-=-- --===============1294069548== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: inline X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVs IG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlz dHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVs --===============1294069548==--