mirror of
https://github.com/torvalds/linux.git
synced 2026-05-29 01:23:56 +02:00
drm/amd/display: Write TEST_EDID_CHECKSUM_WRITE for EDID tests
Extract edid's checksum and send it back for verification if EDID_TEST is requested. Signed-off-by: Mikita Lipski <mikita.lipski@amd.com> Acked-by: Aurabindo Pillai <aurabindo.pillai@amd.com> Tested-by: Daniel Wheeler <daniel.wheeler@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
parent
08c73e8968
commit
2a66c0c9d2
|
|
@ -885,10 +885,34 @@ enum dc_edid_status dm_helpers_read_local_edid(
|
|||
DRM_ERROR("EDID err: %d, on connector: %s",
|
||||
edid_status,
|
||||
aconnector->base.name);
|
||||
if (link->aux_mode) {
|
||||
union test_request test_request = {0};
|
||||
union test_response test_response = {0};
|
||||
|
||||
/* DP Compliance Test 4.2.2.3 */
|
||||
if (link->aux_mode)
|
||||
drm_dp_send_real_edid_checksum(&aconnector->dm_dp_aux.aux, sink->dc_edid.raw_edid[sink->dc_edid.length-1]);
|
||||
dm_helpers_dp_read_dpcd(ctx,
|
||||
link,
|
||||
DP_TEST_REQUEST,
|
||||
&test_request.raw,
|
||||
sizeof(union test_request));
|
||||
|
||||
if (!test_request.bits.EDID_READ)
|
||||
return edid_status;
|
||||
|
||||
test_response.bits.EDID_CHECKSUM_WRITE = 1;
|
||||
|
||||
dm_helpers_dp_write_dpcd(ctx,
|
||||
link,
|
||||
DP_TEST_EDID_CHECKSUM,
|
||||
&sink->dc_edid.raw_edid[sink->dc_edid.length-1],
|
||||
1);
|
||||
|
||||
dm_helpers_dp_write_dpcd(ctx,
|
||||
link,
|
||||
DP_TEST_RESPONSE,
|
||||
&test_response.raw,
|
||||
sizeof(test_response));
|
||||
|
||||
}
|
||||
|
||||
return edid_status;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user