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 6C3D3C79F82 for ; Tue, 8 Sep 2026 12:48: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:Content-Type: List-Subscribe:List-Help:List-Post:List-Archive:List-Unsubscribe:List-Id: In-Reply-To:MIME-Version:References:Message-ID:Subject:Cc:To:From:Date: Reply-To:Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date :Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=os9KCrNm3TsyWmOziCJ+0nHJ5ElP+vUS+pu0Dx2O/VE=; b=GQjnr3CE+wRGIpd6J98VUJOZzC pTjxUpYs4tsWbCaPR+tXm23O8OElShGAR8f0NDvrlyDZ+oDDNLIJCbrsOV8N0xNraGy1mkB6SYXvy SDsYDWnkp5CYsp8fIF1Kd53smXgxlwHIiuZbYIp6JD5deGXEIi3B16TVXorFuoRPTgR5J7QR+OWbT hVKrH5Q4y9OapkvCv/TVFrS8ssJvoS73a694KZFTBP9SpcqG3/nUz2b4a5H4VNJAkPGbhEqS+66ls Z8pbKtAVUlj8jrzoxFZn9jWRKuiGdNg+5GZiMcXXGd0pTiZoC2aTXcj7H6OY8cfCLhyr5I14T1KGJ OpX31Gcw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.99.1 #2 (Red Hat Linux)) id 1x3vFG-000000093k1-1r7D; Tue, 08 Sep 2026 12:48:14 +0000 Received: from tor.source.kernel.org ([172.105.4.254]) by bombadil.infradead.org with esmtps (Exim 4.99.1 #2 (Red Hat Linux)) id 1x3vFF-000000093jN-2n9D; Tue, 08 Sep 2026 12:48:13 +0000 Received: from smtp.kernel.org (quasi.space.kernel.org [100.103.45.18]) by tor.source.kernel.org (Postfix) with ESMTP id D9C51601FA; Tue, 8 Sep 2026 12:48:12 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id D14E11F00A3D; Tue, 8 Sep 2026 12:48:11 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1788871692; bh=feEGDyi6VU/sb4agsQYzpOSCawLfSkaWQda6dgDR2p4=; h=Date:From:To:Cc:Subject:References:In-Reply-To; b=MksgKu6uyO2Gguiv8Rq3+UUSn2sYyMCbhn4A5JnjyzKXKmkqOedfI2gppAaqvEHVJ rRBAhiB6rGjwR0JoGODhOBOECe7zcNNFUAE05c7DWeacbZyEK8RvbCTIJ4/16HMzEC MAnNAqV2snxIOSOtuDgsFsxtmJKNKBAA9zpkOrukWnWmtp5+S6BDLredgM5cXzEJvd GrZU6s8B9QoHqrr0WyNgI1+Mi+Y/yMljhQDkmq6uaj2bB8HnRD6KR9uUEUDSa+/2fr YZq56+cUDFuTrIXKNi5nF6fbD6tGEDBJbJzecf28OwddCE6o5k8iS0jArCktqp12lv 2X7cUZTftHpfQ== Date: Tue, 8 Sep 2026 14:48:08 +0200 From: Maxime Ripard To: Cristian Ciocaltea Cc: Maarten Lankhorst , Thomas Zimmermann , David Airlie , Simona Vetter , Dave Stevenson , Dmitry Baryshkov , Andrzej Hajda , Neil Armstrong , Robert Foss , Laurent Pinchart , Jonas Karlman , Jernej Skrabec , Luca Ceresoli , Chen-Yu Tsai , Samuel Holland , =?utf-8?B?TWHDrXJh?= Canal , Raspberry Pi Kernel Maintenance , Raphael Gallais-Pou , Sandy Huang , Heiko =?utf-8?Q?St=C3=BCbner?= , Andy Yan , Algea Cao , Daniel Stone , Liu Ying , Phong LE , Helge Deller , kernel@collabora.com, linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-arm-kernel@lists.infradead.org, linux-sunxi@lists.linux.dev, linux-rockchip@lists.infradead.org, linux-fbdev@vger.kernel.org, Maud Spierings , Diederik de Haas Subject: Re: [PATCH v11 30/74] drm/bridge: dw-hdmi-qp: Provide dw_hdmi_qp_hpd_notify() helper Message-ID: References: <20260901-dw-hdmi-qp-scramb-v11-0-bc12954a0688@collabora.com> <20260901-dw-hdmi-qp-scramb-v11-30-bc12954a0688@collabora.com> MIME-Version: 1.0 In-Reply-To: <20260901-dw-hdmi-qp-scramb-v11-30-bc12954a0688@collabora.com> X-BeenThere: linux-rockchip@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Upstream kernel work for Rockchip platforms List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: multipart/mixed; boundary="===============9016157475425416077==" Sender: "Linux-rockchip" Errors-To: linux-rockchip-bounces+linux-rockchip=archiver.kernel.org@lists.infradead.org --===============9016157475425416077== Content-Type: multipart/signed; micalg=pgp-sha384; protocol="application/pgp-signature"; boundary="7br5rkaa3pyhecrc" Content-Disposition: inline --7br5rkaa3pyhecrc Content-Type: text/plain; protected-headers=v1; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Subject: Re: [PATCH v11 30/74] drm/bridge: dw-hdmi-qp: Provide dw_hdmi_qp_hpd_notify() helper MIME-Version: 1.0 On Tue, Sep 01, 2026 at 09:50:54PM +0300, Cristian Ciocaltea wrote: > Export dw_hdmi_qp_hpd_notify() for platform drivers to report hot-plug > detection events. Unlike drm_helper_hpd_irq_event() which polls all > connectors, this helper targets only the affected connector and ensures > .detect_ctx() is invoked on reconnection events to trigger SCDC state > recovery. >=20 > Note that this helper may sleep, so it must only be called from a > threaded HPD interrupt handler or a work function. >=20 > Tested-by: Maud Spierings > Tested-by: Diederik de Haas # NanoPC-T6 LTS, R= ock 5B > Signed-off-by: Cristian Ciocaltea > --- > drivers/gpu/drm/bridge/synopsys/dw-hdmi-qp.c | 37 ++++++++++++++++++++++= ++++++ > include/drm/bridge/dw_hdmi_qp.h | 1 + > 2 files changed, 38 insertions(+) >=20 > diff --git a/drivers/gpu/drm/bridge/synopsys/dw-hdmi-qp.c b/drivers/gpu/d= rm/bridge/synopsys/dw-hdmi-qp.c > index ee74266b7aa9..a2277531182c 100644 > --- a/drivers/gpu/drm/bridge/synopsys/dw-hdmi-qp.c > +++ b/drivers/gpu/drm/bridge/synopsys/dw-hdmi-qp.c > @@ -28,6 +28,7 @@ > #include > #include > #include > +#include > =20 > #include > =20 > @@ -163,6 +164,8 @@ struct dw_hdmi_qp { > struct regmap *regm; > int main_irq; > =20 > + /* Written by the atomic enable/disable hooks, read locklessly by HPD */ > + struct drm_connector *curr_conn; > unsigned long tmds_char_rate; > bool no_hpd; > }; > @@ -785,6 +788,8 @@ static void dw_hdmi_qp_bridge_atomic_enable(struct dr= m_bridge *bridge, > dw_hdmi_qp_mod(hdmi, op_mode, OPMODE_DVI, LINK_CONFIG0); > =20 > drm_atomic_helper_connector_hdmi_update_infoframes(connector, state); > + > + WRITE_ONCE(hdmi->curr_conn, connector); You need to take a reference to the connector, and you really should use a mutex here. Maxime --7br5rkaa3pyhecrc Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iJUEABMJAB0WIQTkHFbLp4ejekA/qfgnX84Zoj2+dgUCaqAECAAKCRAnX84Zoj2+ dkkDAYC+AWGm80pVYEp640sKNhCVwlFRg0NA45EvZymN4J4AhE4kXnPASU52wEFN x6mrzgIBgN7eoUGtFrPVC1JlZqSlVzCPzTRW2tTeI5qXVl4QpF/Mbac11+3SSsJp N9wlWFp5OQ== =XLln -----END PGP SIGNATURE----- --7br5rkaa3pyhecrc-- --===============9016157475425416077== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Linux-rockchip mailing list Linux-rockchip@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-rockchip --===============9016157475425416077==--