Merge remote-tracking branches 'asoc/topic/davinci', 'asoc/topic/fsl-card' and 'asoc...
[cascardo/linux.git] / drivers / usb / gadget / udc / net2280.h
index ac8d5a2..0d32052 100644 (file)
@@ -96,7 +96,6 @@ struct net2280_ep {
        struct net2280_ep_regs                  __iomem *regs;
        struct net2280_dma_regs                 __iomem *dma;
        struct net2280_dma                      *dummy;
-       struct usb338x_fifo_regs __iomem *fiforegs;
        dma_addr_t                              td_dma; /* of dummy */
        struct net2280                          *dev;
        unsigned long                           irqs;
@@ -181,7 +180,6 @@ struct net2280 {
        struct net2280_dma_regs         __iomem *dma;
        struct net2280_dep_regs         __iomem *dep;
        struct net2280_ep_regs          __iomem *epregs;
-       struct usb338x_fifo_regs        __iomem *fiforegs;
        struct usb338x_ll_regs          __iomem *llregs;
        struct usb338x_ll_lfps_regs     __iomem *ll_lfps_regs;
        struct usb338x_ll_tsn_regs      __iomem *ll_tsn_regs;
@@ -371,9 +369,20 @@ static inline void set_max_speed(struct net2280_ep *ep, u32 max)
        static const u32 ep_enhanced[9] = { 0x10, 0x60, 0x30, 0x80,
                                          0x50, 0x20, 0x70, 0x40, 0x90 };
 
-       if (ep->dev->enhanced_mode)
+       if (ep->dev->enhanced_mode) {
                reg = ep_enhanced[ep->num];
-       else{
+               switch (ep->dev->gadget.speed) {
+               case USB_SPEED_SUPER:
+                       reg += 2;
+                       break;
+               case USB_SPEED_FULL:
+                       reg += 1;
+                       break;
+               case USB_SPEED_HIGH:
+               default:
+                       break;
+               }
+       } else {
                reg = (ep->num + 1) * 0x10;
                if (ep->dev->gadget.speed != USB_SPEED_HIGH)
                        reg += 1;