From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 39A22C982FB for ; Mon, 21 Sep 2026 15:54:11 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:Cc:To:In-Reply-To:References :Message-Id:Content-Transfer-Encoding:Content-Type:MIME-Version:Subject:Date: From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=OTPs0m8K1NZZqNCZ2ZoGsft+mfIizutFeldFeGSDZYA=; b=s+1qFvQbgG7oY/wbAjc6Mzl30Z rFysnrShI3QptEWeP6r7csVYHjwqzL3lABPOyrXJtYyJHu1Xg7DIFXsIVXb9fv5kQ7pjGXN/s0d89 MUUDtF5XADdQe0GfV+yTxokzgqJeabN5KwVZa+X3jDIKDBmjFXe+eH53YdlEJt5KEGw4AJpWncCiz HFCOl8Y+SfqfJWnBu42aWoOdMt/fBRJzus4v0Ya4m3agVwUDQwG7yYhYwRcFIrxBdeyCkr7Gc1X7J 1wUPIRy7JyU7VtGgP8B3c4B+PUAxaUjo/i7Qdz98MUfQ6o6mT1GFnCdlyG3JuKNSR5ZELzXQCTFV8 Y/pItPBA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.99.1 #2 (Red Hat Linux)) id 1x8gLE-00000002i70-2EoH; Mon, 21 Sep 2026 15:54:04 +0000 Received: from desiato.infradead.org ([2001:8b0:10b:1:d65d:64ff:fe57:4e05]) by bombadil.infradead.org with esmtps (Exim 4.99.1 #2 (Red Hat Linux)) id 1x8gL4-00000002hsh-0gSU; Mon, 21 Sep 2026 15:53:54 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=desiato.20200630; h=Cc:To:In-Reply-To:References: Message-Id:Content-Transfer-Encoding:Content-Type:MIME-Version:Subject:Date: From:Sender:Reply-To:Content-ID:Content-Description; bh=OTPs0m8K1NZZqNCZ2ZoGsft+mfIizutFeldFeGSDZYA=; b=hz/7Gm86NPHuCRXFh88rAnnQl0 fywC6dyG4CZEtD68XRS6iEuLa270HOh8D7dTXpMeJ+KoFv36YROs1p02SXfyrlL/k6syLZcvEFtw9 RoqjNPGTvNR3o/qkP0EtMaz2c8/yFw3/1pMcyOqc6Mc1B8setxYGKbax9XEqJmUtVfVFCnyL2ivVI 1IphBBLVGOMtxVC0UEZarRR/wsPoJcDco68kj1c3XYKRGCkw64azdZPHbS94eApjVcvLjAkrGk8G1 vj/x1Uu070bv4qeQAjqRz2TdoEPA+CTAOvR23tSnXNI2WFvkHcdKMCpTbv2KUy+sfpByE+c4wVt9P q5bLx3mw==; Received: from sender4-pp-f112.zoho.com ([136.143.188.112]) by desiato.infradead.org with esmtps (Exim 4.99.2 #2 (Red Hat Linux)) id 1x8gKy-0000000CVTk-0RD2; Mon, 21 Sep 2026 15:53:52 +0000 ARC-Seal: i=1; a=rsa-sha256; t=1790005991; cv=none; d=zohomail.com; s=zohoarc; b=IPFid0e9vODgcSMCEusJ+bQftHO17olv16R8WSLSSyhN/KFvjOfYrhEknHrN4LtxKQI5Y/1AL934WFqS55OiMDDsJZ7ABmjeZDm9tzNgWcnk+eRZfX7yZ970nBr+RFPOjKsMBneDbUEuU7sj/O0UcywETkcXkRT1EqdnzXsa7Eg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1790005991; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:MIME-Version:Message-ID:Subject:Subject:To:To:Message-Id:Reply-To; bh=OTPs0m8K1NZZqNCZ2ZoGsft+mfIizutFeldFeGSDZYA=; b=mHppDmJko71JK/NbwhakTvzqCMT1YcR3SahXGhdLjuMSo6zZGSrq9DVY9G82jntXD8v/gJ8vp3e6aXdpD7tMVVPKzV64swKVQMaXOqB8KR8UX+LiUr3eDzLY96bPnDMNu8k2vHiCOwKzwOXbtclU2S1q4PK80eNQtaSchdon6Sc= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass header.i=collabora.com; spf=pass smtp.mailfrom=nicolas.frattaroli@collabora.com; dmarc=pass header.from= DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; t=1790005991; s=zohomail; d=collabora.com; i=nicolas.frattaroli@collabora.com; h=From:From:Date:Date:Subject:Subject:MIME-Version:Content-Type:Content-Transfer-Encoding:Message-Id:Message-Id:In-Reply-To:To:To:Cc:Cc:Reply-To; bh=OTPs0m8K1NZZqNCZ2ZoGsft+mfIizutFeldFeGSDZYA=; b=DNYT7D1LE8zPm5SV05KRKU3gOwJah2VF7pX6LLN/tkiSeQDcLlew8WiSW3+V9p2Q z/y5l/h9zsFhoKbViarXQa3VWCr3L019j/OKjn+ef/e+D5Em636idyz9iCu6tI+6T4g R2jg/fVz+aOTEccx40zL7lciLVbt6pA2agj/XgpA= Received: by smtp.zohomail.com with SMTPS id 1790005989707834.0920962164566; Mon, 21 Sep 2026 08:53:09 -0700 (PDT) From: Nicolas Frattaroli Date: Mon, 21 Sep 2026 17:51:38 +0200 Subject: [PATCH RFC 12/25] drm/edid: Parse CinemaVRR flag from HDMI SCDS MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Message-Id: <20260921-vrr-limiter-uapi-v1-12-2fcd7d011646@collabora.com> References: <20260921-vrr-limiter-uapi-v1-0-2fcd7d011646@collabora.com> In-Reply-To: <20260921-vrr-limiter-uapi-v1-0-2fcd7d011646@collabora.com> To: "Borah, Chaitanya Kumar" , Leo Li , Daniel Stone , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Helge Deller , Andrzej Hajda , Neil Armstrong , Robert Foss , Laurent Pinchart , Jonas Karlman , Jernej Skrabec , Luca Ceresoli , Sandy Huang , =?utf-8?q?Heiko_St=C3=BCbner?= , Andy Yan Cc: 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 , wayland-devel@lists.freedesktop.org, Nicolas Frattaroli X-Mailer: b4 0.15.2 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.9.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20260921_165350_504397_1BAD65C8 X-CRM114-Status: GOOD ( 13.48 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org HDMI's extension to EDID contains a flag which is used by sinks to signal that they support "CinemaVRR". When CinemaVRR is enabled, some VRR is possible even if the minimum VRR range is set to 0. Parse it from the SCDS and store it in the sink's drm_hdmi_info. Signed-off-by: Nicolas Frattaroli --- drivers/gpu/drm/drm_edid.c | 7 ++++++- include/drm/drm_connector.h | 3 +++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c index a1494028e0f5..cc6f2ba8c9f4 100644 --- a/drivers/gpu/drm/drm_edid.c +++ b/drivers/gpu/drm/drm_edid.c @@ -6314,6 +6314,11 @@ static void drm_parse_vrr_info(struct drm_display_info *info, const u8 *hf_scds) struct drm_monitor_range_info *range = &info->monitor_range; const int pld_len = cea_db_payload_len(hf_scds); + if (pld_len < 9) + return; + + info->hdmi.cinema_vrr = !!(hf_scds[8] & DRM_EDID_CINEMA_VRR); + if (pld_len < 10) return; @@ -6392,7 +6397,7 @@ static void drm_parse_hdmi_forum_scds(struct drm_connector *connector, drm_parse_vrr_info(info, hf_scds); - if (info->monitor_range.min_vfreq > 0) + if (info->monitor_range.min_vfreq > 0 || hdmi->cinema_vrr) hdmi->vrr_capable = true; else hdmi->vrr_capable = false; diff --git a/include/drm/drm_connector.h b/include/drm/drm_connector.h index b18684d039d5..b147b8474f1a 100644 --- a/include/drm/drm_connector.h +++ b/include/drm/drm_connector.h @@ -383,6 +383,9 @@ struct drm_hdmi_info { /** @vrr_capable: The sink supports variable refresh rate */ bool vrr_capable; + + /** @cinema_vrr: The sink supports "CinemaVRR" */ + bool cinema_vrr; }; /** -- 2.55.0