Skip to contentSkip to conversation

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

PATCH New yegorslists at googlemail.com 2 participants 5 messages Apr 28, 2014 – Apr 29, 2014 Device tree bindings

lore
Share & tools
lore
#0 lore raw

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

From: Yegor Yefremov <[email protected]>

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

---
 arch/arm/boot/dts/am33xx.dtsi |   12 ++++++------
 1 files changed, 6 insertions(+), 6 deletions(-)
arch/arm/boot/dts/am33xx.dtsi +6 -6
index 07f283c..e04cbbc 100644
@@ -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 at 47402000 {
Signature · 1 line
1.7.7
#1 lore raw

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

Quoted 5 lines · yegorslists at googlemail.com

From: Yegor Yefremov <[email protected]>

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.

Quoted 29 lines
---
  arch/arm/boot/dts/am33xx.dtsi |   12 ++++++------
  1 files changed, 6 insertions(+), 6 deletions(-)
arch/arm/boot/dts/am33xx.dtsi +6 -6
index 07f283c..e04cbbc 100644
@@ -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 at 47402000 {
Signature · 1 line
-George
#2 lore raw

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

Quoted 4 lines · George Cherian
Quoted 3 lines · yegorslists at googlemail.com

From: Yegor Yefremov <[email protected]>

Quoted 8 lines
Quoted 3 lines

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

#3 lore raw

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

Quoted 4 lines · Yegor Yefremov
Quoted 3 lines · George Cherian
Quoted 2 lines · yegorslists at googlemail.com

From: Yegor Yefremov <[email protected]>

Quoted 8 lines
Quoted 7 lines
Quoted 3 lines

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?

Quoted 2 lines

Yegor

Signature · 1 line
-George
#4 lore raw

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

Quoted 18 lines · George Cherian
Quoted 17 lines · Yegor Yefremov
Quoted 13 lines · George Cherian
Quoted 6 lines · yegorslists at googlemail.com

From: Yegor Yefremov <[email protected]>

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.

Quoted 8 lines
Quoted 1 line

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 at 47400000/usb-phy at 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 at 47400000/usb-phy at 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