aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDanilo Krummrich <dakr@redhat.com>2022-07-01 21:02:25 +0200
committerMaxime Ripard <maxime@cerno.tech>2022-07-28 15:35:56 +0100
commit604bda63bf939d6f5afef0b20d7ddee3abd27852 (patch)
treef96cce11556939ae3742ad7fa12f53fdeab05ae5
parentdrm/sis: use idr_init_base() to initialize dev_priv->object_idr (diff)
downloadlinux-dev-604bda63bf939d6f5afef0b20d7ddee3abd27852.tar.xz
linux-dev-604bda63bf939d6f5afef0b20d7ddee3abd27852.zip
drm/v3d: use idr_init_base() to initialize v3d_priv->perfmon.idr
idr_init_base(), implemented by commit 6ce711f27500 ("idr: Make 1-based IDRs more efficient"), let us set an arbitrary base other than idr_init(), which uses base 0. Since, for this IDR, no ID < 1 is ever requested/allocated, using idr_init_base(&idr, 1) avoids unnecessary tree walks. Signed-off-by: Danilo Krummrich <dakr@redhat.com> Signed-off-by: Maxime Ripard <maxime@cerno.tech> Link: https://lore.kernel.org/r/20220701190227.284783-1-dakr@redhat.com
-rw-r--r--drivers/gpu/drm/v3d/v3d_perfmon.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/gpu/drm/v3d/v3d_perfmon.c b/drivers/gpu/drm/v3d/v3d_perfmon.c
index f6a88abccc7d..48aaaa972c49 100644
--- a/drivers/gpu/drm/v3d/v3d_perfmon.c
+++ b/drivers/gpu/drm/v3d/v3d_perfmon.c
@@ -95,7 +95,7 @@ struct v3d_perfmon *v3d_perfmon_find(struct v3d_file_priv *v3d_priv, int id)
void v3d_perfmon_open_file(struct v3d_file_priv *v3d_priv)
{
mutex_init(&v3d_priv->perfmon.lock);
- idr_init(&v3d_priv->perfmon.idr);
+ idr_init_base(&v3d_priv->perfmon.idr, 1);
}
static int v3d_perfmon_idr_del(int id, void *elem, void *data)