All of lore.kernel.org
 help / color / mirror / Atom feed
From: Vidith Madhu <vmadhu@nvidia.com>
To: Nicolas Frattaroli <nicolas.frattaroli@collabora.com>
Cc: "Borah, Chaitanya Kumar" <chaitanya.kumar.borah@intel.com>,
	"Leo Li" <sunpeng.li@amd.com>,
	"Daniel Stone" <daniels@collabora.com>,
	"Maarten Lankhorst" <maarten.lankhorst@linux.intel.com>,
	"Maxime Ripard" <mripard@kernel.org>,
	"Thomas Zimmermann" <tzimmermann@suse.de>,
	"David Airlie" <airlied@gmail.com>,
	"Simona Vetter" <simona@ffwll.ch>, "Helge Deller" <deller@gmx.de>,
	"Andrzej Hajda" <andrzej.hajda@intel.com>,
	"Neil Armstrong" <neil.armstrong@linaro.org>,
	"Robert Foss" <rfoss@kernel.org>,
	"Laurent Pinchart" <Laurent.pinchart@ideasonboard.com>,
	"Jonas Karlman" <jonas@kwiboo.se>,
	"Jernej Skrabec" <jernej.skrabec@gmail.com>,
	"Luca Ceresoli" <luca.ceresoli@bootlin.com>,
	"Sandy Huang" <hjc@rock-chips.com>,
	"Heiko Stübner" <heiko@sntech.de>,
	"Andy Yan" <andy.yan@rock-chips.com>,
	"Michel Dänzer" <michel.daenzer@mailbox.org>,
	dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org,
	linux-fbdev@vger.kernel.org, linux-rockchip@lists.infradead.org,
	linux-arm-kernel@lists.infradead.org, kernel@collabora.com,
	"Derek Foreman" <derek.foreman@collabora.com>,
	wayland-devel@lists.freedesktop.org
Subject: Re: [PATCH RFC 13/25] drm: Add VRR target frame rate properties
Date: Thu, 24 Sep 2026 02:01:05 -0500 (CDT)	[thread overview]
Message-ID: <6fb8aaed-5abc-db9c-b09b-3390d8b87686@nvidia.com> (raw)
In-Reply-To: <YozwdeJLQh-0GBcK9P3QvQ@collabora.com>

