From nobody Tue Feb 10 00:57:45 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 7AC5636AB53 for ; Tue, 3 Feb 2026 18:42:10 +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=1770144132; cv=none; b=uq7jeT2XmQD4UHMqjdUM44z3upjuMrdybOxY/ODaxmUbepdjDumd84Ckvt7iARpmVy6JK+2NFezZmzGtYDnA8TmhyK6yN6kGZNvoGDL4JS/8eBCq2Tub7CjbUG3uDoB9YHlfIqeqPRlIzLacC7OYSj/d3LPqEsSpFy6qb/RsYOc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770144132; c=relaxed/simple; bh=23Ek+D0JUr6WySL1/oiXZ9jAGAqckHYeinx/bYUytek=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=Kkm2FOy9WwO8zPlP7Vmx2oEj+OPXG4tIRrmAoYnvpG3OJNm92QrXgsZxxi7eVRI2kOwUOdKgMqjZGEYLugfCZvr6wdt/UhrHvJqLwLaLEUKTtB+jg7FwWtQuSObQAqTHGasgp7t4oiwH7Um9tz/kLdkjTfQecgFpcHfTOPX7Elo= 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=LZ3YUNoI; 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="LZ3YUNoI" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1770144126; bh=23Ek+D0JUr6WySL1/oiXZ9jAGAqckHYeinx/bYUytek=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=LZ3YUNoIjfe62GY/PTrB0kGX8RVx27yqQB2LtH+x0ut5v9/S5oUEx6toKK2UGMfuR x2zo40TJPFmc9tvZ9/JBTGMDHsbW/GgedXSHudR68//MQfEzHhTmohbv0Ofc6Oxe/5 yH+yTI+c5JdvAwz6gyG5ADWVwZr80UQGB46YP6/iZ85+X3o98pjMEwYOeBue/rP/gA +Inh1nRmSraAfntjOag3ddsYFt6da5Pb2eDityEF45LrISsO794c8Sw52NSJRHNG50 g54Vxv0QAOati4yke6VOCE8VD4efUlmd23wBp2HbpRhwfDwyHOiZLBQTVTu0hpCVeo D+EaZx0zi1GJw== 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)) (No client certificate requested) (Authenticated sender: sre) by bali.collaboradmins.com (Postfix) with ESMTPSA id DD7B317E14F5; Tue, 3 Feb 2026 19:42:05 +0100 (CET) Received: by jupiter.universe (Postfix, from userid 1000) id 5232E48002C; Tue, 03 Feb 2026 19:42:05 +0100 (CET) From: Sebastian Reichel Date: Tue, 03 Feb 2026 19:41:33 +0100 Subject: [PATCH 7/7] phy: rockchip: usbdp: Cleanup DP lane selection function 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-7-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=1832; i=sebastian.reichel@collabora.com; h=from:subject:message-id; bh=23Ek+D0JUr6WySL1/oiXZ9jAGAqckHYeinx/bYUytek=; b=owJ4nAFtApL9kA0DAAoB2O7X88g7+poByyZiAGmCQX3cO7VLg0fclziNsqIVVJmzkjWkZbw/p k132EykkHZHdIkCMwQAAQoAHRYhBO9mDQdGP4tyanlUE9ju1/PIO/qaBQJpgkF9AAoJENju1/PI O/qa/VsP/2A9qRkKR72MXe0pio64MaCVEoJrIbjWckqT0khGMqfW9rTW133HGYeaPEb616+Hei8 cHhJ3wfQc/3Nb294o6HL8mFxXkMYta5h8K1m1XCT585AXWyL3z1oaC6e708Z86FiFp7gyNXxGgY ODyjDivQXaKlVhWWvKbyfwj8lE/DgpG7Paf7trpIhhKWDeeP4A9zSUoVz/yaOr9NE0W3cCUycw5 Utna+Yry6RWSXa/m3gXkXhHnRFpsFv7aGEnjbPUis6N7M2b7/YH8g25jaOgVFVRHvzWre2vrYGI VpUJUhE5azrTX4BtPAMFXCldNmASDci1DTXjsqn5LVXbCZ+Qe9tx0cIXfcQLP3Y/F5vm6qTQcQl T/D6lX0+bznIceMGqZG+9k+JBjaQGO0xRW7eLcA90vlkJtFxJJ8WetSvQ51jsGLVnIdldzbqYth AFKjSbZYsVXCuqEio5ifeaqXyV/CocMNkVFyXGbXGVze/wQq7/marOaygQOAnRvAwX+7yAB0OPN QVRCnp9vjkmWK1+MibaQkCd4oTA9DP2DKb5G8RYwAA0nTeHp4dcIzxlNE1fugWV6c0E9PkmslKJ yjLT2hcau4ZTVhyVfPljBBSmqTIF3Qgekvspis8xok4XK2G6hnBhASFDUg7L43/yWK0RK4ug1q0 wy6Ii/u+oqrtrx7ih5Y8nnw== X-Developer-Key: i=sebastian.reichel@collabora.com; a=openpgp; fpr=EF660D07463F8B726A795413D8EED7F3C83BFA9A Use FIELD_PREP_WM16() helpers to simplify the DP lane selection logic. Signed-off-by: Sebastian Reichel --- drivers/phy/rockchip/phy-rockchip-usbdp.c | 28 +++++++--------------------- 1 file changed, 7 insertions(+), 21 deletions(-) diff --git a/drivers/phy/rockchip/phy-rockchip-usbdp.c b/drivers/phy/rockch= ip/phy-rockchip-usbdp.c index 9291f56120f1..ebc11d06e5ea 100644 --- a/drivers/phy/rockchip/phy-rockchip-usbdp.c +++ b/drivers/phy/rockchip/phy-rockchip-usbdp.c @@ -550,30 +550,16 @@ static void rk_udphy_usb_bvalid_enable(struct rk_udph= y *udphy, u8 enable) static void rk_udphy_dp_lane_select(struct rk_udphy *udphy) { const struct rk_udphy_cfg *cfg =3D udphy->cfgs; - u32 value =3D 0; - - switch (udphy->dp_lanes) { - case 4: - value |=3D 3 << udphy->dp_lane_sel[3] * 2; - value |=3D 2 << udphy->dp_lane_sel[2] * 2; - fallthrough; - - case 2: - value |=3D 1 << udphy->dp_lane_sel[1] * 2; - fallthrough; + u32 value =3D FIELD_PREP_WM16(DP_LANE_SEL_ALL, 0); + int i; =20 - case 1: - value |=3D 0 << udphy->dp_lane_sel[0] * 2; - break; + for (i =3D 0; i < udphy->dp_lanes; i++) + value |=3D field_prep(DP_LANE_SEL_N(udphy->dp_lane_sel[i]), i); =20 - default: - break; - } + value |=3D FIELD_PREP_WM16(DP_AUX_DIN_SEL, udphy->dp_aux_din_sel); + value |=3D FIELD_PREP_WM16(DP_AUX_DOUT_SEL, udphy->dp_aux_dout_sel); =20 - regmap_write(udphy->vogrf, cfg->vogrfcfg[udphy->id].dp_lane_reg, - ((DP_AUX_DIN_SEL | DP_AUX_DOUT_SEL | DP_LANE_SEL_ALL) << 16) | - FIELD_PREP(DP_AUX_DIN_SEL, udphy->dp_aux_din_sel) | - FIELD_PREP(DP_AUX_DOUT_SEL, udphy->dp_aux_dout_sel) | value); + regmap_write(udphy->vogrf, cfg->vogrfcfg[udphy->id].dp_lane_reg, value); } =20 static void rk_udphy_dp_lane_enable(struct rk_udphy *udphy, int dp_lanes) --=20 2.51.0