From 0e8578c996a33c8da9c28f8ed2d1be68694070ee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ville=20Syrj=C3=A4l=C3=A4?= Date: Thu, 10 Dec 2015 23:13:56 +0200 Subject: [PATCH] drm: Allow override_edid to override the firmware EDID MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit IMO the override_edid should override any default EDID for the connector, whether that came in via the connector helper ->get_modes() vfunc or via the firmware EDID mechanism. Cc: Thomas Wood Signed-off-by: Ville Syrjälä Signed-off-by: Daniel Vetter Link: http://patchwork.freedesktop.org/patch/msgid/1449782037-19722-2-git-send-email-ville.syrjala@linux.intel.com --- drivers/gpu/drm/drm_probe_helper.c | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/drivers/gpu/drm/drm_probe_helper.c b/drivers/gpu/drm/drm_probe_helper.c index 483010f680d5..13d178e6981b 100644 --- a/drivers/gpu/drm/drm_probe_helper.c +++ b/drivers/gpu/drm/drm_probe_helper.c @@ -233,17 +233,16 @@ int drm_helper_probe_single_connector_modes(struct drm_connector *connector, goto prune; } -#ifdef CONFIG_DRM_LOAD_EDID_FIRMWARE - count = drm_load_edid_firmware(connector); - if (count == 0) -#endif - { - if (connector->override_edid) { - struct edid *edid = (struct edid *) connector->edid_blob_ptr->data; + if (connector->override_edid) { + struct edid *edid = (struct edid *) connector->edid_blob_ptr->data; - count = drm_add_edid_modes(connector, edid); - drm_edid_to_eld(connector, edid); - } else + count = drm_add_edid_modes(connector, edid); + drm_edid_to_eld(connector, edid); + } else { +#ifdef CONFIG_DRM_LOAD_EDID_FIRMWARE + count = drm_load_edid_firmware(connector); + if (count == 0) +#endif count = (*connector_funcs->get_modes)(connector); }