From nobody Mon Feb 9 20:09:31 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 3C2FE277CB8 for ; Tue, 3 Feb 2026 18:42:07 +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=1770144129; cv=none; b=eesDDgNheCgQjWlmsZocFDsGmpz9jupCi6pheHZt+b1gnxlT7Kp7m426w/PkzTgWO354+RuHLL+F8wxIuv5Hf6GanJpPm+unxO5S5PYtbtM8DVeccuhiQFj09hEnPHhlHhPnJqcgPvhx3+9kqYJqnbxdK6fCioU8j4aWsAGEAII= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770144129; c=relaxed/simple; bh=aNPpmtizUfjCpacYUbzlKBxSJjjfFCObnLLiTwZTN6g=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=j3vt5VeVgjqXNIlgdk6S/dBz+Lub5nPD9e+g7hZDP56QgHgd2ErXjPUvuL8Ca2n8vU5+CwSZnNAZbjukGousmPQlL/hBEsfxKgWAKnAlIzBgh4ogB1gbiELhxaMYMUHeFyePTw2p5EIUVAiRyo4rTFBfJ6h6A/ameRVewRswUQ8= 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=NwvtWA2L; 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="NwvtWA2L" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1770144125; bh=aNPpmtizUfjCpacYUbzlKBxSJjjfFCObnLLiTwZTN6g=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=NwvtWA2LCqosWqCml+DCgm/ReMmenrZDKuDuxmACzfGBi9e77qnvl3O1KfV21NbWF q1EJYLC4S/wo2jraiktT42lsrSjMRFlC9N2nAQG2n5h9KtMwW1ZMgQ07DajVsD3VBR te0wr42WmF65waN4tXa2JZwYvwyakZz+Cqo79EJ2YxBHJCMK1DQAbYich/GV4D7zIK n25L7g5Wnl92HQlfb6TA3fHlGB9Vfelr723uyGY7HWfJ+KVGga/32Slb3amB7KcBlO aXUeDCknD6jPQRl3Fc3tdXrHcwh4AY4BkAGWbCfm46Tmc1225hJbG1mkmpisNb4vgZ KQB1FlcPsbALA== Received: from jupiter.universe (dyndsl-091-248-189-143.ewe-ip-backbone.de [91.248.189.143]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) (Authenticated sender: sre) by bali.collaboradmins.com (Postfix) with ESMTPSA id 8354017E1276; Tue, 3 Feb 2026 19:42:05 +0100 (CET) Received: by jupiter.universe (Postfix, from userid 1000) id 4CC3B480028; Tue, 03 Feb 2026 19:42:05 +0100 (CET) From: Sebastian Reichel Date: Tue, 03 Feb 2026 19:41:29 +0100 Subject: [PATCH 3/7] phy: rockchip: usbdp: Add missing mode_change update 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: <20260203-rockchip-usbdp-cleanup-v1-3-16a6f92ed176@collabora.com> References: <20260203-rockchip-usbdp-cleanup-v1-0-16a6f92ed176@collabora.com> In-Reply-To: <20260203-rockchip-usbdp-cleanup-v1-0-16a6f92ed176@collabora.com> To: Vinod Koul , Neil Armstrong , Heiko Stuebner Cc: Andy Yan , Yubing Zhang , linux-phy@lists.infradead.org, linux-arm-kernel@lists.infradead.org, linux-rockchip@lists.infradead.org, linux-kernel@vger.kernel.org, kernel@collabora.com, Sebastian Reichel X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=openpgp-sha256; l=1949; i=sebastian.reichel@collabora.com; h=from:subject:message-id; bh=aNPpmtizUfjCpacYUbzlKBxSJjjfFCObnLLiTwZTN6g=; b=owJ4nAFtApL9kA0DAAoB2O7X88g7+poByyZiAGmCQX0AAJVtr1ntwPQSj4vwqW8lHUnFIL9jt R+Tyb5HmUFVGokCMwQAAQoAHRYhBO9mDQdGP4tyanlUE9ju1/PIO/qaBQJpgkF9AAoJENju1/PI O/qafBoP/0QWxxxWbY8PGSBabiYxPlGQNLQzvQYqWBZnnOMMDqliYOfYS+rSJKrVceLfpsR7mgI RdF0hSxuNuYV9ynyBE0aIavsxHSBnMhgoeMHPEL0sVt+T1qXRmNhQrU2/AWd327tZDACurRwxjV QVOk3iVP00V1c1ovfvKq7MCaaxRueyi4lEwWgEYblCY9YWwyiR5UJJqjQ0RD3RxaOAXYu7SOLlc FyqWzlnT8SwBewIpIb9AqFSxU7ifNeOfKzJ8NOhmuIL+GdB4yWvxDx3J4k2e2oiSpqENH0dRs7Y tyMRpM90PyBnyT2RnminUVRbUZOG9CIvMOcFw6rAG/CS2EYYHsvrf7UkfoDfPW6yr9hisrb1a5l psL4O6WR50+PeQYFjy/PigGNQi4nCnLKo6OecMZ05WmQDAq1FnPIAAOtHA8t3R4vEKwJ39MxmTk RsQxNh7b0vEmVYl11m7YnuliyXSOlVCS1OOeb2HdWP/VmgL+5RHLh93FYCWCh58U9Tx+CLYO70U uQfNrfr0Lu3RrJOUxPWLw+td2g5CVLbvDUPAQ6VwrcwHhjwhGtGj9hsbUm0Uf5HNvRmoaPwnyU8 /JBVMRkyqNJOAyMNDI7/rPqCE7xCMuTtfUUu10S0USrUbLNLo08SVygMcKNcJ35XFr1giC7Z/wi 70Ega1KRNvEDNDFHyn98itg== X-Developer-Key: i=sebastian.reichel@collabora.com; a=openpgp; fpr=EF660D07463F8B726A795413D8EED7F3C83BFA9A rk_udphy_set_typec_default_mapping() updates the available modes, but does not set the mode_change as required. This results in missing re-initialization and thus non-working DisplayPort. Fix this issue by introducing a new helper to update the available modes. Signed-off-by: Sebastian Reichel --- drivers/phy/rockchip/phy-rockchip-usbdp.c | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/drivers/phy/rockchip/phy-rockchip-usbdp.c b/drivers/phy/rockch= ip/phy-rockchip-usbdp.c index 7e4142aef192..5304e2d86d11 100644 --- a/drivers/phy/rockchip/phy-rockchip-usbdp.c +++ b/drivers/phy/rockchip/phy-rockchip-usbdp.c @@ -619,6 +619,15 @@ static void rk_udphy_dp_hpd_event_trigger(struct rk_ud= phy *udphy, bool hpd) rk_udphy_grfreg_write(udphy->vogrf, &cfg->vogrfcfg[udphy->id].hpd_trigger= , hpd); } =20 +static void rk_udphy_mode_set(struct rk_udphy *udphy, u8 mode) +{ + if (udphy->mode =3D=3D mode) + return; + + udphy->mode_change =3D true; + udphy->mode =3D mode; +} + static void rk_udphy_set_typec_default_mapping(struct rk_udphy *udphy) { if (udphy->flip) { @@ -649,7 +658,7 @@ static void rk_udphy_set_typec_default_mapping(struct r= k_udphy *udphy) gpiod_set_value_cansleep(udphy->sbu2_dc_gpio, 1); } =20 - udphy->mode =3D UDPHY_MODE_DP_USB; + rk_udphy_mode_set(udphy, UDPHY_MODE_DP_USB); } =20 static int rk_udphy_orien_sw_set(struct typec_switch_dev *sw, @@ -1387,10 +1396,7 @@ static int rk_udphy_typec_mux_set(struct typec_mux_d= ev *mux, usleep_range(750, 800); rk_udphy_dp_hpd_event_trigger(udphy, true); } else if (data->status & DP_STATUS_HPD_STATE) { - if (udphy->mode !=3D mode) { - udphy->mode =3D mode; - udphy->mode_change =3D true; - } + rk_udphy_mode_set(udphy, mode); rk_udphy_dp_hpd_event_trigger(udphy, true); } else { rk_udphy_dp_hpd_event_trigger(udphy, false); --=20 2.51.0