drm: use idr_init_base() to initialize mode_config.tile_idr
authorDanilo Krummrich <dakr@redhat.com>
Fri, 1 Jul 2022 18:52:59 +0000 (20:52 +0200)
committerMaxime Ripard <maxime@cerno.tech>
Thu, 28 Jul 2022 14:35:56 +0000 (15:35 +0100)
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-7-dakr@redhat.com
drivers/gpu/drm/drm_mode_config.c

index 6d832277aa73551505b043534f2f749f9113cb88..688c8afe0bf174af2430659b5c3b49ef825c0dc3 100644 (file)
@@ -413,7 +413,7 @@ int drmm_mode_config_init(struct drm_device *dev)
        INIT_LIST_HEAD(&dev->mode_config.plane_list);
        INIT_LIST_HEAD(&dev->mode_config.privobj_list);
        idr_init_base(&dev->mode_config.object_idr, 1);
-       idr_init(&dev->mode_config.tile_idr);
+       idr_init_base(&dev->mode_config.tile_idr, 1);
        ida_init(&dev->mode_config.connector_ida);
        spin_lock_init(&dev->mode_config.connector_list_lock);