mbox series

[v5,0/5] usb: musb: da8xx: Add DMA support

Message ID 20170125103319.26021-1-abailon@baylibre.com
Headers show
Series usb: musb: da8xx: Add DMA support | expand

Message

Alexandre Bailon Jan. 25, 2017, 10:33 a.m. UTC
This series update MUSB driver to add DMA support to DA8xx.
It should be applied on top of
"[PATCH v3 0/3] usb: musb: cppi41: Add a way to manage DMA irq" but
"[PATCH v3 0/3] dmaengine: cppi41: Add dma support to da8xx" and
"[PATCH] arm: davinci: Make the usb20 clock available to PM runtime"
are required to make it work.

Changes in v5:
- Fix a typo in commit message of patch 4

Changes in v4:
- Update and clarify the commit message of patch 5
- Fix the typo in patch 3

Changes in v3:
- Remove PM runtime callbacks.
  I have update arch/arm/mach-davinci/pm_domain.c to let PM runtime control
  the usb20 clock.
- Only use PM runtime sync operation.

Changes in v2:
- Clock and IRQ management has been moved to MUSB DA8xx glue
  (was in CPPI 4.1 driver)
- I have added a partial support PM runtime. The goal was to use PM
  runtime to manage clock of MUSB and CPPI 4.1 (they use the same clock).
- CPPI 4.1 is now achild of MUSB DA8xx glue.

Alexandre Bailon (5):
  usb: musb: da8xx: Remove CPPI 3.0 quirk and methods
  usb: musb: Use shared irq
  usb: musb: Add support of CPPI 4.1 DMA controller to DA8xx
  usb: musb: musb_cppi41: Workaround DMA stall issue during teardown
  usb: musb: da8xx: Add a primary support of PM runtime

 drivers/usb/musb/Kconfig       |  4 +--
 drivers/usb/musb/da8xx.c       | 60 +++++++++++++++++++++++++++---------------
 drivers/usb/musb/musb_core.c   |  2 +-
 drivers/usb/musb/musb_core.h   |  1 +
 drivers/usb/musb/musb_cppi41.c |  4 +++
 5 files changed, 47 insertions(+), 24 deletions(-)

-- 
2.10.2

--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Comments

Bin Liu Jan. 27, 2017, 3:08 p.m. UTC | #1
On Wed, Jan 25, 2017 at 11:33:15AM +0100, Alexandre Bailon wrote:
> DA8xx driver is registering and using the CPPI 3.0 DMA controller but

> actually, the DA8xx has a CPPI 4.1 DMA controller.

> Remove the CPPI 3.0 quirk and methods.

> 

> Fixes: f8e9f34f80a2 ("usb: musb: Fix up DMA related macros")

> Fixes: 7f6283ed6fe8 ("usb: musb: Set up function pointers for DMA")

> Signed-off-by: Alexandre Bailon <abailon@baylibre.com>

> Acked-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>

> Acked-by: Tony Lindgren <tony@atomide.com>


Applied, and added 'cc stable' tag.

Since the dependant patch set is not ready to merge yet, I only picked
this patch in this set for v4.11-rc1.

Thanks,
-Bin.

> ---

>  drivers/usb/musb/da8xx.c | 6 +-----

>  1 file changed, 1 insertion(+), 5 deletions(-)

> 

> diff --git a/drivers/usb/musb/da8xx.c b/drivers/usb/musb/da8xx.c

> index e89708d..cd3d763 100644

> --- a/drivers/usb/musb/da8xx.c

> +++ b/drivers/usb/musb/da8xx.c

> @@ -458,15 +458,11 @@ static inline u8 get_vbus_power(struct device *dev)

>  }

>  

>  static const struct musb_platform_ops da8xx_ops = {

> -	.quirks		= MUSB_DMA_CPPI | MUSB_INDEXED_EP,

> +	.quirks		= MUSB_INDEXED_EP,

>  	.init		= da8xx_musb_init,

>  	.exit		= da8xx_musb_exit,

>  

>  	.fifo_mode	= 2,

> -#ifdef CONFIG_USB_TI_CPPI_DMA

> -	.dma_init	= cppi_dma_controller_create,

> -	.dma_exit	= cppi_dma_controller_destroy,

> -#endif

>  	.enable		= da8xx_musb_enable,

>  	.disable	= da8xx_musb_disable,

>  

> -- 

> 2.10.2

> 

--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html