[PATCH v2 15/27] drm/edid: Parse QMS flag from HDMI SCDS
Nicolas Frattaroli
nicolas.frattaroli at collabora.com
Thu Nov 5 07:52:06 PST 2026
Thanks to a GPL'd source code release from a hardware vendor that shall
not be named, which has since been scrubbed off GitHub, it's now public
knowledge how the HDMI Forum EDID extension communicates support for QMS
("Quick Media Switching") on a sink. Bit number 6 indicates support for
QMS in the same byte that also contains the CinemaVRR flag.
Add this definition to the EDID header file, and parse it to a member of
drm_hdmi_vrr_cap.
Signed-off-by: Nicolas Frattaroli <nicolas.frattaroli at collabora.com>
---
drivers/gpu/drm/drm_edid.c | 1 +
include/drm/drm_connector.h | 3 +++
include/drm/drm_edid.h | 1 +
3 files changed, 5 insertions(+)
diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c
index 3148038747b6..d439928caacc 100644
--- a/drivers/gpu/drm/drm_edid.c
+++ b/drivers/gpu/drm/drm_edid.c
@@ -6224,6 +6224,7 @@ static void drm_parse_hdmi_gaming_info(struct drm_hdmi_info *hdmi, const u8 *db)
vrr->cnmvrr = db[8] & DRM_EDID_CNMVRR;
vrr->cinema_vrr = db[8] & DRM_EDID_CINEMA_VRR;
vrr->mdelta = db[8] & DRM_EDID_MDELTA;
+ vrr->qms_capable = db[8] & DRM_EDID_QMS;
if (cea_db_payload_len(db) < 9)
return;
diff --git a/include/drm/drm_connector.h b/include/drm/drm_connector.h
index c0865a2547fd..830a33fb5301 100644
--- a/include/drm/drm_connector.h
+++ b/include/drm/drm_connector.h
@@ -291,6 +291,9 @@ struct drm_hdmi_vrr_cap {
* VRRmax values having correct values.
*/
bool supported;
+
+ /** @qms_capable: The sink supports Quick Media Switching */
+ bool qms_capable;
};
/**
diff --git a/include/drm/drm_edid.h b/include/drm/drm_edid.h
index a2617aa34edf..f1e2052cb08b 100644
--- a/include/drm/drm_edid.h
+++ b/include/drm/drm_edid.h
@@ -265,6 +265,7 @@ struct detailed_timing {
#define DRM_EDID_CNMVRR (1 << 3)
#define DRM_EDID_CINEMA_VRR (1 << 4)
#define DRM_EDID_MDELTA (1 << 5)
+#define DRM_EDID_QMS (1 << 6)
#define DRM_EDID_VRR_MAX_UPPER_MASK 0xc0
#define DRM_EDID_VRR_MAX_LOWER_MASK 0xff
#define DRM_EDID_VRR_MIN_MASK 0x3f
--
2.56.0
More information about the Linux-rockchip
mailing list