linux/include/linux/usb
Kyle Tso 4d27afbf25 usb: typec: tcpci: Prevent Sink disconnection before vPpsShutdown in SPR PPS
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: 4288debeaa ("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-01-17 12:40:20 +01:00
..
audio-v2.h
audio-v3.h
audio.h
c67x00.h
ccid.h
cdc-wdm.h
cdc.h
cdc_ncm.h
ch9.h
chipidea.h usb: chipidea: add CI_HDRC_HAS_SHORT_PKT_LIMIT flag 2024-10-04 15:13:58 +02:00
composite.h usb: gadget: Increase max configuration interface to 32 2024-08-07 12:50:36 +02:00
ehci-dbgp.h
ehci_def.h
ehci_pdriver.h
ezusb.h
func_utils.h usb: gadget: function: move u_f.h to include/linux/usb/func_utils.h 2024-09-03 09:57:08 +02:00
functionfs.h
g_hid.h
gadget.h usb: gadget: Use u16 types for 16-bit fields 2024-07-10 13:56:22 +02:00
gadget_configfs.h usb: gadget: configfs: Constify struct config_item_type 2024-08-13 10:38:34 +02:00
hcd.h workqueue: BH workqueue conversions for v6.9 2024-03-11 13:05:19 -07:00
input.h
iowarrior.h
irda.h
isp116x.h
isp1301.h
isp1362.h
ljca.h
m66592.h
midi-v2.h
musb-ux500.h
musb.h
net2280.h
of.h usb: core: Set connect_type of ports based on DT node 2024-03-05 13:28:46 +00:00
ohci_pdriver.h
onboard_dev.h usb: misc: onboard_hub: rename to onboard_dev 2024-03-27 07:57:16 +01:00
otg-fsm.h
otg.h
pd.h usb: typec: tcpm: Add new AMS for Get_Revision response 2024-12-24 08:56:04 +01:00
pd_ado.h
pd_bdo.h
pd_ext_sdb.h
pd_vdo.h usb: typec: pd: no opencoding of FIELD_GET 2024-03-05 13:09:59 +00:00
phy.h usb: phy: Remove API devm_usb_put_phy() 2025-01-13 06:12:09 +01:00
phy_companion.h
quirks.h
r8a66597.h
r8152.h
renesas_usbhs.h usb: renesas_usbhs: Remove renesas_usbhs_get_info() wrapper 2024-04-18 16:47:49 +02:00
rndis_host.h
role.h
rzv2m_usb3drd.h
serial.h USB: serial: set driver owner when registering drivers 2024-08-26 15:28:24 +02:00
sl811.h
storage.h usb: storage: add a macro for the upper limit of max LUN 2024-12-04 16:33:54 +01:00
tcpci.h usb: typec: tcpci: use GENMASK() for TCPC_TRANSMIT register fields 2024-08-07 12:49:30 +02:00
tcpm.h usb: typec: tcpci: Prevent Sink disconnection before vPpsShutdown in SPR PPS 2025-01-17 12:40:20 +01:00
tegra_usb_phy.h usb: phy: tegra: Replace of_gpio.h by proper one 2024-05-10 10:36:31 +01:00
typec.h usb: typec: Make active on port altmode writable 2024-12-24 08:56:05 +01:00
typec_altmode.h
typec_dp.h usb: typec: pd: no opencoding of FIELD_GET 2024-03-05 13:09:59 +00:00
typec_mux.h
typec_retimer.h
typec_tbt.h usb: typec: Add driver for Thunderbolt 3 Alternate Mode 2024-12-24 08:56:05 +01:00
uas.h
ulpi.h
usb338x.h
usb_phy_generic.h
usbnet.h usbnet: fix cyclical race on disconnect with work queue 2024-09-26 10:54:42 +02:00
uvc.h media: uvcvideo: Add support for the D3DFMT_R5G6B5 pixmap type 2024-10-08 16:04:44 +02:00
webusb.h
xhci-dbgp.h