• Ville Syrjälä's avatar
    drm/i915/psr: Only allow PSR in LPSP mode on HSW non-ULT · 94501c3c
    Ville Syrjälä authored
    On HSW non-ULT (or at least on Dell Latitude E6540) external displays
    start to flicker when we enable PSR on the eDP. We observe a much higher
    SR and PC6 residency than should be possible with an external display,
    and indeen much higher than what we observe with eDP disabled and
    only the external display enabled. Looks like the hardware is somehow
    ignoring the fact that the external display is active during PSR.
    
    I wasn't able to redproduce this on my HSW ULT machine, or BDW.
    So either there's something specific about this particular laptop
    (eg. some unknown firmware thing) or the issue is limited to just
    non-ULT HSW systems. All known registers that could affect this
    look perfectly reasonable on the affected machine.
    
    As a workaround let's unmask the LPSP event to prevent PSR entry
    except while in LPSP mode (only pipe A + eDP active). This
    will prevent PSR entry entirely when multiple pipes are active.
    The one slight downside is that we now also prevent PSR entry
    when driving eDP with pipe B or C, but I think that's a reasonable
    tradeoff to avoid having to implement a more complex workaround.
    
    Cc: stable@vger.kernel.org
    Fixes: 783d8b80 ("drm/i915/psr: Re-enable PSR1 on hsw/bdw")
    Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/10092Signed-off-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20240118212131.31868-1-ville.syrjala@linux.intel.comReviewed-by: default avatarJouni Högander <jouni.hogander@intel.com>
    94501c3c
intel_psr.c 101 KB