causing Device Power State RRS feed

  • Question

  • Hello,

    We are developing a new PCI - connected complex device, and naturally a KMDF drivers stack to support the device. Now sometimes the FW running on the device may enter irrecoverable error state and it may signal this state to Driver via one of shared registers. The best treatment of such state without restarting the whole platform would be transition of our device to D3 state and then back to D0, where it will sync with the driver and resume working. Now the question - is there a legitimate way for the device driver to ask Windows (we are targeting Win.Blue) to put device to D3 state and then to D0 state? The best trigger for putting to D0  would be confirmation of D3, but some reasonable delay would do if such confirmation impossible.




    Thursday, August 22, 2013 8:58 AM


  • Try WdfDeviceSetFailed(WdfDeviceFailedAttemptRestart ) and see if the stack is removed and restarted (not sure if the PCI bus driver supports this request or not). If not, enable S0 idle and keep a power reference on yourself with WdfDeviceStopIdle until the firmware dies, then WdfDeviceResumeIdle to power down . Of course, the right answer is to fix your fw

    d -- This posting is provided "AS IS" with no warranties, and confers no rights.

    Thursday, August 22, 2013 1:52 PM