Re: [Intel-gfx] [PATCH v2 4/8] drm/i915: Reject excessive SAGV block time

2022-03-16 Thread Lisovskiy, Stanislav
On Wed, Mar 09, 2022 at 06:49:44PM +0200, Ville Syrjala wrote:
> From: Ville Syrjälä 
> 
> If the mailbox returns an exceesively large SAGV block time let's just
> reject it. This avoids having to worry about overflows when we add the
> SAGV block time to the wm0 latency.
> 
> We shall put the limit arbitrarily at U16_MAX. >65msec latency
> doesn't really make sense to me in any case.
> 
> Signed-off-by: Ville Syrjälä 

Reviewed-by: Stanislav Lisovskiy 

> ---
>  drivers/gpu/drm/i915/intel_pm.c | 6 ++
>  1 file changed, 6 insertions(+)
> 
> diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c
> index 36f5bccabf64..166246fa27e4 100644
> --- a/drivers/gpu/drm/i915/intel_pm.c
> +++ b/drivers/gpu/drm/i915/intel_pm.c
> @@ -3716,6 +3716,12 @@ static void intel_sagv_init(struct drm_i915_private 
> *i915)
>   drm_dbg_kms(>drm, "SAGV supported: %s, original SAGV block time: 
> %u us\n",
>   str_yes_no(intel_has_sagv(i915)), i915->sagv_block_time_us);
>  
> + /* avoid overflow when adding with wm0 latency/etc. */
> + if (drm_WARN(>drm, i915->sagv_block_time_us > U16_MAX,
> +  "Excessive SAGV block time %u, ignoring\n",
> +  i915->sagv_block_time_us))
> + i915->sagv_block_time_us = 0;
> +
>   if (!intel_has_sagv(i915))
>   i915->sagv_block_time_us = 0;
>  }
> -- 
> 2.34.1
> 


[Intel-gfx] [PATCH v2 4/8] drm/i915: Reject excessive SAGV block time

2022-03-09 Thread Ville Syrjala
From: Ville Syrjälä 

If the mailbox returns an exceesively large SAGV block time let's just
reject it. This avoids having to worry about overflows when we add the
SAGV block time to the wm0 latency.

We shall put the limit arbitrarily at U16_MAX. >65msec latency
doesn't really make sense to me in any case.

Signed-off-by: Ville Syrjälä 
---
 drivers/gpu/drm/i915/intel_pm.c | 6 ++
 1 file changed, 6 insertions(+)

diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c
index 36f5bccabf64..166246fa27e4 100644
--- a/drivers/gpu/drm/i915/intel_pm.c
+++ b/drivers/gpu/drm/i915/intel_pm.c
@@ -3716,6 +3716,12 @@ static void intel_sagv_init(struct drm_i915_private 
*i915)
drm_dbg_kms(>drm, "SAGV supported: %s, original SAGV block time: 
%u us\n",
str_yes_no(intel_has_sagv(i915)), i915->sagv_block_time_us);
 
+   /* avoid overflow when adding with wm0 latency/etc. */
+   if (drm_WARN(>drm, i915->sagv_block_time_us > U16_MAX,
+"Excessive SAGV block time %u, ignoring\n",
+i915->sagv_block_time_us))
+   i915->sagv_block_time_us = 0;
+
if (!intel_has_sagv(i915))
i915->sagv_block_time_us = 0;
 }
-- 
2.34.1