Subject: [PATCH v2 5/5] ARM: dts: r8a7794: add sound support

From: [email-masked] (Sergei Shtylyov)
Date: Wed, 17 Feb 2016 22:07:50 +0300

On 02/17/2016 08:38 AM, Simon Horman wrote:

>>>>>>>>> Define the generic R8A7794 part of  the sound device node.
>>>>>>>>> This sound device  is a complex one and comprises the Audio Clock Generator
>>>>>>>>> (ADG), Sampling Rate Converter Unit (SCU), Serial Sound Interface [Unit]
>>>>>>>>> (SSI[U]), and Audio DMAC-Peripheral-Peripheral.
>>>>>>>>> It is up  to the board file to enable the device.
>>>>>>>>>
>>>>>>>>> This patch is based on the R8A7791 sound work by Kuninori Morimoto.
>>>>>>>>>
>>>>>>>>> Signed-off-by: Sergei Shtylyov <[email-masked]>
>>>>>>>> (snip)
>>>>>>>>> +		rcar_sound,src {
>>>>>>>>> +			src1: src at 1 {
>>>>>>>>> +				interrupts = <GIC_SPI 353 IRQ_TYPE_LEVEL_HIGH>;
>>>>>>>>> +				dmas = <&audma0 0x87>, <&audma0 0x9c>;
>>>>>>>>> +				dma-names = "rx", "tx";
>>>>>>>>> +			};
>>>>>>>>> +			src2: src at 2 {
>>>>>>>>> +				interrupts = <GIC_SPI 354 IRQ_TYPE_LEVEL_HIGH>;
>>>>>>>>> +				dmas = <&audma0 0x89>, <&audma0 0x9e>;
>>>>>>>>> +				dma-names = "rx", "tx";
>>>>>>>>> +			};
>>>>>>>>> +			src3: src at 3 {
>>>>>>>>> +				interrupts = <GIC_SPI 355 IRQ_TYPE_LEVEL_HIGH>;
>>>>>>>>> +				dmas = <&audma0 0x8b>, <&audma0 0xa0>;
>>>>>>>>> +				dma-names = "rx", "tx";
>>>>>>>>> +			};
>>>>>>>>> +			src4: src at 4 {
>>>>>>>>> +				interrupts = <GIC_SPI 356 IRQ_TYPE_LEVEL_HIGH>;
>>>>>>>>> +				dmas = <&audma0 0x8d>, <&audma0 0xb0>;
>>>>>>>>> +				dma-names = "rx", "tx";
>>>>>>>>> +			};
>>>>>>>>> +			src5: src at 5 {
>>>>>>>>> +				interrupts = <GIC_SPI 357 IRQ_TYPE_LEVEL_HIGH>;
>>>>>>>>> +				dmas = <&audma0 0x8f>, <&audma0 0xb2>;
>>>>>>>>> +				dma-names = "rx", "tx";
>>>>>>>>> +			};
>>>>>>>>> +			src6: src at 6 {
>>>>>>>>> +				interrupts = <GIC_SPI 358 IRQ_TYPE_LEVEL_HIGH>;
>>>>>>>>> +				dmas = <&audma0 0x91>, <&audma0 0xb4>;
>>>>>>>>> +				dma-names = "rx", "tx";
>>>>>>>>> +			};
>>>>>>>>> +		};
>>>>>>>>
>>>>>>>> I think this can't work correctly, because driver is assuming
>>>>>>>> DT has all channles (from 0). (see linux/sound/soc/sh/rcar/src.c :: rsnd_src_probe)
>>>>>>>> Can you adds dummy src0 with some comments ? or fix src.c driver ?
>>>>>>>
>>>>>>> I would prefer the driver to be fixed (I had a similar patchset locally
>>>>>>> and I found it doesn't work).
>>>>>>
>>>>>>     You mean you had R8A7794 sound patch set too?
>>>>>
>>>>> Yes, I was working on it recently.
>>>>> I suppose we should coordinate these things in future to avoid
>>>>> duplicated effort.
>>>>
>>>>     Yes, seems a good idea now. :-)
>>>>
>>>>>>> The reason is that DT should describe
>>>>>>> the hardware rather than the current state of the software.
>>>>>>
>>>>>>     Yes, of course. Just tell me do I have to fix the driver *before* this
>>>>>> patch set is accepted?
>>>>
>>>>> I did not entirely get to the bottom of the problem, but I think that at
>>>>> the very least something needs to be done about the for_each_rsnd_src()
>>>>> loop in rsnd_src_probe.
>>>>
>>>>     It's not that it replies to my question. :-)
>>>>     So you're looking at this issue yourself?
>>>
>>> I have not got very far, as you can see, but I was planning to look into it.
>>> I don't mind if you want to do so.
>>
>>     After consultation with the management, I'm going to look into this issue
>> myself. :-)
>
> Excellent.

    But not immediately. I have some other things to look at before that (DU 
and AVB), they'll going to take some (significant) time... :-(

> FWIW, I can test anything you come up with for the r8a7794 an alt board

    I have remote access to Alt now, in fact using it currently for the AVB work.

> or post patches for it once you have r8a7794/silk sorted out.

    I already have audio on these working. Or you're going to wait until I fix 
the SRC issue?

[...]

MBR, Sergei