RE: [PATCH v2] USB: DCW3: GADGET: Set Correct Max Speed

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



The max speed was always being set to USB_SUPER_SPEED
even when the phy was only capable of HIGH_SPEED. This
uses the value set for the phy to set the max for the
gadget. It resolves an issue with Window PCs where they
report that using a USB3.0 port would result in better
performance even when connecting through a 3.0 port. A
follow on patch will be needed to add USB_SPEED_HIGH_LPM
to support High Speed devices which also support LPM.

Signed-off-by: McCauley, Ben <ben.mccauley@xxxxxxxxxx>
---
 drivers/usb/dwc3/gadget.c | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/drivers/usb/dwc3/gadget.c b/drivers/usb/dwc3/gadget.c
index 333a7c0..72d1a0e 100644
--- a/drivers/usb/dwc3/gadget.c
+++ b/drivers/usb/dwc3/gadget.c
@@ -2709,7 +2709,15 @@ int dwc3_gadget_init(struct dwc3 *dwc)
        }

        dwc->gadget.ops                 = &dwc3_gadget_ops;
-       dwc->gadget.max_speed           = USB_SPEED_SUPER;
+       /*
+        * FIXME A new enumeration USB_SPEED_HIGH_LPM needs to be added
+        * to support USB 2.10. Setting max_speed to dwc->maximum_speed
+        * disables LPM support for devices which do not support
+        * SuperSpeed but are LPM capable.
+        */
+       if (dwc->maximum_speed < USB_SPEED_SUPER)
+               dev_info(dwc->dev, "SuperSpeed not supported.\n");
+       dwc->gadget.max_speed           = dwc->maximum_speed;
        dwc->gadget.speed               = USB_SPEED_UNKNOWN;
        dwc->gadget.sg_supported        = true;
        dwc->gadget.name                = "dwc3-gadget";
--
1.9.1

________________________________

CONFIDENTIALITY NOTICE: This email and any attachments are for the sole use of the intended recipient(s) and contain information that may be confidential and/or legally privileged. If you have received this email in error, please notify the sender by reply email and delete the message. Any disclosure, copying, distribution or use of this communication (including attachments) by someone other than the intended recipient is prohibited. Thank you.
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux