[Bug 107583] Linux: REGRESSION: drm: cmdline EDID override mechanisms broken since 4.15

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Tue Jun 4 07:30:52 UTC 2019


https://bugs.freedesktop.org/show_bug.cgi?id=107583

--- Comment #23 from Jani Nikula <jani.nikula at intel.com> ---
(In reply to harish.chegondi from comment #19)
> (In reply to Jani Nikula from comment #18)
> > 
> > I think there's a conflicting set of valid requirements here, and the only
> > way to preserve functionality for all cases is to add another level of
> > connector force probe, which skips DDC probe in case of override/firmware
> > EDID.
> 
> If I understand Jani's comment correctly, in drm_get_edid(), DDC probe
> should be skipped if the connector force is unspecified and EDID has to be
> overridden. When I analyzed the code further, I felt the check that does DDC
> probe if connector force is unspecified can be eliminated and will also fix
> this bug. I mentioned my proposed change below. I also submitted this change
> to trybot and it was successful.
> 
> --- a/drivers/gpu/drm/drm_edid.c
> +++ b/drivers/gpu/drm/drm_edid.c
> @@ -1724,9 +1724,6 @@ struct edid *drm_get_edid(struct drm_connector
> *connector,
> 	if (connector->force == DRM_FORCE_OFF)
>  		return NULL;
>  
> -	if (connector->force == DRM_FORCE_UNSPECIFIED && !drm_probe_ddc(adapter))
> -		return NULL;
> -
>  	edid = drm_do_get_edid(connector, drm_do_probe_ddc_edid, adapter);
>  	if (edid)
>  		drm_get_displayid(connector, edid);

This loses the ability to use DDC probe for detecting display, leading to
excessive failures in drm_do_get_edid() if the display isn't there.

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/intel-gfx-bugs/attachments/20190604/abd0e4ce/attachment.html>


More information about the intel-gfx-bugs mailing list