drm/i915/display/psr: Clear more PSR state during disable
authorJosé Roberto de Souza <jose.souza@intel.com>
Thu, 14 Apr 2022 15:11:18 +0000 (08:11 -0700)
committerJosé Roberto de Souza <jose.souza@intel.com>
Tue, 19 Apr 2022 13:12:20 +0000 (06:12 -0700)
commitc837e027436df69d20474bd3fdea2c6b3971aa6f
tree8e8eb9310c6d7fb3c826eea3ca4ed4f7ee770fbd
parent554ae8dce1268789e72767a67f0635cb743b3cea
drm/i915/display/psr: Clear more PSR state during disable

After commit 805f04d42a6b ("drm/i915/display/psr: Use continuos full
frame to handle frontbuffer invalidations") was merged we started to
get some drm_WARN_ON(&dev_priv->drm, !(tmp & PSR2_MAN_TRK_CTL_ENABLE))
in tests that are executed in pipe B.

This is probably due psr2_sel_fetch_cff_enabled being left set during
PSR disable in the pipe A, so the PSR2_MAN_TRK_CTL write in
intel_psr2_program_trans_man_trk_ctl() is skipped in pipe B and then
we get the warning when actually enabling PSR after planes programing.
We don't get such warnings when running tests in pipe A because
PSR2_MAN_TRK_CTL is only cleared when enabling PSR2 with hardware
tracking.

Was not able to reproduce this issue but cleaning the PSR state
disable will not harm anything at all.

Fixes: 805f04d42a6b ("drm/i915/display/psr: Use continuos full frame to handle frontbuffer invalidations")
Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/5634
Cc: Jouni Högander <jouni.hogander@intel.com>
Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
Reviewed-by: Jouni Högander <jouni.hogander@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20220414151118.21980-2-jose.souza@intel.com
drivers/gpu/drm/i915/display/intel_psr.c