• Rodrigo Vivi's avatar
    drm/i915/psr: Use more PSR HW tracking. · 5baf63cc
    Rodrigo Vivi authored
    So far we are using frontbuffer tracking for everything
    and ignoring that PSR has a HW capable HW tracking for many
    modern usages of GPU on Core platforms and newer Atom ones.
    
    One reason for that is that we were trying to keep same
    infrastructure in place for VLV/CHV than the rest of platforms.
    But also because when this infrastructure was created
    the front-buffer-tracking origin wasn't that good and stable
    how it is today after Paulo reworked it to attend FBC cases.
    
    However this PSR implementation without HW tracking died
    on gen8LP. And newer platforms are starting to demand more HW
    tracking specially with PSR2 cases in mind.
    
    By disabling and re-enabling PSR totally every time we believe
    someone is going to change the front buffer content we don't
    allow PSR HW tracking to do this job and specially compromising
    the whole idea of PSR2 case where the HW tracking detect only
    the damaged area and do a partial screen update.
    
    So, from now on, on the platforms that has hw_tracking let's
    rely more on HW tracking.
    
    This also is the case in used by other drivers and more validated
    by SV teams. So I hope that this will lead us to less misterious
    bugs.
    
    v2: Only do this for platform that actually has hw tracking.
    
    v3 from DK
    Do this only for flips, small gradual changes are better.
    
    Cc: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com>
    Cc: Jim Bride <jim.bride@linux.intel.com>
    Cc: Vathsala Nagaraju <vathsala.nagaraju@intel.com>
    Signed-off-by: default avatarRodrigo Vivi <rodrigo.vivi@intel.com>
    Signed-off-by: default avatarDhinakaran Pandiyan <dhinakaran.pandiyan@intel.com>
    Reviewed-by: default avatarJose Roberto de Souza <jose.souza@intel.com>
    Signed-off-by: default avatarRodrigo Vivi <rodrigo.vivi@intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20180307033420.3086-3-dhinakaran.pandiyan@intel.com
    5baf63cc
intel_psr.c 34.3 KB