Re: [PATCH v3 4/4] dt-bindings: audio-graph-port: add ch-maps property

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Conor

Thank you for your feedback

> > This patch adds ch-maps property to enable handling CPU:Codec = N:M
> > connection.
> > 
> > Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx>
> > ---
(snip)
> > +      ch-maps:
> > +        $ref: /schemas/types.yaml#/definitions/uint32-array
> 
> Most of what I said on the last version applies here too. Only the
> s/_/-/ was done. Is there a reason you ignored those comments?

Ah sorry. I thought you wanted was add your address on To/Cc for
all patch-set.

> I only got this one patch, so I have no context at all for this change.
> Given that, and since I know almost nothing about sound stuff...
(snip)
> ...I have absolutely no idea how I would populate "ch_maps" correctly.
> Please describe (in the binding) what this property actually does
> & how to use it. Also, properties use -s not _s.

Some Sound want to use multiple connections between CPUs (N) and Codecs (M).
Current audio-graph-card2 driver is already supporting 1:N / N:1 / N:N
connections, this patch expand it.

These are implemented by using Of-Graph.
For example N:N connection case, it is expressed like below.
One note here is that cpu0/cpu1 and codec0/codec1 are *not* independent.
We need to consider cpu0/cpu1 pair and codec0/codec1 pair.

ep (endpoint)

	(A)						(B)
	<- port ->   <- port ->       <- port ->      <- port ->
		          ax(ep) <--> (ep)bx
	cpu0(ep) <--> (ep)a0		  b0(ep) <--> (ep)codec0
	cpu1(ep) <--> (ep)a1		  b1(ep) <--> (ep)codec1


In N:N case, it is assuming cpu0/codec0, and cpu1/codec1 has related.
This patch expand (A)/(B) part to N:M (N != M). Then, ch-maps indicates
how these are related.

	(A)						(B)
	<- port ->   <- port ->       <- port ->      <- port ->
		          ax(ep) <--> (ep)bx
	cpu0(ep) <--> (ep)a0		  b0(ep) <--> (ep)codec0
	cpu1(ep) <--> (ep)a1		  b1(ep) <--> (ep)codec1
=>	cpu2(ep) <--> (ep)a2

	ch-maps = <0 0 1>

ch-maps = <0 0 1> means, 
	cpu0 <-> codec0
	cpu1 <-> codec0
	cpu2 <-> codec1

Thank you for your help !!

Best regards
---
Kuninori Morimoto



[Index of Archives]     [ALSA User]     [Linux Audio Users]     [Pulse Audio]     [Kernel Archive]     [Asterisk PBX]     [Photo Sharing]     [Linux Sound]     [Video 4 Linux]     [Gimp]     [Yosemite News]

  Powered by Linux