diff options
author | Animesh Manna <animesh.manna@intel.com> | 2025-01-06 15:14:08 +0530 |
---|---|---|
committer | Animesh Manna <animesh.manna@intel.com> | 2025-01-07 14:02:41 +0530 |
commit | baad97ed29be7280aca21ae6ea5d482983336e15 (patch) | |
tree | 1c2aa11e79aceb3f3f58f896bd16f96a455129f0 /drivers/gpu/drm/i915 | |
parent | 939bc3e4d996ba2eebc5a9d8a8cf785cd17b1f93 (diff) |
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 <suraj.kandpal@intel.com>
Signed-off-by: Animesh Manna <animesh.manna@intel.com>
Reviewed-by: Suraj Kandpal <suraj.kandpal@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20250106094408.1011063-1-animesh.manna@intel.com
Diffstat (limited to 'drivers/gpu/drm/i915')
-rw-r--r-- | drivers/gpu/drm/i915/display/skl_watermark.c | 13 |
1 files changed, 10 insertions, 3 deletions
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; |