0001 digraph T {
0002 /* Make sure our payloads are always drawn below the driver node */
0003 subgraph cluster_driver {
0004 fillcolor = grey;
0005 style = filled;
0006 edge [dir=none];
0007 driver -> payload1;
0008 driver -> payload2 [penwidth=3];
0009 edge [dir=""];
0010 }
0011
0012 /* Driver malloc references */
0013 edge [style=dashed];
0014 driver -> port1;
0015 driver -> port2;
0016 driver -> port3:e;
0017 driver -> port4 [color=grey];
0018 payload1:s -> port1:e;
0019 payload2:s -> port3:e [penwidth=3];
0020 edge [style=""];
0021
0022 subgraph cluster_topology {
0023 label="Topology Manager";
0024 labelloc=bottom;
0025
0026 /* Topology references */
0027 mstb1 -> {port1, port2};
0028 port1 -> mstb2;
0029 edge [color=grey];
0030 port2 -> mstb3 -> {port3, port4};
0031 port3 -> mstb4;
0032 edge [color=""];
0033
0034 /* Malloc references */
0035 edge [style=dashed;dir=back];
0036 mstb1 -> {port1, port2};
0037 port1 -> mstb2;
0038 port2 -> mstb3 [penwidth=3];
0039 mstb3 -> port3 [penwidth=3];
0040 edge [color=grey];
0041 mstb3 -> port4;
0042 port3 -> mstb4;
0043 }
0044
0045 mstb1 [label="MSTB #1";style=filled;fillcolor=palegreen];
0046 mstb2 [label="MSTB #2";style=filled;fillcolor=palegreen];
0047 mstb3 [label="MSTB #3";style=filled;fillcolor=palegreen;penwidth=3];
0048 mstb4 [label="MSTB #4";style=filled;fillcolor=grey];
0049
0050 port1 [label="Port #1"];
0051 port2 [label="Port #2";penwidth=5];
0052 port3 [label="Port #3";penwidth=3];
0053 port4 [label="Port #4";style=filled;fillcolor=grey];
0054
0055 driver [label="DRM driver";style=filled;shape=box;fillcolor=lightblue];
0056
0057 payload1 [label="Payload #1";style=filled;shape=box;fillcolor=lightblue];
0058 payload2 [label="Payload #2";style=filled;shape=box;fillcolor=lightblue;penwidth=3];
0059 }