• Rodrigo Vivi's avatar
    drm/i915: PSR: Flush means invalidate + flush · 169de131
    Rodrigo Vivi authored
    Since flush actually means invalidate + flush we need to force psr
    exit on PSR flush.
    
    On Core platforms there is no way to disable hw tracking and
    do the pure sw tracking so we simulate it by fully disable psr and
    reschedule a enable back.
    So a good idea is to minimize sequential disable/enable in cases we
    know that HW tracking like when flush has been originated by a flip.
    Also flip had just invalidated it already.
    
    It also uses origin to minimize the a bit the amount of
    disable/enabled, mainly when flip already had invalidated.
    
    With this patch in place it is possible to do a flush on dirty areas
    properly in a following patch.
    
    v2: Remove duplicated exit on HSW+Sprites as pointed out by Paulo.
    
    Cc: Paulo Zanoni <paulo.r.zanoni@intel.com>
    Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
    Signed-off-by: default avatarRodrigo Vivi <rodrigo.vivi@intel.com>
    Reviewed-by: default avatarPaulo Zanoni <paulo.r.zanoni@intel.com>
    Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
    169de131
intel_frontbuffer.c 8.74 KB