mirror of
https://github.com/torvalds/linux.git
synced 2024-11-08 05:01:48 +00:00
drm/edid: set ELD for firmware and debugfs override EDIDs
If the user supplies EDID through firmware or debugfs override, the driver callbacks are bypassed and the connector ELD does not get updated, and audio fails. Set ELD for firmware and debugfs EDIDs too. There should be no harm in gratuitously doing this for non HDMI/DP connectors, as it's still up to the driver to use the ELD, if any. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=82349 Reference: https://bugs.freedesktop.org/show_bug.cgi?id=80691 Reported-by: Emil <emilsvennesson@gmail.com> Reported-by: Rob Engle <grenoble@gmail.com> Tested-by: Jolan Luff <jolan@gormsby.com> Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch> Cc: stable@vger.kernel.org Signed-off-by: Jani Nikula <jani.nikula@intel.com>
This commit is contained in:
parent
bc465aa9d0
commit
ad692b46db
@ -287,6 +287,7 @@ int drm_load_edid_firmware(struct drm_connector *connector)
|
|||||||
|
|
||||||
drm_mode_connector_update_edid_property(connector, edid);
|
drm_mode_connector_update_edid_property(connector, edid);
|
||||||
ret = drm_add_edid_modes(connector, edid);
|
ret = drm_add_edid_modes(connector, edid);
|
||||||
|
drm_edid_to_eld(connector, edid);
|
||||||
kfree(edid);
|
kfree(edid);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
|
@ -174,6 +174,7 @@ static int drm_helper_probe_single_connector_modes_merge_bits(struct drm_connect
|
|||||||
struct edid *edid = (struct edid *) connector->edid_blob_ptr->data;
|
struct edid *edid = (struct edid *) connector->edid_blob_ptr->data;
|
||||||
|
|
||||||
count = drm_add_edid_modes(connector, edid);
|
count = drm_add_edid_modes(connector, edid);
|
||||||
|
drm_edid_to_eld(connector, edid);
|
||||||
} else
|
} else
|
||||||
count = (*connector_funcs->get_modes)(connector);
|
count = (*connector_funcs->get_modes)(connector);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user