From: Oliver Neukum <oneukum@suse.com> To: Mika Westerberg <mika.westerberg@linux.intel.com>, linux-usb@vger.kernel.org Cc: Anthony Wong <anthony.wong@canonical.com>, Mario.Limonciello@dell.com, Andreas Noever <andreas.noever@gmail.com>, Yehezkel Bernat <YehezkelShB@gmail.com>, Michael Jamet <michael.jamet@intel.com>, Rajmohan Mani <rajmohan.mani@intel.com>, Greg Kroah-Hartman <gregkh@linuxfoundation.org>, Nicholas Johnson <nicholas.johnson-opensource@outlook.com.au>, Alan Stern <stern@rowland.harvard.edu>, linux-kernel@vger.kernel.org, Lukas Wunner <lukas@wunner.de> Subject: Re: [RFC PATCH 20/22] thunderbolt: Add support for USB tunnels Date: Thu, 03 Oct 2019 10:42:56 +0200 Message-ID: <1570092176.18913.7.camel@suse.com> (raw) In-Reply-To: <20191001113830.13028-21-mika.westerberg@linux.intel.com> Am Dienstag, den 01.10.2019, 14:38 +0300 schrieb Mika Westerberg: > From: Rajmohan Mani <rajmohan.mani@intel.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@intel.com> > Co-developed-by: Mika Westerberg <mika.westerberg@linux.intel.com> > Signed-off-by: Mika Westerberg <mika.westerberg@linux.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
next prev parent reply index Thread overview: 95+ messages / expand[flat|nested] mbox.gz Atom feed top 2019-10-01 11:38 [RFC PATCH 00/22] thunderbolt: Add support for USB4 Mika Westerberg 2019-10-01 11:38 ` [RFC PATCH 01/22] thunderbolt: Introduce tb_switch_is_icm() Mika Westerberg 2019-10-01 12:10 ` Greg Kroah-Hartman 2019-10-01 12:46 ` Mika Westerberg 2019-10-01 13:36 ` Mario.Limonciello 2019-10-01 13:48 ` Mika Westerberg 2019-10-01 13:50 ` Mario.Limonciello 2019-10-01 13:52 ` Mika Westerberg 2019-10-01 11:38 ` [RFC PATCH 02/22] thunderbolt: Log switch route string on config read/write timeout Mika Westerberg 2019-10-01 11:38 ` [RFC PATCH 03/22] thunderbolt: Log warning if adding switch fails Mika Westerberg 2019-10-01 12:18 ` Greg Kroah-Hartman 2019-10-01 12:48 ` Mika Westerberg 2019-10-01 11:38 ` [RFC PATCH 04/22] thunderbolt: Make tb_sw_write() take const parameter Mika Westerberg 2019-10-01 11:38 ` [RFC PATCH 05/22] thunderbolt: Add helper macros to iterate over switch ports Mika Westerberg 2019-10-02 14:17 ` Oliver Neukum 2019-10-02 14:28 ` Mika Westerberg 2019-10-06 12:15 ` Lukas Wunner 2019-10-01 11:38 ` [RFC PATCH 06/22] thunderbolt: Add support for lane bonding Mika Westerberg 2019-10-01 12:38 ` Greg Kroah-Hartman 2019-10-01 12:53 ` Mika Westerberg 2019-10-02 14:21 ` Oliver Neukum 2019-10-02 14:30 ` Mika Westerberg 2019-10-03 8:25 ` Oliver Neukum 2019-10-03 8:53 ` Mika Westerberg 2019-10-01 11:38 ` [RFC PATCH 07/22] thunderbolt: Add default linking between ports if not provided by DROM Mika Westerberg 2019-10-01 12:39 ` Greg Kroah-Hartman 2019-10-01 13:14 ` Mika Westerberg 2019-10-01 11:38 ` [RFC PATCH 08/22] thunderbolt: Add downstream PCIe port mappings for Alpine and Titan Ridge Mika Westerberg 2019-10-01 12:40 ` Greg Kroah-Hartman 2019-10-01 13:27 ` Mika Westerberg 2019-10-01 11:38 ` [RFC PATCH 09/22] thunderbolt: Convert basic adapter register names to follow the USB4 spec Mika Westerberg 2019-10-01 12:41 ` Greg Kroah-Hartman 2019-10-01 13:28 ` Mika Westerberg 2019-10-01 11:38 ` [RFC PATCH 10/22] thunderbolt: Convert PCIe adapter register names to use USB4 names Mika Westerberg 2019-10-01 12:42 ` Greg Kroah-Hartman 2019-10-01 11:38 ` [RFC PATCH 11/22] thunderbolt: Convert DP adapter register names to follow the USB4 spec Mika Westerberg 2019-10-01 12:42 ` Greg Kroah-Hartman 2019-10-01 11:38 ` [RFC PATCH 12/22] thunderbolt: Add Display Port CM handshake for Titan Ridge devices Mika Westerberg 2019-10-01 12:44 ` Greg Kroah-Hartman 2019-10-01 13:30 ` Mika Westerberg 2019-10-01 11:38 ` [RFC PATCH 13/22] thunderbolt: Add Display Port adapter pairing and resource management Mika Westerberg 2019-10-01 11:38 ` [RFC PATCH 14/22] thunderbolt: Add bandwidth management for Display Port tunnels Mika Westerberg 2019-10-01 11:38 ` [RFC PATCH 15/22] thunderbolt: Make tb_find_port() available to other files Mika Westerberg 2019-10-01 11:38 ` [RFC PATCH 16/22] thunderbolt: Call tb_eeprom_get_drom_offset() from tb_eeprom_read_n() Mika Westerberg 2019-10-01 11:38 ` [RFC PATCH 17/22] thunderbolt: Add initial support for USB4 Mika Westerberg 2019-10-01 12:47 ` Greg Kroah-Hartman 2019-10-01 13:09 ` Mika Westerberg 2019-10-01 14:53 ` Greg Kroah-Hartman 2019-10-01 14:59 ` Mario.Limonciello 2019-10-01 15:13 ` Mika Westerberg 2019-10-01 15:22 ` Greg KH 2019-10-01 15:32 ` Mika Westerberg 2019-10-01 15:07 ` Mika Westerberg 2019-10-01 15:19 ` Greg Kroah-Hartman 2019-10-01 15:26 ` Mika Westerberg 2019-10-01 16:27 ` Oliver Neukum 2019-10-02 8:30 ` Mika Westerberg 2019-10-02 8:39 ` Greg Kroah-Hartman 2019-10-02 8:49 ` Mika Westerberg 2019-10-01 17:05 ` Mario.Limonciello 2019-10-01 18:14 ` Mario.Limonciello 2019-10-02 8:39 ` Mika Westerberg 2019-10-02 15:09 ` Mario.Limonciello 2019-10-02 15:36 ` Yehezkel Bernat 2019-10-02 16:00 ` Mario.Limonciello 2019-10-03 8:00 ` Mika Westerberg 2019-10-03 14:41 ` Mario.Limonciello 2019-10-04 7:54 ` Mika Westerberg 2019-10-04 8:07 ` Yehezkel Bernat 2019-10-04 8:19 ` Mika Westerberg 2019-10-04 11:19 ` Yehezkel Bernat 2019-10-04 14:05 ` Mario.Limonciello 2019-10-04 14:19 ` Mario.Limonciello 2019-10-04 14:21 ` Mika Westerberg [not found] ` <1570201357.2.0@kellner.me> 2019-10-04 15:16 ` Mika Westerberg 2019-10-04 15:22 ` Christian Kellner 2019-10-02 8:34 ` Mika Westerberg 2019-10-02 15:04 ` Mario.Limonciello 2019-10-01 11:38 ` [RFC PATCH 18/22] thunderbolt: Make tb_switch_find_cap() available to other files Mika Westerberg 2019-10-01 11:38 ` [RFC PATCH 19/22] thunderbolt: Add support for Time Management Unit Mika Westerberg 2019-10-02 16:52 ` Mani, Rajmohan 2019-10-03 8:01 ` Mika Westerberg 2019-10-01 11:38 ` [RFC PATCH 20/22] thunderbolt: Add support for USB tunnels Mika Westerberg 2019-10-03 8:42 ` Oliver Neukum [this message] 2019-10-03 8:52 ` Mika Westerberg 2019-10-01 11:38 ` [RFC PATCH 21/22] thunderbolt: Update documentation with the USB4 information Mika Westerberg 2019-10-01 14:17 ` Mario.Limonciello 2019-10-01 14:21 ` Mika Westerberg 2019-10-01 11:38 ` [RFC PATCH 22/22] thunderbolt: Do not start firmware unless asked by the user Mika Westerberg 2019-10-01 14:43 ` Mario.Limonciello 2019-10-01 14:58 ` Mika Westerberg 2019-10-01 16:53 ` Mario.Limonciello 2019-10-02 8:48 ` Mika Westerberg 2019-10-01 12:49 ` [RFC PATCH 00/22] thunderbolt: Add support for USB4 Greg Kroah-Hartman 2019-10-01 13:42 ` Mika Westerberg
Reply instructions: You may reply publically to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=1570092176.18913.7.camel@suse.com \ --to=oneukum@suse.com \ --cc=Mario.Limonciello@dell.com \ --cc=YehezkelShB@gmail.com \ --cc=andreas.noever@gmail.com \ --cc=anthony.wong@canonical.com \ --cc=gregkh@linuxfoundation.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-usb@vger.kernel.org \ --cc=lukas@wunner.de \ --cc=michael.jamet@intel.com \ --cc=mika.westerberg@linux.intel.com \ --cc=nicholas.johnson-opensource@outlook.com.au \ --cc=rajmohan.mani@intel.com \ --cc=stern@rowland.harvard.edu \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
Linux-USB Archive on lore.kernel.org Archives are clonable: git clone --mirror https://lore.kernel.org/linux-usb/0 linux-usb/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 linux-usb linux-usb/ https://lore.kernel.org/linux-usb \ linux-usb@vger.kernel.org public-inbox-index linux-usb Example config snippet for mirrors Newsgroup available over NNTP: nntp://nntp.lore.kernel.org/org.kernel.vger.linux-usb AGPL code for this site: git clone https://public-inbox.org/public-inbox.git