I can't immediately find it right now but isn't there some generic way of doing this in the runtime PM framework? If not it seems like it'd be a good thing to add, these can't be the only devices where it'd be useful.
Well, runtime PM can be fully controlled via sysfs, but the problem is that the driver declares itself being runtime-enabled. So, either we leave it default and let user-space enabling it (via udev or other way), or introduce some condition in the driver side.
I thought someone had added a command line parameter to do it based on dev_name(), perhaps they were just talking about it or it was in some BSP somewhere though.
If there is a better way I am all ears. It's indeed not very elegant to duplicate the same parameter for two different modules and it's not an SOF-specific need.
The only way I am aware of is to play with /sys/bus/pci/devices/xyz/power/ files but it's not very useful if you want to disable the initial runtime pm transition which is often the more problematic one. Completely removing runtime_pm support from all drivers at compile time is also not very good either.