• Kuninori Morimoto's avatar
    ASoC: rsnd: 1st DMAC dma-names cares subnode · 72adc61f
    Kuninori Morimoto authored
    Renesas R-Car sound (= rsnd) needs 2 DMAC which are called as
    Audio DMAC (= 1st DMAC) and Audio DMAC peri peri (2nd DMAC).
    And rsnd had assumed that 1st / 2nd DMACs are implemented as DMAEngine.
    But, in result of DMA ML discussion, 2nd DMAC was concluded that it is
    not a general purpose DMAC (2nd DMAC is for Device to Device inside
    sound system). Additionally, current DMAEngine can't support Device to
    Device, and we don't have correct DT bindings for it at this point.
    So the easiest solution for it is that move it from DMAEngine to rsnd
    driver.
    
    dma-names on DT was implemented as no difference between 1st / 2nd
    DMAC's, since rsnd had assumed that both DMACs are implemented as
    DMAEngine. That style was "src_dst". But now, 2nd DMAC was implemented
    as non DMAEngine, and it doesn't need dma-names anymore. So, this
    dma-names rule is no longer needed.
    
    And additionally, dma-names was assumed that it has all
    (= SSI/SSIU/SRC/DVC) nodes under sound node.
    
    In upstream code, no SoC/platform is supporting DMA for rsnd driver yet.
    This means there is no compatible issue if this patch changes
    dma-names's rule of DT.
    
    This patch assumes dma-names for 1st DMAC are tx/rx base, and listed
    in each SSI/SRC/DVC subnode
    ex)
    	rcar_sound,dvc {
    		dvc0: dvc@0 {
    			dmas = <&audma0 0xbc>;
    			dma-names = "tx";
    		};
    	...
    
    	rcar_sound,src {
    		src0: src@0 {
    			...
    			dmas = <&audma0 0x85>, <&audma1 0x9a>;
    			dma-names = "rx", "tx";
    		};
    	...
    
    	rcar_sound,ssi {
    		ssi0: ssi@0 {
    			...
    			dmas = <&audma0 0x01>, <&audma1 0x02>, <&audma0 0x15>, <&audma1 0x16>;
    			dma-names = "rx", "tx", "rxu", "txu";
    		};
    	...
    Signed-off-by: default avatarKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
    Signed-off-by: default avatarMark Brown <broonie@kernel.org>
    72adc61f
core.c 24.3 KB