diff mbox

ARM: dts: am33xx: fix DMA support for the second USB interface

Message ID 1398674237-4129-1-git-send-email-yegorslists@googlemail.com (mailing list archive)
State New, archived
Headers show

Commit Message

Yegor Yefremov April 28, 2014, 8:37 a.m. UTC
From: Yegor Yefremov <yegorslists@googlemail.com>

This patch creates unique DMA channels for the second USB
interface, otherwise the second USB interface is not usable
at all.

Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com>
---
 arch/arm/boot/dts/am33xx.dtsi |   12 ++++++------
 1 files changed, 6 insertions(+), 6 deletions(-)

Comments

George Cherian April 28, 2014, 2:25 p.m. UTC | #1
On 4/28/2014 2:07 PM, yegorslists@googlemail.com wrote:
> From: Yegor Yefremov <yegorslists@googlemail.com>
>
> This patch creates unique DMA channels for the second USB
> interface, otherwise the second USB interface is not usable
> at all.
MUSB_DMA_NUM_CHANNELS is 15, so if you pass  any dma-names > 15 (> 
rx15/tx15),
the dma_controller_create in musb_core.c fails and it falls back to PIO 
mode.

>
> Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com>
> ---
>   arch/arm/boot/dts/am33xx.dtsi |   12 ++++++------
>   1 files changed, 6 insertions(+), 6 deletions(-)
>
> diff --git a/arch/arm/boot/dts/am33xx.dtsi b/arch/arm/boot/dts/am33xx.dtsi
> index 07f283c..e04cbbc 100644
> --- a/arch/arm/boot/dts/am33xx.dtsi
> +++ b/arch/arm/boot/dts/am33xx.dtsi
> @@ -548,12 +548,12 @@
>   					&cppi41dma 26 1 &cppi41dma 27 1
>   					&cppi41dma 28 1 &cppi41dma 29 1>;
>   				dma-names =
> -					"rx1", "rx2", "rx3", "rx4", "rx5", "rx6", "rx7",
> -					"rx8", "rx9", "rx10", "rx11", "rx12", "rx13",
> -					"rx14", "rx15",
> -					"tx1", "tx2", "tx3", "tx4", "tx5", "tx6", "tx7",
> -					"tx8", "tx9", "tx10", "tx11", "tx12", "tx13",
> -					"tx14", "tx15";
> +					"rx16", "rx17", "rx18", "rx19", "rx20", "rx21", "rx22",
> +					"rx23", "rx24", "rx25", "rx26", "rx27", "rx28",
> +					"rx29", "rx30",
> +					"tx16", "tx17", "tx18", "tx19", "tx20", "tx21", "tx22",
> +					"tx23", "tx24", "tx25", "tx26", "tx27", "tx28",
> +					"tx29", "tx30";
>   			};
>   
>   			cppi41dma: dma-controller@47402000 {
Yegor Yefremov April 28, 2014, 4:17 p.m. UTC | #2
On Mon, Apr 28, 2014 at 4:25 PM, George Cherian <george.cherian@ti.com> wrote:
> On 4/28/2014 2:07 PM, yegorslists@googlemail.com wrote:
>>
>> From: Yegor Yefremov <yegorslists@googlemail.com>
>>
>> This patch creates unique DMA channels for the second USB
>> interface, otherwise the second USB interface is not usable
>> at all.
>
> MUSB_DMA_NUM_CHANNELS is 15, so if you pass  any dma-names > 15 (>
> rx15/tx15),
> the dma_controller_create in musb_core.c fails and it falls back to PIO
> mode.

What's the proper fix for the DMA issue?

Yegor
George Cherian April 29, 2014, 4:31 a.m. UTC | #3
On 4/28/2014 9:47 PM, Yegor Yefremov wrote:
> On Mon, Apr 28, 2014 at 4:25 PM, George Cherian <george.cherian@ti.com> wrote:
>> On 4/28/2014 2:07 PM, yegorslists@googlemail.com wrote:
>>> From: Yegor Yefremov <yegorslists@googlemail.com>
>>>
>>> This patch creates unique DMA channels for the second USB
>>> interface, otherwise the second USB interface is not usable
>>> at all.
>> MUSB_DMA_NUM_CHANNELS is 15, so if you pass  any dma-names > 15 (>
>> rx15/tx15),
>> the dma_controller_create in musb_core.c fails and it falls back to PIO
>> mode.
> What's the proper fix for the DMA issue?
I could not understand what issue you are referring to.
In my setup I use both BBB and BBW (Beagle Bone Black/White)with one USB 
in host (USB1)
and one USB in gadget (USB0). I dont see any issues with DMA.

Can you be more specific?
>
> Yegor
Yegor Yefremov April 29, 2014, 6:16 a.m. UTC | #4
On Tue, Apr 29, 2014 at 6:31 AM, George Cherian <george.cherian@ti.com> wrote:
> On 4/28/2014 9:47 PM, Yegor Yefremov wrote:
>>
>> On Mon, Apr 28, 2014 at 4:25 PM, George Cherian <george.cherian@ti.com>
>> wrote:
>>>
>>> On 4/28/2014 2:07 PM, yegorslists@googlemail.com wrote:
>>>>
>>>> From: Yegor Yefremov <yegorslists@googlemail.com>
>>>>
>>>> This patch creates unique DMA channels for the second USB
>>>> interface, otherwise the second USB interface is not usable
>>>> at all.
>>>
>>> MUSB_DMA_NUM_CHANNELS is 15, so if you pass  any dma-names > 15 (>
>>> rx15/tx15),
>>> the dma_controller_create in musb_core.c fails and it falls back to PIO
>>> mode.
>>
>> What's the proper fix for the DMA issue?
>
> I could not understand what issue you are referring to.
> In my setup I use both BBB and BBW (Beagle Bone Black/White)with one USB in
> host (USB1)
> and one USB in gadget (USB0). I dont see any issues with DMA.
>
> Can you be more specific?

I've totally overlooked the DMA channel allocation errors (though usb0
in host mode was working, usb1 in OTG not).

of_get_named_gpiod_flags: can't parse gpios property of node
'/ocp/usb@47400000/usb-phy@47401300[0]'
47401300.usb-phy supply vcc not found, using dummy regulator
musb-hdrc musb-hdrc.0.auto: Failed to request rx1.
musb-hdrc musb-hdrc.0.auto: musb_init_controller failed with status -517
platform musb-hdrc.0.auto: Driver musb-hdrc requests probe deferral
of_get_named_gpiod_flags: can't parse gpios property of node
'/ocp/usb@47400000/usb-phy@47401b00[0]'
47401b00.usb-phy supply vcc not found, using dummy regulator
musb-hdrc musb-hdrc.1.auto: Failed to request rx1.
musb-hdrc musb-hdrc.1.auto: musb_init_controller failed with status -517
platform musb-hdrc.1.auto: Driver musb-hdrc requests probe deferral

This patch fixes the issue: "ARM: dts: am33xx: Move the cppi41dma node
so it's probed early"

Thanks.

Yegor
diff mbox

Patch

diff --git a/arch/arm/boot/dts/am33xx.dtsi b/arch/arm/boot/dts/am33xx.dtsi
index 07f283c..e04cbbc 100644
--- a/arch/arm/boot/dts/am33xx.dtsi
+++ b/arch/arm/boot/dts/am33xx.dtsi
@@ -548,12 +548,12 @@ 
 					&cppi41dma 26 1 &cppi41dma 27 1
 					&cppi41dma 28 1 &cppi41dma 29 1>;
 				dma-names =
-					"rx1", "rx2", "rx3", "rx4", "rx5", "rx6", "rx7",
-					"rx8", "rx9", "rx10", "rx11", "rx12", "rx13",
-					"rx14", "rx15",
-					"tx1", "tx2", "tx3", "tx4", "tx5", "tx6", "tx7",
-					"tx8", "tx9", "tx10", "tx11", "tx12", "tx13",
-					"tx14", "tx15";
+					"rx16", "rx17", "rx18", "rx19", "rx20", "rx21", "rx22",
+					"rx23", "rx24", "rx25", "rx26", "rx27", "rx28",
+					"rx29", "rx30",
+					"tx16", "tx17", "tx18", "tx19", "tx20", "tx21", "tx22",
+					"tx23", "tx24", "tx25", "tx26", "tx27", "tx28",
+					"tx29", "tx30";
 			};
 
 			cppi41dma: dma-controller@47402000 {