Windows System Software -- Consulting, Training, Development -- Unique Expertise, Guaranteed Results

Sept/Oct 2019 Issue of The NT Insider available


Download PDF here: http://insider.osr.com/2019/ntinsider_2019_01.pdf

It’s a particularly BIG issue, too: 40 pages of technical goodness, ranging from WDF to Minifilters. Check it out.
Before Posting...
Please check out the Community Guidelines in the Announcements and Administration Category.

PCI driver and Link State Power Management

A_KA_K Member - All Emails Posts: 10

Hi everyone,

I have an issue in my PCIe device driver if PCI Express Link State Power Management is set to Maximum power saving.
In that mode, a device reports an error because it gets an error during DMA transactions. Those errors happen from time to time but with hight rate, at least once in a minute.

I mean the following:
1. if Link State Power Management is off, everything works well.
2. if Link State Power Management is "Maximum power saving" the PCIe device starts reporting different kinds of issues, one of them is the DMA transaction error, another one is internal HW error which looks like the device doesn't have enough power or something like that.

I tried to use WdfDeviceStopIdle it did not help.

I'm looking for any way to disable Link State Power Management in the driver sources while the driver is working with the DMA.
is there any WDF API for that?

how could I configure power policies in my driver to avoid such behavior?

Thank you in advance

Comments

  • Peter_Viscarola_(OSR)Peter_Viscarola_(OSR) Administrator Posts: 7,443

    I'm pretty sure there's nothing in your driver that you can use to affect this. Your device is required to support ASPM.

    But you don't have to support every level of power savings. Can't you change the OS behavior by setting your Endpoint Link Capabilities Register appropriately? Does, for example, only supporting L0s (and not L1) allow your device to work properly?

    Peter

    Peter Viscarola
    OSR
    @OSRDrivers

Sign In or Register to comment.

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Upcoming OSR Seminars
Writing WDF Drivers 21 Oct 2019 OSR Seminar Space & ONLINE
Internals & Software Drivers 18 Nov 2019 Dulles, VA
Kernel Debugging 30 Mar 2020 OSR Seminar Space
Developing Minifilters 27 Apr 2020 OSR Seminar Space & ONLINE