It looks like for the Linux 3.6 kernel
there will finally be D3 Cold power-savings support for PCI Express devices under Linux.
For the past few months Huang Ying and Zheng Yan, Intel Linux engineers, have been tackling "D3cold" support for the Linux kernel. This power-savings feature of PCI Express has now gone through seven revisions and is too late for the forthcoming Linux 3.5 kernel, but it looks like it's about ready and will then be set for the Linux 3.6 kernel in the PCI pull.
D3 Cold support for PCI Express is the deepest power-saving state currently possible for PCI-E devices. The main PCI-E link is completely powered off and the device is inaccessible -- it's different from the D3 hot mode. D3 Cold is part of the PCI Express 2.0 specification and ACPI 5.0, but is only now being implemented under Linux.
While PCI-E D3 Cold is the deepest power-state with the best power savings, the only downside of it is a higher exit latency with needing to re-power up the entire link and device.
The set of four patches for providing PCI-E D3 Cold support in the Linux kernel can be found at LKML.org
While not related to PCI-E power savings, in other Intel Linux power management work, Jesse Barnes has obtained permission to publish an energy counter support patch for their DRM graphics driver. For Sandy Bridge and Ivy Bridge graphics hardware there is an energy counter exposed through a model-specific register (MSR) and MCHBAR for reading the amount of energy used over time for the Intel graphics core. This is exposed via debugfs in the form of micro-Joules.
The Phoronix Test Suite already has had support for reading this new Intel interface since last week, but the DRM driver patch that was just published can be found here
. This too will likely make it into the Linux 3.6 kernel for being able to better monitor how much energy the Intel SNB/IVB graphics core is consuming for different workloads.