Passive VRR keeps a sink in its variable-refresh state during fixed-refresh (desktop) use, avoiding the blanking/brightness flicker that HDMI sinks without seamless VRR transitions show on VRR entry/exit. It is opt-out (enabled by default where the connector advertises passive_vrr_capable) and is not useful for DP/eDP, where seamless VRR transitions are mandated by the standard.
Patch 1 adds the DRM core plumbing: the PASSIVE_VRR_DISABLED atomic CRTC property and the immutable passive_vrr_capable connector property, with the attach/set helpers. Patch 2 wires these into amdgpu via the existing DC stream->freesync_on_desktop path. Patch 3 fixes the MCCS FreeSync fallback so that HDMI-Forum VRR (HF-VSDB) sinks keep freesync_capable; without it passive VRR never engages on the very TMDS HF-VSDB sinks it targets. Fangzhi Zuo (1): drm/amd/display: Keep FreeSync for HF-VSDB VRR sinks in MCCS fallback Tomasz Pakuła (2): drm: Add passive_vrr properties for passive/desktop VRR drm/amd/display: Use passive_vrr properties in amdgpu .../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.h | 1 + .../display/amdgpu_dm/amdgpu_dm_connector.c | 13 +++- .../display/amdgpu_dm/amdgpu_dm_freesync.c | 7 ++ drivers/gpu/drm/drm_atomic_uapi.c | 4 + drivers/gpu/drm/drm_connector.c | 73 +++++++++++++++++++ drivers/gpu/drm/drm_crtc.c | 2 + drivers/gpu/drm/drm_mode_config.c | 6 ++ include/drm/drm_connector.h | 15 ++++ include/drm/drm_crtc.h | 9 +++ include/drm/drm_mode_config.h | 6 ++ 10 files changed, 134 insertions(+), 2 deletions(-) base-commit: 8c77d618886a143de5cd87a35963b4993075802a -- 2.53.0
