> Should the dc_lock block and dc_exit_ips_for_hw_access() in that branch > be skipped when new_state->stream is NULL?
Thanks. I can't test this, since my laptop is DCN 2.1 and has no IPS. Reading the code, though, I agree: with this patch, disabling a CRTC that has VRR on goes through the VRR-off branch, and that branch calls dc_exit_ips_for_hw_access(). When it was the last display, that undoes the IPS allow that amdgpu_dm_commit_streams() made just before. v2 will skip the PSR, Replay and IPS step when the CRTC has no stream, with a KUnit test that counts the IPS calls. I'll wait a few days for other comments before sending it. A Tested-by from anyone with DCN 3.5 hardware would be welcome.
