Re: [PATCH 0/4] Add device links between tunneled USB3 devices and USB4 Host

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



+CC Mario from AMD side to check that we are good and don't break
anything accidentally.

On Wed, Jun 19, 2024 at 04:03:01PM +0300, Mathias Nyman wrote:
> The relationship between a USB4 Host Interface providing USB3 tunnels,
> and tunneled USB3 devices is not represented in device hierarchy.
> 
> This caused issues with power managment as devices may suspend and
> resume in incorrect order.
> A device link between the USB4 Host Interface and the USB3 xHCI was
> originally added to solve this, preventing the USB4 Host Interface from
> suspending if the USB3 xHCI Host was still active.
> This unfortunately also prevents USB4 Host Interface from suspending even
> if the USB3 xHCI Host is only serving native non-tunneled USB devices.
> 
> Improve the current powermanagement situation by creating device links
> directly from tunneled USB3 devices to the USB4 Host Interface they depend
> on instead of a device link between the hosts.
> This way USB4 host may suspend when the last tunneled device is
> disconnected.
> 
> Intel xHCI hosts are capable of reporting if connected USB3 devices are
> tunneled via vendor specific capabilities.
> Use this until a standard way is available.
> 
> Mathias Nyman (4):
>   xhci: Add USB4 tunnel detection for USB3 devices on Intel hosts
>   usb: Add tunneled parameter to usb device structure
>   usb: acpi: add device link between tunneled USB3 device and USB4 Host
>     Interface
>   thunderbolt: Don't create device link from USB4 Host Interface to USB3
>     xHC host
> 
>  drivers/thunderbolt/acpi.c       | 40 ++++++------------------
>  drivers/usb/core/usb-acpi.c      | 52 ++++++++++++++++++++++++++++++++
>  drivers/usb/host/xhci-ext-caps.h |  5 +++
>  drivers/usb/host/xhci-hub.c      | 29 ++++++++++++++++++
>  drivers/usb/host/xhci.c          | 12 ++++++++
>  drivers/usb/host/xhci.h          |  1 +
>  include/linux/usb.h              |  2 ++
>  7 files changed, 111 insertions(+), 30 deletions(-)
> 
> -- 
> 2.25.1




[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux