diff mbox series

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

Message ID 20250106094408.1011063-1-animesh.manna@intel.com (mailing list archive)
State New
Headers show
Series [v3] drm/i915/display: Adjust Added Wake Time with PKG_C_LATENCY | expand

Commit Message

Manna, Animesh Jan. 6, 2025, 9:44 a.m. UTC
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@intel.com>
Signed-off-by: Animesh Manna <animesh.manna@intel.com>
---
 drivers/gpu/drm/i915/display/skl_watermark.c | 13 ++++++++++---
 1 file changed, 10 insertions(+), 3 deletions(-)

Comments

Kandpal, Suraj Jan. 6, 2025, 1:24 p.m. UTC | #1
> -----Original Message-----
> From: Manna, Animesh <animesh.manna@intel.com>
> Sent: Monday, January 6, 2025 3:14 PM
> To: intel-gfx@lists.freedesktop.org; intel-xe@lists.freedesktop.org
> Cc: Manna, Animesh <animesh.manna@intel.com>; Kandpal, Suraj
> <suraj.kandpal@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@intel.com>
> Signed-off-by: Animesh Manna <animesh.manna@intel.com>

LGTM,
Reviewed-by: Suraj Kandpal <suraj.kandpal@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
Manna, Animesh Jan. 7, 2025, 9:55 a.m. UTC | #2
> -----Original Message-----
> From: Kandpal, Suraj <suraj.kandpal@intel.com>
> Sent: Monday, January 6, 2025 6:54 PM
> To: Manna, Animesh <animesh.manna@intel.com>; intel-
> gfx@lists.freedesktop.org; intel-xe@lists.freedesktop.org
> Subject: RE: [PATCH v3] drm/i915/display: Adjust Added Wake Time with
> PKG_C_LATENCY
> 
> 
> 
> > -----Original Message-----
> > From: Manna, Animesh <animesh.manna@intel.com>
> > Sent: Monday, January 6, 2025 3:14 PM
> > To: intel-gfx@lists.freedesktop.org; intel-xe@lists.freedesktop.org
> > Cc: Manna, Animesh <animesh.manna@intel.com>; Kandpal, Suraj
> > <suraj.kandpal@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@intel.com>
> > Signed-off-by: Animesh Manna <animesh.manna@intel.com>
> 
> LGTM,
> Reviewed-by: Suraj Kandpal <suraj.kandpal@intel.com>

Thanks Suraj for review, changes are pushed to din.

Regards,
Animesh
> 
> > ---
> >  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
diff mbox series

Patch

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;