All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] drm/amd/display: Emit VTEM for HF-VSDB VRR on TMDS links
@ 2026-08-28 14:32 Fangzhi Zuo
  2026-08-28 14:35 ` Harry Wentland
  0 siblings, 1 reply; 2+ messages in thread
From: Fangzhi Zuo @ 2026-08-28 14:32 UTC (permalink / raw)
  To: Harry Wentland; +Cc: amd-gfx, Fangzhi Zuo, Pei-Hsin Yang

From: Fangzhi Zuo <Jerry.Zuo@amd.com>

HDMI-Forum VRR metadata is carried in the Video Timing Extended Metadata
Packet (VTEM). amdgpu_dm_update_freesync_state_on_stream() only built the
VTEM for SIGNAL_TYPE_HDMI_FRL, so on a TMDS link a sink that advertises
HDMI-Forum VRR via the HF-VSDB (but not AMD FreeSync via the AMD-VSDB)
never received a VTEM and VRR could not engage.

Per HDMI 2.1 a VTEM is a video-blanking data-island packet valid in both
TMDS and FRL modes; only the compressed-video CVTEM is tied to FRL. Build
the VTEM on a TMDS link as well when the sink reports HF-VSDB VRR. Sinks
without HF-VSDB VRR keep the existing AMD FreeSync SPD infopacket path, so
AMD FreeSync behavior is unchanged.

Signed-off-by: Fangzhi Zuo <Jerry.Zuo@amd.com>
Tested-by: Pei-Hsin Yang <peihsiny@valvesoftware.com>
---
 drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_freesync.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_freesync.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_freesync.c
index 63d10cb7f5ed..281c6cec9f4b 100644
--- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_freesync.c
+++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_freesync.c
@@ -238,7 +238,10 @@ void amdgpu_dm_update_freesync_state_on_stream(
 		&vrr_infopacket,
 		pack_sdp_v1_3);
 
-	if (new_stream->sink->sink_signal == SIGNAL_TYPE_HDMI_FRL)
+	/* Per HDMI 2.1, VTEM is valid on TMDS as well as FRL */
+	if (new_stream->sink->sink_signal == SIGNAL_TYPE_HDMI_FRL ||
+	    (new_stream->sink->sink_signal == SIGNAL_TYPE_HDMI_TYPE_A &&
+	     aconn && aconn->base.display_info.hdmi.vrr_cap.supported))
 		mod_build_infopacket_vtem(new_stream, &vrr_params, 0, &vrr_infopacket);
 
 	new_crtc_state->freesync_vrr_info_changed |=

base-commit: eb3ff61912825e72633f70b6f7197973be83c8db
-- 
2.53.0


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH] drm/amd/display: Emit VTEM for HF-VSDB VRR on TMDS links
  2026-08-28 14:32 [PATCH] drm/amd/display: Emit VTEM for HF-VSDB VRR on TMDS links Fangzhi Zuo
@ 2026-08-28 14:35 ` Harry Wentland
  0 siblings, 0 replies; 2+ messages in thread
From: Harry Wentland @ 2026-08-28 14:35 UTC (permalink / raw)
  To: Fangzhi Zuo; +Cc: amd-gfx, Pei-Hsin Yang



On 2026-08-28 10:32, Fangzhi Zuo wrote:
> From: Fangzhi Zuo <Jerry.Zuo@amd.com>
> 
> HDMI-Forum VRR metadata is carried in the Video Timing Extended Metadata
> Packet (VTEM). amdgpu_dm_update_freesync_state_on_stream() only built the
> VTEM for SIGNAL_TYPE_HDMI_FRL, so on a TMDS link a sink that advertises
> HDMI-Forum VRR via the HF-VSDB (but not AMD FreeSync via the AMD-VSDB)
> never received a VTEM and VRR could not engage.
> 
> Per HDMI 2.1 a VTEM is a video-blanking data-island packet valid in both
> TMDS and FRL modes; only the compressed-video CVTEM is tied to FRL. Build
> the VTEM on a TMDS link as well when the sink reports HF-VSDB VRR. Sinks
> without HF-VSDB VRR keep the existing AMD FreeSync SPD infopacket path, so
> AMD FreeSync behavior is unchanged.
> 
> Signed-off-by: Fangzhi Zuo <Jerry.Zuo@amd.com>
> Tested-by: Pei-Hsin Yang <peihsiny@valvesoftware.com>

Reviewed-by: Harry Wentland <harry.wentland@amd.com>

Harry

> ---
>  drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_freesync.c | 5 ++++-
>  1 file changed, 4 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_freesync.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_freesync.c
> index 63d10cb7f5ed..281c6cec9f4b 100644
> --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_freesync.c
> +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_freesync.c
> @@ -238,7 +238,10 @@ void amdgpu_dm_update_freesync_state_on_stream(
>  		&vrr_infopacket,
>  		pack_sdp_v1_3);
>  
> -	if (new_stream->sink->sink_signal == SIGNAL_TYPE_HDMI_FRL)
> +	/* Per HDMI 2.1, VTEM is valid on TMDS as well as FRL */
> +	if (new_stream->sink->sink_signal == SIGNAL_TYPE_HDMI_FRL ||
> +	    (new_stream->sink->sink_signal == SIGNAL_TYPE_HDMI_TYPE_A &&
> +	     aconn && aconn->base.display_info.hdmi.vrr_cap.supported))
>  		mod_build_infopacket_vtem(new_stream, &vrr_params, 0, &vrr_infopacket);
>  
>  	new_crtc_state->freesync_vrr_info_changed |=
> 
> base-commit: eb3ff61912825e72633f70b6f7197973be83c8db


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2026-08-28 14:35 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-08-28 14:32 [PATCH] drm/amd/display: Emit VTEM for HF-VSDB VRR on TMDS links Fangzhi Zuo
2026-08-28 14:35 ` Harry Wentland

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.