We have a PCIe audio card driver which is WDM driver and we want to add support of thermal management in our driver. The issue is when audio cards are connected to systems and the temperature goes up then system fan speed gets increased. When we remove our cards from the system then this issue is not observed.
As per the documentation here Thermal Management Implementation - Windows drivers | Microsoft Learn , we have handled IRP_MJ_QUERY_INTERFACE request and returning required information. As our audio card device does not have temperature sensor, we are interested in handling passive cooling only. The issue we are facing is, after implementing the code as per documentation we are not seeing IRP_MJ_QUERY_INTERFACE request coming to our driver for GUID_THERMAL_COOLING_INTERFACE interface.
So we are unclear whether Windows expects a PCIe device to expose the thermal cooling interface, and if yes, under what conditions it is queried. Please help me in understanding this.
The issue is when audio cards are connected to systems and the temperature goes up then system fan speed gets increased. When we remove our cards from the system then this issue is not observed.
I can’t help a drive-by tangent: You’ve verified this is a software issue and not simply because of thermal dynamics: The audio card is impeding airflow?
If your device is capable of adjusting its own performance based on the temperature of its own components, and that is a capability that you want to expose to Windows (as opposed to something you want your firmware or driver to fully manage), then you can implement this interface and expose that ability to Windows
If the problem is that other devices are overheating / throttling their performance, then there isn’t a driver / software solution that you can implement. You device should conform to the physical limits of the PCIe (I assume) form factor. Size, power consumption, heat dissipation etc. If it does, and other cards in the same system still have problems, then you will have to look at other hardware level solutions