[GIT PULL] USB/Thunderbolt driver updates for 6.11-rc1

From: Greg KH
Date: Fri Jul 19 2024 - 08:26:08 EST


The following changes since commit 22a40d14b572deb80c0648557f4bd502d7e83826:

Linux 6.10-rc6 (2024-06-30 14:40:44 -0700)

are available in the Git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git tags/usb-6.11-rc1

for you to fetch changes up to b727493011123db329e2901e3abf81a8d146b6fe:

kselftest: devices: Add test to detect device error logs (2024-07-12 10:59:06 +0200)

----------------------------------------------------------------
USB/Thunderbolt updates for 6.11-rc1

Here is the big set of USB and Thunderbolt changes for 6.11-rc1.
Nothing earth-shattering in here, just constant forward progress in
adding support for new hardware and better debugging functionalities for
thunderbolt devices and the subsystem. Included in here are:
- thunderbolt debugging update and driver additions
- xhci driver updates
- typec driver updates
- kselftest device driver changes (acked by the relevant maintainers,
depended on other changes in this tree.)
- cdns3 driver updates
- gadget driver updates
- MODULE_DESCRIPTION() additions
- dwc3 driver updates and fixes

All of these have been in linux-next for a while with no reported
issues.

Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>

----------------------------------------------------------------
Aapo Vienamo (1):
thunderbolt: debugfs: Use FIELD_GET()

Abhishek Pandit-Subedi (2):
usb: typec: ucsi: Fix null pointer dereference in trace
usb: typec: Update sysfs when setting ops

Anand Moon (2):
dt-bindings: usb: Add the binding example for the Genesys Logic GL3523 hub
arm64: dts: amlogic: Used onboard usb hub reset on odroid n2

Bastien Curutchet (4):
phy: ti: phy-da8xx-usb: Add runtime PM support
Revert "usb: musb: da8xx: Set phy in OTG mode by default"
usb: musb: da8xx: Remove try_idle implementation from host-only mode
usb: musb: da8xx: Implement BABBLE recovery

Bjorn Andersson (2):
dt-bindings: platform: Add Lenovo Yoga C630 EC
dt-bindings: usb: qcom,dwc3: Add SC8180X compatibles

Conor Dooley (2):
dt-bindings: musb: mpfs: add ULPI external vbus support
usb: musb: mpfs: detect UPLI external vbus control requirement from DT

Daehwan Jung (3):
usb: dwc3: Support quirk for writing high-low order
xhci: Add a quirk for writing ERST in high-low order
usb: host: xhci-plat: Add support for XHCI_WRITE_64_HI_LO

Diogo Ivo (3):
usb: typec: ucsi: Add new notification bits
usb: typec: ucsi: Add new capability bits
usb: typec: ucsi: Enable UCSI v2.0 notifications

Dmitry Baryshkov (10):
platform: arm64: add Lenovo Yoga C630 WOS EC driver
platform/arm64: build drivers even on non-ARM64 platforms
usb: typec: ucsi: add Lenovo Yoga C630 glue driver
usb: typec: ucsi: move ucsi_acknowledge() from ucsi_read_error()
usb: typec: ucsi: simplify command sending API
usb: typec: ucsi: split read operation
usb: typec: ucsi: rework command execution functions
usb: typec: ucsi: inline ucsi_read_message_in
usb: typec: ucsi: extract common code for command handling
usb: typec: ucsi: reorder operations in ucsi_run_command()

Dr. David Alan Gilbert (1):
usb: host: oxu210hp: remove unused struct 'ehci_dbg_port'

Fabio Estevam (2):
usb: chipidea: ci_hdrc_imx: Switch to RUNTIME/SYSTEM_SLEEP_PM_OPS()
usb: chipidea: ci_hdrc_tegra: Switch to RUNTIME_PM_OPS()

Francesco Dolcini (2):
dt-bindings: usb: gpio-sbu-mux: Make 'enable-gpios' optional
usb: typec: mux: gpio-sbu: Make enable gpio optional

Frank Li (2):
dt-bindings: usb: cdns,usb3: use common usb-drd yaml
dt-bindings: usb: Convert fsl-usb to yaml

