Firmware:
Parent device
The ACPI descriptor for the parent bus must do the following:
•Implement _S0W(Dx). This object specifies Dx as the lowest-power D-state from which the child (embedded) device can wake when the system is in the S0 state.
•Define power resources to represent the link that connects the child (embedded) device to the parent bus. In addition, _ON, _OFF, and _STA objects should be defined for this power resource. The ASL code example that follows this list describes the link power as two resources, PVC1 and PVX1. For each of these resources, _ON, _OFF, and _STA objects are defined.
•If "Dx" (the lowest-power D-state; see the first list item) is D3cold, provide a _PR3 object that includes the power resources that the child (embedded) device requires for D3hot (for example, Vcc and Vaux). If the same power sources are required for D0, D2, and D3hot, then _PR0, _PR2, and _PR3 all specify the same power resources. These resources are turned off only when the child device enters D3cold.
For historical reasons, Windows expects _PR2 to be present whenever _PR0 is present. If D2 is implemented in the hardware, _PR2 lists the power resources needed for D2. If D2 is not implemented, _PR2 lists the same resources as _PR0.
•Implement _PR0. The list of resources in the _PR0 object for the parent bus should include the resources that power the link that connects the parent bus to the child (embedded) device.
Firmware requirements for D3cold
https://msdn.microsoft.com/windows/hardware/drivers/bringup/firmware-requirements-for-d3cold
Device Driver:
By enabling a device to enter D3cold, a driver guarantees the following behavior:
•The device can tolerate a transition from D3hot to D3cold when the computer is to remain in S0.
•The device will work properly when it returns to D0 from D3cold.
Supporting D3cold in a Driver
https://msdn.microsoft.com/library/windows/hardware/hh967717
More:
https://msdn.microsoft.com/windows/hardware/commercialize/design/device-experiences/wi-fi-power-management-for-modern-standby-platforms