Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

drm/sis: use idr_init_base() to initialize dev_priv->object_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/20220701185303.284082-8-dakr@redhat.com

authored by

Danilo Krummrich and committed by
Maxime Ripard
bf8afc20 1d4f70a6

+1 -1
+1 -1
drivers/gpu/drm/sis/sis_drv.c
··· 50 50 if (dev_priv == NULL) 51 51 return -ENOMEM; 52 52 53 - idr_init(&dev_priv->object_idr); 53 + idr_init_base(&dev_priv->object_idr, 1); 54 54 dev->dev_private = (void *)dev_priv; 55 55 dev_priv->chipset = chipset; 56 56