twx-linux/include/linux/usb
Kyle Tso 6f10f641b4 usb: typec: tcpci: Prevent Sink disconnection before vPpsShutdown in SPR PPS
commit 4d27afbf256028a1f54363367f30efc8854433c3 upstream.

The Source can drop its output voltage to the minimum of the requested
PPS APDO voltage range when it is in Current Limit Mode. If this voltage
falls within the range of vPpsShutdown, the Source initiates a Hard
Reset and discharges Vbus. However, currently the Sink may disconnect
before the voltage reaches vPpsShutdown, leading to unexpected behavior.

Prevent premature disconnection by setting the Sink's disconnect
threshold to the minimum vPpsShutdown value. Additionally, consider the
voltage drop due to IR drop when calculating the appropriate threshold.
This ensures a robust and reliable interaction between the Source and
Sink during SPR PPS Current Limit Mode operation.

Fixes: 4288debeaa4e ("usb: typec: tcpci: Fix up sink disconnect thresholds for PD")
Cc: stable <stable@kernel.org>
Signed-off-by: Kyle Tso <kyletso@google.com>
Reviewed-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Reviewed-by: Badhri Jagan Sridharan <badhri@google.com>
Link: https://lore.kernel.org/r/20250114142435.2093857-1-kyletso@google.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2025-02-08 09:52:37 +01:00
..
audio-v2.h
audio-v3.h
audio.h
c67x00.h
ccid.h
cdc_ncm.h
cdc-wdm.h
cdc.h
ch9.h USB: Remove remnants of Wireless USB and UWB 2023-08-09 14:17:06 +02:00
chipidea.h usb: chipidea: add CI_HDRC_HAS_SHORT_PKT_LIMIT flag 2025-01-09 13:31:46 +01:00
composite.h USB: Remove remnants of Wireless USB and UWB 2023-08-09 14:17:06 +02:00
ehci_def.h
ehci_pdriver.h
ehci-dbgp.h
ezusb.h
functionfs.h
g_hid.h
gadget_configfs.h
gadget.h usb: gadget: Add function wakeup support 2023-03-29 10:27:01 +02:00
hcd.h usb: xhci: Add timeout argument in address_device USB HCD callback 2024-04-27 17:11:36 +02:00
input.h
iowarrior.h
irda.h
isp116x.h
isp1301.h
isp1362.h
m66592.h
midi-v2.h ALSA: usb-audio: Use __le16 for 16bit USB descriptor fields 2023-06-05 16:48:54 +02:00
musb-ux500.h
musb.h ARM/musb: omap2: Remove global GPIO numbers from TUSB6010 2023-05-24 15:01:59 +02:00
net2280.h
of.h
ohci_pdriver.h
onboard_hub.h
otg-fsm.h
otg.h
pd_ado.h
pd_bdo.h
pd_ext_sdb.h
pd_vdo.h
pd.h
phy_companion.h
phy.h Revert "usb: phy: add usb phy notify port status API" 2023-12-03 07:33:08 +01:00
quirks.h usb: new quirk to reduce the SET_ADDRESS request timeout 2024-04-27 17:11:36 +02:00
r8a66597.h
r8152.h r8152: add vendor/device ID pair for ASUS USB-C2500 2023-12-20 17:01:42 +01:00
renesas_usbhs.h
rndis_host.h
role.h Revert "usb: common: usb-conn-gpio: Set last role to unknown before initial detection" 2023-06-15 11:30:35 +02:00
rzv2m_usb3drd.h
serial.h USB: serial: return errors from break handling 2023-06-07 17:00:23 +02:00
sl811.h
storage.h
tcpci.h usb: typec: tcpci: clear the fault status bit 2023-08-22 14:44:52 +02:00
tcpm.h usb: typec: tcpci: Prevent Sink disconnection before vPpsShutdown in SPR PPS 2025-02-08 09:52:37 +01:00
tegra_usb_phy.h
typec_altmode.h usb: typec: bus: verify partner exists in typec_altmode_attention 2023-08-22 14:44:28 +02:00
typec_dp.h
typec_mux.h usb: typec: mux: fix static inline syntax error 2023-06-01 07:09:45 +01:00
typec_retimer.h
typec_tbt.h
typec.h
uas.h
ulpi.h
usb338x.h
usb_phy_generic.h
usbnet.h usbnet: fix cyclical race on disconnect with work queue 2024-10-04 16:29:50 +02:00
uvc.h
webusb.h
xhci-dbgp.h