• Anand Gadiyar's avatar
    usb: musb: do not use dma for control transfers · 07a8cdd2
    Anand Gadiyar authored
    The Inventra DMA engine used with the MUSB controller in many
    SoCs cannot use DMA for control transfers on EP0, but can use
    DMA for all other transfers.
    
    The USB core maps urbs for DMA if hcd->self.uses_dma is true.
    (hcd->self.uses_dma is true for MUSB as well).
    
    Split the uses_dma flag into two - one that says if the
    controller needs to use PIO for control transfers, and
    another which says if the controller uses DMA (for all
    other transfers).
    
    Also, populate this flag for all MUSB by default.
    
    (Tested on OMAP3 and OMAP4 boards, with EHCI and MUSB HCDs
    simultaneously in use).
    Signed-off-by: default avatarMaulik Mankad <x0082077@ti.com>
    Signed-off-by: default avatarSantosh Shilimkar <santosh.shilimkar@ti.com>
    Signed-off-by: default avatarAnand Gadiyar <gadiyar@ti.com>
    Cc: Oliver Neukum <oliver@neukum.org>
    Cc: Alan Stern <stern@rowland.harvard.edu>
    Cc: Praveena NADAHALLY <praveen.nadahally@stericsson.com>
    Cc: Ajay Kumar Gupta <ajay.gupta@ti.com>
    Signed-off-by: default avatarFelipe Balbi <balbi@ti.com>
    07a8cdd2
musb_gadget.c 55 KB