On Thu, Nov 18, 2010 at 4:34 PM, Felipe Balbi <balbi@xxxxxx> wrote: > Hi, > > On Tue, Nov 09, 2010 at 07:14:36AM -0600, Bob Liu wrote: >> >> According to our hardware reference manuel, big changes are needed to >> support double buffer(eg. it depends on SOF interrupt and rxcsr >> fifofull bit etc). We need more time to work on these. > > BTW, do you have the registers RxDPktBufDis and TxDPktBufDis ? > It's unlucky our hardware reference manuel have not that two registers. And it said double buffer is auto enabled when max packet size is less than half the actual FIFO size. > In my manual they are located at offsets 0x340 and 0x342 respectively. > If you set those registers to 0x7fff and you would disable double packet > buffering for all rx and tx endpoints. > > can you try that ? > We just want to use single buffer currently, is there any solution ? Patches like below is okay? Because gpio_vrsel is only defined on blackfin platform, it willn't affect other users. And after we have enabled double buffer on our platform successfully i will remove it just like Ming did in this patch. == --- a/musb_gadget.c +++ b/musb_gadget.c @@ -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); else musb_writew(regs, MUSB_TXMAXP, musb_ep->packet_sz | (musb_ep->hb_mult << 11)); @@ -958,7 +958,7 @@ static int musb_gadget_enable(struct usb_ep *ep, /* Set RXMAXP with the FIFO size of the endpoint * to disable double buffering mode. */ - if (musb->hwvers < MUSB_HWVERS_2000) + if (musb->hwvers < MUSB_HWVERS_2000 && musb->config->gpio_vrsel) musb_writew(regs, MUSB_RXMAXP, hw_ep->max_packet_sz_rx); else musb_writew(regs, MUSB_RXMAXP, musb_ep->packet_sz | (musb_ep->hb_mult << 11)); -- Thanks, --Bob -- 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