From nobody Thu Apr 2 06:32:29 2026 Received: from bali.collaboradmins.com (bali.collaboradmins.com [148.251.105.195]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 300463D6492; Fri, 13 Mar 2026 17:57:29 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=148.251.105.195 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773424659; cv=none; b=KeCwUYc5NRKxRs6o1Ulu6aHFm6CR3JWPgy6nE8xXSiIePvbmAikHRejZ9y/kbVULKEoBL9BpyUbJNeBfC4HuyMqO3z3T+JQUnFzRUAF+A0QqTrDmELOafTptVBzu5kkJvnGxYpxK3B3Cvj1pK6/i2Shv2aRRjKzvBr7E8jYyMSA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773424659; c=relaxed/simple; bh=NASRAMg/PKdsJGQlTD5B2MZN3t5wRLOrKDSZPRqrbsw=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=cxbQKFYS4j+0rUWPulVO+eC1BVjxsgUNtBvg4Kv/p7Mh0xwl9cTB87lbmtkew4QJARu+ANpmvoASfx1ot/qoMUW6CkTTWWNV7NEVHCtaheteiL569YiknPoLMVG9SARdZAvbiVBFShBoCEnvXWslPxcV25u11Y3Jw0BMmsCqpTI= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=collabora.com; spf=pass smtp.mailfrom=collabora.com; dkim=pass (2048-bit key) header.d=collabora.com header.i=@collabora.com header.b=FkeiDUjX; arc=none smtp.client-ip=148.251.105.195 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=collabora.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=collabora.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=collabora.com header.i=@collabora.com header.b="FkeiDUjX" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1773424642; bh=NASRAMg/PKdsJGQlTD5B2MZN3t5wRLOrKDSZPRqrbsw=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=FkeiDUjXdtAOujE029Hqne/8SD4TVXNYN+Pxzw5dX0WyEWwbOu5zucOL4SnsFmEL6 ilCWMZvjAIGZ7iaFNxyeY4jcXFO/BQ+axixA9DUoJDK9VGN57mJhcHryVAPn7U57XL scYpmAuqVQQdRn3mbqVobAqFfLZK0oLBZ/Sd2ms61Q/8G5qKk63Iv8RHGWYh95xCso 8gruT3OFhZ6a7TKFMCPhBEhFZH+8B5O2ZLNnM395RZBWkE57Yv6aGaC0PQFZ4bo70n XCaqTluDIoPDFsk/qDkFgq5D3H3rHRs9t9iXxJrhPqvVqk1kSSKIcYd7lUzYVgwZv6 vyIkzC2qERUFg== Received: from jupiter.universe (dyndsl-091-248-210-078.ewe-ip-backbone.de [91.248.210.78]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) (Authenticated sender: sre) by bali.collaboradmins.com (Postfix) with ESMTPSA id 05E9B17E14A5; Fri, 13 Mar 2026 18:57:22 +0100 (CET) Received: by jupiter.universe (Postfix, from userid 1000) id 32DD2480035; Fri, 13 Mar 2026 18:57:21 +0100 (CET) From: Sebastian Reichel Date: Fri, 13 Mar 2026 18:57:21 +0100 Subject: [PATCH v3 12/12] phy: rockchip: usbdp: Drop DP HPD handling Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260313-rockchip-usbdp-cleanup-v3-12-3e8fe89a35b5@collabora.com> References: <20260313-rockchip-usbdp-cleanup-v3-0-3e8fe89a35b5@collabora.com> In-Reply-To: <20260313-rockchip-usbdp-cleanup-v3-0-3e8fe89a35b5@collabora.com> To: Vinod Koul , Neil Armstrong , Heiko Stuebner , Frank Wang , Rob Herring , Krzysztof Kozlowski , Conor Dooley Cc: Andy Yan , Dmitry Baryshkov , Yubing Zhang , Alexey Charkov , linux-phy@lists.infradead.org, linux-arm-kernel@lists.infradead.org, linux-rockchip@lists.infradead.org, linux-kernel@vger.kernel.org, kernel@collabora.com, devicetree@vger.kernel.org, Sebastian Reichel X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=openpgp-sha256; l=3585; i=sebastian.reichel@collabora.com; h=from:subject:message-id; bh=NASRAMg/PKdsJGQlTD5B2MZN3t5wRLOrKDSZPRqrbsw=; b=kA0DAAoB2O7X88g7+poByyZiAGm0UAGhSy4BA7y309Eu4jLAtdUvzAoavcFLgV9DHlvA2S5I/ 4kCMwQAAQoAHRYhBO9mDQdGP4tyanlUE9ju1/PIO/qaBQJptFABAAoJENju1/PIO/qaclwP/0b6 xCKcA1+9Q9o9VCUddTjX3LvAITtW6gNqYd9d4aUm/OHZBtv6iyIP3sieZ38VCM7lpYzisyIkNTY X7Mj+QME/rAfoKWBO4LuuNUvMtOoofonz5QpVPCawCrFrsosQI45f/rznANyNlzwFoDgRkc0dD3 6GcmBcqeotnySqtlDALiAKNKe66OBOHVwrmo12otKrAlpmGgpxbVFaK8FjmFHCL4qSz9GHHlI7p TyITPsFfZxpmzKX+8AHytxb5PMGiPRRym5g6tGcby9oDtaIgNmNNoi574+srekMt+hCyC7lSKyS Tl8tEdAvdiBhKXx7c9vOXsdUwXOSwKdqXzCQdO6bcQYwhQmTy8xRo1JeVCblEWFKPArRUH0cnIJ WLnjy66ohCPgxAb3xr73QD2OtRwezlCspcIJ8+b9oig6+m0QFoJyrqNGYD60be4k+vRivWqJAJF LHFTv5Q4kSzk6dc1aNA5YRu1rS6FtfAkh0o73vGXVMOBl4YtKdeYAQIweExOBLm/ot3ylyx536W hBxl8TGrf31ccLxEpDLGCBhYprtH3XACcHEBLML5D2lbnIa8coV9e4t2vdugUWxHTRAReg915iN sx95dh+pWiiIjjaBoL7cwLgxVIenP2tHU/WP0BEYOxkfS4sU6twsEc+g1l4lDLd7graGy/Xa47/ NkYoK X-Developer-Key: i=sebastian.reichel@collabora.com; a=openpgp; fpr=EF660D07463F8B726A795413D8EED7F3C83BFA9A Drop the HPD handling logic from the USBDP PHY. The registers involved require the display controller power domain being enabled and thus the HPD signal should be handled by the displayport controller itself. Apart from that the HPD handling as it is done here is incorrect and misses hotplug events happening after the USB-C connector (e.g. when a USB-C to HDMI adapter is involved and the HDMI cable is replugged). Proper USB-C DP HPD support requires some restructuring of the DP controller driver, which will happen independent of this patch. The mainline kernel does not yet support USB-C DP AltMode on RK3588 and RK3576, so it is fine to drop this code without adding the counterpart in the DRM in an atomic change. Signed-off-by: Sebastian Reichel --- drivers/phy/rockchip/phy-rockchip-usbdp.c | 47 +--------------------------= ---- 1 file changed, 1 insertion(+), 46 deletions(-) diff --git a/drivers/phy/rockchip/phy-rockchip-usbdp.c b/drivers/phy/rockch= ip/phy-rockchip-usbdp.c index 2de7b66ee813..402913a8d3f3 100644 --- a/drivers/phy/rockchip/phy-rockchip-usbdp.c +++ b/drivers/phy/rockchip/phy-rockchip-usbdp.c @@ -186,8 +186,6 @@ struct rk_udphy { u32 dp_lane_sel[4]; u32 dp_aux_dout_sel; u32 dp_aux_din_sel; - bool dp_sink_hpd_sel; - bool dp_sink_hpd_cfg; unsigned int link_rate; unsigned int lanes; u8 bw; @@ -579,19 +577,6 @@ static void rk_udphy_dp_lane_enable(struct rk_udphy *u= dphy, int dp_lanes) CMN_DP_CMN_RSTN, FIELD_PREP(CMN_DP_CMN_RSTN, 0x0)); } =20 -static void rk_udphy_dp_hpd_event_trigger(struct rk_udphy *udphy, bool hpd) -{ - const struct rk_udphy_cfg *cfg =3D udphy->cfgs; - - udphy->dp_sink_hpd_sel =3D true; - udphy->dp_sink_hpd_cfg =3D hpd; - - if (!udphy->dp_in_use) - return; - - rk_udphy_grfreg_write(udphy->vogrf, &cfg->vogrfcfg[udphy->id].hpd_trigger= , hpd); -} - static void rk_udphy_mode_set(struct rk_udphy *udphy, u8 mode) { if (udphy->mode =3D=3D mode) @@ -1360,22 +1345,7 @@ static int rk_udphy_typec_mux_set(struct typec_mux_d= ev *mux, break; } =20 - if (state->alt && state->alt->svid =3D=3D USB_TYPEC_DP_SID) { - struct typec_displayport_data *data =3D state->data; - - if (!data) { - rk_udphy_dp_hpd_event_trigger(udphy, false); - } else if (data->status & DP_STATUS_IRQ_HPD) { - rk_udphy_dp_hpd_event_trigger(udphy, false); - usleep_range(750, 800); - rk_udphy_dp_hpd_event_trigger(udphy, true); - } else if (data->status & DP_STATUS_HPD_STATE) { - rk_udphy_mode_set(udphy, mode); - rk_udphy_dp_hpd_event_trigger(udphy, true); - } else { - rk_udphy_dp_hpd_event_trigger(udphy, false); - } - } + rk_udphy_mode_set(udphy, mode); =20 mutex_unlock(&udphy->mutex); return 0; @@ -1522,20 +1492,6 @@ static int rk_udphy_probe(struct platform_device *pd= ev) return 0; } =20 -static int __maybe_unused rk_udphy_resume(struct device *dev) -{ - struct rk_udphy *udphy =3D dev_get_drvdata(dev); - - if (udphy->dp_sink_hpd_sel) - rk_udphy_dp_hpd_event_trigger(udphy, udphy->dp_sink_hpd_cfg); - - return 0; -} - -static const struct dev_pm_ops rk_udphy_pm_ops =3D { - SET_LATE_SYSTEM_SLEEP_PM_OPS(NULL, rk_udphy_resume) -}; - static const char * const rk_udphy_rst_list[] =3D { "init", "cmn", "lane", "pcs_apb", "pma_apb" }; @@ -1640,7 +1596,6 @@ static struct platform_driver rk_udphy_driver =3D { .driver =3D { .name =3D "rockchip-usbdp-phy", .of_match_table =3D rk_udphy_dt_match, - .pm =3D &rk_udphy_pm_ops, }, }; module_platform_driver(rk_udphy_driver); --=20 2.51.0