mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-08-30 15:43:08 -04:00
drm/amd/display: Gate HDMI FRL status polling on active FRL link rate
[Why] hdmi_frl_status_polling_work() skipped any link whose connector_signal was not SIGNAL_TYPE_HDMI_FRL. connector_signal is not reliably set to SIGNAL_TYPE_HDMI_FRL while a link is actually running FRL, so links that were operating in FRL mode were skipped and their status flags never got polled, missing link-retrain events. [How] Use frl_link_settings.frl_link_rate to decide whether a link is running FRL. A non-zero rate means FRL is active, so only links with a zero rate are skipped. This ensures every link actually operating in FRL mode is polled for status changes. Reviewed-by: Harry Wentland <harry.wentland@amd.com> Signed-off-by: Fangzhi Zuo <jerry.zuo@amd.com> Signed-off-by: Roman Li <roman.li@amd.com> Tested-by: Dan Wheeler <daniel.wheeler@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
committed by
Alex Deucher
parent
3df68ac6a7
commit
df94112cee
@@ -3068,7 +3068,7 @@ static void hdmi_frl_status_polling_work(struct work_struct *work)
|
||||
if (!dc_is_hdmi_signal(dc_link->connector_signal))
|
||||
continue;
|
||||
|
||||
if (dc_link->connector_signal != SIGNAL_TYPE_HDMI_FRL)
|
||||
if (dc_link->frl_link_settings.frl_link_rate == 0)
|
||||
continue;
|
||||
|
||||
link_update = dc_link_frl_poll_status_flag(dc_link);
|
||||
|
||||
Reference in New Issue
Block a user