2
0
mirror of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git synced 2025-09-04 20:19:47 +08:00

drm/amd/display: assign edid_blob_ptr with edid from debugfs

[Why] implementation change of drm_edid_override_set since linux
kernel 6.1, edid from debugfs is saved into connector->edid_override
immediatey, not saved to connector->edid_blob_ptr at the same time.

[How] call new drm_edid function drm_connector_update_edid_property
to assign connector->edid_blob_ptr with override edid from debugfs.

Tested-by: Daniel Wheeler <daniel.wheeler@amd.com>
Reviewed-by: Chao-kai Wang <Stylon.Wang@amd.com>
Acked-by: Rodrigo Siqueira <Rodrigo.Siqueira@amd.com>
Signed-off-by: Hersen Wu <hersenxs.wu@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
Hersen Wu 2023-04-04 13:44:18 -04:00 committed by Alex Deucher
parent 1ba91b54a9
commit 550e5d23f1

View File

@ -6372,6 +6372,14 @@ static void create_eml_sink(struct amdgpu_dm_connector *aconnector)
}; };
struct edid *edid; struct edid *edid;
if (!aconnector->base.edid_blob_ptr) {
/* if connector->edid_override valid, pass
* it to edid_override to edid_blob_ptr
*/
int count;
count = drm_edid_override_connector_update(&aconnector->base);
if (!aconnector->base.edid_blob_ptr) { if (!aconnector->base.edid_blob_ptr) {
DRM_ERROR("No EDID firmware found on connector: %s ,forcing to OFF!\n", DRM_ERROR("No EDID firmware found on connector: %s ,forcing to OFF!\n",
aconnector->base.name); aconnector->base.name);
@ -6379,6 +6387,7 @@ static void create_eml_sink(struct amdgpu_dm_connector *aconnector)
aconnector->base.force = DRM_FORCE_OFF; aconnector->base.force = DRM_FORCE_OFF;
return; return;
} }
}
edid = (struct edid *) aconnector->base.edid_blob_ptr->data; edid = (struct edid *) aconnector->base.edid_blob_ptr->data;