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

Before Posting...
Please check out the Community Guidelines in the Announcements and Administration Category.

PCIe Link Speed

omriomri Member Posts: 15

Hey All,
So I got all the parts of my KMDF driver for my board all set up and working. I'm now dealing with getting the speed of DMA transfers as fast as possible. One big problem I'm having is my PCIe link speed is not always (but it's not never either) at it's maximum capable speed. This information is read straight of the board's PCI configuration space and some DMA data rate benchmarking test code I have confirms the speed to be significantly lower than expected when the link speed isn't at it's maximum. I'm running Windows 10 pro and my board is a x8 capable of 8GT/s but the link speed is often dropped down to 2.5 GT/s. This should be controllable via the control panel under hardware and sound->change power-saving settings->high performance (change plan settings)->change advanced power settings->pci express->link power state management->settings, but I have made sure this is disabled. My device already has a working Linux driver which is consistently running at the maximum link speed, so this likely isn't a BIOS or board problem but something specific to Windows. Does anybody know what could be causing this issue? Is there some API function or some property I can set near the WdfDeviceCreate() call to control the link speed?


  • Pavel_APavel_A Member Posts: 2,679

    What says the logic analyzer guy?

    -- pa

  • omriomri Member Posts: 15

    This appears to only happen based on how the driver is loaded. When you install it by right clicking and selecting install on an INF file, this problem happens. The problem also happens when you enable a previously disabled driver in the device manager. If the driver is loaded by restarting windows and is loaded as part of the startup process the link speed is correct at the maximum capacity and stays that way.

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
Developing Minifilters 29 July 2019 OSR Seminar Space
Writing WDF Drivers 23 Sept 2019 OSR Seminar Space
Kernel Debugging 21 Oct 2019 OSR Seminar Space
Internals & Software Drivers 18 Nov 2019 Dulles, VA