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 4B787C44536 for ; Wed, 21 Jan 2026 14:46:50 +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=rvJgPMT+HU5WR06OrKvq+eql2T6omfgWB+OE+x/UWsw=; b=ttLqNzkCAYX12j4d135O9p/shs Ay3bv/ffg5/EXVsF8iTisUOBGMf4VEDdFEs9JPx6JsidiuKNmNSOWCNt+bjpZLNP7Cyisfb+Ne5V0 tF8ZGL62gUOOmtOkaRvngiwnPcTrP1fe8odl92PeEGRqPXbfRQTuq45Gilto97VBsHie2ZsmdU6WR 5md6WJCzQD5VmIMIC8PG6jYHvrCPajqc63ORP620yXsbGn7I+BMDSUv0Chzhhp5Fe9FSdRpT7GtjO Xu96axcwTWtOIU9R5gWyKTkj5qwR1u+viFjPuKTjBXkpc3om3UGo8hIKk6hjBLw8754aLfbFA0nnY lvedguxw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.2 #2 (Red Hat Linux)) id 1viZTo-00000005cwz-2bx5; Wed, 21 Jan 2026 14:46:44 +0000 Received: from sender4-pp-f112.zoho.com ([136.143.188.112]) by bombadil.infradead.org with esmtps (Exim 4.98.2 #2 (Red Hat Linux)) id 1viZTl-00000005cti-2eJk; Wed, 21 Jan 2026 14:46:43 +0000 ARC-Seal: i=1; a=rsa-sha256; t=1769006771; cv=none; d=zohomail.com; s=zohoarc; b=Y95cA4B0qN8ORjKzxrSdQcBrl1u3QTODqukbl9qLHddqIdZlNIbXsngKgkY04n/sMGm9mgXU3H5ZQSM4aLDMLv74d0IlrP9uZNWsjMUCbLzK4sVw6jqpcWqhEg0swBGF/8+DoBHrH6Dr/eU7BVoCfVZ2969fSRn1GMqJrUH0zxg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1769006771; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:Subject:To:To:Message-Id:Reply-To; bh=rvJgPMT+HU5WR06OrKvq+eql2T6omfgWB+OE+x/UWsw=; b=LMefyqtiNuwsB3K6tR6E1lh+zsCUyCeLddNFPcHcutpIZs7KR70MAYH8T/EnB4UZXj/D2jO5FL3MojGF0c81MZfJYrVW61dEhD/4X77/76nnOjZzxN+9Od3urcC/yD38Jdo2NzlPRjRshAI18+vJPo1WJjR7nC08S0f0HeqhY1U= 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=1769006771; 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:References:In-Reply-To:To:To:Cc:Cc:Reply-To; bh=rvJgPMT+HU5WR06OrKvq+eql2T6omfgWB+OE+x/UWsw=; b=Sf6GbYJoOLEinskfIKGTf7gszUm3BZH8xFlzdVvn3QUOE7FVRVoH9TI8Qp4C1kpJ s4DarNldIcS9GphWI4Qp+M5WlgKMdBytZ3RkpXvwu2SfIXcDkuboIcQGy31Z6JbdayW sK9ItB4bThz43cnuLbVQkqV+r+Sg8NIMpKJqW8dk= Received: by mx.zohomail.com with SMTPS id 1769006770485357.33139956056084; Wed, 21 Jan 2026 06:46:10 -0800 (PST) From: Nicolas Frattaroli Date: Wed, 21 Jan 2026 15:45:12 +0100 Subject: [PATCH v7 05/22] drm/display: hdmi-state-helper: Act on color format DRM property MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Message-Id: <20260121-color-format-v7-5-ef790dae780c@collabora.com> References: <20260121-color-format-v7-0-ef790dae780c@collabora.com> In-Reply-To: <20260121-color-format-v7-0-ef790dae780c@collabora.com> To: Harry Wentland , Leo Li , Rodrigo Siqueira , Alex Deucher , =?utf-8?q?Christian_K=C3=B6nig?= , David Airlie , Simona Vetter , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , Andrzej Hajda , Neil Armstrong , Robert Foss , Laurent Pinchart , Jonas Karlman , Jernej Skrabec , Sandy Huang , =?utf-8?q?Heiko_St=C3=BCbner?= , Andy Yan , Jani Nikula , Rodrigo Vivi , Joonas Lahtinen , Tvrtko Ursulin , Dmitry Baryshkov , Sascha Hauer , Rob Herring , Jonathan Corbet Cc: kernel@collabora.com, amd-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rockchip@lists.infradead.org, intel-gfx@lists.freedesktop.org, intel-xe@lists.freedesktop.org, linux-doc@vger.kernel.org, Nicolas Frattaroli X-Mailer: b4 0.14.3 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20260121_064641_819727_7F2872F9 X-CRM114-Status: GOOD ( 13.22 ) 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 With the introduction of the "color format" DRM property, which allows userspace to request a specific color format, the HDMI state helper should implement this. Implement it by checking whether the property is set and set to something other than auto. If so, pass the requested color format, and otherwise set RGB. Signed-off-by: Nicolas Frattaroli --- drivers/gpu/drm/display/drm_hdmi_state_helper.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/display/drm_hdmi_state_helper.c b/drivers/gpu/drm/display/drm_hdmi_state_helper.c index a1d16762ac7a..1ea3b9c93aa5 100644 --- a/drivers/gpu/drm/display/drm_hdmi_state_helper.c +++ b/drivers/gpu/drm/display/drm_hdmi_state_helper.c @@ -649,11 +649,21 @@ hdmi_compute_config(const struct drm_connector *connector, unsigned int max_bpc = clamp_t(unsigned int, conn_state->max_bpc, 8, connector->max_bpc); + enum hdmi_colorspace hdmi_colorspace = + drm_color_format_to_hdmi_colorspace(conn_state->color_format); int ret; ret = hdmi_compute_format_bpc(connector, conn_state, mode, max_bpc, - HDMI_COLORSPACE_RGB); + hdmi_colorspace); if (ret) { + /* If a color format was explicitly requested, don't fall back */ + if (conn_state->color_format) { + drm_dbg_kms(connector->dev, + "Explicitly set color format '%s' doesn't work.\n", + drm_get_color_format_name(conn_state->color_format)); + return ret; + } + if (connector->ycbcr_420_allowed) { ret = hdmi_compute_format_bpc(connector, conn_state, mode, max_bpc, -- 2.52.0