On Tue, Nov 9, 2010 at 10:07 PM, Ming Lei <tom.leiming@xxxxxxxxx> wrote: > 2010/11/9 Bob Liu <lliubbo@xxxxxxxxx>: >> Hi, Ming >> >> I found out the cause of this problem on our platform. >> >> 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. > > Could you give which page or which section about the description? > Seems bfin otg TRM is open. > > If not, could you describe the problem in more detail? > Our spec said when double buffering enabled " Set up an ISR, sensitive to the SOF_B interrupt, that reads the FIFO_FULL_R bit, reads the USB_RXCOUNT status register, and finally removes one or two packets (equaling from the USB_RXCOUNT number of bytes) from the FIFO and clears RXPKTRDY. Set SOF_B=1 in USB_INTRUSBE to generate an interrupt on each start of frame. " >> >> So Felipe, >> is patch like this can be accepted ? >> ============ >> - Â Â Â Â Â Â Â if (musb->hwvers < MUSB_HWVERS_2000) >> Â Â Â Â Â Â Â if (musb->hwvers < MUSB_HWVERS_2000 && !musb->dyn_fifo) >> Â Â Â Â Â Â Â Â Â Â Â 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)); >> >> or >> >> - Â Â Â Â Â Â Â 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)); >> > > I don't think either one can be accepted. > > This two still can make g_ether or full speed test broken in bfin, > can't this? > We didn't see g_ether problem on our platform without this patch, it works fine. Could you give detail step how to reproduce the g_ether problem? >> If not, are there any suggestions how to deal with this problem. >> How to support no dyn_fifo and only support single buffer platform ? > > What is the problem? See above. > After added this patch, double buffer will always auto enabled on our platform which will cause problem as our spec said on double buffer mode it use SOF_B interrupt and FIFO_FULL_R bit etc. So we want a way to keep this route on our platform but nomore on yours. -- 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