From: Wesley Chalmers Date: Tue, 8 Jun 2021 18:11:10 +0000 (-0400) Subject: drm/amd/display: Extend AUX timeout for DP initial reads X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=d0414a834c0d6c92c9a6db504e196831d118ab54;p=linux.git drm/amd/display: Extend AUX timeout for DP initial reads [WHY] DP LL Compliance tests require that the first DPCD transactions after a hotplug have a timeout interval of 3.2 ms. In cases where LTTPR is disabled, this means that the first reads from DP_SET_POWER and DP_DPCD_REV must have an extended timeout. Signed-off-by: Wesley Chalmers Reviewed-by: Jun Lei Acked-by: Anson Jacob Tested-by: Daniel Wheeler Signed-off-by: Alex Deucher --- diff --git a/drivers/gpu/drm/amd/display/dc/core/dc_link_dp.c b/drivers/gpu/drm/amd/display/dc/core/dc_link_dp.c index 1b28b4a40f62a..5ecbe525b6764 100644 --- a/drivers/gpu/drm/amd/display/dc/core/dc_link_dp.c +++ b/drivers/gpu/drm/amd/display/dc/core/dc_link_dp.c @@ -3750,9 +3750,6 @@ static bool retrieve_link_cap(struct dc_link *link) LINK_AUX_DEFAULT_LTTPR_TIMEOUT_PERIOD); is_lttpr_present = dp_retrieve_lttpr_cap(link); - if (!is_lttpr_present) - dc_link_aux_try_to_configure_timeout(link->ddc, LINK_AUX_DEFAULT_TIMEOUT_PERIOD); - status = core_link_read_dpcd(link, DP_SET_POWER, &dpcd_power_state, sizeof(dpcd_power_state)); @@ -3781,12 +3778,14 @@ static bool retrieve_link_cap(struct dc_link *link) break; } - if (status != DC_OK) { dm_error("%s: Read receiver caps dpcd data failed.\n", __func__); return false; } + if (!is_lttpr_present) + dc_link_aux_try_to_configure_timeout(link->ddc, LINK_AUX_DEFAULT_TIMEOUT_PERIOD); + { union training_aux_rd_interval aux_rd_interval;