Greg Kroah-Hartman (4):
Merge tag 'v6.10-rc4' into usb-next
Merge tag 'thunderbolt-for-v6.11-rc1' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/westeri/thunderbolt into usb-next
Merge tag 'platform-drivers-x86-ib-lenovo-c630-v6.11-2' of https://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86 into usb-next
Merge 6.10-rc6 into usb-next

Hauke Mehrtens (1):
usb: dwc2: add support for other Lantiq SoCs

Hector Martin (1):
xhci: Remove dead code in xhci_move_dequeue_past_td()

Heikki Krogerus (2):
usb: typec: ucsi: Changing the driver data type to void
usb: typec: ucsi: psy: Add support for the charge type property

Jameson Thies (3):
usb: typec: ucsi: Delay alternate mode discovery
usb: typec: ucsi: Always set number of alternate modes
usb: typec: ucsi: Only set number of plug altmodes after registration

Javier Carrasco (3):
usb: typec: tipd: drop second firmware name read
usb: typec: tipd: add error log to provide firmware name and size
usb: typec: tipd: use min() to set tps6598x firmware packet size

Jeff Johnson (6):
usb: gadget: add missing MODULE_DESCRIPTION() macros
usb: misc: add missing MODULE_DESCRIPTION() macros
usb: host: add missing MODULE_DESCRIPTION() macros
usb: phy: add missing MODULE_DESCRIPTION() macros
usb: common: add missing MODULE_DESCRIPTION() macros
usb: add missing MODULE_DESCRIPTION() macros

John Keeping (1):
usb: gadget: f_uac2: fix non-newline-terminated function name

Kees Cook (1):
usb: gadget: Use u16 types for 16-bit fields

Kerem Karabay (2):
USB: core: add 'shutdown' callback to usb_driver
USB: uas: Implement the new shutdown callback

Ma Ke (1):
usb: gadget: aspeed_udc: validate endpoint index for ast udc

Marco Felsch (1):
usb: typec: tcpci: add support to set connector orientation

Mark Pearson (1):
usb: typec: ucsi: don't retrieve PDOs if not supported

Mathias Nyman (4):
xhci: show usb device name in xhci urb tracing
xhci: Set correct transferred length for cancelled isoc transfers
xhci: rework xhci internal endpoint halt state detection.
xhci: sort out TRB Endpoint ID bitfield macros

Matthias Kaehlcke (1):
usb: misc: onboard_usb_dev: Add match function

Mika Westerberg (7):
thunderbolt: Mention Thunderbolt/USB4 debugging tools in Kconfig
thunderbolt: Move usb4_port_margining_caps() declaration into correct place
thunderbolt: Make usb4_port_sb_read/write() available outside of usb4.c
thunderbolt: Add sideband register access to debugfs
thunderbolt: Split out margining from USB4 port
thunderbolt: Make margining functions accept target and retimer index
thunderbolt: Add receiver lane margining support for retimers

Neil Armstrong (5):
usb: typec-mux: ptn36502: unregister typec switch on probe error and remove
usb: typec-mux: nb7vpq904m: unregister typec switch on probe error and remove
usb: typec-mux: ptn36502: broadcast typec state to next mux
usb: typec-mux: nb7vpq904m: broadcast typec state to next mux
dt-bindings: usb: dwc2: switch to unevaluatedProperties

Niklas Neronin (14):
usb: xhci: remove 'num_trbs' from struct 'xhci_td'
usb: xhci: remove unused 'xhci' argument
usb: xhci: remove unused argument from xhci_handle_cmd_config_ep()
usb: xhci: remove unused argument from handle_port_status()
usb: xhci: move link chain bit quirk checks into one helper function.
usb: xhci: move all segment re-numbering to xhci_link_rings()
usb: xhci: move untargeted transfer event handling to a separate function
usb: xhci: improve error message for targetless transfer event
usb: xhci: remove obsolete sanity check debug messages
usb: xhci: ensure skipped isoc TDs are returned when isoc ring is stopped
usb: xhci: remove false xhci_giveback_urb_in_irq() header comment
usb: xhci: remove infinite loop prevention
usb: xhci: move process TD code out of the while loop
usb: xhci: add 'goto' for halted endpoint check in handle_tx_event()

