[PATCH 5.4 53/92] usb: gadget: enable super speed plus

From: Greg Kroah-Hartman
Date: Mon Jan 11 2021 - 08:39:11 EST


From: taehyun.cho <taehyun.cho@xxxxxxxxxxx>

commit e2459108b5a0604c4b472cae2b3cb8d3444c77fb upstream.

Enable Super speed plus in configfs to support USB3.1 Gen2.
This ensures that when a USB gadget is plugged in, it is
enumerated as Gen 2 and connected at 10 Gbps if the host and
cable are capable of it.

Many in-tree gadget functions (fs, midi, acm, ncm, mass_storage,
etc.) already have SuperSpeed Plus support.

Tested: plugged gadget into Linux host and saw:
[284907.385986] usb 8-2: new SuperSpeedPlus Gen 2 USB device number 3 using xhci_hcd

Tested-by: Lorenzo Colitti <lorenzo@xxxxxxxxxx>
Acked-by: Felipe Balbi <balbi@xxxxxxxxxx>
Signed-off-by: taehyun.cho <taehyun.cho@xxxxxxxxxxx>
Signed-off-by: Lorenzo Colitti <lorenzo@xxxxxxxxxx>
Link: https://lore.kernel.org/r/20210106154625.2801030-1-lorenzo@xxxxxxxxxx
Cc: stable <stable@xxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>

---
drivers/usb/gadget/configfs.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

--- a/drivers/usb/gadget/configfs.c
+++ b/drivers/usb/gadget/configfs.c
@@ -1505,7 +1505,7 @@ static const struct usb_gadget_driver co
.suspend = configfs_composite_suspend,
.resume = configfs_composite_resume,

- .max_speed = USB_SPEED_SUPER,
+ .max_speed = USB_SPEED_SUPER_PLUS,
.driver = {
.owner = THIS_MODULE,
.name = "configfs-gadget",
@@ -1545,7 +1545,7 @@ static struct config_group *gadgets_make
gi->composite.unbind = configfs_do_nothing;
gi->composite.suspend = NULL;
gi->composite.resume = NULL;
- gi->composite.max_speed = USB_SPEED_SUPER;
+ gi->composite.max_speed = USB_SPEED_SUPER_PLUS;

spin_lock_init(&gi->spinlock);
mutex_init(&gi->lock);