diff options
author | Ville Syrjälä <ville.syrjala@linux.intel.com> | 2015-12-10 22:13:56 +0100 |
---|---|---|
committer | Daniel Vetter <daniel.vetter@ffwll.ch> | 2015-12-11 09:35:12 +0100 |
commit | 0e8578c996a33c8da9c28f8ed2d1be68694070ee (patch) | |
tree | 679b0442bfcf2b9555d7050d1a30fd3168d15a59 /drivers/gpu/drm/drm_probe_helper.c | |
parent | drm/sti: Drop bogus drm_mode_sort() call (diff) | |
download | linux-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.c | 17 |
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); } |