Windows System Software -- Consulting, Training, Development -- Unique Expertise, Guaranteed Results
The free OSR Learning Library has more than 50 articles on a wide variety of topics about writing and debugging device drivers and Minifilters. From introductory level to advanced. All the articles have been recently reviewed and updated, and are written using the clear and definitive style you've come to expect from OSR over the years.
Check out The OSR Learning Library at: https://www.osr.com/osr-learning-library/
Upcoming OSR Seminars | ||
---|---|---|
OSR has suspended in-person seminars due to the Covid-19 outbreak. But, don't miss your training! Attend via the internet instead! | ||
Internals & Software Drivers | 7 February 2022 | Live, Online |
Kernel Debugging | 21 March 2022 | Live, Online |
Developing Minifilters | 23 May 2022 | Live, Online |
Writing WDF Drivers | 12 September 2022 | Live, Online |
Comments
PoFx F-States and Perf States are designed to be ways for the driver to notify the PEP about the device's needed power and performance, so the PEP can coordinate the bus power and processor's performance states. Think of it as a way for a Function Driver to have an express connection with the PEP and the BIOS, without involving the Bus Driver or anybody else in the dev node.
Now... having SAID that... This is a very new set of interfaces (F-states have been around since Windows 8... Perf states arrived in Windows 10). I'm not sure if you can use this facility to have the processor avoid entering a C-State. You might try querying the performance info set from the PEP to see what it tells you.
I'm particularly interested in this area, and I'll be interested to see what you turn up. If you don't find more info, I can try to make some enquiries or do some digging as well.
Peter
OSR
@OSRDrivers
Peter Viscarola
OSR
@OSRDrivers
I would approach Microsoft thru the means of MSDN subscriber support. If you have a more direct way of getting those information it would be highly appreciated if you are willing to utiilize this!
I am still uncertain how to address the issue; as a temporary workaround the user mode ASIO driver .dll disables C-idle states via PowrProf.lib before starting streaming and resets its value on stop.
However this approach is not suitable for our port class audio driver.
Thanks & cheers,
Hagen.
So... I've sent-off a query to a good buddy who's worked in this area... I'll let you know if I learn anything useful.
Peter
OSR
@OSRDrivers
Peter Viscarola
OSR
@OSRDrivers
I am also looking into the "Component-Level Performance State Management". I will update here on any findings.
Thanks & cheers,
Hagen.
You don't set your WDF_POWER_POLICY_IDLE_SETTINGS IdleTimeoutType to "SystemManagedIdleTimeout", right?
I'm just trying to eliminate the simple stuff,
Peter
OSR
@OSRDrivers
Peter Viscarola
OSR
@OSRDrivers
correct. I currently don't have any PoFx integration, as I need to understand what and more how it actually works.
Thanks & cheers,
Hagen.
I don't know why. I think this is a good and valuable question.
I haven't given up hope but...
Peter
OSR
@OSRDrivers
Peter Viscarola
OSR
@OSRDrivers
-- pa
<[email protected]> wrote:
> This is a good question, would like to see any update too. IIRC someone complained in this list about C states affecting his PCI serial controller...
>
Very interested in the issue for this reason, so thank you for
following up on this Peter.
Cheers,
R0b0t1