diff options
Diffstat (limited to 'drivers/usb/gadget/udc/net2280.h')
| -rw-r--r-- | drivers/usb/gadget/udc/net2280.h | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/drivers/usb/gadget/udc/net2280.h b/drivers/usb/gadget/udc/net2280.h index 4dff60d34f73..0d32052bf16f 100644 --- a/drivers/usb/gadget/udc/net2280.h +++ b/drivers/usb/gadget/udc/net2280.h | |||
| @@ -369,9 +369,20 @@ static inline void set_max_speed(struct net2280_ep *ep, u32 max) | |||
| 369 | static const u32 ep_enhanced[9] = { 0x10, 0x60, 0x30, 0x80, | 369 | static const u32 ep_enhanced[9] = { 0x10, 0x60, 0x30, 0x80, |
| 370 | 0x50, 0x20, 0x70, 0x40, 0x90 }; | 370 | 0x50, 0x20, 0x70, 0x40, 0x90 }; |
| 371 | 371 | ||
| 372 | if (ep->dev->enhanced_mode) | 372 | if (ep->dev->enhanced_mode) { |
| 373 | reg = ep_enhanced[ep->num]; | 373 | reg = ep_enhanced[ep->num]; |
| 374 | else{ | 374 | switch (ep->dev->gadget.speed) { |
| 375 | case USB_SPEED_SUPER: | ||
| 376 | reg += 2; | ||
| 377 | break; | ||
| 378 | case USB_SPEED_FULL: | ||
| 379 | reg += 1; | ||
| 380 | break; | ||
| 381 | case USB_SPEED_HIGH: | ||
| 382 | default: | ||
| 383 | break; | ||
| 384 | } | ||
| 385 | } else { | ||
| 375 | reg = (ep->num + 1) * 0x10; | 386 | reg = (ep->num + 1) * 0x10; |
| 376 | if (ep->dev->gadget.speed != USB_SPEED_HIGH) | 387 | if (ep->dev->gadget.speed != USB_SPEED_HIGH) |
| 377 | reg += 1; | 388 | reg += 1; |
