D3COLD_AUX_POWER_AND_TIMING_INTERFACE structure (wdm.h)

An extended version of the INTERFACE structure that allows device drivers to negotiate a higher auxiliary power for their PCI devices while in D3Cold state. This interface allows device drivers to invoke the functions that manipulate _DSM functions 0Ah, 0Bh.

Syntax

typedef struct _D3COLD_AUX_POWER_AND_TIMING_INTERFACE {
  USHORT                          Size;
  USHORT                          Version;
  PVOID                           Context;
  PINTERFACE_REFERENCE            InterfaceReference;
  PINTERFACE_DEREFERENCE          InterfaceDereference;
  PD3COLD_REQUEST_CORE_POWER_RAIL RequestCorePowerRail;
  PD3COLD_REQUEST_AUX_POWER       RequestAuxPower;
  PD3COLD_REQUEST_PERST_DELAY     RequestPerstDelay;
} D3COLD_AUX_POWER_AND_TIMING_INTERFACE, *PD3COLD_AUX_POWER_AND_TIMING_INTERFACE;

Members

Size

The size, in bytes, of this structure.

Version

The driver-defined interface version. The current version of this interface is D3COLD_AUX_POWER_AND_TIMING_INTERFACE_VERSION.

Context

A pointer to interface-specific context information.

InterfaceReference

A pointer to an InterfaceReference routine that increments the interface's reference count.

InterfaceDereference

A pointer to an InterfaceDereference routine that decrements the interface's reference count.

RequestCorePowerRail

A pointer to a D3COLD_REQUEST_CORE_POWER_RAIL callback function that enables the function device object (FDO) to indicate whether the core power rail is needed.

RequestAuxPower

A pointer to a _D3COLD_REQUEST_AUX_POWER callback function that enables the function device object (FDO) to convey its auxiliary power requirement.

RequestPerstDelay

A pointer to a D3COLD_REQUEST_PERST_DELAY enables the function device object (FDO) to convey its requirement for a fixed delay time.

Remarks

A device driver that successfully queries for the GUID_D3COLD_AUX_POWER_AND_TIMING_INTERFACE interface receives a pointer to a [D3COLD_AUX_POWER_AND_TIMING_INTERFACE] structure in which the pointers to the routines in the interface are all non-NULL and valid.

The [D3COLD_AUX_POWER_AND_TIMING_INTERFACE] structure is an extended version of the [INTERFACE] structure.

Windows now has added support for the newly introduced PCI Device Specific Method (_DSM) functions for Runtime Device Power Management. The new interfaces listed below allow device drivers to negotiate a higher auxiliary power for their PCI devices (higher than the standard 375mA @ 3.3V), if their devices require additional power while in D3Cold state. All device drivers must be able to handle the cases where additional power cannot be provided by the system, or if the interfaces are not supported.

All PCIe ports that support the _DSM functions for Runtime Device Power Management, must implement the Device Specific Data (_DSD) for Identifying PCIe ports supporting D3_COLD_AUX_POWER ECN Interface under the ACPI scope of the PCIe port.

Requirements

Requirement Value
Minimum supported client Windows 10, version 1803
Header wdm.h

See also

_D3COLD_REQUEST_CORE_POWER_RAIL

_D3COLD_REQUEST_AUX_POWER

_D3COLD_REQUEST_PERST_DELAY

Identifying PCIe ports supporting D3_COLD_AUX_POWER ECN Interface