From: Animesh Manna Date: Mon, 6 Jan 2025 09:44:08 +0000 (+0530) Subject: drm/i915/display: Adjust Added Wake Time with PKG_C_LATENCY X-Git-Tag: block-6.14-20240131~40^2~8^2~21 X-Git-Url: https://git.kernel.dk/?a=commitdiff_plain;h=baad97ed29be7280aca21ae6ea5d482983336e15;p=linux-block.git drm/i915/display: Adjust Added Wake Time with PKG_C_LATENCY Increase the PKG_C_LATENCY Pkg C Latency field by the added wake time. v1: Initial version. v2: Rebase and cosmetic changes. v3: - Place latency adjustment early to accommodate round-up. [Suraj] - Modify commit description and cosmetic change. [Suraj] WA: 22020432604 Cc: Suraj Kandpal Signed-off-by: Animesh Manna Reviewed-by: Suraj Kandpal Link: https://patchwork.freedesktop.org/patch/msgid/20250106094408.1011063-1-animesh.manna@intel.com --- diff --git a/drivers/gpu/drm/i915/display/skl_watermark.c b/drivers/gpu/drm/i915/display/skl_watermark.c index 29e8ea91c858..407af5b9f1dc 100644 --- a/drivers/gpu/drm/i915/display/skl_watermark.c +++ b/drivers/gpu/drm/i915/display/skl_watermark.c @@ -2939,7 +2939,17 @@ intel_program_dpkgc_latency(struct intel_atomic_state *state) } if (fixed_refresh_rate) { + added_wake_time = DSB_EXE_TIME + + display->sagv.block_time_us; + latency = skl_watermark_max_latency(i915, 1); + + /* Wa_22020432604 */ + if ((DISPLAY_VER(display) == 20 || DISPLAY_VER(display) == 30) && !latency) { + latency += added_wake_time; + added_wake_time = 0; + } + /* Wa_22020299601 */ if ((latency && max_linetime) && (DISPLAY_VER(display) == 20 || DISPLAY_VER(display) == 30)) { @@ -2947,9 +2957,6 @@ intel_program_dpkgc_latency(struct intel_atomic_state *state) } else if (!latency) { latency = LNL_PKG_C_LATENCY_MASK; } - - added_wake_time = DSB_EXE_TIME + - display->sagv.block_time_us; } clear = LNL_ADDED_WAKE_TIME_MASK | LNL_PKG_C_LATENCY_MASK;