summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/drm_probe_helper.c
diff options
context:
space:
mode:
authorVille Syrjälä <ville.syrjala@linux.intel.com>2015-12-10 22:13:56 +0100
committerDaniel Vetter <daniel.vetter@ffwll.ch>2015-12-11 09:35:12 +0100
commit0e8578c996a33c8da9c28f8ed2d1be68694070ee (patch)
tree679b0442bfcf2b9555d7050d1a30fd3168d15a59 /drivers/gpu/drm/drm_probe_helper.c
parentdrm/sti: Drop bogus drm_mode_sort() call (diff)
downloadlinux-0e8578c996a33c8da9c28f8ed2d1be68694070ee.tar.xz
linux-0e8578c996a33c8da9c28f8ed2d1be68694070ee.zip
drm: Allow override_edid to override the firmware EDID
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 <thomas.wood@intel.com> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> Link: http://patchwork.freedesktop.org/patch/msgid/1449782037-19722-2-git-send-email-ville.syrjala@linux.intel.com
Diffstat (limited to 'drivers/gpu/drm/drm_probe_helper.c')
-rw-r--r--drivers/gpu/drm/drm_probe_helper.c17
1 files changed, 8 insertions, 9 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;
}
+ 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 {
#ifdef CONFIG_DRM_LOAD_EDID_FIRMWARE
- count = drm_load_edid_firmware(connector);
- if (count == 0)
+ count = drm_load_edid_firmware(connector);
+ if (count == 0)
#endif
- {
- 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 = (*connector_funcs->get_modes)(connector);
}