]> git.ipfire.org Git - thirdparty/linux.git/commit
drm/amd/display: Allow VRR params change if unsynced with the stream
authorIvan Lipski <ivan.lipski@amd.com>
Thu, 23 Oct 2025 14:03:59 +0000 (10:03 -0400)
committerAlex Deucher <alexander.deucher@amd.com>
Wed, 12 Nov 2025 02:54:15 +0000 (21:54 -0500)
commit607df8248a011524211ee34850345305a1913f9e
treece1a3dd2dda33c97cc8cd2ef5ad782a0d5fbb43b
parent8b9eac5e0faebaffc5411505e0df0d00dc09504c
drm/amd/display: Allow VRR params change if unsynced with the stream

[Why]
When changing resolution (e.g., 4K → FHD) in mirror/clone mode with
certain monitors, the monitor blanks and loses connection due to an early
exit in vrr_settings_require_update(). The function only checks if VRR
state, fixed refresh target, or min/max refresh rate range has changed.

During mode changes, if the calculated min/max refresh values remain the
same even though the stream's v_total changed, the function returns early
without updating vrr_params.adjust.v_total_min/max, leaving the monitor's
VRR timing parameters unsynced with the new mode, causing it to blank out.

[How]
Explicitly adjust VRR parameters to the stream's nominal v_total when VRR
is supported, but inactive.

Fixes: 6d31602a9f57 ("drm/amd/display: more liberal vmin/vmax update for freesync")
Reviewed-by: Aurabindo Pillai <aurabindo.pillai@amd.com>
Signed-off-by: Ivan Lipski <ivan.lipski@amd.com>
Signed-off-by: Fangzhi Zuo <jerry.zuo@amd.com>
Tested-by: Dan Wheeler <daniel.wheeler@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/display/modules/freesync/freesync.c