Re: [RFT 25/25] ARM: dts: s5pv210: align DMA channels with dtschema

From: Jonathan Bakker
Date: Mon Sep 07 2020 - 20:29:07 EST


Ah, I figured out why the dma stopped working. In s5pv210-aries.dtsi the dma's for i2s0
are overriden to use pdma0 instead of pdma1. That also needs changing for this to
work properly.

Thanks,
Jonathan

On 2020-09-07 5:17 p.m., Jonathan Bakker wrote:
> Initial testing on both an i9000 and an SGH-T959P are showing that the audio has
> stopped working with this. I'm not 100% convinced as I've had DMA issues in the
> past. However trying to play something just results in a hang after 1.5s while
> it works just fine without this patch.
>
> Thanks,
> Jonathan
>
> On 2020-09-07 9:11 a.m., Krzysztof Kozlowski wrote:
>> dtschema expects DMA channels in specific order (tx, rx and tx-sec).
>> The order actually should not matter because dma-names is used however
>> let's make it aligned with dtschema to suppress warnings like:
>>
>> i2s@eee30000: dma-names: ['rx', 'tx', 'tx-sec'] is not valid under any of the given schemas
>>
>> Signed-off-by: Krzysztof Kozlowski <krzk@xxxxxxxxxx>
>> ---
>> arch/arm/boot/dts/s5pv210.dtsi | 12 ++++++------
>> 1 file changed, 6 insertions(+), 6 deletions(-)
>>
>> diff --git a/arch/arm/boot/dts/s5pv210.dtsi b/arch/arm/boot/dts/s5pv210.dtsi
>> index 96e667ba1c3f..72fb9d9f7ba3 100644
>> --- a/arch/arm/boot/dts/s5pv210.dtsi
>> +++ b/arch/arm/boot/dts/s5pv210.dtsi
>> @@ -240,8 +240,8 @@
>> reg = <0xeee30000 0x1000>;
>> interrupt-parent = <&vic2>;
>> interrupts = <16>;
>> - dma-names = "rx", "tx", "tx-sec";
>> - dmas = <&pdma1 9>, <&pdma1 10>, <&pdma1 11>;
>> + dma-names = "tx", "rx", "tx-sec";
>> + dmas = <&pdma1 10>, <&pdma1 9>, <&pdma1 11>;
>> clock-names = "iis",
>> "i2s_opclk0",
>> "i2s_opclk1";
>> @@ -260,8 +260,8 @@
>> reg = <0xe2100000 0x1000>;
>> interrupt-parent = <&vic2>;
>> interrupts = <17>;
>> - dma-names = "rx", "tx";
>> - dmas = <&pdma1 12>, <&pdma1 13>;
>> + dma-names = "tx", "rx";
>> + dmas = <&pdma1 13>, <&pdma1 12>;
>> clock-names = "iis", "i2s_opclk0";
>> clocks = <&clocks CLK_I2S1>, <&clocks SCLK_AUDIO1>;
>> pinctrl-names = "default";
>> @@ -275,8 +275,8 @@
>> reg = <0xe2a00000 0x1000>;
>> interrupt-parent = <&vic2>;
>> interrupts = <18>;
>> - dma-names = "rx", "tx";
>> - dmas = <&pdma1 14>, <&pdma1 15>;
>> + dma-names = "tx", "rx";
>> + dmas = <&pdma1 15>, <&pdma1 14>;
>> clock-names = "iis", "i2s_opclk0";
>> clocks = <&clocks CLK_I2S2>, <&clocks SCLK_AUDIO2>;
>> pinctrl-names = "default";
>>