From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (prime256v1) server-digest SHA256) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 2F641606A325 for ; Tue, 27 Oct 2026 13:33:39 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key, unprotected) header.d=lists.infradead.org header.i=@lists.infradead.org header.a=rsa-sha256 header.s=bombadil.20210309 header.b=j19EDLg+; dkim=pass (1024-bit key, unprotected) header.d=rock-chips.com header.i=@rock-chips.com header.a=rsa-sha256 header.s=default header.b=LTSFCUnf 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:Content-Transfer-Encoding: MIME-Version:References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From: Reply-To:Content-Type:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Unsubscribe-Post: List-Owner; bh=v9WUGyGZ+GPpo6rTg1cKFsNj7Hhgu8T0h9yJn2ON8FE=; b=j19EDLg+D6Ya1z SbSr2HIpG0+vEM4HW27tZIecLX6vWFKUHOyeyQTdHqebnN5c/70Tv73aH0N4CxnbbQRSx1fb/NrG5 64HGfkO0/3zG20m9INEPb9mKtF8Wj1vkzmznIgrxUyUQE5Q2NUvgGrZNn1E4FVbaZbWb/A0QbFo4h nM0uQtNghZmkq9g+4kohAiyU1G0ZcC4Yy/+DLSRA+SKbkw1UDsqv2Gce49fOoJD0wrRUpmGyfJgKU qKpW7omqlHzHd/UncBHepKh3hkQADpHdhO1Y208kBa+zWijAB9r20I6E9lwAl11nJXqrd9fOBocWe orAJtriW5PoXCdbwro8Q==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.100.1 #2 (Red Hat Linux)) id 1xLhE3-00000004qr9-1jZU; Tue, 27 Oct 2026 13:28:27 +0000 Received: from mail-m6045.netease.com ([210.79.60.45]) by bombadil.infradead.org with esmtps (Exim 4.100.1 #2 (Red Hat Linux)) id 1xLhDz-00000004qp8-2aoc; Tue, 27 Oct 2026 13:28:26 +0000 Received: from zyb-HP-ProDesk-680-G2-MT.. (unknown [61.154.14.86]) by smtp.qiye.163.com (Hmail) with ESMTP id 528777a24; Tue, 27 Oct 2026 21:28:16 +0800 (GMT+08:00) From: Damon Ding To: Andrzej Hajda , Neil Armstrong , Robert Foss , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Jingoo Han , Inki Dae , Seung-Woo Kim , Kyungmin Park , Krzysztof Kozlowski , Peter Griffin , Alim Akhtar , Heiko Stuebner , Sandy Huang Cc: Laurent Pinchart , Jonas Karlman , Jernej Skrabec , Luca Ceresoli , Dmitry Baryshkov , linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-arm-kernel@lists.infradead.org, linux-samsung-soc@vger.kernel.org, linux-rockchip@lists.infradead.org, Damon Ding Subject: [PATCH v5 02/18] drm/bridge: analogix_dp: Use bridge->next_bridge instead of plat_data field Date: Tue, 27 Oct 2026 21:27:54 +0800 Message-Id: <20261027132810.1746118-3-damon.ding@rock-chips.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20261027132810.1746118-1-damon.ding@rock-chips.com> References: <20261027132810.1746118-1-damon.ding@rock-chips.com> X-Archived-By: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-HM-Tid: 0aa17d8c1bc603a8kunm87c266213d56da X-HM-MType: 1 X-HM-Spam-Status: e1kfGhgUHx5ZQUpXWQgPGg8OCBgUHx5ZQUlOS1dZFg8aDwILHllBWSg2Ly tZV1koWUFITzdXWRgWCB1ZQUpXWS1ZQUlXWQ8JGhUIEh9ZQVkZHxgfVklOGE5JGRhKQ09PGVYVFA kWGhdVEwETFhoSFyQUDg9ZV1kYEgtZQVlNSlVKTk9VSk9VQ01ZV1kWGg8SFR0UWUFZT0tIVUpLSE pKQk1VSktLVUpCWQY+ DKIM-Signature: a=rsa-sha256; b=LTSFCUnfOrwXNfn6vfO42sY83HFDQb6l1MtQtkarQpCcFLCEhNwzRyk2f6aMOVsTDsNB8T6+R2CNw+Eo460CHJVR2K5kCQynPTgweudxyNs5jzaTvW4b7ODAfd2yL0bwN/hnlQxkgzatikPDyj814bqpHinOdUB/WrTfeNxTNfU=; c=relaxed/relaxed; s=default; d=rock-chips.com; v=1; bh=v9WUGyGZ+GPpo6rTg1cKFsNj7Hhgu8T0h9yJn2ON8FE=; h=date:mime-version:subject:message-id:from; X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.9.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20261027_062824_552997_FDEE6306 X-CRM114-Status: GOOD ( 22.24 ) X-Spam-Score: -2.1 (--) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" X-Spam-Status: No, score=-19.2 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_AGENT_GIT autolearn=ham autolearn_force=no version=4.0.1 X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-26) on aws-us-west-2-korg-listserv-alma10-1 The DRM bridge core provides a standard next_bridge field in struct drm_bridge for chaining downstream bridges. Use dp->bridge.next_bridge consistently inside the analogix_dp driver and drop the separate dp->plat_data->next_bridge field. The next bridge is now resolved in analogix_dp_aux_done_probing(): a display mode bridge is created for the legacy display-timings on the Exynos platforms, while the remote endpoint bridge (panel or bridge) is looked up via of_drm_get_bridge_by_endpoint() otherwise. The obtained references are transferred to bridge->next_bridge, which the bridge core automatically puts at bridge destroy time. Also select DRM_OF_DISPLAY_MODE_BRIDGE for DRM_ANALOGIX_DP and drop the now redundant select from the Exynos Kconfig, as the core now creates the display mode bridge itself. Suggested-by: Heiko Stuebner Link: https://lore.kernel.org/all/5609825.iZASKD2KPV@diego/ Tested-by: Heiko Stuebner Signed-off-by: Damon Ding --- Changes in v4: - Add Tested-by tag. Changes in v5: - Move this patch to the front of the patch series, as the following patches rely on the dp->bridge.next_bridge field it introduces. - Select DRM_OF_DISPLAY_MODE_BRIDGE for DRM_ANALOGIX_DP and drop the redundant select from the Exynos Kconfig, to fix the undefined reference build error. (kernel test robot) - Check the presence of the display-timings node with of_get_child_by_name() instead of of_get_display_timings(), to avoid leaking the allocated display timings. (Sashiko) --- drivers/gpu/drm/bridge/analogix/Kconfig | 1 + .../drm/bridge/analogix/analogix_dp_core.c | 50 +++++++++++-------- drivers/gpu/drm/exynos/Kconfig | 1 - drivers/gpu/drm/exynos/exynos_dp.c | 15 +----- include/drm/bridge/analogix_dp.h | 1 - 5 files changed, 30 insertions(+), 38 deletions(-) diff --git a/drivers/gpu/drm/bridge/analogix/Kconfig b/drivers/gpu/drm/bridge/analogix/Kconfig index 5672d83cb4a1..293d7b443163 100644 --- a/drivers/gpu/drm/bridge/analogix/Kconfig +++ b/drivers/gpu/drm/bridge/analogix/Kconfig @@ -33,6 +33,7 @@ config DRM_ANALOGIX_DP depends on DRM depends on OF select DRM_DISPLAY_DP_AUX_BUS + select DRM_OF_DISPLAY_MODE_BRIDGE config DRM_ANALOGIX_ANX7625 tristate "Analogix Anx7625 MIPI to DP interface support" diff --git a/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c b/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c index 8bb4c48aa3b4..19f3cec5a691 100644 --- a/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c +++ b/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c @@ -21,6 +21,7 @@ #include #include +#include #include #include #include @@ -32,6 +33,8 @@ #include #include +#include