linux-usb.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [2/2] USB: show USB3 Gen XxY version during device enumeration
@ 2018-03-13 15:27 Mathias Nyman
  0 siblings, 0 replies; 3+ messages in thread
From: Mathias Nyman @ 2018-03-13 15:27 UTC (permalink / raw)
  To: gregkh; +Cc: stern, linux-usb, Mathias Nyman

USB 3.2 specification adds a Gen XxY notion for USB3 devices where
X is the signaling rate on the wire. Gen 1xY is 5Gbps Superspeed
and Gen 2xY is 10Gbps SuperSpeedPlus. Y is the lane count.
USB 3.2 supports dual lane Gen Xx2

Gen 1x1 5Gbps  single lane
Gen 2x1 10Gbps single lane
Gen 1x2 10Gbps dual lane  (USB 3.2)
Gen 2x2 20Gbps dual lane  (USB 3.2)

Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com>
---
 drivers/usb/core/hub.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/usb/core/hub.c b/drivers/usb/core/hub.c
index 853516d..c203876 100644
--- a/drivers/usb/core/hub.c
+++ b/drivers/usb/core/hub.c
@@ -4592,9 +4592,11 @@ hub_port_init(struct usb_hub *hub, struct usb_device *udev, int port1,
 			if (udev->speed >= USB_SPEED_SUPER) {
 				devnum = udev->devnum;
 				dev_info(&udev->dev,
-						"%s SuperSpeed%s USB device number %d using %s\n",
+						"%s SuperSpeed%s Gen %dx%d USB device number %d using %s\n",
 						(udev->config) ? "reset" : "new",
 					 (udev->speed == USB_SPEED_SUPER_PLUS) ? "Plus" : "",
+					 (udev->speed == USB_SPEED_SUPER_PLUS) ? 2 : 1,
+					 udev->lanes,
 					 devnum, driver_name);
 			}
 

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* [2/2] USB: show USB3 Gen XxY version during device enumeration
@ 2018-03-13 15:31 Felipe Balbi
  0 siblings, 0 replies; 3+ messages in thread
From: Felipe Balbi @ 2018-03-13 15:31 UTC (permalink / raw)
  To: Mathias Nyman, gregkh; +Cc: stern, linux-usb

Hi,

Mathias Nyman <mathias.nyman@linux.intel.com> writes:
> USB 3.2 specification adds a Gen XxY notion for USB3 devices where
> X is the signaling rate on the wire. Gen 1xY is 5Gbps Superspeed
> and Gen 2xY is 10Gbps SuperSpeedPlus. Y is the lane count.
> USB 3.2 supports dual lane Gen Xx2
>
> Gen 1x1 5Gbps  single lane
> Gen 2x1 10Gbps single lane
> Gen 1x2 10Gbps dual lane  (USB 3.2)
> Gen 2x2 20Gbps dual lane  (USB 3.2)
>
> Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com>
> ---
>  drivers/usb/core/hub.c | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/usb/core/hub.c b/drivers/usb/core/hub.c
> index 853516d..c203876 100644
> --- a/drivers/usb/core/hub.c
> +++ b/drivers/usb/core/hub.c
> @@ -4592,9 +4592,11 @@ hub_port_init(struct usb_hub *hub, struct usb_device *udev, int port1,
>  			if (udev->speed >= USB_SPEED_SUPER) {
>  				devnum = udev->devnum;
>  				dev_info(&udev->dev,
> -						"%s SuperSpeed%s USB device number %d using %s\n",
> +						"%s SuperSpeed%s Gen %dx%d USB device number %d using %s\n",
>  						(udev->config) ? "reset" : "new",
>  					 (udev->speed == USB_SPEED_SUPER_PLUS) ? "Plus" : "",
> +					 (udev->speed == USB_SPEED_SUPER_PLUS) ? 2 : 1,

SuperSpeedPlus is not a Synonym to Gen2, is it? Perhaps Gen XxY should
be printed at a later time when you finally have Speed and Lane count
for both RX and TX sides?

^ permalink raw reply	[flat|nested] 3+ messages in thread

* [2/2] USB: show USB3 Gen XxY version during device enumeration
@ 2018-03-13 15:56 Mathias Nyman
  0 siblings, 0 replies; 3+ messages in thread
From: Mathias Nyman @ 2018-03-13 15:56 UTC (permalink / raw)
  To: Felipe Balbi, gregkh; +Cc: stern, linux-usb

On 13.03.2018 17:31, Felipe Balbi wrote:
> 
> Hi,
> 
> Mathias Nyman <mathias.nyman@linux.intel.com> writes:
>> USB 3.2 specification adds a Gen XxY notion for USB3 devices where
>> X is the signaling rate on the wire. Gen 1xY is 5Gbps Superspeed
>> and Gen 2xY is 10Gbps SuperSpeedPlus. Y is the lane count.
>> USB 3.2 supports dual lane Gen Xx2
>>
>> Gen 1x1 5Gbps  single lane
>> Gen 2x1 10Gbps single lane
>> Gen 1x2 10Gbps dual lane  (USB 3.2)
>> Gen 2x2 20Gbps dual lane  (USB 3.2)
>>
>> Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com>
>> ---
>>   drivers/usb/core/hub.c | 4 +++-
>>   1 file changed, 3 insertions(+), 1 deletion(-)
>>
>> diff --git a/drivers/usb/core/hub.c b/drivers/usb/core/hub.c
>> index 853516d..c203876 100644
>> --- a/drivers/usb/core/hub.c
>> +++ b/drivers/usb/core/hub.c
>> @@ -4592,9 +4592,11 @@ hub_port_init(struct usb_hub *hub, struct usb_device *udev, int port1,
>>   			if (udev->speed >= USB_SPEED_SUPER) {
>>   				devnum = udev->devnum;
>>   				dev_info(&udev->dev,
>> -						"%s SuperSpeed%s USB device number %d using %s\n",
>> +						"%s SuperSpeed%s Gen %dx%d USB device number %d using %s\n",
>>   						(udev->config) ? "reset" : "new",
>>   					 (udev->speed == USB_SPEED_SUPER_PLUS) ? "Plus" : "",
>> +					 (udev->speed == USB_SPEED_SUPER_PLUS) ? 2 : 1,
> 
> SuperSpeedPlus is not a Synonym to Gen2, is it? Perhaps Gen XxY should
> be printed at a later time when you finally have Speed and Lane count
> for both RX and TX sides?


It is, Gen2 = SupreSpeedPlus 10Gbps signaling rate.
both rx and tx speeds and lane count is known at this stage.
For normal USB devices rx lane count = tx lane count. and speed is the same on both.

We could add a check that if rx lane != tx lane then just print "SSIC" instead of "Gen XxY"

-Mathias
---
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2018-03-13 15:56 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-03-13 15:27 [2/2] USB: show USB3 Gen XxY version during device enumeration Mathias Nyman
  -- strict thread matches above, loose matches on Subject: below --
2018-03-13 15:31 Felipe Balbi
2018-03-13 15:56 Mathias Nyman

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).