summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/amd/amdgpu/amdgpu_job.c
diff options
context:
space:
mode:
authorTvrtko Ursulin <tvrtko.ursulin@igalia.com>2024-09-24 10:51:45 +0100
committerAlex Deucher <alexander.deucher@amd.com>2024-10-08 09:43:43 -0400
commit89cfa73b612a711ad19c6323814f4d28535a0fca (patch)
tree157743462fdbaf64e90cedaef994a71d13b43419 /drivers/gpu/drm/amd/amdgpu/amdgpu_job.c
parent871f44b4ba74a676ef2f0528a3efc591346fa92a (diff)
downloadlinux-89cfa73b612a711ad19c6323814f4d28535a0fca.tar.gz
linux-89cfa73b612a711ad19c6323814f4d28535a0fca.tar.bz2
linux-89cfa73b612a711ad19c6323814f4d28535a0fca.zip
drm/amdgpu: Remove the while loop from amdgpu_job_prepare_job
While loop makes it sound like amdgpu_vmid_grab() potentially needs to be called multiple times to produce a fence, while in reality all code paths either return an error, assign a valid job->vmid or assign a vmid which will be valid once the returned fence signals. Therefore we can remove the loop to make it clear the call does not need to be repeated. Reviewed-by: Christian König <christian.koenig@amd.com> Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@igalia.com> Cc: Christian König <christian.koenig@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_job.c')
-rw-r--r--drivers/gpu/drm/amd/amdgpu/amdgpu_job.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_job.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_job.c
index b550a31f4457..102742f1faa2 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_job.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_job.c
@@ -359,7 +359,7 @@ amdgpu_job_prepare_job(struct drm_sched_job *sched_job,
if (job->gang_submit)
fence = amdgpu_device_switch_gang(ring->adev, job->gang_submit);
- while (!fence && job->vm && !job->vmid) {
+ if (!fence && job->vm && !job->vmid) {
r = amdgpu_vmid_grab(job->vm, ring, job, &fence);
if (r) {
dev_err(ring->adev->dev, "Error getting VM ID (%d)\n", r);