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 54C0AEBFD34 for ; Mon, 13 Apr 2026 10:09:01 +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=edtnmsaCFOIW2dF6ZPDgcIxSPKqi37By5CYi0TNxv7E=; b=OySdFMi9Qku+jWPqWZpg2XN2T/ 5/EB9m9a4uti2xVvy0WnP09PhECi/Hv6AuiNLlir807+ETrIm9wkDfBIBb11nhENICjSOxakT1C7W RJNQjwiEqxH4pAp9FJCWdFfljxwQX7bc2oct1lEOgZvkLMebl78jQNBGxDI/uEZB5NYrPjGVmq0l1 ZtYZ130NKZKXpo/lnjRWdWKMM5mf8B/eRHg6q8t26ZDopi1Ff+wQkZpOT8cP5j3fQncBUAexbgokG fbrpb4fSY+ACG8RjPFCzInvtPoGIztAI8vg2BxE+c7ThS02+t0C2tgqEW288UluDhVU8MaacPzsQG GMlwgn2Q==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.2 #2 (Red Hat Linux)) id 1wCEDv-0000000FQ1P-20w5; Mon, 13 Apr 2026 10:08:55 +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 1wCEDs-0000000FPyW-3U75; Mon, 13 Apr 2026 10:08:54 +0000 ARC-Seal: i=1; a=rsa-sha256; t=1776074899; cv=none; d=zohomail.com; s=zohoarc; b=cD818MkwZJY3ZCKytg3FGlnUbcG4OfpQMnGwDpSqw1GopLqe9VThc3aEN34eRkntOW3jnYXd32XjsXayntyPuI9PRii0mfhGvp03g6bNztfA2BNSX4Jbf2vPa26O+MpRnluGQQ/GTCVaeb+hqBTBg0Nv+BosWdV1e7/o33t+b7Q= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1776074899; 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=edtnmsaCFOIW2dF6ZPDgcIxSPKqi37By5CYi0TNxv7E=; b=F8r+H5BnWr0Y6zBsJqGsVCGzAjUr1lEbPGXE4mQFT8X+hCM0o9smf3dx33AssPoPFtmDa4UbbzVxWsg1BvJm7SardCXQUTmci7tOx7ZvzHufiRnrJURSn/3N0RhRvPMDWIlR8pX2ThKUPznQOZQd+1qTsIDfnGEGuZifJ17P06Y= 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=1776074899; 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=edtnmsaCFOIW2dF6ZPDgcIxSPKqi37By5CYi0TNxv7E=; b=Udc0KEwVE71SDj/utQ5zTM168W0F7G6WBtHTk3BjZTO85yd8dk3wK22szkH2jWCh PMdV8fMWutZEkAUQ0UoV0tEEkK5KPjRpt4PmelQPyXJ9wCKOxuMYW++WHMtz9dDb8T+ zMg8yX8RcyPHw0kYsdBnYEblLCy0oiJFJCewYuig= Received: by mx.zohomail.com with SMTPS id 1776074896853799.7351548980962; Mon, 13 Apr 2026 03:08:16 -0700 (PDT) From: Nicolas Frattaroli Date: Mon, 13 Apr 2026 12:07:18 +0200 Subject: [PATCH v13 04/27] drm/connector: Let connectors have a say in their color format MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Message-Id: <20260413-color-format-v13-4-ab37d4dfba48@collabora.com> References: <20260413-color-format-v13-0-ab37d4dfba48@collabora.com> In-Reply-To: <20260413-color-format-v13-0-ab37d4dfba48@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 , Shuah Khan 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.15.2 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20260413_030852_948964_43A4F1A6 X-CRM114-Status: GOOD ( 13.32 ) 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 Add a function to get the connector color format from a connector state, and a new function pointer in drm_connector_funcs to allow connectors to override what connector color format it returns. This is useful for the bridge chain recursive bus format selection code, which does not wish to implement connector implementation specific checks like whether it involves HDMI. Signed-off-by: Nicolas Frattaroli --- drivers/gpu/drm/drm_connector.c | 16 ++++++++++++++++ include/drm/drm_connector.h | 12 ++++++++++++ 2 files changed, 28 insertions(+) diff --git a/drivers/gpu/drm/drm_connector.c b/drivers/gpu/drm/drm_connector.c index 1c4f3ff7d84f..d354ab77d3b8 100644 --- a/drivers/gpu/drm/drm_connector.c +++ b/drivers/gpu/drm/drm_connector.c @@ -3690,6 +3690,22 @@ void drm_connector_oob_hotplug_event(struct fwnode_handle *connector_fwnode, } EXPORT_SYMBOL(drm_connector_oob_hotplug_event); +/** + * drm_connector_get_color_format - Return connector color format of @conn_state + * @conn_state: pointer to the &struct drm_connector_state to go check + * + */ +enum drm_connector_color_format +drm_connector_get_color_format(const struct drm_connector_state *conn_state) +{ + struct drm_connector *connector = conn_state->connector; + + if (connector->funcs->color_format) + return connector->funcs->color_format(conn_state); + + return conn_state->color_format; +} +EXPORT_SYMBOL(drm_connector_get_color_format); /** * DOC: Tile group diff --git a/include/drm/drm_connector.h b/include/drm/drm_connector.h index 620f700fbe76..21767fffcba4 100644 --- a/include/drm/drm_connector.h +++ b/include/drm/drm_connector.h @@ -1811,6 +1811,16 @@ struct drm_connector_funcs { * Allows connectors to create connector-specific debugfs files. */ void (*debugfs_init)(struct drm_connector *connector, struct dentry *root); + + /** + * @color_format: + * + * Allows connectors to return a connector color format other than + * @conn_state.color_format for purposes of e.g. display protocol + * specific helper logic having already mapped it to an output format. + */ + enum drm_connector_color_format (*color_format)( + const struct drm_connector_state *conn_state); }; /** @@ -2627,6 +2637,8 @@ drm_connector_is_unregistered(struct drm_connector *connector) void drm_connector_oob_hotplug_event(struct fwnode_handle *connector_fwnode, enum drm_connector_status status); +enum drm_connector_color_format +drm_connector_get_color_format(const struct drm_connector_state *conn_state); const char *drm_get_connector_type_name(unsigned int connector_type); const char *drm_get_connector_status_name(enum drm_connector_status status); const char *drm_get_subpixel_order_name(enum subpixel_order order); -- 2.53.0