The PKG_C_LATENCY Added Wake Time field is not working. When added wake time is needed, such as for flip queue DSB execution, increase the PKG_C_LATENCY Pkg C Latency field by the added wake time. WA: 22020432604 v1: Initial version. v2: Rebase and cosmetic changes. Cc: Suraj Kandpal <suraj.kandpal@xxxxxxxxx> Signed-off-by: Animesh Manna <animesh.manna@xxxxxxxxx> --- drivers/gpu/drm/i915/display/skl_watermark.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/drivers/gpu/drm/i915/display/skl_watermark.c b/drivers/gpu/drm/i915/display/skl_watermark.c index d93f6786db0e..f6f7205e06eb 100644 --- a/drivers/gpu/drm/i915/display/skl_watermark.c +++ b/drivers/gpu/drm/i915/display/skl_watermark.c @@ -2894,6 +2894,12 @@ intel_program_dpkgc_latency(struct intel_atomic_state *state) display->sagv.block_time_us; } + /* Wa_22020432604 */ + if (DISPLAY_VER(i915) == 30) { + latency += added_wake_time; + added_wake_time = 0; + } + clear = LNL_ADDED_WAKE_TIME_MASK | LNL_PKG_C_LATENCY_MASK; val = REG_FIELD_PREP(LNL_PKG_C_LATENCY_MASK, latency) | REG_FIELD_PREP(LNL_ADDED_WAKE_TIME_MASK, added_wake_time); -- 2.29.0