<div dir="ltr"><div>Reviewed-by: Marek Olšák <<a href="mailto:marek.olsak@amd.com">marek.olsak@amd.com</a>></div><div><br></div><div>Marek</div></div><br><div class="gmail_quote gmail_quote_container"><div dir="ltr" class="gmail_attr">On Fri, Jul 4, 2025 at 3:43 AM Jesse Zhang <<a href="mailto:jesse.zhang@amd.com">jesse.zhang@amd.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">The term "HQD" is CP-specific and doesn't<br>
accurately describe the queue resources for other IP blocks like SDMA,<br>
VCN, or VPE. This change:<br>
<br>
1. Renames `num_hqds` to `num_slots` in amdgpu_kms.c to better reflect<br>
the generic nature of the resource counting<br>
2. Updates the UAPI struct member from `userq_num_hqds` to `userq_num_slots`<br>
3. Maintains the same functionality while using more appropriate terminology<br>
<br>
Signed-off-by: Jesse Zhang <<a href="mailto:Jesse.Zhang@amd.com" target="_blank">Jesse.Zhang@amd.com</a>><br>
---<br>
drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c | 10 +++++-----<br>
include/uapi/drm/amdgpu_drm.h | 4 ++--<br>
2 files changed, 7 insertions(+), 7 deletions(-)<br>
<br>
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c<br>
index 4aab5e394ce2..e2aa2264fa0b 100644<br>
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c<br>
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c<br>
@@ -399,7 +399,7 @@ static int amdgpu_hw_ip_info(struct amdgpu_device *adev,<br>
uint32_t ib_size_alignment = 0;<br>
enum amd_ip_block_type type;<br>
unsigned int num_rings = 0;<br>
- uint32_t num_hqds = 0;<br>
+ uint32_t num_slots = 0;<br>
unsigned int i, j;<br>
<br>
if (info->query_hw_ip.ip_instance >= AMDGPU_HW_IP_INSTANCE_MAX_COUNT)<br>
@@ -415,7 +415,7 @@ static int amdgpu_hw_ip_info(struct amdgpu_device *adev,<br>
<br>
if (!adev->gfx.disable_uq) {<br>
for (i = 0; i < AMDGPU_MES_MAX_GFX_PIPES; i++)<br>
- num_hqds += hweight32(adev->mes.gfx_hqd_mask[i]);<br>
+ num_slots += hweight32(adev->mes.gfx_hqd_mask[i]);<br>
}<br>
<br>
ib_start_alignment = 32;<br>
@@ -430,7 +430,7 @@ static int amdgpu_hw_ip_info(struct amdgpu_device *adev,<br>
<br>
if (!adev->sdma.disable_uq) {<br>
for (i = 0; i < AMDGPU_MES_MAX_COMPUTE_PIPES; i++)<br>
- num_hqds += hweight32(adev->mes.compute_hqd_mask[i]);<br>
+ num_slots += hweight32(adev->mes.compute_hqd_mask[i]);<br>
}<br>
<br>
ib_start_alignment = 32;<br>
@@ -445,7 +445,7 @@ static int amdgpu_hw_ip_info(struct amdgpu_device *adev,<br>
<br>
if (!adev->gfx.disable_uq) {<br>
for (i = 0; i < AMDGPU_MES_MAX_SDMA_PIPES; i++)<br>
- num_hqds += hweight32(adev->mes.sdma_hqd_mask[i]);<br>
+ num_slots += hweight32(adev->mes.sdma_hqd_mask[i]);<br>
}<br>
<br>
ib_start_alignment = 256;<br>
@@ -589,7 +589,7 @@ static int amdgpu_hw_ip_info(struct amdgpu_device *adev,<br>
}<br>
result->capabilities_flags = 0;<br>
result->available_rings = (1 << num_rings) - 1;<br>
- result->userq_num_hqds = num_hqds;<br>
+ result->userq_num_slots = num_slots;<br>
result->ib_start_alignment = ib_start_alignment;<br>
result->ib_size_alignment = ib_size_alignment;<br>
return 0;<br>
diff --git a/include/uapi/drm/amdgpu_drm.h b/include/uapi/drm/amdgpu_drm.h<br>
index 66c4a03ac9f9..bdedbaccf776 100644<br>
--- a/include/uapi/drm/amdgpu_drm.h<br>
+++ b/include/uapi/drm/amdgpu_drm.h<br>
@@ -1493,8 +1493,8 @@ struct drm_amdgpu_info_hw_ip {<br>
__u32 available_rings;<br>
/** version info: bits 23:16 major, 15:8 minor, 7:0 revision */<br>
__u32 ip_discovery_version;<br>
- /* Userq available hqds */<br>
- __u32 userq_num_hqds;<br>
+ /* Userq available slots */<br>
+ __u32 userq_num_slots;<br>
};<br>
<br>
/* GFX metadata BO sizes and alignment info (in bytes) */<br>
-- <br>
2.34.1<br>
<br>
</blockquote></div>