• Jouni Högander's avatar
    drm/i915/psr: Add continuous full frame bit together with single · 084aab04
    Jouni Högander authored
    Currently we are observing occasionally display flickering or complete
    freeze. This is narrowed down to be caused by single full frame update
    (SFF).
    
    SFF bit after it's written gets cleared by HW in subsequent vblank
    i.e. when the update is sent to the panel. SFF bit is required to be
    written together with partial frame update (PFU) bit. After the SFF
    bit gets cleared by the HW psr2 man trk ctl register still contains
    PFU bit. If there is subsequent update for any reason we will end up
    having selective update/fetch configuration where start line is 0 and
    end line is 0. Also selective fetch configuration for the planes is
    not properly performed. This seems to be causing problems with some
    panels.
    
    Using CFF without SFF doesn't work either because it may happen that
    psr2 man track ctl register is overwritten by next update before
    vblank triggers sending the update. This is causing problems to
    psr_invalidate/flush. Using CFF and SFF together solves the problems
    as SFF is cleared only by HW in subsequent vblank and the update gets
    sent.
    
    Fix the flickering/freeze issue by keeping CFF bit as set when PSR2 is
    enabled unless there is a properly configured selective update via
    atomic commit.
    
    v2:
     - Improve commit message and comments
     - No functional changes
    
    This is also workaround for HSD 14014971508
    
    Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
    Cc: José Roberto de Souza <jose.souza@intel.com>
    Cc: Mika Kahola <mika.kahola@intel.com>
    Reported-by: default avatarLee Shawn C <shawn.c.lee@intel.com>
    Signed-off-by: default avatarJouni Högander <jouni.hogander@intel.com>
    Tested-by: default avatarLee Shawn C <shawn.c.lee@intel.com>
    Signed-off-by: default avatarStanislav Lisovskiy <stanislav.lisovskiy@intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20221201072308.1905679-1-jouni.hogander@intel.com
    084aab04
intel_psr.c 78 KB