2010/11/18 Felipe Balbi <balbi@xxxxxx>: > hi, > > On Thu, Nov 18, 2010 at 08:57:48PM +0800, Ming Lei wrote: >>> >>> @@ -919,7 +919,7 @@ static int musb_gadget_enable(struct usb_ep *ep, >>> * to disable double buffering mode. Currently, It >>> seems that double >>> * buffering has problem if musb RTL revision number < >>> 2.0. >>> */ >>> - if (musb->hwvers < MUSB_HWVERS_2000) >>> + if (musb->hwvers < MUSB_HWVERS_2000 && >>> musb->config->gpio_vrsel) >>> musb_writew(regs, MUSB_TXMAXP, >>> hw_ep->max_packet_sz_tx); >> >> Are you sure full speed of musb on bfin is OK if you still do that above? >> Just now someone has complained the full speed issue on musb of omap, >> which is caused by this. > > hmm, true. My patch is still wrong. Correct would be to fetch from > descriptor and only enable or not the dbuf bit. Seems there is no way to give a effective work around to address the issue. The actual max packet size from descriptor have to be wrote to MUSB_TXMAXP/MUSB_RXMAXP register, but the hw fifo size for this endpoint is 1024, so double buffer is always enabled automatically if max packet size from descriptor is 512 or less. Considered only ADI guys have the hw board and TRM to troubleshoot the issue, we let them get double buffer working on their chip... -- Lei Ming -- 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