* [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.