• M
    usb: musb: gadget: fix dma mode 0 in double buffer Rx case · 9001d80d
    Ming Lei 提交于
    1, In Rx double buffer case, FIFO may have two packets, so
    rxstate should be called to unload fifo if RXPKTRDY is set
    even the current request has not been completed.
    
    2, Commit 633ba7876b96ec339ef685357e2f7c60b5a8ce85
    introduces autoclear to support double buffer in dma mode 0,
    so remove clearing RXPKTRDY manually for dma mode 0.
    
    3, Commit c7af6b29ffeffbeb28caf39e5b2ce29b11807c7d may break
    dma mode 1 for non-doublebuffer endpoint, fix it.
    
    With this patch, either usbtest #5 or g_file_storage(writing
    file to device in usb host) or g_ether have been tested OK in
    double buffer case(using fifo mode 3). Also, this patch has
    been verified that single buffer case can't be broken.
    
    Cc: David Brownell <dbrownell@users.sourceforge.net>
    Cc: Anand Gadiyar <gadiyar@ti.com>
    Cc: Mike Frysinger <vapier@gentoo.org>
    Cc: Sergei Shtylyov <sshtylyov@ru.mvista.com>
    Signed-off-by: NMing Lei <tom.leiming@gmail.com>
    Signed-off-by: NFelipe Balbi <balbi@ti.com>
    9001d80d
musb_gadget.c 54.1 KB