Commit 76d5ef4f authored by Aric Cyr's avatar Aric Cyr Committed by Alex Deucher

drm/amd/display: Fix DP Compliance tests 4.3.2.1 and 4.3.2.2

[Why]
Test expects that we also read HPD_IRQ_VECTOR when checking for
symbol loss as well lane status.

[How]
Read bytes 0x200-0x205 instead of just 0x202-0x205
Signed-off-by: default avatarAric Cyr <aric.cyr@amd.com>
Reviewed-by: default avatarJun Lei <Jun.Lei@amd.com>
Acked-by: default avatarEryk Brol <eryk.brol@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent b5fe6aa2
...@@ -1138,23 +1138,22 @@ static enum link_training_result check_link_loss_status( ...@@ -1138,23 +1138,22 @@ static enum link_training_result check_link_loss_status(
const struct link_training_settings *link_training_setting) const struct link_training_settings *link_training_setting)
{ {
enum link_training_result status = LINK_TRAINING_SUCCESS; enum link_training_result status = LINK_TRAINING_SUCCESS;
unsigned int lane01_status_address = DP_LANE0_1_STATUS;
union lane_status lane_status; union lane_status lane_status;
uint8_t dpcd_buf[4] = {0}; uint8_t dpcd_buf[6] = {0};
uint32_t lane; uint32_t lane;
core_link_read_dpcd( core_link_read_dpcd(
link, link,
lane01_status_address, DP_SINK_COUNT,
(uint8_t *)(dpcd_buf), (uint8_t *)(dpcd_buf),
sizeof(dpcd_buf)); sizeof(dpcd_buf));
/*parse lane status*/ /*parse lane status*/
for (lane = 0; lane < link->cur_link_settings.lane_count; lane++) { for (lane = 0; lane < link->cur_link_settings.lane_count; lane++) {
/* /*
* check lanes status * check lanes status
*/ */
lane_status.raw = get_nibble_at_index(&dpcd_buf[0], lane); lane_status.raw = get_nibble_at_index(&dpcd_buf[2], lane);
if (!lane_status.bits.CHANNEL_EQ_DONE_0 || if (!lane_status.bits.CHANNEL_EQ_DONE_0 ||
!lane_status.bits.CR_DONE_0 || !lane_status.bits.CR_DONE_0 ||
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment