18c2ecf20Sopenharmony_cidigraph T {
28c2ecf20Sopenharmony_ci    /* Make sure our payloads are always drawn below the driver node */
38c2ecf20Sopenharmony_ci    subgraph cluster_driver {
48c2ecf20Sopenharmony_ci        fillcolor = grey;
58c2ecf20Sopenharmony_ci        style = filled;
68c2ecf20Sopenharmony_ci        edge [dir=none];
78c2ecf20Sopenharmony_ci        driver -> payload1;
88c2ecf20Sopenharmony_ci        driver -> payload2 [penwidth=3];
98c2ecf20Sopenharmony_ci        edge [dir=""];
108c2ecf20Sopenharmony_ci    }
118c2ecf20Sopenharmony_ci
128c2ecf20Sopenharmony_ci    /* Driver malloc references */
138c2ecf20Sopenharmony_ci    edge [style=dashed];
148c2ecf20Sopenharmony_ci    driver -> port1;
158c2ecf20Sopenharmony_ci    driver -> port2;
168c2ecf20Sopenharmony_ci    driver -> port3:e;
178c2ecf20Sopenharmony_ci    driver -> port4 [color=grey];
188c2ecf20Sopenharmony_ci    payload1:s -> port1:e;
198c2ecf20Sopenharmony_ci    payload2:s -> port3:e [penwidth=3];
208c2ecf20Sopenharmony_ci    edge [style=""];
218c2ecf20Sopenharmony_ci
228c2ecf20Sopenharmony_ci    subgraph cluster_topology {
238c2ecf20Sopenharmony_ci        label="Topology Manager";
248c2ecf20Sopenharmony_ci        labelloc=bottom;
258c2ecf20Sopenharmony_ci
268c2ecf20Sopenharmony_ci        /* Topology references */
278c2ecf20Sopenharmony_ci        mstb1 -> {port1, port2};
288c2ecf20Sopenharmony_ci        port1 -> mstb2;
298c2ecf20Sopenharmony_ci        edge [color=grey];
308c2ecf20Sopenharmony_ci        port2 -> mstb3 -> {port3, port4};
318c2ecf20Sopenharmony_ci        port3 -> mstb4;
328c2ecf20Sopenharmony_ci        edge [color=""];
338c2ecf20Sopenharmony_ci
348c2ecf20Sopenharmony_ci        /* Malloc references */
358c2ecf20Sopenharmony_ci        edge [style=dashed;dir=back];
368c2ecf20Sopenharmony_ci        mstb1 -> {port1, port2};
378c2ecf20Sopenharmony_ci        port1 -> mstb2;
388c2ecf20Sopenharmony_ci        port2 -> mstb3 [penwidth=3];
398c2ecf20Sopenharmony_ci        mstb3 -> port3 [penwidth=3];
408c2ecf20Sopenharmony_ci        edge [color=grey];
418c2ecf20Sopenharmony_ci        mstb3 -> port4;
428c2ecf20Sopenharmony_ci        port3 -> mstb4;
438c2ecf20Sopenharmony_ci    }
448c2ecf20Sopenharmony_ci
458c2ecf20Sopenharmony_ci    mstb1 [label="MSTB #1";style=filled;fillcolor=palegreen];
468c2ecf20Sopenharmony_ci    mstb2 [label="MSTB #2";style=filled;fillcolor=palegreen];
478c2ecf20Sopenharmony_ci    mstb3 [label="MSTB #3";style=filled;fillcolor=palegreen;penwidth=3];
488c2ecf20Sopenharmony_ci    mstb4 [label="MSTB #4";style=filled;fillcolor=grey];
498c2ecf20Sopenharmony_ci
508c2ecf20Sopenharmony_ci    port1 [label="Port #1"];
518c2ecf20Sopenharmony_ci    port2 [label="Port #2";penwidth=5];
528c2ecf20Sopenharmony_ci    port3 [label="Port #3";penwidth=3];
538c2ecf20Sopenharmony_ci    port4 [label="Port #4";style=filled;fillcolor=grey];
548c2ecf20Sopenharmony_ci
558c2ecf20Sopenharmony_ci    driver [label="DRM driver";style=filled;shape=box;fillcolor=lightblue];
568c2ecf20Sopenharmony_ci
578c2ecf20Sopenharmony_ci    payload1 [label="Payload #1";style=filled;shape=box;fillcolor=lightblue];
588c2ecf20Sopenharmony_ci    payload2 [label="Payload #2";style=filled;shape=box;fillcolor=lightblue;penwidth=3];
598c2ecf20Sopenharmony_ci}
60