On 5/23/26 00:15, Pei-Hsin Yang wrote: >> Note that some kind of short-term solution is needed for the regression(s) >> in 7.1-rc. > > Here is my suggestion as a short-term workaround: > - Just refer to the vsdb_info data structure to set the value of > freesync_capable. freesync_mccs_vcp_code = 0 doesn't mean FreeSync is not > supported. > - Check both freesync_supported and freesync_mccs_vcp_code along with > do_mccs to call dm_helpers_mccs_vcp_set(). > - Note that MCCS command over DDC might be failed at runtime, but at > least, it will not inadvertently disable the VRR if (1) sink is FreeSync > supported but vcp_code = 0, or (2) dm_helpers_read_mccs_cap() failed > intermittently at runtime. > > Patch created based on commit 53f0235c0284fc676d1510a460e1c6c111de3ea1 is > attached as a reference for AMD team to review. > > commit 53f0235c0284fc676d1510a460e1c6c111de3ea1 (HEAD -> > amd-staging-drm-next, origin/amd-staging-drm-next, origin/HEAD)
In the future, please send patches inline, to make giving feedback easier. > @@ -13680,11 +13680,10 @@ void amdgpu_dm_update_freesync_caps(struct > drm_connector *connector, > > if ((sink->sink_signal == SIGNAL_TYPE_HDMI_TYPE_A || > as_type == FREESYNC_TYPE_PCON_IN_WHITELIST) && > - (!sink->edid_caps.freesync_vcp_code || > - (sink->edid_caps.freesync_vcp_code && > !sink->mccs_caps.freesync_supported))) > + (!vsdb_info.freesync_supported)) > freesync_capable = false; vsdb_info.freesync_supported already guards setting freesync_capable = true in the first place (given either of the other two conditions) above, so this if-statement looks superfluous now. -- Earthling Michel Dänzer \ GNOME / Xwayland / Mesa developer https://redhat.com \ Libre software enthusiast
