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 gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (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 AE614FD2D9D for ; Wed, 11 Mar 2026 09:15:37 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id D3FBD10E86C; Wed, 11 Mar 2026 09:15:36 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (1024-bit key; unprotected) header.d=ideasonboard.com header.i=@ideasonboard.com header.b="PyljCFGB"; dkim-atps=neutral Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [213.167.242.64]) by gabe.freedesktop.org (Postfix) with ESMTPS id 0F0C010E3AF for ; Wed, 11 Mar 2026 09:15:30 +0000 (UTC) Received: from [127.0.1.1] (91-158-153-178.elisa-laajakaista.fi [91.158.153.178]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id CFD1F981; Wed, 11 Mar 2026 10:14:20 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1773220461; bh=FK89pOaFAMnCdx1USHLPGPqlFLXxs2xhiM3WFS+Geic=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=PyljCFGBEfaoDHTntkIC8krem8ZFFkY7kCs/7sYkE+8ai7+C+gEUYvP7UOdh6FL3p cfX4O48KY2UcFV/4fAWlArpMbYFezryOD/umf6JhyH5FI3n1X5t/shhUUKdA6KGYqH FS3FYSYRIJ0eP7cjilwkNsX5dDnv51wtAhXmrZqs= From: Tomi Valkeinen Date: Wed, 11 Mar 2026 11:14:44 +0200 Subject: [PATCH v2 2/2] drm/tidss: Fix missing drm_bridge_add() call MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Message-Id: <20260311-tidss-minor-fixes-v2-2-cb4479784458@ideasonboard.com> References: <20260311-tidss-minor-fixes-v2-0-cb4479784458@ideasonboard.com> In-Reply-To: <20260311-tidss-minor-fixes-v2-0-cb4479784458@ideasonboard.com> To: Jyri Sarha , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Sam Ravnborg , Javier Martinez Canillas , Aradhya Bhatia Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, Devarsh Thakkar , Tomi Valkeinen , stable@vger.kernel.org X-Mailer: b4 0.15-dev-c25d1 X-Developer-Signature: v=1; a=openpgp-sha256; l=2518; i=tomi.valkeinen@ideasonboard.com; h=from:subject:message-id; bh=FK89pOaFAMnCdx1USHLPGPqlFLXxs2xhiM3WFS+Geic=; b=owEBbQKS/ZANAwAIAfo9qoy8lh71AcsmYgBpsTKta2KS2BnqNS/cahxVcpraq+OxMhz0502r0 FQOP/KL1jWJAjMEAAEIAB0WIQTEOAw+ll79gQef86f6PaqMvJYe9QUCabEyrQAKCRD6PaqMvJYe 9QlCD/9cijyL+ssoamfzXYS8YPdeEEX+jeJ+RV7Zgpkrkey4UPXWXUXTYHb/zBFsaD9hcpINoMI IB0viFjIf8kC6sXwcWjUqtdl9tAsCgU4DZi4R5wWW28SiIDAEcZxXMHeY1/LAc12dq2CsOGNowA 1Sq7VZxJ43LqSZaAm5wPg5/jIwJoIFwP07ey/AUXlOzPEoYViT2F2Osl8F/E+PSd2xEDfqE435A DUz58MwKVjaF6jGvl69Kf15qghUgR1O9CxAXgxRVfSWpoDKjSC6Xo9312q5n/vzHcKlymA61zzp pfhS7k2BrDhcsj0vPyf21z20IRJ/MlGSvdNAf/IhX/eUuHjftlEfEE80Hx/Z7dVIGJ67iYsbTg4 pt0KfRqBs+CYDDMCpF7Gm2718HzTHeC1Q2ZA4l5qSaTeIv4k7DwAyOxUYr0RJMPsSBL9+eVAVDV aipG2v6gCfvvU8WXv7Rh7eT6U3d9rylIoJ+2BZKMPeALTBakUJpw+5/AYG+dAR06HGq3n0p1d2e bBCwCvZnZhcO9x2p91GBL1aRT/Jtg6+UnD8hZ6iObFwOocURDn+/maIpsxcEI4quxT3+YM1l+Mu mOs25y7hgMbKMm1LIDEBy6DXGIezNpMzAu4F+wimsJV0wIngU0z9nN0Lzz7cHER+Rf+Vwhr34HU 6TCj34AyH0ZPbSw== X-Developer-Key: i=tomi.valkeinen@ideasonboard.com; a=openpgp; fpr=C4380C3E965EFD81079FF3A7FA3DAA8CBC961EF5 X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" tidss encoder-bridge is not added with drm_bridge_add() call, which leads to: [drm] Missing drm_bridge_add() before attach Add the missing call, using devm_drm_bridge_add() variant to get the drm_bridge_remove() handled automatically. The commit marked with the Fixes tag (from v6.6) is the commit that added the encoder bridge without drm_bridge_add(). However, this fix is not directly applicable there as devm_drm_bridge_alloc() was not used to alloc the bridge, so using devm version for drm_bridge_add() wouldn't be safe. Instead, drm_bridge_add() and drm_bridge_remove() would be needed there, but that would require new plumbing code as we don't have a separate cleanup function in the tidss_encoder.c, not in the tidss_kms.c from which the encoder is created. Also, there has been no reported bugs caused by the missing drm_bridge_add(). The drm_bridge_add() initializes the bridge's hpd_mutex, but HPD is not used for the encoder bridge. drm_bridge_add() also adds the bridge to the global bridge_list, which is only used in of_drm_find_bridge(), and again that is not used for the encoder bridge. Thus, while the original commit is not right, there should be no bugs caused by it, and for the time being I'm not sending a patch for the stable kernels for the original commit. This fix applies on top of commit 66cdf05f8548 ("drm/tidss: encoder: convert to devm_drm_bridge_alloc()"), which changes the tidss_encoder.c to use the devm variant (added in v6.17). The warning print was added in v6.19, so applying this fix to v6.17+ gets rid of the warning for all kernel versions. Cc: stable@vger.kernel.org # v6.17+ Fixes: c932ced6b585 ("drm/tidss: Update encoder/bridge chain connect model") Acked-by: Maxime Ripard Signed-off-by: Tomi Valkeinen --- drivers/gpu/drm/tidss/tidss_encoder.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/gpu/drm/tidss/tidss_encoder.c b/drivers/gpu/drm/tidss/tidss_encoder.c index 81a04f767770..db467bbcdb77 100644 --- a/drivers/gpu/drm/tidss/tidss_encoder.c +++ b/drivers/gpu/drm/tidss/tidss_encoder.c @@ -106,6 +106,8 @@ int tidss_encoder_create(struct tidss_device *tidss, enc = &t_enc->encoder; enc->possible_crtcs = possible_crtcs; + devm_drm_bridge_add(tidss->dev, &t_enc->bridge); + /* Attaching first bridge to the encoder */ ret = drm_bridge_attach(enc, &t_enc->bridge, NULL, DRM_BRIDGE_ATTACH_NO_CONNECTOR); -- 2.43.0