[PATCH] drm/xe/guc: Remove usage of the deprecated ida_simple_xx() API

Christophe JAILLET christophe.jaillet at wanadoo.fr
Tue Feb 20 18:58:32 UTC 2024


Le 14/01/2024 à 16:09, Christophe JAILLET a écrit :
> 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_max() is inclusive. So a -1 has been added when needed.
> 
> Signed-off-by: Christophe JAILLET <christophe.jaillet at wanadoo.fr>
> ---
>   drivers/gpu/drm/xe/xe_guc_submit.c | 6 +++---
>   1 file changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/gpu/drm/xe/xe_guc_submit.c b/drivers/gpu/drm/xe/xe_guc_submit.c
> index 21ac68e3246f..11ffacd1dd58 100644
> --- a/drivers/gpu/drm/xe/xe_guc_submit.c
> +++ b/drivers/gpu/drm/xe/xe_guc_submit.c
> @@ -311,7 +311,7 @@ static void __release_guc_id(struct xe_guc *guc, struct xe_exec_queue *q, u32 xa
>   				      q->guc->id - GUC_ID_START_MLRC,
>   				      order_base_2(q->width));
>   	else
> -		ida_simple_remove(&guc->submission_state.guc_ids, q->guc->id);
> +		ida_free(&guc->submission_state.guc_ids, q->guc->id);
>   }
>   
>   static int alloc_guc_id(struct xe_guc *guc, struct xe_exec_queue *q)
> @@ -335,8 +335,8 @@ static int alloc_guc_id(struct xe_guc *guc, struct xe_exec_queue *q)
>   		ret = bitmap_find_free_region(bitmap, GUC_ID_NUMBER_MLRC,
>   					      order_base_2(q->width));
>   	} else {
> -		ret = ida_simple_get(&guc->submission_state.guc_ids, 0,
> -				     GUC_ID_NUMBER_SLRC, GFP_NOWAIT);
> +		ret = ida_alloc_max(&guc->submission_state.guc_ids,
> +				    GUC_ID_NUMBER_SLRC - 1, GFP_NOWAIT);
>   	}
>   	if (ret < 0)
>   		return ret;

Hi,

gentle reminder.

All patches to remove the ida_simple API have been sent.
And Matthew Wilcox seems happy with the on going work. (see [1])

Based on next-20240220
$git grep ida_simple_get | wc -l
36

https://elixir.bootlin.com/linux/v6.8-rc3/A/ident/ida_simple_get
50

https://elixir.bootlin.com/linux/v6.7.4/A/ident/ida_simple_get
81

Thanks
CJ

[1]: https://lore.kernel.org/all/ZaqruGVz734zjxrZ@casper.infradead.org/


More information about the dri-devel mailing list