On Thu, Jan 17, 2013 at 12:32:12PM +0100, Supriya s KARANTH wrote: > Hi Felipe, > > > -----Original Message----- > > From: Felipe Balbi [mailto:balbi@xxxxxx] > > Subject: Re: [PATCH] usb: musb: Double buffering issues in host mode TX > > > From: supriya karanth <supriya.karanth@xxxxxxxxxxxxxx> > > > Whenever an URB is programmed for transfer, the TXFIFO is flushed. > > > This results in valid packets of the previous transfer to get flushed > > > when double buffering is enabled (The MUSB_TXCSR_FIFONOTEMPTY bit > > in > > > TXCSR is set indicating that a packet in the FIFO is yet to be sent) > > > For ex:- In Host mode Audio, noise is heard in the headset when double > > > buffering is enabled on the ISO endpoint. > > > The fifo flush is removed for double buffering case. > > > The fifo is now flushed only in cases of error or when aborting a > > > transfer. > > > Also, In Host MSC case, data toggle errors are seen when double > > > buffering is enabled on the bulk endpoint. Whenever an URB is > > > programmed for transfer, the data toggle is set manually resulting in > > > data toggle errors on the bus. Leave the data toggle handling upto the > > > hardware in the double buffering case. > > > > how was this one tested ? > We noticed audio noise in the headset when double buffering was enabled on > the ISO endpoint. In the bus traces we see that for every few frames there is a > packet missing between 2 SOFs because the packet is getting flushed. > With the patch we have confirmed that there is no noise in the headset and > the behavior of packets missing between SOFs is not seen in the bus trace. > > For the MSC case we have observed in the bus trace that sometimes there is a > toggle mismatch in the BULK OUT transaction. With the patch this issue is not > observed. Cool, thank you :-) -- balbi
Attachment:
signature.asc
Description: Digital signature