drm/amd/display: Fix Replay Desync Error IRQ handler
In previous case, Replay didn't identify the IRQ type, This commit fixes the issues for the interrupt. Tested-by: Daniel Wheeler <daniel.wheeler@amd.com> Reviewed-by: Robin Chen <robin.chen@amd.com> Acked-by: Rodrigo Siqueira <rodrigo.siqueira@amd.com> Signed-off-by: Dennis Chan <dennis.chan@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
committed by
Alex Deucher
parent
abd26a3252
commit
dd5c6362dd
@@ -190,9 +190,6 @@ static void handle_hpd_irq_replay_sink(struct dc_link *link)
|
||||
/*AMD Replay version reuse DP_PSR_ERROR_STATUS for REPLAY_ERROR status.*/
|
||||
union psr_error_status replay_error_status;
|
||||
|
||||
if (link->replay_settings.config.force_disable_desync_error_check)
|
||||
return;
|
||||
|
||||
if (!link->replay_settings.replay_feature_enabled)
|
||||
return;
|
||||
|
||||
@@ -210,9 +207,6 @@ static void handle_hpd_irq_replay_sink(struct dc_link *link)
|
||||
&replay_error_status.raw,
|
||||
sizeof(replay_error_status.raw));
|
||||
|
||||
if (replay_configuration.bits.DESYNC_ERROR_STATUS)
|
||||
link->replay_settings.config.received_desync_error_hpd = 1;
|
||||
|
||||
link->replay_settings.config.replay_error_status.bits.LINK_CRC_ERROR =
|
||||
replay_error_status.bits.LINK_CRC_ERROR;
|
||||
link->replay_settings.config.replay_error_status.bits.DESYNC_ERROR =
|
||||
@@ -225,6 +219,12 @@ static void handle_hpd_irq_replay_sink(struct dc_link *link)
|
||||
link->replay_settings.config.replay_error_status.bits.STATE_TRANSITION_ERROR) {
|
||||
bool allow_active;
|
||||
|
||||
if (link->replay_settings.config.replay_error_status.bits.DESYNC_ERROR)
|
||||
link->replay_settings.config.received_desync_error_hpd = 1;
|
||||
|
||||
if (link->replay_settings.config.force_disable_desync_error_check)
|
||||
return;
|
||||
|
||||
/* Acknowledge and clear configuration bits */
|
||||
dm_helpers_dp_write_dpcd(
|
||||
link->ctx,
|
||||
|
||||
Reference in New Issue
Block a user