From: Jani Nikula Date: Fri, 17 Feb 2017 15:20:53 +0000 (+0200) Subject: UPSTREAM: drm/edid: respect connector force for drm_get_edid ddc probe X-Git-Tag: release-20171130_firefly~4^2~369 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=41f1374f0744f3e7ef3d54db530b767ecda05c86;p=firefly-linux-kernel-4.4.55.git 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ä Reviewed-by: Ville Syrjälä Signed-off-by: Jani Nikula Link: http://patchwork.freedesktop.org/patch/msgid/1487344854-18777-4-git-send-email-jani.nikula@intel.com Signed-off-by: Zheng Yang (cherry picked from commit 15f080f08d48af9388142e45a247c8410736178b) --- diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c index a0cc3bf0ef57..c90462f584d4 100644 --- a/drivers/gpu/drm/drm_edid.c +++ b/drivers/gpu/drm/drm_edid.c @@ -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);