diff mbox

[3/4] ARM: dts: Add cppi41 support for dm816x MUSB

Message ID 1426637961-4197-4-git-send-email-tony@atomide.com (mailing list archive)
State New, archived
Headers show

Commit Message

Tony Lindgren March 18, 2015, 12:19 a.m. UTC
Looks like we have cppi41 on dm816x just like on am335x.

Cc: Bin Liu <binmlist@gmail.com>
Cc: Brian Hutchinson <b.hutchman@gmail.com>
Cc: Felipe Balbi <balbi@ti.com>
Cc: Matthijs van Duin <matthijsvanduin@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
---
 arch/arm/boot/dts/dm816x.dtsi | 60 +++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 60 insertions(+)

Comments

Felipe Balbi March 18, 2015, 12:31 a.m. UTC | #1
Hi,

On Tue, Mar 17, 2015 at 05:19:20PM -0700, Tony Lindgren wrote:
> Looks like we have cppi41 on dm816x just like on am335x.
> 
> Cc: Bin Liu <binmlist@gmail.com>
> Cc: Brian Hutchinson <b.hutchman@gmail.com>
> Cc: Felipe Balbi <balbi@ti.com>
> Cc: Matthijs van Duin <matthijsvanduin@gmail.com>
> Signed-off-by: Tony Lindgren <tony@atomide.com>

Any logs available ? Any throughput improvements with DMA ?
Tony Lindgren March 18, 2015, 1:18 a.m. UTC | #2
* Felipe Balbi <balbi@ti.com> [150317 17:32]:
> Hi,
> 
> On Tue, Mar 17, 2015 at 05:19:20PM -0700, Tony Lindgren wrote:
> > Looks like we have cppi41 on dm816x just like on am335x.
> > 
> > Cc: Bin Liu <binmlist@gmail.com>
> > Cc: Brian Hutchinson <b.hutchman@gmail.com>
> > Cc: Felipe Balbi <balbi@ti.com>
> > Cc: Matthijs van Duin <matthijsvanduin@gmail.com>
> > Signed-off-by: Tony Lindgren <tony@atomide.com>
> 
> Any logs available ? Any throughput improvements with DMA ?

So far I only logged with the debug option on. I can do some
test runs with your for-next branch to a USB mass storage device
if you prefer that, or got some other test in mind?

Regards,

Tony
--
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
Felipe Balbi March 18, 2015, 2:40 p.m. UTC | #3
On Tue, Mar 17, 2015 at 06:18:37PM -0700, Tony Lindgren wrote:
> * Felipe Balbi <balbi@ti.com> [150317 17:32]:
> > Hi,
> > 
> > On Tue, Mar 17, 2015 at 05:19:20PM -0700, Tony Lindgren wrote:
> > > Looks like we have cppi41 on dm816x just like on am335x.
> > > 
> > > Cc: Bin Liu <binmlist@gmail.com>
> > > Cc: Brian Hutchinson <b.hutchman@gmail.com>
> > > Cc: Felipe Balbi <balbi@ti.com>
> > > Cc: Matthijs van Duin <matthijsvanduin@gmail.com>
> > > Signed-off-by: Tony Lindgren <tony@atomide.com>
> > 
> > Any logs available ? Any throughput improvements with DMA ?
> 
> So far I only logged with the debug option on. I can do some
> test runs with your for-next branch to a USB mass storage device
> if you prefer that, or got some other test in mind?

mass storage should be fine, just wanna know if you're getting
acceptable throughput.
Tony Lindgren March 18, 2015, 4:25 p.m. UTC | #4
* Felipe Balbi <balbi@ti.com> [150318 07:41]:
> On Tue, Mar 17, 2015 at 06:18:37PM -0700, Tony Lindgren wrote:
> > * Felipe Balbi <balbi@ti.com> [150317 17:32]:
> > > Hi,
> > > 
> > > On Tue, Mar 17, 2015 at 05:19:20PM -0700, Tony Lindgren wrote:
> > > > Looks like we have cppi41 on dm816x just like on am335x.
> > > > 
> > > > Cc: Bin Liu <binmlist@gmail.com>
> > > > Cc: Brian Hutchinson <b.hutchman@gmail.com>
> > > > Cc: Felipe Balbi <balbi@ti.com>
> > > > Cc: Matthijs van Duin <matthijsvanduin@gmail.com>
> > > > Signed-off-by: Tony Lindgren <tony@atomide.com>
> > > 
> > > Any logs available ? Any throughput improvements with DMA ?
> > 
> > So far I only logged with the debug option on. I can do some
> > test runs with your for-next branch to a USB mass storage device
> > if you prefer that, or got some other test in mind?
> 
> mass storage should be fine, just wanna know if you're getting
> acceptable throughput.

No luck with your current merge branch with DMA right now, it's
producing an error both on bbb and dm816x:

"musb-hdrc musb-hdrc.0.auto: Need DT for the DMA engine." 

So here are some test results against -rc4.

CONFIG_MUSB_PIO_ONLY

Copy a 10MB file to /dev/sda right after a reboot:

# time /bin/sh -c 'cp filler /mnt/ && sync'
real    0m2.480s
user    0m0.000s
sys     0m0.320s

Run hdparm a few times:

# hdparm -t /dev/sda

/dev/sda:
 Timing buffered disk reads:  34 MB in  3.16 seconds =  10.75 MB/sec


CONFIG_USB_TI_CPPI41_DMA

Copy a 10MB file to /dev/sda right after a reboot:

# time /bin/sh -c 'cp filler /mnt/ && sync'
real    0m2.095s
user    0m0.000s
sys     0m0.310s

Run hdparm a few times:

# hdparm -t /dev/sda

/dev/sda:
 Timing buffered disk reads:  52 MB in  3.07 seconds =  16.94 MB/sec

Regards,

Tony
--
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
diff mbox

Patch

diff --git a/arch/arm/boot/dts/dm816x.dtsi b/arch/arm/boot/dts/dm816x.dtsi
index f35715b..de8427b 100644
--- a/arch/arm/boot/dts/dm816x.dtsi
+++ b/arch/arm/boot/dts/dm816x.dtsi
@@ -396,6 +396,29 @@ 
 				mentor,num-eps = <16>;
 				mentor,ram-bits = <12>;
 				mentor,power = <500>;
+
+				dmas = <&cppi41dma  0 0 &cppi41dma  1 0
+					&cppi41dma  2 0 &cppi41dma  3 0
+					&cppi41dma  4 0 &cppi41dma  5 0
+					&cppi41dma  6 0 &cppi41dma  7 0
+					&cppi41dma  8 0 &cppi41dma  9 0
+					&cppi41dma 10 0 &cppi41dma 11 0
+					&cppi41dma 12 0 &cppi41dma 13 0
+					&cppi41dma 14 0 &cppi41dma  0 1
+					&cppi41dma  1 1 &cppi41dma  2 1
+					&cppi41dma  3 1 &cppi41dma  4 1
+					&cppi41dma  5 1 &cppi41dma  6 1
+					&cppi41dma  7 1 &cppi41dma  8 1
+					&cppi41dma  9 1 &cppi41dma 10 1
+					&cppi41dma 11 1 &cppi41dma 12 1
+					&cppi41dma 13 1 &cppi41dma 14 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";
 			};
 
 			usb1: usb@47401800 {
@@ -413,6 +436,43 @@ 
 				mentor,num-eps = <16>;
 				mentor,ram-bits = <12>;
 				mentor,power = <500>;
+
+				dmas = <&cppi41dma 15 0 &cppi41dma 16 0
+					&cppi41dma 17 0 &cppi41dma 18 0
+					&cppi41dma 19 0 &cppi41dma 20 0
+					&cppi41dma 21 0 &cppi41dma 22 0
+					&cppi41dma 23 0 &cppi41dma 24 0
+					&cppi41dma 25 0 &cppi41dma 26 0
+					&cppi41dma 27 0 &cppi41dma 28 0
+					&cppi41dma 29 0 &cppi41dma 15 1
+					&cppi41dma 16 1 &cppi41dma 17 1
+					&cppi41dma 18 1 &cppi41dma 19 1
+					&cppi41dma 20 1 &cppi41dma 21 1
+					&cppi41dma 22 1 &cppi41dma 23 1
+					&cppi41dma 24 1 &cppi41dma 25 1
+					&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";
+			};
+
+			cppi41dma: dma-controller@47402000 {
+				compatible = "ti,am3359-cppi41";
+				reg =  <0x47400000 0x1000
+					0x47402000 0x1000
+					0x47403000 0x1000
+					0x47404000 0x4000>;
+				reg-names = "glue", "controller", "scheduler", "queuemgr";
+				interrupts = <17>;
+				interrupt-names = "glue";
+				#dma-cells = <2>;
+				#dma-channels = <30>;
+				#dma-requests = <256>;
 			};
 		};