]> www.infradead.org Git - users/hch/configfs.git/commitdiff
drm/xe/rtp: Simplify marking active workarounds
authorLucas De Marchi <lucas.demarchi@intel.com>
Sat, 27 Jul 2024 01:59:05 +0000 (18:59 -0700)
committerLucas De Marchi <lucas.demarchi@intel.com>
Mon, 29 Jul 2024 18:19:40 +0000 (11:19 -0700)
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.

Reviewed-by: Gustavo Sousa <gustavo.sousa@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240727015907.899192-7-lucas.demarchi@intel.com
Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
drivers/gpu/drm/xe/xe_rtp.c

index 1c641cc0f5a15e9b7fcf69faf14bc4112a53ed59..86727f34ca257d5fa84b2e445ae86891f5621651 100644 (file)
@@ -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);