USB: Gadget: MIPS CI13xxx UDC bugfixes

Bug Fix: high speed detection in LPM mode
Bug Fix: max packet size configuration when switching between HS and FS

Signed-off-by: David Lopo <dlopo@chipidea.mips.com>
Acked-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
David Lopo 2009-04-16 14:35:24 -07:00 committed by Greg Kroah-Hartman
parent 46c6e93faa
commit f23e649bb6

View File

@ -142,7 +142,7 @@ static struct {
#define CAP_DEVICEADDR (0x014UL) #define CAP_DEVICEADDR (0x014UL)
#define CAP_ENDPTLISTADDR (0x018UL) #define CAP_ENDPTLISTADDR (0x018UL)
#define CAP_PORTSC (0x044UL) #define CAP_PORTSC (0x044UL)
#define CAP_DEVLC (0x0B4UL) #define CAP_DEVLC (0x084UL)
#define CAP_USBMODE (hw_bank.lpm ? 0x0C8UL : 0x068UL) #define CAP_USBMODE (hw_bank.lpm ? 0x0C8UL : 0x068UL)
#define CAP_ENDPTSETUPSTAT (hw_bank.lpm ? 0x0D8UL : 0x06CUL) #define CAP_ENDPTSETUPSTAT (hw_bank.lpm ? 0x0D8UL : 0x06CUL)
#define CAP_ENDPTPRIME (hw_bank.lpm ? 0x0DCUL : 0x070UL) #define CAP_ENDPTPRIME (hw_bank.lpm ? 0x0DCUL : 0x070UL)
@ -1986,6 +1986,8 @@ static int ep_enable(struct usb_ep *ep,
do { do {
dbg_event(_usb_addr(mEp), "ENABLE", 0); dbg_event(_usb_addr(mEp), "ENABLE", 0);
mEp->qh[mEp->dir].ptr->cap = 0;
if (mEp->type == USB_ENDPOINT_XFER_CONTROL) if (mEp->type == USB_ENDPOINT_XFER_CONTROL)
mEp->qh[mEp->dir].ptr->cap |= QH_IOS; mEp->qh[mEp->dir].ptr->cap |= QH_IOS;
else if (mEp->type == USB_ENDPOINT_XFER_ISOC) else if (mEp->type == USB_ENDPOINT_XFER_ISOC)