ACPI interfaces: _DSM (Device Specific Method) for SATA
This method enables management of each port of a SATA controller separate from the host controller as a whole.See the ACPI specification for a generic description of _DSM. The specific _DSM interface described here is identified by passing a UUID into the method as a parameter. This UUID (E4DB149B-FCFE-425b-A6D8-92357D78FC7F) identifies this interface contract.
Note This method is not necessary for PATA, as the standard ACPI objects underneath a channel object can represent the port power.
This information applies to the following operating systems:
- Windows 8
- Windows Server 2012
Function 1: Query Link Power Interface
This function is used by the host controller driver to discover power controls for links produced by the ports present on the controller.
Arg0—UUID: E4DB149B-FCFE-425b-A6D8-92357D78FC7F (Buffer)
Arg1—Revision ID: 0x01 (Integer)
Arg2—Function Index: 0x01 (Integer)
Arg3—Unused (Package)
Return—A package of Integers, where each package element is the address (_ADR value) of child devices (ports) where link power controls may inhibit device enumeration.
Function 2: Control Link Power
Arg0—UUID: E4DB149B-FCFE-425b-A6D8-92357D78FC7F (Buffer)
Arg1—Revision ID: 0x01 (Integer)
Arg2—Function Index: 0x02 (Integer)
Arg3—Device address, requested link power state (package with two entries):
- Entry 1—Device address (as described in the ACPI specification’s _ADR Object Encoding table). Note that “Ones” (ASL constant) applies setting to all possible devices.
- Entry 2— Link power control value:
- 0x00: allow link power to be removed
- 0x01: apply power to link and child device(s)
Return—Error value:
- 0: Success
- 1: Invalid device address
- All Others: Reserved
Device power versus link power
Using the combination of this _DSM interface and device object power controls via PowerResource objects, it is possible to independently manage device power and link power. There is, however, an implied link between device power and link power, namely that if the link is turned on, the device should be turned on, and that if the device is turned off, the link may also be turned off.
The following state machine describes this implied link:
Related topics
ZPODD platform and driver design guidelines for Windows 8