mirror of
https://github.com/torvalds/linux.git
synced 2026-11-07 06:17:02 +01:00
phy: rockchip: usbdp: Re-init the PHY on orientation change
Changing the cable orientation reconfigures the lane muxing, which requires re-initializing the PHY. Without this DP functionality breaks, if the cable is re-plugged with swapped orientation. Tested-by: Igor Paunovic <royalnet026@gmail.com> # Orange Pi 5 Plus Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com> Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@oss.qualcomm.com> Link: https://patch.msgid.link/20260915-rockchip-usbdp-cleanup-part2-v15-3-8d507cb1174f@collabora.com Signed-off-by: Vinod Koul <vkoul@kernel.org>
This commit is contained in:
parent
fbce9cc28c
commit
4d8349799c
|
|
@ -619,6 +619,7 @@ static int rk_udphy_orien_sw_set(struct typec_switch_dev *sw,
|
|||
enum typec_orientation orien)
|
||||
{
|
||||
struct rk_udphy *udphy = typec_switch_get_drvdata(sw);
|
||||
bool flipped = orien == TYPEC_ORIENTATION_REVERSE;
|
||||
|
||||
mutex_lock(&udphy->mutex);
|
||||
|
||||
|
|
@ -630,7 +631,10 @@ static int rk_udphy_orien_sw_set(struct typec_switch_dev *sw,
|
|||
goto unlock_ret;
|
||||
}
|
||||
|
||||
udphy->flip = orien == TYPEC_ORIENTATION_REVERSE;
|
||||
if (udphy->flip != flipped)
|
||||
udphy->phy_needs_reinit = true;
|
||||
|
||||
udphy->flip = flipped;
|
||||
rk_udphy_set_typec_default_mapping(udphy);
|
||||
rk_udphy_usb_bvalid_enable(udphy, true);
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user