Hi Felipe, On Wed, Jul 2, 2014 at 10:16 PM, Felipe Balbi <balbi@xxxxxx> wrote: > Hi, > > On Sun, May 25, 2014 at 11:10:30PM +0530, sundeep subbaraya wrote: >> Hi Felipe, >> >> Please take a look at below about how this IP works: >> >> IN: >> req.buf ---> DMA (transfers from ddr to IP buffer, raise DMA >> done interrupt and set Buffer ready to transfer data to Host)---->Host >> PC >> buffer sent interrupt >> >> OUT: >> Host PC--->buffer ready interrupt--->DMA (transfer from IP buffer >> to DDR,DMA done interrupt, set Buffer ready to receive next data from >> Host)-->req.buf >> >> I written logic to call completion in DMA done handler because it >> works for both IN and OUT eps. But I see significant performance >> degradation (by copying a file to mass storage gadget). DMA can handle >> unaligned address too but it has ep max limit (say 512 for bulk). >> Hence it is SW job to split packets and to drive DMA till req.length >> completes. I feel polling for a while is faster than switching between >> interrupt handler back and forth rapidly. Moreover, DMA may or may not >> be present in IP based on user configuration at design time. >> >> I fixed all other comments expect this one if you do not agree for >> polling then I may have to create threads and do this stuff. What do >> you suggest? > > Can you resend your driver so we can review again everything you have > fixed ? I guess you have no other way... polling it is. Sure. I will resend the driver. Thanks, Sundeep.B.S. > > cheers > > -- > balbi -- 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