drm/i915/guc: Remove usage of the deprecated ida_simple_xx() API
authorChristophe JAILLET <christophe.jaillet@wanadoo.fr>
Sun, 14 Jan 2024 15:15:34 +0000 (16:15 +0100)
committerRodrigo Vivi <rodrigo.vivi@intel.com>
Sun, 14 Apr 2024 19:09:18 +0000 (15:09 -0400)
ida_alloc() and ida_free() should be preferred to the deprecated
ida_simple_get() and ida_simple_remove().

Note that the upper limit of ida_simple_get() is exclusive, but the one of
ida_alloc_range() is inclusive. So a -1 has been added when needed.

Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Reviewed-by: Matthew Brost <matthew.brost@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/7108c1871c6cb08d403c4fa6534bc7e6de4cb23d.1705245316.git.christophe.jaillet@wanadoo.fr
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c

index a2582dfd1a74a30cb3921aa4a2602b367cfbd2ee..5f12b2e6b5d18cf9097c589e76e132b626905af9 100644 (file)
@@ -2215,11 +2215,10 @@ static int new_guc_id(struct intel_guc *guc, struct intel_context *ce)
                                              order_base_2(ce->parallel.number_children
                                                           + 1));
        else
-               ret = ida_simple_get(&guc->submission_state.guc_ids,
-                                    NUMBER_MULTI_LRC_GUC_ID(guc),
-                                    guc->submission_state.num_guc_ids,
-                                    GFP_KERNEL | __GFP_RETRY_MAYFAIL |
-                                    __GFP_NOWARN);
+               ret = ida_alloc_range(&guc->submission_state.guc_ids,
+                                     NUMBER_MULTI_LRC_GUC_ID(guc),
+                                     guc->submission_state.num_guc_ids - 1,
+                                     GFP_KERNEL | __GFP_RETRY_MAYFAIL | __GFP_NOWARN);
        if (unlikely(ret < 0))
                return ret;
 
@@ -2242,8 +2241,8 @@ static void __release_guc_id(struct intel_guc *guc, struct intel_context *ce)
                                                           + 1));
                } else {
                        --guc->submission_state.guc_ids_in_use;
-                       ida_simple_remove(&guc->submission_state.guc_ids,
-                                         ce->guc_id.id);
+                       ida_free(&guc->submission_state.guc_ids,
+                                ce->guc_id.id);
                }
                clr_ctx_id_mapping(guc, ce->guc_id.id);
                set_context_guc_id_invalid(ce);