Re: [PATCH 2/2] USB: show USB3 Gen XxY version during device enumeration

2018-03-13 Thread Felipe Balbi

Hi,

Mathias Nyman  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 
> ---
>  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?

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


Re: [PATCH 2/2] USB: show USB3 Gen XxY version during device enumeration

2018-03-13 Thread Mathias Nyman

On 13.03.2018 17:31, Felipe Balbi wrote:


Hi,

Mathias Nyman  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 
---
  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 majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html