Norihiko Hama (1):
usb-storage: Optimize scan delay more precisely

Nícolas F. R. A. Prado (5):
kselftest: devices: Allow specifying boards directory through parameter
kselftest: devices: Add of-fullname-regex property
kselftest: devices: Move discoverable devices test to subdirectory
kselftest: Move ksft helper module to common directory
kselftest: devices: Add test to detect device error logs

Parth Pancholi (1):
dt-bindings: usb: gpio-sbu-mux: Add an entry for TMUXHS4212

Peng Hongchi (1):
usb: dwc2: gadget: Don't write invalid mapped sg entries into dma_desc with iommu enabled

Pooja Katiyar (2):
usb: typec: ucsi: UCSI2.0 Get Error Status data structure changes
usb: typec: ucsi: UCSI2.0 Get Error Status changes

R Sundar (1):
usb: typec: nb7vpq904m: Remove unneeded indentation

Radhey Shyam Pandey (1):
usb: dwc3: enable CCI support for AMD-xilinx DWC3 controller

Reka Norman (1):
xhci: Apply XHCI_RESET_TO_DEFAULT quirk to TGL

Roger Quadros (2):
usb: cdns3: Add quirk flag to enable suspend residency
usb: cdns3-ti: Add workaround for Errata i2409

Sebastian Reichel (2):
usb: typec: tcpm: avoid resets for missing source capability messages
usb: typec: tcpm: print error on hard reset

Shantanu Goel (1):
usb: uas: set host status byte on data completion error

Simon Holesch (1):
usbip: Don't submit special requests twice

Takashi Iwai (1):
usb: gadget: midi2: Fix incorrect default MIDI2 protocol setup

Thinh Nguyen (1):
usb: dwc3: core: Check all ports when set phy suspend

Uday M Bhat (1):
xhci: dbc: Allow users to modify DbC poll interval via sysfs

Uwe Kleine-König (2):
usb: misc: Drop explicit initialization of struct i2c_device_id::driver_data to 0
usb: typec: Drop explicit initialization of struct i2c_device_id::driver_data to 0

Wolfram Sang (1):
usb: typec: tcpm: use 'time_left' variable with wait_for_completion_timeout()

