[PATCH v2 7/7] drm/xe/rtp: Simplify marking active workarounds
Lucas De Marchi
lucas.demarchi at intel.com
Fri Jul 26 17:02:51 UTC 2024
On Fri, Jul 26, 2024 at 01:46:11PM GMT, Gustavo Sousa wrote:
>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".
yeah, after the fix s/2/1/. I'm curious if something changed along the
way or if I hadn't enough coffee when I did that + 2 one year ago. I may
try some git/mailing-list digging to find out.
>
>:-)
>
>>
>>Signed-off-by: Lucas De Marchi <lucas.demarchi at intel.com>
>
>Reviewed-by: Gustavo Sousa <gustavo.sousa at intel.com>
thanks
Lucas De Marchi
>
>>---
>> 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