[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1570092176.18913.7.camel@suse.com>
Date: Thu, 03 Oct 2019 10:42:56 +0200
From: Oliver Neukum <oneukum@...e.com>
To: Mika Westerberg <mika.westerberg@...ux.intel.com>,
linux-usb@...r.kernel.org
Cc: Anthony Wong <anthony.wong@...onical.com>,
Mario.Limonciello@...l.com,
Andreas Noever <andreas.noever@...il.com>,
Yehezkel Bernat <YehezkelShB@...il.com>,
Michael Jamet <michael.jamet@...el.com>,
Rajmohan Mani <rajmohan.mani@...el.com>,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
Nicholas Johnson <nicholas.johnson-opensource@...look.com.au>,
Alan Stern <stern@...land.harvard.edu>,
linux-kernel@...r.kernel.org, Lukas Wunner <lukas@...ner.de>
Subject: Re: [RFC PATCH 20/22] thunderbolt: Add support for USB tunnels
Am Dienstag, den 01.10.2019, 14:38 +0300 schrieb Mika Westerberg:
> From: Rajmohan Mani <rajmohan.mani@...el.com>
>
> 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@...el.com>
> Co-developed-by: Mika Westerberg <mika.westerberg@...ux.intel.com>
> Signed-off-by: Mika Westerberg <mika.westerberg@...ux.intel.com>
> ---
> 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
Powered by blists - more mailing lists