On Mon, 04 Mar 2019, Maxime Ripard <maxime.rip...@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. BR, Jani. > > Signed-off-by: Maxime Ripard <maxime.rip...@bootlin.com> > --- > 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 = false; > +module_param(ignore_edid_audio, bool, 0644); > +MODULE_PARM_DESC(ignore_edid_audio, > + "Ignore the EDID and always consider that a monitor 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 = false; > int start_offset, end_offset; > > + if (ignore_edid_audio) > + goto end; > + > edid_ext = drm_find_cea_extension(edid); > if (!edid_ext) > goto end; -- Jani Nikula, Intel Open Source Graphics Center _______________________________________________ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel