I've been hitting a problem on the laptop I used as my desktop for the last while, and I finally has the inspiration to track it down this morning at 5am.
The problem is when nouveau goes into runtime pm suspend, and fwupd hits the /dev/drm_dp_aux* nothing wakes up nouveau, we get to sending a message to GSP and it times out and I get an oops and things fail. Now the question I have is what do we want to do in this situation, do we really want to restore power to the GPU because fwupd is probing possibly attached docks, or whatever. Like do we want to integrate the drm_dp_aux stuff into the power domains properly so we can have a proper hierarchy so it wakes up the parent device when it gets used, or do we just want to return -EBUSY from the driver when the device is dynamically off. I'll probably submit a patch doing the latter when I get to writing it and test it on my laptop. Regards, Dave.