.../ABI/testing/sysfs-bus-pci-drivers-xhci_hcd | 10 +
Documentation/admin-guide/kernel-parameters.txt | 3 +
.../bindings/platform/lenovo,yoga-c630-ec.yaml | 83 +++
.../devicetree/bindings/usb/cdns,usb3.yaml | 15 +-
Documentation/devicetree/bindings/usb/dwc2.yaml | 2 +-
.../devicetree/bindings/usb/fsl,usb2.yaml | 95 +++
Documentation/devicetree/bindings/usb/fsl-usb.txt | 81 ---
.../devicetree/bindings/usb/genesys,gl850g.yaml | 60 +-
.../devicetree/bindings/usb/gpio-sbu-mux.yaml | 8 +-
.../bindings/usb/microchip,mpfs-musb.yaml | 7 +
.../devicetree/bindings/usb/qcom,dwc3.yaml | 29 +
.../boot/dts/amlogic/meson-g12b-odroid-n2.dtsi | 36 +-
drivers/phy/ti/phy-da8xx-usb.c | 49 ++
drivers/platform/Makefile | 2 +-
drivers/platform/arm64/Kconfig | 14 +
drivers/platform/arm64/Makefile | 1 +
drivers/platform/arm64/lenovo-yoga-c630.c | 291 +++++++++
drivers/thunderbolt/Kconfig | 17 +-
drivers/thunderbolt/debugfs.c | 648 +++++++++++++++------
drivers/thunderbolt/retimer.c | 53 +-
drivers/thunderbolt/sb_regs.h | 18 +-
drivers/thunderbolt/tb.h | 45 +-
drivers/thunderbolt/usb4.c | 187 +++---
drivers/usb/cdns3/cdns3-ti.c | 15 +-
drivers/usb/cdns3/core.h | 1 +
drivers/usb/cdns3/drd.c | 10 +-
drivers/usb/cdns3/drd.h | 3 +
drivers/usb/chipidea/ci_hdrc_imx.c | 19 +-
drivers/usb/chipidea/ci_hdrc_msm.c | 1 +
drivers/usb/chipidea/ci_hdrc_tegra.c | 9 +-
drivers/usb/class/usbtmc.c | 1 +
drivers/usb/common/common.c | 1 +
drivers/usb/common/usb-otg-fsm.c | 1 +
drivers/usb/core/driver.c | 14 +
drivers/usb/core/usb.c | 1 +
drivers/usb/dwc2/gadget.c | 4 +-
drivers/usb/dwc2/params.c | 30 +-
drivers/usb/dwc3/core.c | 66 ++-
drivers/usb/dwc3/core.h | 8 +
drivers/usb/dwc3/dwc3-xilinx.c | 29 +
drivers/usb/dwc3/host.c | 4 +-
drivers/usb/gadget/composite.c | 1 +
drivers/usb/gadget/function/f_acm.c | 1 +
drivers/usb/gadget/function/f_ecm.c | 1 +
drivers/usb/gadget/function/f_eem.c | 1 +
drivers/usb/gadget/function/f_fs.c | 1 +
drivers/usb/gadget/function/f_hid.c | 1 +
drivers/usb/gadget/function/f_loopback.c | 1 +
drivers/usb/gadget/function/f_mass_storage.c | 1 +
drivers/usb/gadget/function/f_midi.c | 1 +
drivers/usb/gadget/function/f_midi2.c | 20 +-
drivers/usb/gadget/function/f_ncm.c | 1 +
drivers/usb/gadget/function/f_obex.c | 1 +
drivers/usb/gadget/function/f_phonet.c | 1 +
drivers/usb/gadget/function/f_printer.c | 1 +
drivers/usb/gadget/function/f_rndis.c | 1 +
drivers/usb/gadget/function/f_serial.c | 1 +
drivers/usb/gadget/function/f_sourcesink.c | 1 +
drivers/usb/gadget/function/f_subset.c | 1 +
drivers/usb/gadget/function/f_tcm.c | 1 +
drivers/usb/gadget/function/f_uac1.c | 1 +
drivers/usb/gadget/function/f_uac1_legacy.c | 1 +
drivers/usb/gadget/function/f_uac2.c | 6 +-
drivers/usb/gadget/function/f_uvc.c | 1 +
drivers/usb/gadget/function/storage_common.c | 1 +
drivers/usb/gadget/function/u_ether.c | 1 +
drivers/usb/gadget/function/u_serial.c | 1 +
drivers/usb/gadget/legacy/dbgp.c | 1 +
drivers/usb/gadget/legacy/gmidi.c | 1 +
drivers/usb/gadget/legacy/zero.c | 1 +
drivers/usb/gadget/udc/aspeed_udc.c | 2 +
drivers/usb/host/ohci-exynos.c | 1 +
drivers/usb/host/oxu210hp-hcd.c | 25 -
drivers/usb/host/xhci-dbgcap.c | 38 ++
drivers/usb/host/xhci-dbgcap.h | 2 +-
drivers/usb/host/xhci-mem.c | 40 +-
drivers/usb/host/xhci-pci-renesas.c | 1 +
drivers/usb/host/xhci-pci.c | 4 +-
drivers/usb/host/xhci-plat.c | 3 +
drivers/usb/host/xhci-ring.c | 306 ++++------
drivers/usb/host/xhci-trace.h | 5 +-
drivers/usb/host/xhci.h | 45 +-
drivers/usb/misc/ezusb.c | 1 +
drivers/usb/misc/isight_firmware.c | 1 +
drivers/usb/misc/onboard_usb_dev.c | 11 +-
drivers/usb/misc/usb251xb.c | 18 +-
drivers/usb/misc/usb3503.c | 2 +-
drivers/usb/misc/usb4604.c | 2 +-
drivers/usb/misc/yurex.c | 1 +
drivers/usb/mon/mon_main.c | 1 +
drivers/usb/musb/da8xx.c | 20 +-
drivers/usb/musb/mpfs.c | 2 +
drivers/usb/phy/phy-am335x-control.c | 1 +
drivers/usb/phy/phy-am335x.c | 1 +
drivers/usb/storage/uas.c | 7 +-
drivers/usb/storage/usb.c | 101 +++-
drivers/usb/typec/altmodes/displayport.c | 2 +-
drivers/usb/typec/anx7411.c | 2 +-
drivers/usb/typec/class.c | 18 +-
drivers/usb/typec/mux/gpio-sbu-mux.c | 6 +-
drivers/usb/typec/mux/nb7vpq904m.c | 95 +--
drivers/usb/typec/mux/ptn36502.c | 33 +-
drivers/usb/typec/tcpm/fusb302.c | 4 +-
drivers/usb/typec/tcpm/tcpci.c | 46 +-
drivers/usb/typec/tcpm/tcpci_maxim_core.c | 2 +-
drivers/usb/typec/tcpm/tcpm.c | 37 +-
drivers/usb/typec/tipd/core.c | 33 +-
drivers/usb/typec/ucsi/Kconfig | 9 +
drivers/usb/typec/ucsi/Makefile | 1 +
drivers/usb/typec/ucsi/displayport.c | 2 +-
drivers/usb/typec/ucsi/psy.c | 32 +
drivers/usb/typec/ucsi/ucsi.c | 290 +++++----
drivers/usb/typec/ucsi/ucsi.h | 72 ++-
drivers/usb/typec/ucsi/ucsi_acpi.c | 145 +++--
drivers/usb/typec/ucsi/ucsi_ccg.c | 105 ++--
drivers/usb/typec/ucsi/ucsi_glink.c | 74 +--
drivers/usb/typec/ucsi/ucsi_stm32g0.c | 83 +--
drivers/usb/typec/ucsi/ucsi_yoga_c630.c | 164 ++++++
drivers/usb/usbip/stub_rx.c | 77 ++-
include/linux/platform_data/lenovo-yoga-c630.h | 44 ++
include/linux/usb.h | 3 +
include/linux/usb/gadget.h | 10 +-
include/linux/usb/tcpci.h | 8 +
include/linux/usb/typec.h | 3 +
tools/testing/selftests/Makefile | 4 +-
tools/testing/selftests/devices/Makefile | 4 -
.../testing/selftests/devices/error_logs/Makefile | 3 +
.../devices/error_logs/test_device_error_logs.py | 85 +++
tools/testing/selftests/devices/probe/Makefile | 4 +
.../{ => probe}/boards/Dell Inc.,XPS 13 9300.yaml | 0
.../{ => probe}/boards/google,spherion.yaml | 4 +
.../{ => probe}/test_discoverable_devices.py | 44 +-
.../selftests/{devices => kselftest}/ksft.py | 0
133 files changed, 3001 insertions(+), 1212 deletions(-)
create mode 100644 Documentation/devicetree/bindings/platform/lenovo,yoga-c630-ec.yaml
create mode 100644 Documentation/devicetree/bindings/usb/fsl,usb2.yaml
delete mode 100644 Documentation/devicetree/bindings/usb/fsl-usb.txt
create mode 100644 drivers/platform/arm64/lenovo-yoga-c630.c
create mode 100644 drivers/usb/typec/ucsi/ucsi_yoga_c630.c
create mode 100644 include/linux/platform_data/lenovo-yoga-c630.h
delete mode 100644 tools/testing/selftests/devices/Makefile
create mode 100644 tools/testing/selftests/devices/error_logs/Makefile
create mode 100755 tools/testing/selftests/devices/error_logs/test_device_error_logs.py
create mode 100644 tools/testing/selftests/devices/probe/Makefile
rename tools/testing/selftests/devices/{ => probe}/boards/Dell Inc.,XPS 13 9300.yaml (100%)
rename tools/testing/selftests/devices/{ => probe}/boards/google,spherion.yaml (86%)
rename tools/testing/selftests/devices/{ => probe}/test_discoverable_devices.py (86%)
rename tools/testing/selftests/{devices => kselftest}/ksft.py (100%)