• José Roberto de Souza's avatar
    drm/i915: Force PSR1 exit when getting pipe CRC · 88e05aff
    José Roberto de Souza authored
    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: default avatarDhinakaran Pandiyan <dhinakaran.pandiyan@intel.com>
    Signed-off-by: default avatarJosé Roberto de Souza <jose.souza@intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20190308000050.6226-8-jose.souza@intel.com
    88e05aff
intel_psr.c 36.9 KB