Linux-Rockchip Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Vidith Madhu <vmadhu@nvidia.com>
To: Nicolas Frattaroli <nicolas.frattaroli@collabora.com>
Cc: "Xaver Hugl" <xaver.hugl@gmail.com>,
	"Borah, Chaitanya Kumar" <chaitanya.kumar.borah@intel.com>,
	"Leo Li" <sunpeng.li@amd.com>,
	"Harry Wentland" <harry.wentland@amd.com>,
	"Fangzhi Zuo" <Jerry.Zuo@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" <andyshrk@163.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 v2 17/27] drm/connector: Add "Media" VRR display mode for QMS
Date: Thu, 12 Nov 2026 00:18:21 -0600 (CST)	[thread overview]
Message-ID: <3e4c8552-5dc0-f189-dee8-2ca0ebe01629@nvidia.com> (raw)
In-Reply-To: <20261105-vrr-limiter-uapi-v2-17-55f4215be2c2@collabora.com>



On Thu, 5 Nov 2026, Nicolas Frattaroli wrote:

> HDMI includes a feature called "Quick Media Switching", or QMS for
> short, which builds upon the existing VRR to allow for quick switching
> between a select few common frame rates.
> 
> Add a new VRR display mode, "VRR_DISPLAY_MODE_MEDIA", to the
> vrr_display_mode connector property, in order to expose support for
> this.
> 
> Additionally, add a boolean flag to the connector's HDMI sub-struct with
> which source-side support for QMS can be indicated, as well as the QMS
> tfr byte to the HDMI state sub-struct.
> 
> Signed-off-by: Nicolas Frattaroli <nicolas.frattaroli@collabora.com>
> ---
>  drivers/gpu/drm/drm_connector.c |  6 ++++++
>  include/drm/drm_connector.h     | 14 ++++++++++++++
>  2 files changed, 20 insertions(+)
> 
> diff --git a/drivers/gpu/drm/drm_connector.c b/drivers/gpu/drm/drm_connector.c
> index 21222214a843..f7d619926e2d 100644
> --- a/drivers/gpu/drm/drm_connector.c
> +++ b/drivers/gpu/drm/drm_connector.c
> @@ -1456,6 +1456,7 @@ DRM_ENUM_NAME_FN(drm_get_tv_mode_name, drm_tv_mode_enum_list)
>  static const struct drm_prop_enum_list drm_vrr_mode_enum_list[] = {
>  	{ VRR_DISPLAY_MODE_GAME,   "Game" },
>  	{ VRR_DISPLAY_MODE_OFF,    "Off" },
> +	{ VRR_DISPLAY_MODE_MEDIA,  "Media" },
>  };
>  DRM_ENUM_NAME_FN(drm_get_vrr_mode_name, drm_vrr_mode_enum_list)
>  
> @@ -2593,6 +2594,11 @@ EXPORT_SYMBOL(drm_mode_create_scaling_mode_property);
>   *	    - Game - set display to game mode if display supports it,
>   *	      regardless of CRTC state
>   *	    - Off - set display to VRR disabled mode, regardless of CRTC state
> + *	    - Media - a "media" VRR mode that only supports a select number of
> + *	      common media refresh rates as fixed targets, but does so with
> + *	      possibly better display-side processing. In the HDMI display
> + *	      protocol, this is QMS (Quick Media Switching), though the mode
> + *	      enum itself is vendor-agnostic
>   *
>   * VRR Limiter/Target Properties
>   * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> diff --git a/include/drm/drm_connector.h b/include/drm/drm_connector.h
> index 4801bb2769e1..41f272afbb1e 100644
> --- a/include/drm/drm_connector.h
> +++ b/include/drm/drm_connector.h
> @@ -829,6 +829,8 @@ enum vrr_display_mode {
>  	VRR_DISPLAY_MODE_GAME = 0,
>  	/** @VRR_DISPLAY_MODE_OFF: Turn off VRR on the display */
>  	VRR_DISPLAY_MODE_OFF,
> +	/** @VRR_DISPLAY_MODE_MEDIA: Protocol-agnostic fixed rate media mode */
> +	VRR_DISPLAY_MODE_MEDIA,
>  	/** @VRR_DISPLAY_MODE_COUNT: Sentinel, not a valid mode, keep last */
>  	VRR_DISPLAY_MODE_COUNT
>  };
> @@ -1241,6 +1243,12 @@ struct drm_connector_hdmi_state {
>  	 * deliberately not requested by the helper.
>  	 */
>  	bool scrambler_needed;
> +
> +	/**
> +	 * @qms_tfr_byte: Target frame rate byte for HDMI QMS, or 0 if QMS is
> +	 * not in use.
> +	 */
> +	u8 qms_tfr_byte;
>  };
>  
>  /**
> @@ -2270,6 +2278,12 @@ struct drm_connector_hdmi {
>  	 */
>  	bool scrambler_enabled;
>  
> +	/**
> +	 * @qms_supported: Whether the connector supports HDMI Quick Media
> +	 * Switching (QMS) on the source side, irrespective of display support.
> +	 */
> +	bool qms_supported;
I'm not really understanding why a source-side capability is being 
captured at the connector level. The way I envisioned this is that
source-side Media-VRR support can be determined by whether the driver
attaches the CRTC frame limit properties. The ability to maintain an
arbitrary fixed refresh rate (implied by attaching the properties) should
be the only QMS-specific requirement the source needs to support.

