Hi Olof, On 11/02/2015 11:21 AM, Olof Johansson wrote: > Hi, > > 1) This seems to have broken BBB in -next for me, bisected down to this patch. > > For bootlog: > http://arm-soc.lixom.net/bootlogs/next/next-20151102/bbb-arm-omap2plus_defconfig.html Aargh, I had the patch which should have been included to the series (just sent it): https://www.mail-archive.com/linux-omap@xxxxxxxxxxxxxxx/msg121134.html It was mixed with the patches I collected for 4.5, I don't know how this happened, but this is the reason I have not seen the issue you are seeing. > > 2) Please avoid merging DT/platform code in your driver tree, Vinod, > at least without an ack from the platform maintainer. It can be a a > huge mess if they end up causing conflicts, so we always ask to merge > the DT changes through the platform maintainer (Tony in this case) by > default. > > > Thanks, > > -Olof > > On Fri, Oct 16, 2015 at 12:18 AM, Peter Ujfalusi <peter.ujfalusi@xxxxxx> wrote: >> Switch to use the ti,edma3-tpcc and ti,edma3-tptc binding for the eDMA3 and >> enable the DMA even crossbar with ti,am335x-edma-crossbar. >> With the new bindings boards can customize and tweak the DMA channel >> priority to match their needs. With the new binding the memcpy is safe >> to be used since with the old binding it was not possible for a driver >> to know which channel is allowed to be used as non HW triggered channel. >> >> Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> >> --- >> arch/arm/boot/dts/am335x-evm.dts | 9 +--- >> arch/arm/boot/dts/am335x-pepper.dts | 11 +---- >> arch/arm/boot/dts/am33xx.dtsi | 96 ++++++++++++++++++++++++++----------- >> 3 files changed, 73 insertions(+), 43 deletions(-) >> >> diff --git a/arch/arm/boot/dts/am335x-evm.dts b/arch/arm/boot/dts/am335x-evm.dts >> index 1942a5c8132d..507980672c32 100644 >> --- a/arch/arm/boot/dts/am335x-evm.dts >> +++ b/arch/arm/boot/dts/am335x-evm.dts >> @@ -743,8 +743,8 @@ >> &mmc3 { >> /* these are on the crossbar and are outlined in the >> xbar-event-map element */ >> - dmas = <&edma 12 >> - &edma 13>; >> + dmas = <&edma_xbar 12 0 1 >> + &edma_xbar 13 0 2>; >> dma-names = "tx", "rx"; >> status = "okay"; >> vmmc-supply = <&wlan_en_reg>; >> @@ -766,11 +766,6 @@ >> }; >> }; >> >> -&edma { >> - ti,edma-xbar-event-map = /bits/ 16 <1 12 >> - 2 13>; >> -}; >> - >> &sham { >> status = "okay"; >> }; >> diff --git a/arch/arm/boot/dts/am335x-pepper.dts b/arch/arm/boot/dts/am335x-pepper.dts >> index 7106114c7464..39073b921664 100644 >> --- a/arch/arm/boot/dts/am335x-pepper.dts >> +++ b/arch/arm/boot/dts/am335x-pepper.dts >> @@ -339,13 +339,6 @@ >> ti,non-removable; >> }; >> >> -&edma { >> - /* Map eDMA MMC2 Events from Crossbar */ >> - ti,edma-xbar-event-map = /bits/ 16 <1 12 >> - 2 13>; >> -}; >> - >> - >> &mmc3 { >> /* Wifi & Bluetooth on MMC #3 */ >> status = "okay"; >> @@ -354,8 +347,8 @@ >> vmmmc-supply = <&v3v3c_reg>; >> bus-width = <4>; >> ti,non-removable; >> - dmas = <&edma 12 >> - &edma 13>; >> + dmas = <&edma_xbar 12 0 1 >> + &edma_xbar 13 0 2>; >> dma-names = "tx", "rx"; >> }; >> >> diff --git a/arch/arm/boot/dts/am33xx.dtsi b/arch/arm/boot/dts/am33xx.dtsi >> index d23e2524d694..6053e75c6e99 100644 >> --- a/arch/arm/boot/dts/am33xx.dtsi >> +++ b/arch/arm/boot/dts/am33xx.dtsi >> @@ -174,12 +174,54 @@ >> }; >> >> edma: edma@49000000 { >> - compatible = "ti,edma3"; >> - ti,hwmods = "tpcc", "tptc0", "tptc1", "tptc2"; >> - reg = <0x49000000 0x10000>, >> - <0x44e10f90 0x40>; >> + compatible = "ti,edma3-tpcc"; >> + ti,hwmods = "tpcc"; >> + reg = <0x49000000 0x10000>; >> + reg-names = "edma3_cc"; >> interrupts = <12 13 14>; >> - #dma-cells = <1>; >> + interrupt-names = "edma3_ccint", "emda3_mperr", >> + "edma3_ccerrint"; >> + dma-requests = <64>; >> + #dma-cells = <2>; >> + >> + ti,tptcs = <&edma_tptc0 7>, <&edma_tptc1 5>, >> + <&edma_tptc2 0>; >> + >> + ti,edma-memcpy-channels = /bits/ 16 <20 21>; >> + }; >> + >> + edma_tptc0: tptc@49800000 { >> + compatible = "ti,edma3-tptc"; >> + ti,hwmods = "tptc0"; >> + reg = <0x49800000 0x100000>; >> + interrupts = <112>; >> + interrupt-names = "edma3_tcerrint"; >> + }; >> + >> + edma_tptc1: tptc@49900000 { >> + compatible = "ti,edma3-tptc"; >> + ti,hwmods = "tptc1"; >> + reg = <0x49900000 0x100000>; >> + interrupts = <113>; >> + interrupt-names = "edma3_tcerrint"; >> + }; >> + >> + edma_tptc2: tptc@49a00000 { >> + compatible = "ti,edma3-tptc"; >> + ti,hwmods = "tptc2"; >> + reg = <0x49a00000 0x100000>; >> + interrupts = <114>; >> + interrupt-names = "edma3_tcerrint"; >> + }; >> + >> + edma_xbar: dma-router@44e10f90 { >> + compatible = "ti,am335x-edma-crossbar"; >> + reg = <0x44e10f90 0x40>; >> + >> + #dma-cells = <3>; >> + dma-requests = <32>; >> + >> + dma-masters = <&edma>; >> }; >> >> gpio0: gpio@44e07000 { >> @@ -233,7 +275,7 @@ >> reg = <0x44e09000 0x2000>; >> interrupts = <72>; >> status = "disabled"; >> - dmas = <&edma 26>, <&edma 27>; >> + dmas = <&edma 26 0>, <&edma 27 0>; >> dma-names = "tx", "rx"; >> }; >> >> @@ -244,7 +286,7 @@ >> reg = <0x48022000 0x2000>; >> interrupts = <73>; >> status = "disabled"; >> - dmas = <&edma 28>, <&edma 29>; >> + dmas = <&edma 28 0>, <&edma 29 0>; >> dma-names = "tx", "rx"; >> }; >> >> @@ -255,7 +297,7 @@ >> reg = <0x48024000 0x2000>; >> interrupts = <74>; >> status = "disabled"; >> - dmas = <&edma 30>, <&edma 31>; >> + dmas = <&edma 30 0>, <&edma 31 0>; >> dma-names = "tx", "rx"; >> }; >> >> @@ -322,8 +364,8 @@ >> ti,dual-volt; >> ti,needs-special-reset; >> ti,needs-special-hs-handling; >> - dmas = <&edma 24 >> - &edma 25>; >> + dmas = <&edma_xbar 24 0 0 >> + &edma_xbar 25 0 0>; >> dma-names = "tx", "rx"; >> interrupts = <64>; >> interrupt-parent = <&intc>; >> @@ -335,8 +377,8 @@ >> compatible = "ti,omap4-hsmmc"; >> ti,hwmods = "mmc2"; >> ti,needs-special-reset; >> - dmas = <&edma 2 >> - &edma 3>; >> + dmas = <&edma 2 0 >> + &edma 3 0>; >> dma-names = "tx", "rx"; >> interrupts = <28>; >> interrupt-parent = <&intc>; >> @@ -474,10 +516,10 @@ >> interrupts = <65>; >> ti,spi-num-cs = <2>; >> ti,hwmods = "spi0"; >> - dmas = <&edma 16 >> - &edma 17 >> - &edma 18 >> - &edma 19>; >> + dmas = <&edma 16 0 >> + &edma 17 0 >> + &edma 18 0 >> + &edma 19 0>; >> dma-names = "tx0", "rx0", "tx1", "rx1"; >> status = "disabled"; >> }; >> @@ -490,10 +532,10 @@ >> interrupts = <125>; >> ti,spi-num-cs = <2>; >> ti,hwmods = "spi1"; >> - dmas = <&edma 42 >> - &edma 43 >> - &edma 44 >> - &edma 45>; >> + dmas = <&edma 42 0 >> + &edma 43 0 >> + &edma 44 0 >> + &edma 45 0>; >> dma-names = "tx0", "rx0", "tx1", "rx1"; >> status = "disabled"; >> }; >> @@ -831,7 +873,7 @@ >> ti,hwmods = "sham"; >> reg = <0x53100000 0x200>; >> interrupts = <109>; >> - dmas = <&edma 36>; >> + dmas = <&edma 36 0>; >> dma-names = "rx"; >> }; >> >> @@ -840,8 +882,8 @@ >> ti,hwmods = "aes"; >> reg = <0x53500000 0xa0>; >> interrupts = <103>; >> - dmas = <&edma 6>, >> - <&edma 5>; >> + dmas = <&edma 6 0>, >> + <&edma 5 0>; >> dma-names = "tx", "rx"; >> }; >> >> @@ -854,8 +896,8 @@ >> interrupts = <80>, <81>; >> interrupt-names = "tx", "rx"; >> status = "disabled"; >> - dmas = <&edma 8>, >> - <&edma 9>; >> + dmas = <&edma 8 2>, >> + <&edma 9 2>; >> dma-names = "tx", "rx"; >> }; >> >> @@ -868,8 +910,8 @@ >> interrupts = <82>, <83>; >> interrupt-names = "tx", "rx"; >> status = "disabled"; >> - dmas = <&edma 10>, >> - <&edma 11>; >> + dmas = <&edma 10 2>, >> + <&edma 11 2>; >> dma-names = "tx", "rx"; >> }; >> >> -- >> 2.6.1 >> >> -- >> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in >> the body of a message to majordomo@xxxxxxxxxxxxxxx >> More majordomo info at http://vger.kernel.org/majordomo-info.html >> Please read the FAQ at http://www.tux.org/lkml/ -- Péter -- To unsubscribe from this list: send the line "unsubscribe dmaengine" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html