Loading drivers/usb/dwc3/gadget.c +24 −5 Original line number Diff line number Diff line Loading @@ -1786,10 +1786,25 @@ void dwc3_gadget_restart(struct dwc3 *dwc) * STAR#9000525659: Clock Domain Crossing on DCTL in * USB 2.0 Mode */ if (dwc->revision < DWC3_REVISION_220A) if (dwc->revision < DWC3_REVISION_220A) { reg |= DWC3_DCFG_SUPERSPEED; else reg |= dwc->maximum_speed; } else { switch (dwc->maximum_speed) { case USB_SPEED_LOW: reg |= DWC3_DSTS_LOWSPEED; break; case USB_SPEED_FULL: reg |= DWC3_DSTS_FULLSPEED2; break; case USB_SPEED_HIGH: reg |= DWC3_DSTS_HIGHSPEED; break; case USB_SPEED_SUPER: /* FALLTHROUGH */ case USB_SPEED_UNKNOWN: /* FALTHROUGH */ default: reg |= DWC3_DSTS_SUPERSPEED; } } dwc3_writel(dwc->regs, DWC3_DCFG, reg); dwc->start_config_issued = false; Loading Loading @@ -1876,7 +1891,7 @@ static int dwc3_gadget_start(struct usb_gadget *g, reg |= DWC3_DSTS_LOWSPEED; break; case USB_SPEED_FULL: reg |= DWC3_DSTS_FULLSPEED1; reg |= DWC3_DSTS_FULLSPEED2; break; case USB_SPEED_HIGH: reg |= DWC3_DSTS_HIGHSPEED; Loading Loading @@ -3054,7 +3069,11 @@ int dwc3_gadget_init(struct dwc3 *dwc) } dwc->gadget.ops = &dwc3_gadget_ops; if (dwc->maximum_speed == USB_SPEED_SUPER) dwc->gadget.max_speed = USB_SPEED_SUPER; else dwc->gadget.max_speed = USB_SPEED_HIGH; dwc->gadget.speed = USB_SPEED_UNKNOWN; dwc->gadget.sg_supported = true; dwc->gadget.name = "dwc3-gadget"; Loading Loading
drivers/usb/dwc3/gadget.c +24 −5 Original line number Diff line number Diff line Loading @@ -1786,10 +1786,25 @@ void dwc3_gadget_restart(struct dwc3 *dwc) * STAR#9000525659: Clock Domain Crossing on DCTL in * USB 2.0 Mode */ if (dwc->revision < DWC3_REVISION_220A) if (dwc->revision < DWC3_REVISION_220A) { reg |= DWC3_DCFG_SUPERSPEED; else reg |= dwc->maximum_speed; } else { switch (dwc->maximum_speed) { case USB_SPEED_LOW: reg |= DWC3_DSTS_LOWSPEED; break; case USB_SPEED_FULL: reg |= DWC3_DSTS_FULLSPEED2; break; case USB_SPEED_HIGH: reg |= DWC3_DSTS_HIGHSPEED; break; case USB_SPEED_SUPER: /* FALLTHROUGH */ case USB_SPEED_UNKNOWN: /* FALTHROUGH */ default: reg |= DWC3_DSTS_SUPERSPEED; } } dwc3_writel(dwc->regs, DWC3_DCFG, reg); dwc->start_config_issued = false; Loading Loading @@ -1876,7 +1891,7 @@ static int dwc3_gadget_start(struct usb_gadget *g, reg |= DWC3_DSTS_LOWSPEED; break; case USB_SPEED_FULL: reg |= DWC3_DSTS_FULLSPEED1; reg |= DWC3_DSTS_FULLSPEED2; break; case USB_SPEED_HIGH: reg |= DWC3_DSTS_HIGHSPEED; Loading Loading @@ -3054,7 +3069,11 @@ int dwc3_gadget_init(struct dwc3 *dwc) } dwc->gadget.ops = &dwc3_gadget_ops; if (dwc->maximum_speed == USB_SPEED_SUPER) dwc->gadget.max_speed = USB_SPEED_SUPER; else dwc->gadget.max_speed = USB_SPEED_HIGH; dwc->gadget.speed = USB_SPEED_UNKNOWN; dwc->gadget.sg_supported = true; dwc->gadget.name = "dwc3-gadget"; Loading