WSL2-Linux-Kernel/drivers/usb/typec
Rajat Khandelwal afc0aea702 usb: typec: mux: Enter safe mode only when pins need to be reconfigured
commit 40bf8f162d upstream.

There is no point to enter safe mode during DP/TBT configuration
if the DP/TBT was already configured in mux. This is because safe
mode is only applicable when there is a need to reconfigure the
pins in order to avoid damage within/to port partner.

In some chrome systems, IOM/mux is already configured before OS
comes up. Thus, when driver is probed, it blindly enters safe
mode due to PD negotiations but only after gfx driver lowers
dp_phy_ownership, will the IOM complete safe mode and send an
ack to PMC.
Since, that never happens, we see IPC timeout.

Hence, allow safe mode only when pin reconfiguration is not
required, which makes sense.

Fixes: 43d596e322 ("usb: typec: intel_pmc_mux: Check the port status before connect")
Cc: stable <stable@kernel.org>
Signed-off-by: Rajat Khandelwal <rajat.khandelwal@linux.intel.com>
Signed-off-by: Lee Shawn C <shawn.c.lee@intel.com>
Reviewed-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Link: https://lore.kernel.org/r/20221024171611.181468-1-rajat.khandelwal@linux.intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-11-26 09:24:45 +01:00
..
altmodes usb: typec: altmodes/displayport: correct pin assignment for UFP receptacles 2022-09-08 12:28:06 +02:00
mux usb: typec: mux: Enter safe mode only when pins need to be reconfigured 2022-11-26 09:24:45 +01:00
tcpm usb: typec: tcpm: Return ENOTSUPP for power supply prop writes 2022-09-08 12:28:06 +02:00
tipd usb: typec: tipd: Forward plug orientation to typec subsystem 2022-04-08 14:22:48 +02:00
ucsi usb: typec: ucsi: Remove incorrect warning 2022-10-05 10:39:36 +02:00
Kconfig usb: typec: STUSB160X should select REGMAP_I2C 2021-11-18 19:16:54 +01:00
Makefile usb: typec: Port mapping utility 2021-04-09 16:00:00 +02:00
bus.c bus: Make remove callback return void 2021-07-21 11:53:42 +02:00
bus.h usb: typec: Organize the private headers properly 2021-04-05 09:07:41 +02:00
class.c usb: typec: add missing uevent when partner support PD 2022-07-21 21:24:42 +02:00
class.h usb: typec: Link all ports during connector registration 2021-04-09 16:00:00 +02:00
hd3ss3220.c
mux.c usb: typec: mux: Check dev_set_name() return value 2022-06-14 18:36:05 +02:00
mux.h usb: typec: mux: Use device type instead of device name for matching 2021-05-27 09:23:57 +02:00
port-mapper.c usb: typec: silence a static checker warning 2021-04-14 15:15:40 +02:00
qcom-pmic-typec.c
stusb160x.c usb: typec: stusb160x: Don't block probing of consumer of "connector" nodes 2021-07-21 09:16:40 +02:00