diff mbox

[1/4] usb: musb: da8xx: Use the right dma controller

Message ID 20170109163902.5268-2-abailon@baylibre.com (mailing list archive)
State Not Applicable
Headers show

Commit Message

Alexandre Bailon Jan. 9, 2017, 4:38 p.m. UTC
da8xx driver is registering and using the cppi dma controller but actually,
the da8xx has a cppi41 dma controller.
Update the driver to register and use the cppi41 dma controller.

Signed-off-by: Alexandre Bailon <abailon@baylibre.com>
---
 drivers/usb/musb/da8xx.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

Comments

Sergei Shtylyov Jan. 9, 2017, 6:30 p.m. UTC | #1
Hello!

On 01/09/2017 07:38 PM, Alexandre Bailon wrote:

> da8xx driver is registering and using the cppi dma controller but actually,
> the da8xx has a cppi41 dma controller.
> Update the driver to register and use the cppi41 dma controller.
>
> Signed-off-by: Alexandre Bailon <abailon@baylibre.com>
> ---
>  drivers/usb/musb/da8xx.c | 8 ++++----
>  1 file changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/usb/musb/da8xx.c b/drivers/usb/musb/da8xx.c
> index e89708d..74dcc07 100644
> --- a/drivers/usb/musb/da8xx.c
> +++ b/drivers/usb/musb/da8xx.c
> @@ -458,14 +458,14 @@ static inline u8 get_vbus_power(struct device *dev)
>  }
>
>  static const struct musb_platform_ops da8xx_ops = {
> -	.quirks		= MUSB_DMA_CPPI | MUSB_INDEXED_EP,

    Grr, MUSB_DMA_CPPI is certainly wrong! There's no CPPI 3.0 support for 
DA8xx. Where have this come from?

> +	.quirks		= MUSB_DMA_CPPI41 | 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,

    Likewise, WTF?
    I suggest that you fix this crap in a separate commit, to be backported to 
-stable if needed.

[...]

MBR, Sergei

--
To unsubscribe from this list: send the line "unsubscribe dmaengine" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Tony Lindgren Jan. 9, 2017, 6:43 p.m. UTC | #2
* Sergei Shtylyov <sergei.shtylyov@cogentembedded.com> [170109 10:30]:
> Hello!
> 
> On 01/09/2017 07:38 PM, Alexandre Bailon wrote:
> 
> > da8xx driver is registering and using the cppi dma controller but actually,
> > the da8xx has a cppi41 dma controller.
> > Update the driver to register and use the cppi41 dma controller.
> > 
> > Signed-off-by: Alexandre Bailon <abailon@baylibre.com>
> > ---
> >  drivers/usb/musb/da8xx.c | 8 ++++----
> >  1 file changed, 4 insertions(+), 4 deletions(-)
> > 
> > diff --git a/drivers/usb/musb/da8xx.c b/drivers/usb/musb/da8xx.c
> > index e89708d..74dcc07 100644
> > --- a/drivers/usb/musb/da8xx.c
> > +++ b/drivers/usb/musb/da8xx.c
> > @@ -458,14 +458,14 @@ static inline u8 get_vbus_power(struct device *dev)
> >  }
> > 
> >  static const struct musb_platform_ops da8xx_ops = {
> > -	.quirks		= MUSB_DMA_CPPI | MUSB_INDEXED_EP,
> 
>    Grr, MUSB_DMA_CPPI is certainly wrong! There's no CPPI 3.0 support for
> DA8xx. Where have this come from?
> 
> > +	.quirks		= MUSB_DMA_CPPI41 | 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,
> 
>    Likewise, WTF?
>    I suggest that you fix this crap in a separate commit, to be backported
> to -stable if needed.

Probably came from my DMA patch 7f6283ed6fe8 ("usb: musb: Set up function
pointers for DMA"). At that point I thought da8xxx.c and davinci.c are just
separate attempts of the same driver.. Sorry the number of musb glue layers
is just too confusing.

Tony
--
To unsubscribe from this list: send the line "unsubscribe dmaengine" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Sergei Shtylyov Jan. 9, 2017, 6:54 p.m. UTC | #3
On 01/09/2017 09:43 PM, Tony Lindgren wrote:

>>> da8xx driver is registering and using the cppi dma controller but actually,
>>> the da8xx has a cppi41 dma controller.
>>> Update the driver to register and use the cppi41 dma controller.
>>>
>>> Signed-off-by: Alexandre Bailon <abailon@baylibre.com>
>>> ---
>>>  drivers/usb/musb/da8xx.c | 8 ++++----
>>>  1 file changed, 4 insertions(+), 4 deletions(-)
>>>
>>> diff --git a/drivers/usb/musb/da8xx.c b/drivers/usb/musb/da8xx.c
>>> index e89708d..74dcc07 100644
>>> --- a/drivers/usb/musb/da8xx.c
>>> +++ b/drivers/usb/musb/da8xx.c
>>> @@ -458,14 +458,14 @@ static inline u8 get_vbus_power(struct device *dev)
>>>  }
>>>
>>>  static const struct musb_platform_ops da8xx_ops = {
>>> -	.quirks		= MUSB_DMA_CPPI | MUSB_INDEXED_EP,
>>
>>    Grr, MUSB_DMA_CPPI is certainly wrong! There's no CPPI 3.0 support for
>> DA8xx. Where have this come from?
>>
>>> +	.quirks		= MUSB_DMA_CPPI41 | 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,
>>
>>    Likewise, WTF?
>>    I suggest that you fix this crap in a separate commit, to be backported
>> to -stable if needed.
>
> Probably came from my DMA patch 7f6283ed6fe8 ("usb: musb: Set up function

    Too bad I missed it back then. Then certainly this should be fixed in a 
separate patch. The first hunk was not a part of that commit, tho...

> pointers for DMA"). At that point I thought da8xxx.c and davinci.c are just
> separate attempts of the same driver.. Sorry the number of musb glue layers
> is just too confusing.

    :-)

> Tony

MBR, Sergei

--
To unsubscribe from this list: send the line "unsubscribe dmaengine" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Tony Lindgren Jan. 9, 2017, 7:06 p.m. UTC | #4
* Sergei Shtylyov <sergei.shtylyov@cogentembedded.com> [170109 10:55]:
> On 01/09/2017 09:43 PM, Tony Lindgren wrote:
> 
> > > > da8xx driver is registering and using the cppi dma controller but actually,
> > > > the da8xx has a cppi41 dma controller.
> > > > Update the driver to register and use the cppi41 dma controller.
> > > > 
> > > > Signed-off-by: Alexandre Bailon <abailon@baylibre.com>
> > > > ---
> > > >  drivers/usb/musb/da8xx.c | 8 ++++----
> > > >  1 file changed, 4 insertions(+), 4 deletions(-)
> > > > 
> > > > diff --git a/drivers/usb/musb/da8xx.c b/drivers/usb/musb/da8xx.c
> > > > index e89708d..74dcc07 100644
> > > > --- a/drivers/usb/musb/da8xx.c
> > > > +++ b/drivers/usb/musb/da8xx.c
> > > > @@ -458,14 +458,14 @@ static inline u8 get_vbus_power(struct device *dev)
> > > >  }
> > > > 
> > > >  static const struct musb_platform_ops da8xx_ops = {
> > > > -	.quirks		= MUSB_DMA_CPPI | MUSB_INDEXED_EP,
> > > 
> > >    Grr, MUSB_DMA_CPPI is certainly wrong! There's no CPPI 3.0 support for
> > > DA8xx. Where have this come from?
> > > 
> > > > +	.quirks		= MUSB_DMA_CPPI41 | 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,
> > > 
> > >    Likewise, WTF?
> > >    I suggest that you fix this crap in a separate commit, to be backported
> > > to -stable if needed.
> > 
> > Probably came from my DMA patch 7f6283ed6fe8 ("usb: musb: Set up function
> 
>    Too bad I missed it back then. Then certainly this should be fixed in a
> separate patch. The first hunk was not a part of that commit, tho...
> 
> > pointers for DMA"). At that point I thought da8xxx.c and davinci.c are just
> > separate attempts of the same driver.. Sorry the number of musb glue layers
> > is just too confusing.

Maybe from f8e9f34f80a2 ("usb: musb: Fix up DMA related macros")?

Sorry obviously I have no idea how the da8xx.c should be configured for DMA.

Regards,

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

Patch

diff --git a/drivers/usb/musb/da8xx.c b/drivers/usb/musb/da8xx.c
index e89708d..74dcc07 100644
--- a/drivers/usb/musb/da8xx.c
+++ b/drivers/usb/musb/da8xx.c
@@ -458,14 +458,14 @@  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_DMA_CPPI41 | 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,
+#ifdef CONFIG_USB_TI_CPPI41_DMA
+	.dma_init	= cppi41_dma_controller_create,
+	.dma_exit	= cppi41_dma_controller_destroy,
 #endif
 	.enable		= da8xx_musb_enable,
 	.disable	= da8xx_musb_disable,