Commit 86fb07ff authored by Jouni Högander's avatar Jouni Högander Committed by Kamal Ap
Browse files

UPSTREAM: drm/i915/display: Evade scanline 0 as well if PSR1 or PSR2 is enabled



PIPEDSL is reading as 0 when in SRDENT(PSR1) or DEEP_SLEEP(PSR2). On
wake-up scanline counting starts from vblank_start - 1. We don't know if
wake-up is already ongoing when evasion starts. In worst case PIPEDSL could
start reading valid value right after checking the scanline. In this
scenario we wouldn't have enough time to write all registers. To tackle
this evade scanline 0 as well. As a drawback we have 1 frame delay in flip
when waking up.

v2:
  - use intel_dsb_emit_wait_dsl
  - add evasion of scanline 0 also for Panel Replay

Signed-off-by: default avatarJouni Högander <jouni.hogander@intel.com>
Reviewed-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20250213064804.2077127-11-jouni.hogander@intel.com


(cherry picked from commit 801d827d)

Bug: 432032023
Test: None
Change-Id: I3c544b2d0c62194ae016b6f9b5390546e647af18
Signed-off-by: default avatarAp, Kamal <kamal.ap@intel.corp-partner.google.com>
parent 3593bbad
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment