[PATCH v3] drm/i915/display: Adjust Added Wake Time with PKG_C_LATENCY

Kandpal, Suraj suraj.kandpal at intel.com
Mon Jan 6 13:24:29 UTC 2025



> -----Original Message-----
> From: Manna, Animesh <animesh.manna at intel.com>
> Sent: Monday, January 6, 2025 3:14 PM
> To: intel-gfx at lists.freedesktop.org; intel-xe at lists.freedesktop.org
> Cc: Manna, Animesh <animesh.manna at intel.com>; Kandpal, Suraj
> <suraj.kandpal at intel.com>
> Subject: [PATCH v3] 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 accomodate round-up. [Suraj]
> - Modify commit description and cosmetic change. [Suraj]
> 
> WA: 22020432604
> Cc: Suraj Kandpal <suraj.kandpal at intel.com>
> Signed-off-by: Animesh Manna <animesh.manna at intel.com>

LGTM,
Reviewed-by: Suraj Kandpal <suraj.kandpal at intel.com>

> ---
>  drivers/gpu/drm/i915/display/skl_watermark.c | 13 ++++++++++---
>  1 file 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;
> --
> 2.29.0



More information about the Intel-gfx mailing list