• supriya karanth's avatar
    usb: musb: Double buffering issues in host mode TX · a70b8442
    supriya karanth authored
    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.
    Signed-off-by: default avatarsupriya karanth <supriya.karanth@stericsson.com>
    Signed-off-by: default avatarPraveena NADAHALLY <praveen.nadahally@stericsson.com>
    Acked-by: default avatarLinus Walleij <linus.walleij@linaro.org>
    Signed-off-by: default avatarFelipe Balbi <balbi@ti.com>
    a70b8442
musb_host.c 68.1 KB