Ming, On OMAP for RX we are using DMA in Mode0 while for Tx we are using it in Mode1. That might contribute towards the difference in throughput that you are seeing. regards swami ________________________________________ From: linux-usb-owner@xxxxxxxxxxxxxxx [linux-usb-owner@xxxxxxxxxxxxxxx] On Behalf Of David Brownell [david-b@xxxxxxxxxxx] Sent: Wednesday, March 25, 2009 10:26 PM To: Ming Lei Cc: stern@xxxxxxxxxxxxxxxxxxx; linux-usb@xxxxxxxxxxxxxxx Subject: Re: [QUESTION] bulk out performance On Wednesday 25 March 2009, Ming Lei wrote: > I also find such issues in other hardware(surely not use Mentor IP). Another observation is that for some reason, all USB peripheral hardware I've seen has a hard time getting OUT transfers to work cleanly. Especially with DMA. Double buffering support in hardware helps, but there always seem to be some extra troublesome corner cases with OUT cases that don't show up with IN. It's not just short packet terminations on transfers; there are a lot of other strange interactions. > I use Mentor's dma and don't enable CPPI, and find the > similar problem with CONFIG_MUSB_PIO_ONLY=y. PIO_ONLY would be *without* Mentor's DMA. :) I'm not sure anyone actually turned on the double buffering support in the musb_hdrc driver. I tried it at one point and didn't have much success. Having that would help. > I guess the reason is related with PING for the poor bulk out > performance compared with bulk in. Bulk in transfer can > move data from sdram to udc fifo before incoming in token, but > bulk out can not receive data in advance, so it is very quick to fill > udc fifo with incoming data and leads to continuous PING packets > from host until unloading all data from fifo to sdram. ... unless double buffering is in use, yes. Having that work would be the single biggest performance improvement one could make in musb_hdrc peripheral behavior, I suspect. - Dave -- 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-- 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