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 0E759D116E2 for ; Fri, 28 Nov 2025 21:07:19 +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=1xbtabJZMloMjUyfQimimdWwjltWbAs98RHy7pqsfj0=; b=ElWIps5R8psD07Eci8uGCWz2Vm Emsi33gxr91vCnHOwoiLVzznMEGy5bsYhplPFrSopbXyL8sgKqfq3wv6IIOKGlTkfDWCmEdIOEnsQ 7XjXbQlznRex4Ts3hdZezi2wye4qZGnneprXaY5wCGSAZP0twkWAT2xNI4gPsvkzaQI/cpQkePtJM invVQ9qdUBXyqy6WtpZuVF+kIKy3esCKu/P5FLuIu9fu6vu+W99DvOUzfKP4uOULfpry3PnrgFH6P D8XgPRjfH9rRNB91SH1GZKe+CKUDm13oFEUWD+QnMYFnB8M04piMjieBHfmzd56ipVTBRxQsrLGRh ONl/34Ng==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.2 #2 (Red Hat Linux)) id 1vP5gR-00000000vSB-1e9K; Fri, 28 Nov 2025 21:07:15 +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 1vP5gJ-00000000vLW-1ajT; Fri, 28 Nov 2025 21:07:08 +0000 ARC-Seal: i=1; a=rsa-sha256; t=1764363995; cv=none; d=zohomail.com; s=zohoarc; b=KYgE9XHb8ZO0/7TtjzpVxbEyr+y8G+3hKzn/c1YDuqWp2Ap6yBnJlHz9Sy0ghKnczqVyi9tNjEcSKnubeDgMwG/evdlDPNHal7VHBkFh8GZ6DjTjl9+JD2IlYexNd8doVYc1ixcWlK54XrQLShZ10P115/ACxSfUyVxe1m0uE3g= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1764363995; 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=1xbtabJZMloMjUyfQimimdWwjltWbAs98RHy7pqsfj0=; b=Tw9V5fLovKVxjWyYYQOBqNWpGyMClGskgAvy2tdMuJk2Ts+DLceOsNd8oKppatxacTr80zN2DwGrr6+oYPOC0aC0gEWML8JV2pVWmmgR38cFcXm03tW5KnIHNX8tBlS6H0ZwAMQUIrxRdDv634M2AYCl3XiBiuBS43ltF1IS6c0= 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=1764363995; 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=1xbtabJZMloMjUyfQimimdWwjltWbAs98RHy7pqsfj0=; b=Piw408kENqjfYhur3CUwoDADLfBuVO/QxisHKiSZu7q/0JLVkeqKS5Da1fZZ4DZ4 Xs3hBri7B2aFiJAoE8qNLl1zfzsOMdZOqcj/VTagf1GnAgBbOxK2yBQio79TxaK1o9I Im3CN1CVAnJAH3o8G6nxy0fxn0+L1QHC79jrGLVc= Received: by mx.zohomail.com with SMTPS id 1764363994308958.9729081381457; Fri, 28 Nov 2025 13:06:34 -0800 (PST) From: Nicolas Frattaroli Date: Fri, 28 Nov 2025 22:05:41 +0100 Subject: [PATCH v5 05/17] 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: <20251128-color-format-v5-5-63e82f1db1e1@collabora.com> References: <20251128-color-format-v5-0-63e82f1db1e1@collabora.com> In-Reply-To: <20251128-color-format-v5-0-63e82f1db1e1@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 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, Nicolas Frattaroli X-Mailer: b4 0.14.3 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20251128_130707_512951_2DD08FF5 X-CRM114-Status: GOOD ( 12.29 ) 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 a561f124be99..5da956bdd68c 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