drm/i915/perf: replace idr_init() by idr_init_base()
authorDeepak R Varma <mh12gx2825@gmail.com>
Wed, 4 Nov 2020 15:03:39 +0000 (20:33 +0530)
committerChris Wilson <chris@chris-wilson.co.uk>
Sat, 28 Nov 2020 22:43:10 +0000 (22:43 +0000)
idr_init() uses base 0 which is an invalid identifier. The new function
idr_init_base allows IDR to set the ID lookup from base 1. This avoids
all lookups that otherwise starts from 0 since 0 is always unused.

References: commit 6ce711f27500 ("idr: Make 1-based IDRs more efficient")

Signed-off-by: Deepak R Varma <mh12gx2825@gmail.com>
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Link: https://patchwork.freedesktop.org/patch/msgid/20201104150339.GA68663@localhost
drivers/gpu/drm/i915/i915_perf.c

index e949769..2d03325 100644 (file)
@@ -4367,7 +4367,7 @@ void i915_perf_init(struct drm_i915_private *i915)
                        RUNTIME_INFO(i915)->cs_timestamp_frequency_hz / 2;
 
                mutex_init(&perf->metrics_lock);
-               idr_init(&perf->metrics_idr);
+               idr_init_base(&perf->metrics_idr, 1);
 
                /* We set up some ratelimit state to potentially throttle any
                 * _NOTES about spurious, invalid OA reports which we don't