On Thu, Nov 18, 2010 at 06:54:17PM +0530, Anand Gadiyar wrote:
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: Maulik Mankad <x0082077@xxxxxx> Signed-off-by: Santosh Shilimkar <santosh.shilimkar@xxxxxx> Signed-off-by: Anand Gadiyar <gadiyar@xxxxxx> Cc: Oliver Neukum <oliver@xxxxxxxxxx> Cc: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> Cc: Praveena NADAHALLY <praveen.nadahally@xxxxxxxxxxxxxx> Cc: Felipe Balbi <balbi@xxxxxx> Cc: Ajay Kumar Gupta <ajay.gupta@xxxxxx> --- Resending this patch - it seems to have been lost along the way
This patch was originally Acked by Alan Stern and nobody complained so far, so I'm taking it in. Since musb can't actually do control transfers with the DMA engine, I'm considering this a fix and sending together with the other fixes for Greg. applied, thanks -- balbi -- 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