Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Clarify and illustrate use of vendor-defined data in ACPI graph link description #23

Merged
merged 2 commits into from
May 6, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 22 additions & 8 deletions src/dsd-guide.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -725,14 +725,28 @@ determines how the Graph is to be understood by device drivers.
A Link Package may be extended with additional vendor defined data.
The Graph specification determines how that data is to be interpreted.

....
Package () {
SourcePortAddress, // Integer
DestinationPortAddress, // Integer
DestinationDeviceName, // Reference to another
// device in the name space
<optional vendor-defined data>
}
....

It is up to the device driver to interpret and use the additional data using
the vendor provided specification.

#### Example

The following ASL describes four devices which are connected in
two independent Device Graphs. The graphs are illustrated in the
following figure. In this example, devices ``ABC``, ``DEF`` and
``GHI`` are interconnected in the first graph topology. Devices
``ABC``, ``GHI`` and ``JKL`` are interconnected in a second graph
topology.
topology. The links in the second graph require specifying a
latency parameter associated with the link.

[#img-four-device-graph]
image::fig2.png[Four Devices Connected in Two Graphs]
Expand All @@ -748,16 +762,16 @@ Scope (\_SB) {
2, // NumberOfGraphs
Package() {
1, // GraphID - Graph 1
ToUUID(‘‘UUID_For_Graph_Arch’’),
ToUUID("‘‘UUID_For_Graph_Arch_1’’),
2, // Number of links
Package (3) {0,3,\_SB.DEF},
Package (3) {1,10,\_SB.GHI}
},
Package() {
2, // GraphID - Graph 2
ToUUID(‘‘UUID_For_Graph_Arch’’),
ToUUID(‘‘UUID_For_Graph_Arch_2’’),
1, // Number of links
Package (3) {2,380,\_SB.JKL}
Package (3) {2,380,_SB.JKL, L1} // Latency L1
}
},
})
Expand All @@ -772,7 +786,7 @@ Scope (\_SB) {
1, // NumberOfGraphs
Package() {
1, // GraphID - Graph 1
ToUUID(‘‘UUID_For_Graph_Arch’’),
ToUUID(‘‘UUID_For_Graph_Arch_1’’),
1, // Number of links
Package (3) {5,20,\_SB.GHI}
}
Expand All @@ -789,15 +803,15 @@ Scope (\_SB) {
2, // NumberOfGraphs
Package () {
1, // GraphID - Graph 1
ToUUID(‘‘UUID_For_Graph_Arch’’),
ToUUID(‘‘UUID_For_Graph_Arch_1’’),
1, // Number of links
Package (3) {10,1,\_SB.ABC}
},
Package() {
2, // GraphID - Graph 2
ToUUID(‘‘UUID_For_Graph_Arch’’),
ToUUID(‘‘UUID_For_Graph_Arch_2’’),
1, // Number of links
Package (3) {30,210,\_SB.JKL},
Package (3) {30,210,\_SB.JKL, L2} // Latency L2
}
}
})
Expand Down
4 changes: 2 additions & 2 deletions src/fig2.ditaa
Original file line number Diff line number Diff line change
Expand Up @@ -11,14 +11,14 @@
| ^ |
| | |
+--+ +----------------------+ +-----+
| | |
| L1 | |
v v |
/--+----+------\ /-+----+----------\ |
| |cRED| | | |cBLU| +----+ |
| | 380| | | | 10 | |cBLU|<-+
| +----+ | Graph 2 | +----+ | 20 |
| +----+ (red) +----+ +----+
| JKL |cRED|<-------------------+cRED| |
| | 210| | 30 | GHI |
| | 210| L2 | 30 | GHI |
| +----+ +----+ |
\--------------/ \-----------------/