ASoC: audio-graph-card2: use better image for Multi connection
authorKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Mon, 13 Nov 2023 01:28:58 +0000 (01:28 +0000)
committerMark Brown <broonie@kernel.org>
Mon, 27 Nov 2023 13:44:01 +0000 (13:44 +0000)
1st port on Multi ports is for paired CPU/Codec, and the 2nd or later
port are for Multi Elements. This patch indicates its image to easy to
understand.

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Link: https://lore.kernel.org/r/87sf5a4f1i.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/generic/audio-graph-card2.c

index 7146611df73083ba4ffc4b206bccb744998642a2..c564f630abf62fd12b1cb882a54d5cdb0eca65bf 100644 (file)
        Multi-CPU/Codec
  ************************************
 
-It has connection part (= X) and list part (= y).
-links indicates connection part of CPU side (= A).
+It has link connection part (= X,x) and list part (= A,B,a,b).
+"links" is connection part of CPU side (= @).
 
-           +-+   (A)        +-+
- CPU1 --(y) | | <-(X)--(X)-> | | (y)-- Codec1
- CPU2 --(y) | |                     | | (y)-- Codec2
-           +-+              +-+
+       +----+          +---+
+ CPU1 --|A  X| <-@----> |x a|-- Codec1
+ CPU2 --|B   |         |  b|-- Codec2
+       +----+          +---+
 
      sound {
-               compatible = "audio-graph-card2";
+ sound {
+       compatible = "audio-graph-card2";
 
-(A)            links = <&mcpu>;
+(@)    links = <&mcpu>;
 
-               multi {
-                       ports@0 {
-(X) (A)                        mcpu:   port@0 { mcpu0_ep: endpoint { remote-endpoint = <&mcodec0_ep>; }; };
-(y)                            port@1 { mcpu1_ep: endpoint { remote-endpoint = <&cpu1_ep>; }; };
-(y)                            port@2 { mcpu2_ep: endpoint { remote-endpoint = <&cpu2_ep>; }; };
-                       };
-                       ports@1 {
-(X)                            port@0 { mcodec0_ep: endpoint { remote-endpoint = <&mcpu0_ep>; }; };
-(y)                            port@1 { mcodec1_ep: endpoint { remote-endpoint = <&codec1_ep>; }; };
-(y)                            port@2 { mcodec2_ep: endpoint { remote-endpoint = <&codec2_ep>; }; };
-                       };
+       multi {
+               ports@0 {
+(@)            mcpu:   port@0 { mcpu0_ep: endpoint { remote-endpoint = <&mcodec0_ep>;  }; };   // (X) to pair
+                       port@1 { mcpu1_ep: endpoint { remote-endpoint = <&cpu1_ep>;     }; };   // (A) Multi Element
+                       port@2 { mcpu2_ep: endpoint { remote-endpoint = <&cpu2_ep>;     }; };   // (B) Multi Element
+               };
+               ports@1 {
+                       port@0 { mcodec0_ep: endpoint { remote-endpoint = <&mcpu0_ep>;  }; };   // (x) to pair
+                       port@1 { mcodec1_ep: endpoint { remote-endpoint = <&codec1_ep>; }; };   // (a) Multi Element
+                       port@2 { mcodec2_ep: endpoint { remote-endpoint = <&codec2_ep>; }; };   // (b) Multi Element
                };
        };
+ };
 
  CPU {
        ports {
@@ -328,9 +328,9 @@ static struct device_node *graph_get_next_multi_ep(struct device_node **port)
        /*
         * multi {
         *      ports {
-        * =>   lnk:    port@0 { ... };
-        *              port@1 { ep { ... = rep0 } };
-        *              port@2 { ep { ... = rep1 } };
+        * =>   lnk:    port@0 { ...               }; // to pair
+        *              port@1 { ep { ... = rep0 } }; // Multi Element
+        *              port@2 { ep { ... = rep1 } }; // Multi Element
         *              ...
         *      };
         * };
@@ -920,9 +920,9 @@ static int graph_counter(struct device_node *lnk)
         *
         * multi {
         *      ports {
-        * =>           lnk:    port@0 { ... };
-        *                      port@1 { ... };
-        *                      port@2 { ... };
+        * =>           lnk:    port@0 { ... }; // to pair
+        *                      port@1 { ... }; // Multi Element
+        *                      port@2 { ... }; // Multi Element
         *                      ...
         *      };
         * };