> 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.

Reply via email to