[-- Attachment #1: Type: text/plain, Size: 3142 bytes --]



On Wed, 23 Sep 2026, Nicolas Frattaroli wrote:

> On Wednesday, 23 September 2026 11:51:45 Central European Summer Time Michel Dänzer wrote:
> > On 9/21/26 17:51, Nicolas Frattaroli wrote:
> > > 
> > > + * .. _VRR-MIN-NUMERATOR:
> > > + *
> > > + * "VRR_MIN_NUMERATOR":
> > > + *	Default &drm_crtc integer property forming the numerator of a
> > > + *	numerator/denominator pair of a frame rate to set as the minimum VRR
> > > + *	target rate. Set to 0 to disable.
> > > + *
> > > + * "VRR_MIN_DENOMINATOR":
> > > + *	Default &drm_crtc integer property forming the denominator of a
> > > + *	numerator/denominator pair of a frame rate to set as the minimum VRR
> > > + *	target rate. If :ref:`VRR_MIN_NUMERATOR <VRR-MIN-NUMERATOR>` is not
> > > + *	zero, it must be non-zero.
> > > + *	Otherwise, must also be zero.
> > > + *
> > > + * .. _VRR-MAX-NUMERATOR:
> > > + *
> > > + * "VRR_MAX_NUMERATOR":
> > > + *	Default &drm_crtc integer property forming the numerator of a
> > > + *	numerator/denominator pair of a frame rate to set as the maximum VRR
> > > + *	target rate. Set to 0 to disable.
> > > + *
> > > + * "VRR_MAX_DENOMINATOR":
> > > + *	Default &drm_crtc integer property forming the denominator of a
> > > + *	numerator/denominator pair of a frame rate to set as the maximum VRR
> > > + *	target rate. If :ref:`VRR_MAX_NUMERATOR <VRR-MAX-NUMERATOR>` is not
> > > + *	zero, it must be non-zero. Otherwise, must also be zero.
> > >   */
> > 
> > Is there a reason that DENOMINATOR must be 0 when the corresponding NUMERATOR is? 0 divided by any number is still 0.
> 
> No, I think that's an arbitrary convention I settled on and don't enforce. I
> guess it should be "Otherwise, may also be zero", because the only situation
> I'm making userspace avoid is x/0 where x != 0.
> 
> > > Either way, should these rules be enforced in drm_atomic_crtc_set_property?
> > 
> > Or rather in atomic_check.
> 
> Due to complicating factors like EDID, CinemaVRR, and QMS TFRmin/TFRmax, checking
> the properties for sensible values is done in the HDMI state helpers at the moment.
> 
> If/when there is a similar mechanism for DP, we can probably factor the common
> parts out. I really do hope all drivers (including those that don't use the HDMI
> state helpers) can at least share the hdmi_validate_vrr() logic, but I haven't
> factored this out into an exported function yet because I don't know how similar
> the DisplayPort-equivalent mechanisms requirements are, or how much of the state
> derivation non-state-helper drivers (i.e. i915 and amdgpu) need.
> 
> Kind regards,
> Nicolas Frattaroli

Thanks for bringing up support for VRR features on DP. Concerning the 
frame rate limits themselves, as I mentioned in patch [02/25] I don't 
think there's a reason to limit the validation to HDMI. There is in fact 
an analog of QMS for DP, called DP-FAVT mode - this is quite a bit more 
streamlined than QMS and the validation should be simpler. Would be nice 
to see these properties support that as well (this was briefly discussed 
at DisplayNext HackFest, if I understood access to the DP spec is the 
main blocker here?).

> 
> 
> 

WARNING: multiple messages have this Message-ID (diff)
From: Vidith Madhu <vmadhu@nvidia.com>
To: Nicolas Frattaroli <nicolas.frattaroli@collabora.com>
Cc: "Borah, Chaitanya Kumar" <chaitanya.kumar.borah@intel.com>,
	"Leo Li" <sunpeng.li@amd.com>,
	"Daniel Stone" <daniels@collabora.com>,
	"Maarten Lankhorst" <maarten.lankhorst@linux.intel.com>,
	"Maxime Ripard" <mripard@kernel.org>,
	"Thomas Zimmermann" <tzimmermann@suse.de>,
	"David Airlie" <airlied@gmail.com>,
	"Simona Vetter" <simona@ffwll.ch>, "Helge Deller" <deller@gmx.de>,
	"Andrzej Hajda" <andrzej.hajda@intel.com>,
	"Neil Armstrong" <neil.armstrong@linaro.org>,
	"Robert Foss" <rfoss@kernel.org>,
	"Laurent Pinchart" <Laurent.pinchart@ideasonboard.com>,
	"Jonas Karlman" <jonas@kwiboo.se>,
	"Jernej Skrabec" <jernej.skrabec@gmail.com>,
	"Luca Ceresoli" <luca.ceresoli@bootlin.com>,
	"Sandy Huang" <hjc@rock-chips.com>,
	"Heiko Stübner" <heiko@sntech.de>,
	"Andy Yan" <andy.yan@rock-chips.com>,
	"Michel Dänzer" <michel.daenzer@mailbox.org>,
	dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org,
	linux-fbdev@vger.kernel.org, linux-rockchip@lists.infradead.org,
	linux-arm-kernel@lists.infradead.org, kernel@collabora.com,
	"Derek Foreman" <derek.foreman@collabora.com>,
	wayland-devel@lists.freedesktop.org
Subject: Re: [PATCH RFC 13/25] drm: Add VRR target frame rate properties
Date: Thu, 24 Sep 2026 02:01:05 -0500 (CDT)	[thread overview]
Message-ID: <6fb8aaed-5abc-db9c-b09b-3390d8b87686@nvidia.com> (raw)
In-Reply-To: <YozwdeJLQh-0GBcK9P3QvQ@collabora.com>

[-- Attachment #1: Type: text/plain, Size: 3142 bytes --]



On Wed, 23 Sep 2026, Nicolas Frattaroli wrote:

> On Wednesday, 23 September 2026 11:51:45 Central European Summer Time Michel Dänzer wrote:
> > On 9/21/26 17:51, Nicolas Frattaroli wrote:
> > > 
> > > + * .. _VRR-MIN-NUMERATOR:
> > > + *
> > > + * "VRR_MIN_NUMERATOR":
> > > + *	Default &drm_crtc integer property forming the numerator of a
> > > + *	numerator/denominator pair of a frame rate to set as the minimum VRR
> > > + *	target rate. Set to 0 to disable.
> > > + *
> > > + * "VRR_MIN_DENOMINATOR":
> > > + *	Default &drm_crtc integer property forming the denominator of a
> > > + *	numerator/denominator pair of a frame rate to set as the minimum VRR
> > > + *	target rate. If :ref:`VRR_MIN_NUMERATOR <VRR-MIN-NUMERATOR>` is not
> > > + *	zero, it must be non-zero.
> > > + *	Otherwise, must also be zero.
> > > + *
> > > + * .. _VRR-MAX-NUMERATOR:
> > > + *
> > > + * "VRR_MAX_NUMERATOR":
> > > + *	Default &drm_crtc integer property forming the numerator of a
> > > + *	numerator/denominator pair of a frame rate to set as the maximum VRR
> > > + *	target rate. Set to 0 to disable.
> > > + *
> > > + * "VRR_MAX_DENOMINATOR":
> > > + *	Default &drm_crtc integer property forming the denominator of a
> > > + *	numerator/denominator pair of a frame rate to set as the maximum VRR
> > > + *	target rate. If :ref:`VRR_MAX_NUMERATOR <VRR-MAX-NUMERATOR>` is not
> > > + *	zero, it must be non-zero. Otherwise, must also be zero.
> > >   */
> > 
> > Is there a reason that DENOMINATOR must be 0 when the corresponding NUMERATOR is? 0 divided by any number is still 0.
> 
> No, I think that's an arbitrary convention I settled on and don't enforce. I
> guess it should be "Otherwise, may also be zero", because the only situation
> I'm making userspace avoid is x/0 where x != 0.
> 
> > > Either way, should these rules be enforced in drm_atomic_crtc_set_property?
> > 
> > Or rather in atomic_check.
> 
> Due to complicating factors like EDID, CinemaVRR, and QMS TFRmin/TFRmax, checking
> the properties for sensible values is done in the HDMI state helpers at the moment.
> 
> If/when there is a similar mechanism for DP, we can probably factor the common
> parts out. I really do hope all drivers (including those that don't use the HDMI
> state helpers) can at least share the hdmi_validate_vrr() logic, but I haven't
> factored this out into an exported function yet because I don't know how similar
> the DisplayPort-equivalent mechanisms requirements are, or how much of the state
> derivation non-state-helper drivers (i.e. i915 and amdgpu) need.
> 
> Kind regards,
> Nicolas Frattaroli

Thanks for bringing up support for VRR features on DP. Concerning the 
frame rate limits themselves, as I mentioned in patch [02/25] I don't 
think there's a reason to limit the validation to HDMI. There is in fact 
an analog of QMS for DP, called DP-FAVT mode - this is quite a bit more 
streamlined than QMS and the validation should be simpler. Would be nice 
to see these properties support that as well (this was briefly discussed 
at DisplayNext HackFest, if I understood access to the DP spec is the 
main blocker here?).

> 
> 
> 

[-- Attachment #2: Type: text/plain, Size: 170 bytes --]

_______________________________________________
Linux-rockchip mailing list
Linux-rockchip@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-rockchip

  reply	other threads:[~2026-09-24  7:01 UTC|newest]

Thread overview: 131+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-09-21 15:51 [PATCH RFC 00/25] VRR Target Rate Limiter KMS uAPI and Implementation Nicolas Frattaroli
2026-09-21 15:51 ` Nicolas Frattaroli
2026-09-21 15:51 ` [PATCH RFC 01/25] drm/edid: Add a query for vrr range Nicolas Frattaroli
2026-09-21 15:51   ` Nicolas Frattaroli
2026-09-21 16:08   ` sashiko-bot
2026-09-21 15:51 ` [PATCH RFC 02/25] drm: Add VRR state Nicolas Frattaroli
2026-09-21 15:51   ` Nicolas Frattaroli
2026-09-24  6:55   ` Vidith Madhu
2026-09-24  6:55     ` Vidith Madhu
2026-09-21 15:51 ` [PATCH RFC 03/25] drm/atomic-helper: Set mode_changed on vrr_enabled change Nicolas Frattaroli
2026-09-21 15:51   ` Nicolas Frattaroli
2026-09-21 16:13   ` sashiko-bot
2026-09-21 21:59   ` Leo Li
2026-09-21 21:59     ` Leo Li
2026-09-22 12:53     ` Nicolas Frattaroli
2026-09-22 12:53       ` Nicolas Frattaroli
2026-09-22 13:22       ` Maxime Ripard
2026-09-22 13:22         ` Maxime Ripard
2026-09-24  6:45     ` Vidith Madhu
2026-09-24  6:45       ` Vidith Madhu
2026-09-21 22:01   ` Leo Li
2026-09-21 22:01     ` Leo Li
2026-09-21 15:51 ` [PATCH RFC 04/25] video/hdmi: Add VTEM EMP packing Nicolas Frattaroli
2026-09-21 15:51   ` Nicolas Frattaroli
2026-09-21 16:07   ` sashiko-bot
2026-09-21 15:51 ` [PATCH RFC 05/25] drm/bridge: Add VTEM EMP support Nicolas Frattaroli
2026-09-21 15:51   ` Nicolas Frattaroli
2026-09-21 16:01   ` sashiko-bot
2026-09-21 15:51 ` [PATCH RFC 06/25] drm/connector: hdmi: Add VTEM EMP generation Nicolas Frattaroli
2026-09-21 15:51   ` Nicolas Frattaroli
2026-09-21 16:13   ` sashiko-bot
2026-09-25  3:48   ` Vidith Madhu
2026-09-25  3:48     ` Vidith Madhu
2026-09-25 10:42     ` Daniel Stone
2026-09-25 10:42       ` Daniel Stone
2026-09-25 11:11       ` Jani Nikula
2026-09-25 11:11         ` Jani Nikula
2026-09-26 11:03     ` Nicolas Frattaroli
2026-09-26 11:03       ` Nicolas Frattaroli
2026-09-29 18:55       ` Vidith Madhu
2026-09-29 18:55         ` Vidith Madhu
2026-09-30  7:50         ` Michel Dänzer
2026-09-30  7:50           ` Michel Dänzer
2026-09-21 15:51 ` [PATCH RFC 07/25] drm/crtc-helper: Add VRR helper functions Nicolas Frattaroli
2026-09-21 15:51   ` Nicolas Frattaroli
2026-09-21 16:05   ` sashiko-bot
2026-09-21 15:51 ` [PATCH RFC 08/25] drm/bridge: synopsys: Add VTEM EMP support Nicolas Frattaroli
2026-09-21 15:51   ` Nicolas Frattaroli
2026-09-21 16:06   ` sashiko-bot
2026-09-21 15:51 ` [PATCH RFC 09/25] drm/connector: Add drm_display_info_is_vrr_capable Nicolas Frattaroli
2026-09-21 15:51   ` Nicolas Frattaroli
2026-09-21 16:04   ` sashiko-bot
2026-09-21 15:51 ` [PATCH RFC 10/25] drm/rockchip: dw_hdmi_qp: Add VRR support Nicolas Frattaroli
2026-09-21 15:51   ` Nicolas Frattaroli
2026-09-21 16:09   ` sashiko-bot
2026-09-21 15:51 ` [PATCH RFC 11/25] drm/rockchip: vop2: Enable VRR Nicolas Frattaroli
2026-09-21 15:51   ` Nicolas Frattaroli
2026-09-21 16:16   ` sashiko-bot
2026-09-21 15:51 ` [PATCH RFC 12/25] drm/edid: Parse CinemaVRR flag from HDMI SCDS Nicolas Frattaroli
2026-09-21 15:51   ` Nicolas Frattaroli
2026-09-21 16:13   ` sashiko-bot
2026-09-21 15:51 ` [PATCH RFC 13/25] drm: Add VRR target frame rate properties Nicolas Frattaroli
2026-09-21 15:51   ` Nicolas Frattaroli
2026-09-21 16:14   ` sashiko-bot
2026-09-21 22:23   ` Leo Li
2026-09-21 22:23     ` Leo Li
2026-09-22 15:26     ` Nicolas Frattaroli
2026-09-22 15:26       ` Nicolas Frattaroli
2026-09-25 18:42       ` Leo Li
2026-09-25 18:42         ` Leo Li
2026-09-26 12:13         ` Nicolas Frattaroli
2026-09-26 12:13           ` Nicolas Frattaroli
2026-09-28  8:10         ` Michel Dänzer
2026-09-28  8:10           ` Michel Dänzer
2026-09-29 14:34           ` Leo Li
2026-09-29 14:34             ` Leo Li
2026-09-29 16:00             ` Michel Dänzer
2026-09-29 16:00               ` Michel Dänzer
2026-09-29 18:14             ` Nicolas Frattaroli
2026-09-29 18:14               ` Nicolas Frattaroli
2026-09-29 18:24               ` Nicolas Frattaroli
2026-09-29 18:24                 ` Nicolas Frattaroli
2026-09-23  9:51   ` Michel Dänzer
2026-09-23  9:51     ` Michel Dänzer
2026-09-23  9:54     ` Michel Dänzer
2026-09-23  9:54       ` Michel Dänzer
2026-09-23 14:39     ` Nicolas Frattaroli
2026-09-23 14:39       ` Nicolas Frattaroli
2026-09-24  7:01       ` Vidith Madhu [this message]
2026-09-24  7:01         ` Vidith Madhu
2026-09-24 12:10         ` Nicolas Frattaroli
2026-09-24 12:10           ` Nicolas Frattaroli
2026-09-29 19:16   ` Vidith Madhu
2026-09-29 19:16     ` Vidith Madhu
2026-09-29 19:55     ` Nicolas Frattaroli
2026-09-29 19:55       ` Nicolas Frattaroli
2026-09-29 21:05       ` Vidith Madhu
2026-09-29 21:05         ` Vidith Madhu
2026-09-29 22:21     ` Xaver Hugl
2026-09-29 22:21       ` Xaver Hugl
2026-09-21 15:51 ` [PATCH RFC 14/25] drm: Implement VRR rate limiting Nicolas Frattaroli
2026-09-21 15:51   ` Nicolas Frattaroli
2026-09-21 16:17   ` sashiko-bot
2026-09-21 15:51 ` [PATCH RFC 15/25] drm/edid: Parse QMS flag from HDMI SCDS Nicolas Frattaroli
2026-09-21 15:51   ` Nicolas Frattaroli
2026-09-21 16:18   ` sashiko-bot
2026-09-21 15:51 ` [PATCH RFC 16/25] drm/edid: Parse QMS TFR min/max flags " Nicolas Frattaroli
2026-09-21 15:51   ` Nicolas Frattaroli
2026-09-21 16:19   ` sashiko-bot
2026-09-21 15:51 ` [PATCH RFC 17/25] drm/connector: Add "qms_enabled" drm property Nicolas Frattaroli
2026-09-21 15:51   ` Nicolas Frattaroli
2026-09-21 16:20   ` sashiko-bot
2026-09-21 15:51 ` [PATCH RFC 18/25] video/hdmi: Add support for QMS in VTEM EMP packing Nicolas Frattaroli
2026-09-21 15:51   ` Nicolas Frattaroli
2026-09-21 15:51 ` [PATCH RFC 19/25] drm/connector: hdmi: Add QMS to VTEM EMP generation Nicolas Frattaroli
2026-09-21 15:51   ` Nicolas Frattaroli
2026-09-21 15:51 ` [PATCH RFC 20/25] drm/connector: hdmi: Add QMS state validation and computation Nicolas Frattaroli
2026-09-21 15:51   ` Nicolas Frattaroli
2026-09-21 15:51 ` [PATCH RFC 21/25] drm/rockchip: dw_hdmi_qp: Add QMS support Nicolas Frattaroli
2026-09-21 15:51   ` Nicolas Frattaroli
2026-09-21 15:51 ` [PATCH RFC 22/25] drm/tests: hdmi: Add "Game Mode" VRR tests Nicolas Frattaroli
2026-09-21 15:51   ` Nicolas Frattaroli
2026-09-21 16:26   ` sashiko-bot
2026-09-21 15:51 ` [PATCH RFC 23/25] drm/tests: hdmi: Add Fixed/Constrained rate " Nicolas Frattaroli
2026-09-21 15:51   ` Nicolas Frattaroli
2026-09-21 15:51 ` [PATCH RFC 24/25] drm/tests: hdmi: Add Quick Media Switching tests Nicolas Frattaroli
2026-09-21 15:51   ` Nicolas Frattaroli
2026-09-21 16:26   ` sashiko-bot
2026-09-21 15:51 ` [PATCH RFC 25/25] drm/atomic: Disable VRR in helper_set_config Nicolas Frattaroli
2026-09-21 15:51   ` Nicolas Frattaroli
2026-09-21 16:26   ` sashiko-bot

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=6fb8aaed-5abc-db9c-b09b-3390d8b87686@nvidia.com \
    --to=vmadhu@nvidia.com \
    --cc=Laurent.pinchart@ideasonboard.com \
    --cc=airlied@gmail.com \
    --cc=andrzej.hajda@intel.com \
    --cc=andy.yan@rock-chips.com \
    --cc=chaitanya.kumar.borah@intel.com \
    --cc=daniels@collabora.com \
    --cc=deller@gmx.de \
    --cc=derek.foreman@collabora.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=heiko@sntech.de \
    --cc=hjc@rock-chips.com \
    --cc=jernej.skrabec@gmail.com \
    --cc=jonas@kwiboo.se \
    --cc=kernel@collabora.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-fbdev@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-rockchip@lists.infradead.org \
    --cc=luca.ceresoli@bootlin.com \
    --cc=maarten.lankhorst@linux.intel.com \
    --cc=michel.daenzer@mailbox.org \
    --cc=mripard@kernel.org \
    --cc=neil.armstrong@linaro.org \
    --cc=nicolas.frattaroli@collabora.com \
    --cc=rfoss@kernel.org \
    --cc=simona@ffwll.ch \
    --cc=sunpeng.li@amd.com \
    --cc=tzimmermann@suse.de \
    --cc=wayland-devel@lists.freedesktop.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.