AMD-GFX Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v1] drm/amdgpu/userq: change queue id type to u32 from int
@ 2026-02-26  7:42 Sunil Khatri
  2026-02-26 15:00 ` Alex Deucher
  0 siblings, 1 reply; 4+ messages in thread
From: Sunil Khatri @ 2026-02-26  7:42 UTC (permalink / raw)
  To: Alex Deucher, Christian König; +Cc: amd-gfx, Sunil Khatri

queue id always remain a positive value and should
be of type unsigned.

With this we also dont need to typecast the id to other
types specially in xarray functions.

Signed-off-by: Sunil Khatri <sunil.khatri@amd.com>
---
 drivers/gpu/drm/amd/amdgpu/amdgpu_userq.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_userq.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_userq.c
index b700c2b91465..e07b2082cf25 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_userq.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_userq.c
@@ -447,7 +447,7 @@ static int amdgpu_userq_wait_for_last_fence(struct amdgpu_usermode_queue *queue)
 }
 
 static void amdgpu_userq_cleanup(struct amdgpu_usermode_queue *queue,
-				 int queue_id)
+				 u32 queue_id)
 {
 	struct amdgpu_userq_mgr *uq_mgr = queue->userq_mgr;
 	struct amdgpu_device *adev = uq_mgr->adev;
@@ -461,7 +461,7 @@ static void amdgpu_userq_cleanup(struct amdgpu_usermode_queue *queue,
 	uq_funcs->mqd_destroy(queue);
 	amdgpu_userq_fence_driver_free(queue);
 	/* Use interrupt-safe locking since IRQ handlers may access these XArrays */
-	xa_erase_irq(&uq_mgr->userq_xa, (unsigned long)queue_id);
+	xa_erase_irq(&uq_mgr->userq_xa, queue_id);
 	xa_erase_irq(&adev->userq_doorbell_xa, queue->doorbell_index);
 	queue->userq_mgr = NULL;
 	list_del(&queue->userq_va_list);
@@ -471,7 +471,7 @@ static void amdgpu_userq_cleanup(struct amdgpu_usermode_queue *queue,
 }
 
 static struct amdgpu_usermode_queue *
-amdgpu_userq_find(struct amdgpu_userq_mgr *uq_mgr, int qid)
+amdgpu_userq_find(struct amdgpu_userq_mgr *uq_mgr, u32 qid)
 {
 	return xa_load(&uq_mgr->userq_xa, qid);
 }
@@ -625,7 +625,7 @@ amdgpu_userq_get_doorbell_index(struct amdgpu_userq_mgr *uq_mgr,
 }
 
 static int
-amdgpu_userq_destroy(struct drm_file *filp, int queue_id)
+amdgpu_userq_destroy(struct drm_file *filp, u32 queue_id)
 {
 	struct amdgpu_fpriv *fpriv = filp->driver_priv;
 	struct amdgpu_userq_mgr *uq_mgr = &fpriv->userq_mgr;
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH v1] drm/amdgpu/userq: change queue id type to u32 from int
  2026-02-26  7:42 [PATCH v1] drm/amdgpu/userq: change queue id type to u32 from int Sunil Khatri
@ 2026-02-26 15:00 ` Alex Deucher
  2026-02-26 15:05   ` Khatri, Sunil
  0 siblings, 1 reply; 4+ messages in thread
From: Alex Deucher @ 2026-02-26 15:00 UTC (permalink / raw)
  To: Sunil Khatri; +Cc: Alex Deucher, Christian König, amd-gfx

On Thu, Feb 26, 2026 at 2:42 AM Sunil Khatri <sunil.khatri@amd.com> wrote:
>
> queue id always remain a positive value and should
> be of type unsigned.

Does it need to be a u32 or can you just use an unsigned int?

Alex

>
> With this we also dont need to typecast the id to other
> types specially in xarray functions.
>
> Signed-off-by: Sunil Khatri <sunil.khatri@amd.com>
> ---
>  drivers/gpu/drm/amd/amdgpu/amdgpu_userq.c | 8 ++++----
>  1 file changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_userq.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_userq.c
> index b700c2b91465..e07b2082cf25 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_userq.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_userq.c
> @@ -447,7 +447,7 @@ static int amdgpu_userq_wait_for_last_fence(struct amdgpu_usermode_queue *queue)
>  }
>
>  static void amdgpu_userq_cleanup(struct amdgpu_usermode_queue *queue,
> -                                int queue_id)
> +                                u32 queue_id)
>  {
>         struct amdgpu_userq_mgr *uq_mgr = queue->userq_mgr;
>         struct amdgpu_device *adev = uq_mgr->adev;
> @@ -461,7 +461,7 @@ static void amdgpu_userq_cleanup(struct amdgpu_usermode_queue *queue,
>         uq_funcs->mqd_destroy(queue);
>         amdgpu_userq_fence_driver_free(queue);
>         /* Use interrupt-safe locking since IRQ handlers may access these XArrays */
> -       xa_erase_irq(&uq_mgr->userq_xa, (unsigned long)queue_id);
> +       xa_erase_irq(&uq_mgr->userq_xa, queue_id);
>         xa_erase_irq(&adev->userq_doorbell_xa, queue->doorbell_index);
>         queue->userq_mgr = NULL;
>         list_del(&queue->userq_va_list);
> @@ -471,7 +471,7 @@ static void amdgpu_userq_cleanup(struct amdgpu_usermode_queue *queue,
>  }
>
>  static struct amdgpu_usermode_queue *
> -amdgpu_userq_find(struct amdgpu_userq_mgr *uq_mgr, int qid)
> +amdgpu_userq_find(struct amdgpu_userq_mgr *uq_mgr, u32 qid)
>  {
>         return xa_load(&uq_mgr->userq_xa, qid);
>  }
> @@ -625,7 +625,7 @@ amdgpu_userq_get_doorbell_index(struct amdgpu_userq_mgr *uq_mgr,
>  }
>
>  static int
> -amdgpu_userq_destroy(struct drm_file *filp, int queue_id)
> +amdgpu_userq_destroy(struct drm_file *filp, u32 queue_id)
>  {
>         struct amdgpu_fpriv *fpriv = filp->driver_priv;
>         struct amdgpu_userq_mgr *uq_mgr = &fpriv->userq_mgr;
> --
> 2.34.1
>

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH v1] drm/amdgpu/userq: change queue id type to u32 from int
  2026-02-26 15:00 ` Alex Deucher
@ 2026-02-26 15:05   ` Khatri, Sunil
  2026-02-26 16:09     ` Alex Deucher
  0 siblings, 1 reply; 4+ messages in thread
From: Khatri, Sunil @ 2026-02-26 15:05 UTC (permalink / raw)
  To: Alex Deucher, Sunil Khatri; +Cc: Alex Deucher, Christian König, amd-gfx


On 26-02-2026 08:30 pm, Alex Deucher wrote:
> On Thu, Feb 26, 2026 at 2:42 AM Sunil Khatri <sunil.khatri@amd.com> wrote:
>> queue id always remain a positive value and should
>> be of type unsigned.
> Does it need to be a u32 or can you just use an unsigned int?

UAPI, where we are returning the queue id is u32 and based on that i 
changed this to u32 only, but i guess unsigned int also should be ok.

whatever you suggest is fine for me.

Regards
Sunil khatri

>
> Alex
>
>> With this we also dont need to typecast the id to other
>> types specially in xarray functions.
>>
>> Signed-off-by: Sunil Khatri <sunil.khatri@amd.com>
>> ---
>>   drivers/gpu/drm/amd/amdgpu/amdgpu_userq.c | 8 ++++----
>>   1 file changed, 4 insertions(+), 4 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_userq.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_userq.c
>> index b700c2b91465..e07b2082cf25 100644
>> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_userq.c
>> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_userq.c
>> @@ -447,7 +447,7 @@ static int amdgpu_userq_wait_for_last_fence(struct amdgpu_usermode_queue *queue)
>>   }
>>
>>   static void amdgpu_userq_cleanup(struct amdgpu_usermode_queue *queue,
>> -                                int queue_id)
>> +                                u32 queue_id)
>>   {
>>          struct amdgpu_userq_mgr *uq_mgr = queue->userq_mgr;
>>          struct amdgpu_device *adev = uq_mgr->adev;
>> @@ -461,7 +461,7 @@ static void amdgpu_userq_cleanup(struct amdgpu_usermode_queue *queue,
>>          uq_funcs->mqd_destroy(queue);
>>          amdgpu_userq_fence_driver_free(queue);
>>          /* Use interrupt-safe locking since IRQ handlers may access these XArrays */
>> -       xa_erase_irq(&uq_mgr->userq_xa, (unsigned long)queue_id);
>> +       xa_erase_irq(&uq_mgr->userq_xa, queue_id);
>>          xa_erase_irq(&adev->userq_doorbell_xa, queue->doorbell_index);
>>          queue->userq_mgr = NULL;
>>          list_del(&queue->userq_va_list);
>> @@ -471,7 +471,7 @@ static void amdgpu_userq_cleanup(struct amdgpu_usermode_queue *queue,
>>   }
>>
>>   static struct amdgpu_usermode_queue *
>> -amdgpu_userq_find(struct amdgpu_userq_mgr *uq_mgr, int qid)
>> +amdgpu_userq_find(struct amdgpu_userq_mgr *uq_mgr, u32 qid)
>>   {
>>          return xa_load(&uq_mgr->userq_xa, qid);
>>   }
>> @@ -625,7 +625,7 @@ amdgpu_userq_get_doorbell_index(struct amdgpu_userq_mgr *uq_mgr,
>>   }
>>
>>   static int
>> -amdgpu_userq_destroy(struct drm_file *filp, int queue_id)
>> +amdgpu_userq_destroy(struct drm_file *filp, u32 queue_id)
>>   {
>>          struct amdgpu_fpriv *fpriv = filp->driver_priv;
>>          struct amdgpu_userq_mgr *uq_mgr = &fpriv->userq_mgr;
>> --
>> 2.34.1
>>

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH v1] drm/amdgpu/userq: change queue id type to u32 from int
  2026-02-26 15:05   ` Khatri, Sunil
@ 2026-02-26 16:09     ` Alex Deucher
  0 siblings, 0 replies; 4+ messages in thread
From: Alex Deucher @ 2026-02-26 16:09 UTC (permalink / raw)
  To: Khatri, Sunil; +Cc: Sunil Khatri, Alex Deucher, Christian König, amd-gfx

On Thu, Feb 26, 2026 at 10:05 AM Khatri, Sunil <sukhatri@amd.com> wrote:
>
>
> On 26-02-2026 08:30 pm, Alex Deucher wrote:
> > On Thu, Feb 26, 2026 at 2:42 AM Sunil Khatri <sunil.khatri@amd.com> wrote:
> >> queue id always remain a positive value and should
> >> be of type unsigned.
> > Does it need to be a u32 or can you just use an unsigned int?
>
> UAPI, where we are returning the queue id is u32 and based on that i
> changed this to u32 only, but i guess unsigned int also should be ok.
>
> whatever you suggest is fine for me.

That's fine.
Acked-by: Alex Deucher <alexander.deucher@amd.com>

>
> Regards
> Sunil khatri
>
> >
> > Alex
> >
> >> With this we also dont need to typecast the id to other
> >> types specially in xarray functions.
> >>
> >> Signed-off-by: Sunil Khatri <sunil.khatri@amd.com>
> >> ---
> >>   drivers/gpu/drm/amd/amdgpu/amdgpu_userq.c | 8 ++++----
> >>   1 file changed, 4 insertions(+), 4 deletions(-)
> >>
> >> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_userq.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_userq.c
> >> index b700c2b91465..e07b2082cf25 100644
> >> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_userq.c
> >> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_userq.c
> >> @@ -447,7 +447,7 @@ static int amdgpu_userq_wait_for_last_fence(struct amdgpu_usermode_queue *queue)
> >>   }
> >>
> >>   static void amdgpu_userq_cleanup(struct amdgpu_usermode_queue *queue,
> >> -                                int queue_id)
> >> +                                u32 queue_id)
> >>   {
> >>          struct amdgpu_userq_mgr *uq_mgr = queue->userq_mgr;
> >>          struct amdgpu_device *adev = uq_mgr->adev;
> >> @@ -461,7 +461,7 @@ static void amdgpu_userq_cleanup(struct amdgpu_usermode_queue *queue,
> >>          uq_funcs->mqd_destroy(queue);
> >>          amdgpu_userq_fence_driver_free(queue);
> >>          /* Use interrupt-safe locking since IRQ handlers may access these XArrays */
> >> -       xa_erase_irq(&uq_mgr->userq_xa, (unsigned long)queue_id);
> >> +       xa_erase_irq(&uq_mgr->userq_xa, queue_id);
> >>          xa_erase_irq(&adev->userq_doorbell_xa, queue->doorbell_index);
> >>          queue->userq_mgr = NULL;
> >>          list_del(&queue->userq_va_list);
> >> @@ -471,7 +471,7 @@ static void amdgpu_userq_cleanup(struct amdgpu_usermode_queue *queue,
> >>   }
> >>
> >>   static struct amdgpu_usermode_queue *
> >> -amdgpu_userq_find(struct amdgpu_userq_mgr *uq_mgr, int qid)
> >> +amdgpu_userq_find(struct amdgpu_userq_mgr *uq_mgr, u32 qid)
> >>   {
> >>          return xa_load(&uq_mgr->userq_xa, qid);
> >>   }
> >> @@ -625,7 +625,7 @@ amdgpu_userq_get_doorbell_index(struct amdgpu_userq_mgr *uq_mgr,
> >>   }
> >>
> >>   static int
> >> -amdgpu_userq_destroy(struct drm_file *filp, int queue_id)
> >> +amdgpu_userq_destroy(struct drm_file *filp, u32 queue_id)
> >>   {
> >>          struct amdgpu_fpriv *fpriv = filp->driver_priv;
> >>          struct amdgpu_userq_mgr *uq_mgr = &fpriv->userq_mgr;
> >> --
> >> 2.34.1
> >>

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2026-02-26 16:09 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-02-26  7:42 [PATCH v1] drm/amdgpu/userq: change queue id type to u32 from int Sunil Khatri
2026-02-26 15:00 ` Alex Deucher
2026-02-26 15:05   ` Khatri, Sunil
2026-02-26 16:09     ` Alex Deucher

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox