Received: by 2002:a25:824b:0:0:0:0:0 with SMTP id d11csp8333193ybn; Tue, 1 Oct 2019 06:44:30 -0700 (PDT) X-Google-Smtp-Source: APXvYqxTd2n7IYteXe9DPjDUaB3eMdkKFW+CaO86pUFTPkXuDY06iNFToCLcYIe1xgaaIzu8Iqii X-Received: by 2002:a17:906:d04f:: with SMTP id bo15mr24816749ejb.296.1569937470022; Tue, 01 Oct 2019 06:44:30 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1569937470; cv=none; d=google.com; s=arc-20160816; b=hNdnDIzMGs8FlEKA2NWwyiB4aoUydJ+LjI5dchOstUbRUDfRxsxO5/r2vhiL9A+YTa SxwUhr6zfLiwMl5e9gwmguhqsG+UiKLxGOhrIDVrchgqANSbZMFMCR+5uI9Jlhw06W6G BtyPzuFolgFg4sXSMy1HtotovmiBWZzddT/f+m1Hi1ZY8NiqLk7w0B5vxU8J3qd6aFuo /qNI9oRbxUMp6y5KqSdbdot2DqX/80jdeldoLeFui3d+/TLug/fjEMnrtCjGjsHmd6Nv r4RTlzLVMZJhNTaz02CmIh3XiWM+8PuAOiAgjTcQWuum4vPCvaXMaLaHNiWhz8OxDYm+ b5kg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:organization:in-reply-to :content-disposition:mime-version:references:message-id:subject:cc :to:from:date; bh=qk6XQ/HYhEFM2AJFhriIuVBMDsmv4NdzRoU7Mma3ImY=; b=Yer5HYO5j/hqezMgErWSKPO3SwmJXM+e8miuyhHw68Wm9HHv11lqSh3qxnZ3BvCxiA sh+Qwz9upgXLnmEQbYDOK8clIduzQEukbLhJOJFsBFsL60cdLsb7NbOEm92L6uTUQQDc GxKUQYJtuxtyl00MWoJkFXqdvB3dsRKCYDtitxQiFpwD2r5rIk/jaYGvitocsf6d0g93 ZAe7W5rVVWXGpSNxJBGnjl4KlGtk+k19EARRHoxPeZebtOHD7YGMJZ9VeQtEZH1xe6Uq 7Kt91Fm2McA9jc8N5miZpk9oOuOBwBdJmu8rhqhUMCHP40j2qzXNr+EyX3DEegRfcfZW vc0Q== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id b15si9149811edm.395.2019.10.01.06.44.05; Tue, 01 Oct 2019 06:44:30 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2388575AbfJANmx (ORCPT + 99 others); Tue, 1 Oct 2019 09:42:53 -0400 Received: from mga06.intel.com ([134.134.136.31]:19704 "EHLO mga06.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726554AbfJANmx (ORCPT ); Tue, 1 Oct 2019 09:42:53 -0400 X-Amp-Result: UNKNOWN X-Amp-Original-Verdict: FILE UNKNOWN X-Amp-File-Uploaded: False Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by orsmga104.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 01 Oct 2019 06:42:51 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.64,571,1559545200"; d="scan'208";a="205064778" Received: from lahna.fi.intel.com (HELO lahna) ([10.237.72.157]) by fmsmga001.fm.intel.com with SMTP; 01 Oct 2019 06:42:47 -0700 Received: by lahna (sSMTP sendmail emulation); Tue, 01 Oct 2019 16:42:47 +0300 Date: Tue, 1 Oct 2019 16:42:47 +0300 From: Mika Westerberg To: Greg Kroah-Hartman Cc: linux-usb@vger.kernel.org, Andreas Noever , Michael Jamet , Yehezkel Bernat , Rajmohan Mani , Nicholas Johnson , Lukas Wunner , Alan Stern , Mario.Limonciello@dell.com, Anthony Wong , linux-kernel@vger.kernel.org Subject: Re: [RFC PATCH 00/22] thunderbolt: Add support for USB4 Message-ID: <20191001134247.GT2714@lahna.fi.intel.com> References: <20191001113830.13028-1-mika.westerberg@linux.intel.com> <20191001124954.GI2954373@kroah.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20191001124954.GI2954373@kroah.com> Organization: Intel Finland Oy - BIC 0357606-4 - Westendinkatu 7, 02160 Espoo User-Agent: Mutt/1.12.1 (2019-06-15) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, Oct 01, 2019 at 02:49:54PM +0200, Greg Kroah-Hartman wrote: > On Tue, Oct 01, 2019 at 02:38:08PM +0300, Mika Westerberg wrote: > > Hi all, > > > > I'm sending this as RFC because the series is still missing important > > features such as power management so not ready for merging. However, I > > think it is good to get any early feedback from the community. We are > > working to add support for the missing features. > > > > USB4 is the public specification of Thunderbolt 3 protocol and can be > > downloaded here: > > > > https://www.usb.org/sites/default/files/USB4%20Specification_1.zip > > > > USB4 is about tunneling different protocols over a single cable (in the > > same way as Thunderbolt). The current USB4 spec supports PCIe, Display Port > > and USB 3.x, and also software based protocols such as networking between > > domains (hosts). > > > > So far PCs have been using firmware based Connection Manager and Apple > > systems have been using software based one. A Connection Manager is the > > entity that handles creation of different tunnel types through the USB4 > > (and Thunderbolt) fabric. With USB4 the plan is to have software based > > Connection Manager everywhere but some early systems will also support > > firmware to allow OS downgrade for example. > > > > Current Linux Thunderbolt driver supports both "modes" and can detect which > > one to use dynamically. > > > > This series first adds support for Thunderbolt 3 devices to the software > > connection manager and then extends that to support USB4 compliant hosts > > and devices (this applies to both firmware and software based connection > > managers). With this series the following features are supported also for > > USB4 compliant devices: > > > > - PCIe tunneling > > - Display Port tunneling > > - USB 3.x tunneling > > - P2P networking (implemented in drivers/net/thunderbolt.c) > > - Host and device NVM firmware upgrade > > > > We also add two new sysfs attributes under each device that expose link > > speed and width to userspace. The rest of the userspace ABI stays the same. > > > > I'm including Linux USB folks as well because USB4 is officially coming > > from USB-IF which puts us on same boat now. > > > > While I changed the user visible Kconfig string to mention "USB4" (the > > Kconfig option is still CONFIG_THUNDERBOLT), I'm wondering whether we > > should move the whole Thunderbolt driver under drivers/usb/thunderbolt as > > well? > > Looks "interesting", nice work! Thanks! > I stopped at patch "Add initial support for USB4" as I don't think we > want to add USB4 code to a system that we know does not have it, right? You can connect a USB4 device to Thunderbolt 3 system. USB4 hubs specifically are required to support this by the spec. Of course then it is in Thunderbolt 3 alternate mode (not in USB4 native mode) but the USB4 register set is still there. So for example we still need to configure TMU (Time Management Unit) and access the DROM via router operations and so on. Do you mean we don't want that? > Everything up to then is just "normal" thunderbolt, and with the > exception of a few minor comments, all look fine to me. > > I didn't actually read the USB4 patch just yet, as I figured we needed > to argue about that some more :) Heh, sure and thanks for the feedback so far :)