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

2024-04-14 Thread Matthew Brost
On Sun, Apr 14, 2024 at 10:26:35AM +0200, Christophe JAILLET wrote:
> Le 25/01/2024 à 01:04, Matthew Brost a écrit :
> > On Sun, Jan 14, 2024 at 04:15:34PM +0100, Christophe JAILLET wrote:
> > > 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 
> > 
> > Reviewed-by: Matthew Brost 
> 
> Hi,
> 
> polite reminder ;-)
> 

Merged. Thanks for the patch.

Matt

> CJ
> 
> > 
> > > ---
> > >   drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c | 13 ++---
> > >   1 file changed, 6 insertions(+), 7 deletions(-)
> > > 
> > > diff --git a/drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c 
> > > b/drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c
> > > index a259f1118c5a..73ce21ddf682 100644
> > > --- a/drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c
> > > +++ b/drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c
> > > @@ -2156,11 +2156,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;
> > > @@ -2183,8 +2182,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);
> > > -- 
> > > 2.43.0
> > > 
> > 
> > 
> 


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

2024-04-14 Thread Christophe JAILLET

Le 25/01/2024 à 01:04, Matthew Brost a écrit :

On Sun, Jan 14, 2024 at 04:15:34PM +0100, Christophe JAILLET wrote:

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 


Reviewed-by: Matthew Brost 


Hi,

polite reminder ;-)

CJ




---
  drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c | 13 ++---
  1 file changed, 6 insertions(+), 7 deletions(-)

diff --git a/drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c 
b/drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c
index a259f1118c5a..73ce21ddf682 100644
--- a/drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c
+++ b/drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c
@@ -2156,11 +2156,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;
  
@@ -2183,8 +2182,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);
--
2.43.0








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

2024-01-24 Thread Matthew Brost
On Sun, Jan 14, 2024 at 04:15:34PM +0100, Christophe JAILLET wrote:
> 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 

Reviewed-by: Matthew Brost 

> ---
>  drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c | 13 ++---
>  1 file changed, 6 insertions(+), 7 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c 
> b/drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c
> index a259f1118c5a..73ce21ddf682 100644
> --- a/drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c
> +++ b/drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c
> @@ -2156,11 +2156,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;
>  
> @@ -2183,8 +2182,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);
> -- 
> 2.43.0
> 


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

2024-01-14 Thread Christophe JAILLET
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 
---
 drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c | 13 ++---
 1 file changed, 6 insertions(+), 7 deletions(-)

diff --git a/drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c 
b/drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c
index a259f1118c5a..73ce21ddf682 100644
--- a/drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c
+++ b/drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c
@@ -2156,11 +2156,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;
 
@@ -2183,8 +2182,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);
-- 
2.43.0