Skip to content

[FROM-ML] drm: Add passive_vrr properties for passive/desktop VRR - #110

Merged
KyleGospo merged 3 commits into
features/vrrfrom
vrr-v2
Sep 3, 2026
Merged

[FROM-ML] drm: Add passive_vrr properties for passive/desktop VRR#110
KyleGospo merged 3 commits into
features/vrrfrom
vrr-v2

Conversation

@KyleGospo

Copy link
Copy Markdown
Member

No description provided.

@KyleGospo KyleGospo changed the title fix: Add additional patches for VRR flicker FROM-ML] drm: Add passive_vrr properties for passive/desktop VRR Sep 2, 2026
@KyleGospo KyleGospo changed the title FROM-ML] drm: Add passive_vrr properties for passive/desktop VRR [FROM-ML] drm: Add passive_vrr properties for passive/desktop VRR Sep 2, 2026
@pastaq

pastaq commented Sep 2, 2026

Copy link
Copy Markdown
Member

Please keep the link. Easiest way is with b4 shazam -cl

Lawstorant and others added 3 commits September 2, 2026 16:13
Add the PASSIVE_VRR_DISABLED atomic CRTC property (drm_crtc_state.
passive_vrr_disabled) and the immutable passive_vrr_capable connector
property, together with drm_connector_attach_passive_vrr_capable_property()
and drm_connector_set_passive_vrr_capable_property() helpers.

Passive VRR keeps a sink in its variable-refresh state during fixed
refresh (desktop) use, avoiding blanking/flicker on VRR entry/exit for
HDMI sinks that lack seamless VRR transitions. The property is opt-out
(default enabled where the connector advertises passive_vrr_capable);
lacking hardware support is not treated as failure. Not useful for
DP/eDP where seamless VRR transitions are enforced by the standard.

Signed-off-by: Tomasz Pakuła <tomasz.pakula.oficjalny@gmail.com>
Signed-off-by: Fangzhi Zuo <Jerry.Zuo@amd.com>
Link: https://lore.kernel.org/r/20260901191251.2653684-2-jerry.zuo@amd.com
Wire the passive_vrr DRM properties into amdgpu for HDMI/DP/eDP sinks:
- Add dm_connector_state.freesync_on_desktop_capable and copy it in
  amdgpu_dm_connector_atomic_duplicate_state().
- Attach the passive_vrr_capable connector property alongside
  vrr_capable for non-MST connectors.
- In amdgpu_dm_update_freesync_caps(), record freesync_on_desktop_capable
  and update the passive_vrr_capable property from freesync_capable.
- In amdgpu_dm_get_freesync_config_for_crtc(), drive
  stream->freesync_on_desktop from the inverse of passive_vrr_disabled
  when capable, hooking into the existing DC freesync_on_desktop logic
  that keeps the FreeSync-Active bit set during fixed-refresh (desktop)
  use.

Signed-off-by: Tomasz Pakuła <tomasz.pakula.oficjalny@gmail.com>
Signed-off-by: Fangzhi Zuo <Jerry.Zuo@amd.com>
Link: https://lore.kernel.org/r/20260901191251.2653684-3-jerry.zuo@amd.com
…S fallback

amdgpu_dm_update_freesync_caps() clears freesync_capable for any
SIGNAL_TYPE_HDMI_TYPE_A sink that lacks an AMD FreeSync MCCS VCP code.
HDMI-Forum VRR (HF-VSDB) sinks advertise VRR without such a VCP code, so
the HF-VSDB fallback that set freesync_capable was immediately undone,
leaving VRR and passive VRR disabled on those sinks.

Skip the MCCS clear when the sink reports HF-VSDB VRR capability, so
freesync_capable survives for HDMI-Forum VRR sinks.

Signed-off-by: Fangzhi Zuo <Jerry.Zuo@amd.com>
Link: https://lore.kernel.org/r/20260901191251.2653684-4-jerry.zuo@amd.com
@KyleGospo

Copy link
Copy Markdown
Member Author

Please keep the link. Easiest way is with b4 shazam -cl

Should be addressed now, thanks

@KyleGospo
KyleGospo merged commit 30aa4bd into features/vrr Sep 3, 2026
@KyleGospo
KyleGospo deleted the vrr-v2 branch September 3, 2026 01:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants