Re: [PATCH RFC 06/25] drm/connector: hdmi: Add VTEM EMP generation
From: Daniel Stone <hidden>
Date: 2026-09-25 10:43:15
Also in:
dri-devel, linux-arm-kernel, linux-rockchip, lkml
Hi Vidith, On Fri, 25 Sept 2026 at 04:49, Vidith Madhu [off-list ref] wrote:
On Mon, 21 Sep 2026, Nicolas Frattaroli wrote:quoted
+ if (!crtc_state->vrr_enabled) {I don't think we should use the vrr_enabled CRTC property to determine VRR_EN in the VTEM EMP. Transitioning the VRR mode sink-side typically causes blanking, and it was discussed in patch [03/25] that drivers should be free to handle vrr_enabled changes as a seamless switch since it only concerns source-side VRR state (this is how the NVIDIA driver handles it). Maybe it would make sense to extend the qms_enabled connector property introduced in this patchset to an enum of {Off, Gaming, QMS}? This would allow a standard path to control the VRR state on the sink, separately from vrr_enabled.
I remain cautious of putting this amount of policy inside the kernel
and/or left to individual IHV choices. It's relatively obvious for
NVIDIA and AMD to say 'we'll always enable FRL/VRR to smash the
maximum rate (unless it's contraindicated by USB-C bandwidth somehow)
because the power burn is inconsequential', but if you were MediaTek
or Rockchip you'd probably make a different decision. Then again, if
you were an MTK device living on AC power, maybe you'd make the same
decision. Or maybe AMD would want to make a different decision on
laptop parts because the bandwidth is noticeable then.
The point is that I don't think we should bury this down in implicit
kernel state. I'm with you on surfacing this as an explicit connector
property. Possibly a bitmask of modes the user will use? e.g. {
frr_only = 0, maybe_gaming_vrr = (1 << 0), maybe_qms = (1 << 1), ...
}? Or perhaps just a flag for whether the link should be negotiated as
wide as possible or tight to the existing mode params?
Cheers,
Daniel