[alsa-devel] [PATCH 0/19] ASoC: rsnd: move 2nd DMAC from DMAEngine to rsnd driver

Kuninori Morimoto kuninori.morimoto.gx at renesas.com
Thu Feb 19 09:44:30 CET 2015


Hi Arnd

> Looks very good overall, I just have one more idea for simplifying
> the binding, please see if that can work or not:
(snip)
>                 ssi3: ssi at 3 {
>                        interrupts = <0 373 IRQ_TYPE_LEVEL_HIGH>;
> 			dmas = <&audma0 0x07>, <&audma1 0x08>,
> 				<&audma0 0x6f>, <&audma1 0x70>;
> 			dma-names = "rx", "tx", "rxu", "txu";
>                 };

I tried this idea before, but I got issues on DT.
I forgot detail, but if my memory was correct, it was
dev->of_node.

	sound {
		...
		ssi3: ssi at 3 {
			interrupts = <0 373 IRQ_TYPE_LEVEL_HIGH>;
			dmas = <&audma0 0x07>, <&audma1 0x08>, <&audma0 0x6f>, <&audma1 0x70>;
			dma-names = "rx", "tx", "rxu", "txu";
		};
	}

dma_request_slave_channel_compat() requests "dev",
and this dev means sound here.

This "dev" will be used in dma_request_slave_channel_reason()
and, it uses "dev->of_node".
But, here, "dev->of_node" means "sound" here.

If I use your style, I need to do like below,
or I need new compat function which can select of_node.

	tmp_node = dev->of_node;
	dev->of_node = subnode;
	dma_request_slave_channel_compat(... dev ...);
	dev->of_node = tmp_node;


Best regards
---
Kuninori Morimoto


More information about the Alsa-devel mailing list