Re: [RFC PATCH 20/22] thunderbolt: Add support for USB tunnels

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

 



Am Dienstag, den 01.10.2019, 14:38 +0300 schrieb Mika Westerberg:
> From: Rajmohan Mani <rajmohan.mani@xxxxxxxxx>
> 
> USB4 added a capability to tunnel USB 3.x protocol over the USB4
> fabric. USB4 device routers may include integrated SuperSpeed HUB or a
> function or both. USB tunneling follows PCIe so that the tunnel is
> created between the parent and the child router from USB downstream
> adapter port to USB upstream adapter port over a single USB4 link.
> 
> This adds support for USB tunneling and also capability to discover
> existing USB tunnels (for example created by connection manager in boot
> firmware).
> 
> Signed-off-by: Rajmohan Mani <rajmohan.mani@xxxxxxxxx>
> Co-developed-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx>
> Signed-off-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx>
> ---
>  drivers/thunderbolt/switch.c  |  35 ++++++++
>  drivers/thunderbolt/tb.c      | 153 ++++++++++++++++++++++++++------
>  drivers/thunderbolt/tb.h      |  15 ++++
>  drivers/thunderbolt/tb_regs.h |   9 +-
>  drivers/thunderbolt/tunnel.c  | 158 +++++++++++++++++++++++++++++++++-
>  drivers/thunderbolt/tunnel.h  |   9 ++
>  drivers/thunderbolt/usb4.c    |  41 ++++++++-
>  7 files changed, 393 insertions(+), 27 deletions(-)
> 
> diff --git a/drivers/thunderbolt/switch.c b/drivers/thunderbolt/switch.c
> index 58e3f54ddbb9..5a3236fefb76 100644
> --- a/drivers/thunderbolt/switch.c
> +++ b/drivers/thunderbolt/switch.c
> @@ -1025,11 +1025,46 @@ bool tb_port_is_enabled(struct tb_port *port)
>  	case TB_TYPE_DP_HDMI_OUT:
>  		return tb_dp_port_is_enabled(port);
>  
> +	case TB_TYPE_USB_UP:
> +	case TB_TYPE_USB_DOWN:
> +		return tb_usb_port_is_enabled(port);
> +
>  	default:
>  		return false;
>  	}
>  }
>  
> +/**
> + * tb_usb_port_is_enabled() - Is the USB adapter port enabled
> + * @port: USB port to check
> + */
> +bool tb_usb_port_is_enabled(struct tb_port *port)

Should these functions be called tb_usb3_port... ?
This looks like all USB would need this.
 
> -static const char * const tb_tunnel_names[] = { "PCI", "DP", "DMA" };
> +static const char * const tb_tunnel_names[] = { "PCI", "DP", "DMA", "USB"};

USB3 ?

	Regards
		Oliver




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

  Powered by Linux