forked from microsoft/WSL2-Linux-Kernel
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branches 'acpica' and 'acpi-property'
Merge ACPICA changes and updates of the ACPI device properties framework for 4.19. These revert two ACPICA commits that are not needed any more and modify the properties graph support in ACPI to be more in-line with the analogous DT code. * acpica: ACPICA: Update version to 20180629 ACPICA: Revert "iASL compiler: allow compilation of externals with paths that refer to existing names" ACPICA: Revert "iASL: change processing of external op namespace nodes for correctness" * acpi-property: ACPI: property: graph: Update graph documentation to use generic references ACPI: property: graph: Improve graph documentation for port/ep numbering ACPI: property: graph: Fix graph documentation ACPI: property: Update documentation for hierarchical data extension 1.1 ACPI: property: Document key numbering for hierarchical data extension refs ACPI: property: Use data node name and reg property for graphs ACPI: property: Allow direct graph endpoint references ACPI: property: Make the ACPI graph API private ACPI: property: Document hierarchical data extension references ACPI: property: Allow making references to non-device nodes ACPI: Convert ACPI reference args to generic fwnode reference args
- Loading branch information
Showing
15 changed files
with
260 additions
and
191 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,89 @@ | ||
Copyright (C) 2018 Intel Corporation | ||
Author: Sakari Ailus <sakari.ailus@linux.intel.com> | ||
|
||
|
||
Referencing hierarchical data nodes | ||
----------------------------------- | ||
|
||
ACPI in general allows referring to device objects in the tree only. | ||
Hierarchical data extension nodes may not be referred to directly, hence this | ||
document defines a scheme to implement such references. | ||
|
||
A reference consist of the device object name followed by one or more | ||
hierarchical data extension [1] keys. Specifically, the hierarchical data | ||
extension node which is referred to by the key shall lie directly under the | ||
parent object i.e. either the device object or another hierarchical data | ||
extension node. | ||
|
||
The keys in the hierarchical data nodes shall consist of the name of the node, | ||
"@" character and the number of the node in hexadecimal notation (without pre- | ||
or postfixes). The same ACPI object shall include the _DSD property extension | ||
with a property "reg" that shall have the same numerical value as the number of | ||
the node. | ||
|
||
In case a hierarchical data extensions node has no numerical value, then the | ||
"reg" property shall be omitted from the ACPI object's _DSD properties and the | ||
"@" character and the number shall be omitted from the hierarchical data | ||
extension key. | ||
|
||
|
||
Example | ||
------- | ||
|
||
In the ASL snippet below, the "reference" _DSD property [2] contains a | ||
device object reference to DEV0 and under that device object, a | ||
hierarchical data extension key "node@1" referring to the NOD1 object | ||
and lastly, a hierarchical data extension key "anothernode" referring to | ||
the ANOD object which is also the final target node of the reference. | ||
|
||
Device (DEV0) | ||
{ | ||
Name (_DSD, Package () { | ||
ToUUID("dbb8e3e6-5886-4ba6-8795-1319f52a966b"), | ||
Package () { | ||
Package () { "node@0", NOD0 }, | ||
Package () { "node@1", NOD1 }, | ||
} | ||
}) | ||
Name (NOD0, Package() { | ||
ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"), | ||
Package () { | ||
Package () { "random-property", 3 }, | ||
} | ||
}) | ||
Name (NOD1, Package() { | ||
ToUUID("dbb8e3e6-5886-4ba6-8795-1319f52a966b"), | ||
Package () { | ||
Package () { "anothernode", ANOD }, | ||
} | ||
}) | ||
Name (ANOD, Package() { | ||
ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"), | ||
Package () { | ||
Package () { "random-property", 0 }, | ||
} | ||
}) | ||
} | ||
|
||
Device (DEV1) | ||
{ | ||
Name (_DSD, Package () { | ||
ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"), | ||
Package () { | ||
Package () { "reference", ^DEV0, "node@1", "anothernode" }, | ||
} | ||
}) | ||
} | ||
|
||
Please also see a graph example in graph.txt . | ||
|
||
References | ||
---------- | ||
|
||
[1] Hierarchical Data Extension UUID For _DSD. | ||
<URL:http://www.uefi.org/sites/default/files/resources/_DSD-hierarchical-data-extension-UUID-v1.1.pdf>, | ||
referenced 2018-07-17. | ||
|
||
[2] Device Properties UUID For _DSD. | ||
<URL:http://www.uefi.org/sites/default/files/resources/_DSD-device-properties-UUID.pdf>, | ||
referenced 2016-10-04. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.