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

Reply via email to