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. > -- > balbi -- 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