[PATCH v2 7/7] drm/xe/rtp: Simplify marking active workarounds

Gustavo Sousa gustavo.sousa at intel.com
Fri Jul 26 16:46:11 UTC 2024


Quoting Lucas De Marchi (2024-07-26 03:43:37-03:00)
>Stop doing the calculation both in rtp_mark_active() and in its caller.
>The caller easily knows the number of entries to mark, so just pass it
>forward. That also simplifies rtp_mark_active() since now it doesn't
>have a special case when handling 1 entry.

By the way, the "first == last" case was not even necessary, since "x -
x + 1 = 1".

:-)

>
>Signed-off-by: Lucas De Marchi <lucas.demarchi at intel.com>

Reviewed-by: Gustavo Sousa <gustavo.sousa at intel.com>

>---
> drivers/gpu/drm/xe/xe_rtp.c | 14 +++++---------
> 1 file changed, 5 insertions(+), 9 deletions(-)
>
>diff --git a/drivers/gpu/drm/xe/xe_rtp.c b/drivers/gpu/drm/xe/xe_rtp.c
>index 1c641cc0f5a1..86727f34ca25 100644
>--- a/drivers/gpu/drm/xe/xe_rtp.c
>+++ b/drivers/gpu/drm/xe/xe_rtp.c
>@@ -221,18 +221,15 @@ EXPORT_SYMBOL_IF_KUNIT(xe_rtp_process_ctx_enable_active_tracking);
> 
> static void rtp_mark_active(struct xe_device *xe,
>                             struct xe_rtp_process_ctx *ctx,
>-                            unsigned int first, unsigned int last)
>+                            unsigned int first, unsigned int n_entries)
> {
>         if (!ctx->active_entries)
>                 return;
> 
>-        if (drm_WARN_ON(&xe->drm, last > ctx->n_entries))
>+        if (drm_WARN_ON(&xe->drm, first + n_entries > ctx->n_entries))
>                 return;
> 
>-        if (first == last)
>-                bitmap_set(ctx->active_entries, first, 1);
>-        else
>-                bitmap_set(ctx->active_entries, first, last - first + 1);
>+        bitmap_set(ctx->active_entries, first, n_entries);
> }
> 
> /**
>@@ -277,8 +274,7 @@ void xe_rtp_process_to_sr(struct xe_rtp_process_ctx *ctx,
>                 }
> 
>                 if (match)
>-                        rtp_mark_active(xe, ctx, entry - entries,
>-                                        entry - entries);
>+                        rtp_mark_active(xe, ctx, entry - entries, 1);
>         }
> }
> EXPORT_SYMBOL_IF_KUNIT(xe_rtp_process_to_sr);
>@@ -324,7 +320,7 @@ void xe_rtp_process(struct xe_rtp_process_ctx *ctx,
>                 entry--;
> 
>                 rtp_mark_active(xe, ctx, first_entry - entries,
>-                                entry - entries);
>+                                entry - first_entry + 1);
>         }
> }
> EXPORT_SYMBOL_IF_KUNIT(xe_rtp_process);
>-- 
>2.43.0
>


More information about the Intel-xe mailing list