[PATCH 2/7] drm/edid: Allow to ignore the audio EDID data

Jani Nikula jani.nikula at linux.intel.com
Tue Mar 5 02:33:31 PST 2019

On Tue, 05 Mar 2019, Maxime Ripard <maxime.ripard at bootlin.com> wrote:
> On Mon, Mar 04, 2019 at 05:47:09PM +0200, Jani Nikula wrote:
>> On Mon, 04 Mar 2019, Maxime Ripard <maxime.ripard at bootlin.com> wrote:
>> > 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.
>> *sad trombone*
>> Trying to figure this out automatically in kernel is better than a
>> quirk.
>> A quirk is better than requiring the user to provide an override EDID
>> via the firmware loader (drm.edid_firmware parameter).
>> Requiring an override EDID is better than adding a module parameter.
>> I'd much rather we exhausted the other options before adding module
>> parameters to address specific issues with EDIDs. That's a rabbit hole
>> with no end.
> We should also consider the usability of these solutions.
> Sure, the quirks are the ideal solution long term, but do we really
> expect the average user that just got its device from Amazon and
> connected it to its display to figure out:
>  - That if it's display doesn't work, it's because the display is
>    broken
>  - That it is broken due to poor EDIDs
>  - To find out that it's supposed to be handled in DRM through a quirk
>  - How to make such a quirk
>  - How to recompile the kernel on its distro of choice
>  - That they need to send a patch later on to upstream Linux, and then
>    wait for a year or so (depending on their distro) before it's
>    actually working.
> Chances are that they would stop at 1, call the device trash and never
> submit any quirk, therefore making the quirk approach useless in the
> process.

It only takes one user to reach the end of the list, and have the quirk
figured out and backported to stable kernels, fixing it for the rest of
the average users.

Adding this to drm core means *I* will also have to care about this for
i915 users that find ways to abuse this for whatever reason. And they
*will* find ways, because hey, someone on some forum wrote that this
fixed their issue on some random other machine.

We've added too many driver specific debug knobs as module parameters
over the years, and a good portion of the bug reports we get about
basically anything come with a combination of random module parameters,
some of which have ceased to exist years ago. People just copy-paste
them from forums and wikis.

Looking at [1], I'm sure it didn't start out that massive either. It was
probably a knob or two, as a quick fix for the problem at hand, and then
it was easy to add more.

What looks like the easy route now really isn't.


[1] https://www.raspberrypi.org/documentation/configuration/config-txt/video.md

Jani Nikula, Intel Open Source Graphics Center

More information about the linux-arm-kernel mailing list