In the Linux kernel, the following vulnerability has been resolved:
drm/amd/display: Wake DMCUB before sending a command
[Why] We can hang in place trying to send commands when the DMCUB isn't powered on.
[How] For functions that execute within a DC context or DC lock we can wrap the direct calls to dmexecutedmub_cmd/list with code that exits idle power optimizations and reallows once we're done with the command submission on success.
For DM direct submissions the DM will need to manage the enter/exit sequencing manually.
We cannot invoke a DMCUB command directly within the DM execution helper or we can deadlock.