UPSTREAM: drm/edid: respect connector force for drm_get_edid ddc probe

Skip DDC probe for forced connector status. Don't try to read the EDID
if the connector is forced off. Skipping probe for forced on connectors
will make more sense when drm_do_get_edid() will handle override and
firmware EDIDs.

Change-Id: I43c16b3bfd85520536445265ee693765538e4800
Suggested-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/1487344854-18777-4-git-send-email-jani.nikula@intel.com
Signed-off-by: Zheng Yang <zhengyang@rock-chips.com>
(cherry picked from commit 15f080f08d)
This commit is contained in:
Jani Nikula
2017-02-17 17:20:53 +02:00
committed by Zheng Yang
parent bb0bcb79fc
commit 41f1374f07

View File

@@ -1612,7 +1612,10 @@ struct edid *drm_get_edid(struct drm_connector *connector,
{
struct edid *edid;
if (!drm_probe_ddc(adapter))
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);