]> git.proxmox.com Git - mirror_ubuntu-hirsute-kernel.git/commit - drivers/gpu/drm/i915/display/intel_psr.c
drm/i915: Force PSR1 exit when getting pipe CRC
authorJosé Roberto de Souza <jose.souza@intel.com>
Fri, 8 Mar 2019 00:00:49 +0000 (16:00 -0800)
committerJosé Roberto de Souza <jose.souza@intel.com>
Fri, 8 Mar 2019 18:33:56 +0000 (10:33 -0800)
commit88e05aff355e340864df4bd005fa5095a6452090
tree93400b5c13db4072ea431a5d6b9802e241616b25
parent9f952664e38cb5261f38089527cab6ea53651f02
drm/i915: Force PSR1 exit when getting pipe CRC

If PSR1 is active when pipe CRC is enabled the CRC calculations will
be inhibit by the transition to low power states that PSR1 brings.
So lets force a PSR1 exit and as soon as pipe CRC is enabled it will
block PSR1 activation and avoid CRC timeouts when running IGT tests.

There is a little window between the call to force exit PSR and the
write to pipe CRC registers that needs to happen within the minimum
of 6 idles frames otherwise PSR1 will be active again causing the CRC
timeouts but anyways this will at least reduce the occurrence of CRC
timeouts.

This can possibily fix issues present right now but I did not found
any open, I mostly got this issue from previous CI runs of this
series, bellow some exambles:

* igt@kms_color@pipe-b-ctm-0-75:
- shard-apl:          PASS -> FAIL +9

* igt@kms_cursor_legacy@flip-vs-cursor-busy-crc-legacy:
- shard-apl:          PASS -> DMESG-FAIL +17

* igt@kms_frontbuffer_tracking@fbc-1p-primscrn-indfb-pgflip-blt:
- shard-kbl:          PASS -> DMESG-FAIL +12

* igt@kms_pipe_crc_basic@read-crc-pipe-c:
- shard-kbl:          PASS -> FAIL +7

v6: s/PSR/PSR1 (Dhinakaran)

Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Reviewed-by: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com>
Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20190308000050.6226-8-jose.souza@intel.com
drivers/gpu/drm/i915/intel_psr.c