Thanks,
Vidith 
> +
>  	/**
>  	 * @scdc_work: Work item currently used to monitor sink-side scrambling
>  	 * status and retry setup if the sink resets it.
> 
> -- 
> 2.56.0
> 
> 

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

  reply	other threads:[~2026-11-12  6:20 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-11-05 15:51 [PATCH v2 00/27] VRR Target Rate Limiter KMS uAPI and Implementation Nicolas Frattaroli
2026-11-05 15:51 ` [PATCH v2 01/27] drm: Add VRR state Nicolas Frattaroli
2026-11-05 15:51 ` [PATCH v2 02/27] drm/connector: add vrr_display_mode connector property Nicolas Frattaroli
2026-11-05 15:51 ` [PATCH v2 03/27] video/hdmi: Add VTEM EMP packing Nicolas Frattaroli
2026-11-05 15:51 ` [PATCH v2 04/27] drm/bridge: Add VTEM EMP support Nicolas Frattaroli
2026-11-05 15:51 ` [PATCH v2 05/27] drm/connector: hdmi: Add VTEM EMP generation Nicolas Frattaroli
2026-11-05 15:51 ` [PATCH v2 06/27] drm/crtc-helper: Add VRR helper functions Nicolas Frattaroli
2026-11-05 15:51 ` [PATCH v2 07/27] drm/bridge: synopsys: Add VTEM EMP support Nicolas Frattaroli
2026-11-05 15:51 ` [PATCH v2 08/27] drm/connector: Add drm_display_info_is_vrr_capable Nicolas Frattaroli
2026-11-05 15:52 ` [PATCH v2 09/27] drm: Add VRR target frame rate properties Nicolas Frattaroli
2026-11-12  5:24   ` Vidith Madhu
2026-11-12 15:33     ` Nicolas Frattaroli
2026-11-05 15:52 ` [PATCH v2 10/27] drm/connector: Add vrr_display_{min,max} connector properties Nicolas Frattaroli
2026-11-05 15:52 ` [PATCH v2 11/27] drm: Implement VRR rate limiting Nicolas Frattaroli
2026-11-12  5:35   ` Vidith Madhu
2026-11-12 15:38     ` Nicolas Frattaroli
2026-11-05 15:52 ` [PATCH v2 12/27] drm/rockchip: dw_hdmi_qp: Add VRR support Nicolas Frattaroli
2026-11-05 15:52 ` [PATCH v2 13/27] drm/rockchip: Set mode_changed on vrr_enabled change Nicolas Frattaroli
2026-11-05 15:52 ` [PATCH v2 14/27] drm/rockchip: vop2: Enable VRR Nicolas Frattaroli
2026-11-05 15:52 ` [PATCH v2 15/27] drm/edid: Parse QMS flag from HDMI SCDS Nicolas Frattaroli
2026-11-05 15:52 ` [PATCH v2 16/27] drm/edid: Parse QMS TFR min/max flags " Nicolas Frattaroli
2026-11-05 15:52 ` [PATCH v2 17/27] drm/connector: Add "Media" VRR display mode for QMS Nicolas Frattaroli
2026-11-12  6:18   ` Vidith Madhu [this message]
2026-11-05 15:52 ` [PATCH v2 18/27] video/hdmi: Add support for QMS in VTEM EMP packing Nicolas Frattaroli
2026-11-05 15:52 ` [PATCH v2 19/27] drm/connector: hdmi: Add QMS to VTEM EMP generation Nicolas Frattaroli
2026-11-05 15:52 ` [PATCH v2 20/27] drm/connector: hdmi: Add QMS state validation and computation Nicolas Frattaroli
2026-11-07 20:30   ` kernel test robot
2026-11-05 15:52 ` [PATCH v2 21/27] drm/rockchip: dw_hdmi_qp: Add QMS support Nicolas Frattaroli
2026-11-05 15:52 ` [PATCH v2 22/27] drm/tests: hdmi: Add "Game Mode" VRR tests Nicolas Frattaroli
2026-11-05 15:52 ` [PATCH v2 23/27] drm/tests: hdmi: Add Fixed/Constrained rate " Nicolas Frattaroli
2026-11-05 15:52 ` [PATCH v2 24/27] drm/tests: hdmi: Add Quick Media Switching tests Nicolas Frattaroli
2026-11-05 15:52 ` [PATCH v2 25/27] drm/connector: Fix docs for cnmvrr and cinemavrr members Nicolas Frattaroli
2026-11-05 15:52 ` [PATCH v2 26/27] drm/debugfs: Expose HDMI VRR in vrr_range debugfs Nicolas Frattaroli
2026-11-05 15:52 ` [PATCH v2 27/27] drm/tests: hdmi: Add tests for vrr_display_{min,max} properties Nicolas Frattaroli

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=3e4c8552-5dc0-f189-dee8-2ca0ebe01629@nvidia.com \
    --to=vmadhu@nvidia.com \
    --cc=Jerry.Zuo@amd.com \
    --cc=Laurent.pinchart@ideasonboard.com \
    --cc=airlied@gmail.com \
    --cc=andrzej.hajda@intel.com \
    --cc=andyshrk@163.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=harry.wentland@amd.com \
    --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 \
    --cc=xaver.hugl@gmail.com \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox