summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlex Deucher <alexander.deucher@amd.com>2025-02-20 16:08:02 -0500
committerAlex Deucher <alexander.deucher@amd.com>2025-04-08 16:48:20 -0400
commit29adc5c2dd7a0e8dba9aac38a3116df38220dc4b (patch)
treec9877e0e4c0d3b37e30ff6e025fc591367d2806d
parentf15d4e92f7d35128d6416c473c2eab24188bd7e8 (diff)
drm/amdgpu/userq: fix hardcoded uq functions
Use the IP type to look up the userq functions rather than hardcoding it. Reviewed-by: Saleemkhan Jamadar <saleemkhan.jamadar@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
-rw-r--r--drivers/gpu/drm/amd/amdgpu/amdgpu_userqueue.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_userqueue.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_userqueue.c
index f1d4e29772a5..0664e04828c0 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_userqueue.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_userqueue.c
@@ -415,11 +415,11 @@ amdgpu_userqueue_resume_all(struct amdgpu_userq_mgr *uq_mgr)
int queue_id;
int ret = 0;
- userq_funcs = adev->userq_funcs[AMDGPU_HW_IP_GFX];
-
/* Resume all the queues for this process */
- idr_for_each_entry(&uq_mgr->userq_idr, queue, queue_id)
+ idr_for_each_entry(&uq_mgr->userq_idr, queue, queue_id) {
+ userq_funcs = adev->userq_funcs[queue->queue_type];
ret = userq_funcs->resume(uq_mgr, queue);
+ }
if (ret)
DRM_ERROR("Failed to resume all the queue\n");
@@ -570,11 +570,11 @@ amdgpu_userqueue_suspend_all(struct amdgpu_userq_mgr *uq_mgr)
int queue_id;
int ret = 0;
- userq_funcs = adev->userq_funcs[AMDGPU_HW_IP_GFX];
-
/* Try to suspend all the queues in this process ctx */
- idr_for_each_entry(&uq_mgr->userq_idr, queue, queue_id)
+ idr_for_each_entry(&uq_mgr->userq_idr, queue, queue_id) {
+ userq_funcs = adev->userq_funcs[queue->queue_type];
ret += userq_funcs->suspend(uq_mgr, queue);
+ }
if (ret)
DRM_ERROR("Couldn't suspend all the queues\n");