Hi Felipe, > From: Felipe Balbi [mailto:balbi@xxxxxx] > Sent: Friday, November 30, 2012 7:51 PM > > Hi, > > On Fri, Nov 30, 2012 at 12:02:25PM +0530, Supriya Karanth wrote: > > From: supriya karanth <supriya.karanth@xxxxxxxxxxxxxx> > > > > Handles: > > 1) Known transfer length > > a) Non multiple of packet size > > b) Multiple of packet size > > > > 2) Unknown transfer lengths > > - Short packet indicates end of transfer > > > > I'm sorry but this is not enough. You're almost there, however. > > What you need to do is cleanup the entire rxstate() and txstate() functions. > They need to be split into PIO and DMA counter-parts and DMA > programming has to be done the same way for everybody. All of those > is_$dma() checks need to go. > > Without that, this will never work for everybody. > > -- > balbi We agree that the rxstate() and txstate() needs cleanup in order to have the DMA and PIO programming same for everyone but perhaps we could do this as part of a separate patch? This might cause regressions in other platforms because there is platform specific code in both rxstate() and txstate(). This patch enables Mode1 support for Ux500 platform but we tried to make a separation of generic code and platform specific code so that other platforms can use this patch as well in the same way by programming the transfer size as a multiple of packet size in rxstate() and implementing the platform specific functions for channel_pause, channel_resume, tx_status and check_residue. -- Supriya -- 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