[PATCH 3/3] drm/amdgpu: Remove the while loop from amdgpu_job_prepare_job
Tvrtko Ursulin
tvrtko.ursulin at igalia.com
Thu Oct 3 08:21:25 UTC 2024
On 24/09/2024 13:06, Christian König wrote:
> Am 24.09.24 um 11:51 schrieb Tvrtko Ursulin:
>> From: Tvrtko Ursulin <tvrtko.ursulin at igalia.com>
>>
>> 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.
>>
>> Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin at igalia.com>
>> Cc: Christian König <christian.koenig at amd.com>
>
> Oh yeah that's a leftover from when we still had the dependency handling
> inside all this.
>
> Reviewed-by: Christian König <christian.koenig at amd.com> for the whole
> series.
Thanks - CC Alex if you could merge the trivial series please?
Regards,
Tvrtko
>> ---
>> I stared for a good while, going back and forth, and couldn't see that
>> the
>> while loop is needed. But maybe I missed something?
>> ---
>> drivers/gpu/drm/amd/amdgpu/amdgpu_job.c | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_job.c
>> b/drivers/gpu/drm/amd/amdgpu/amdgpu_job.c
>> index d11cb0ad8c49..85f10b59d09c 100644
>> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_job.c
>> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_job.c
>> @@ -356,7 +356,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);
>
More information about the amd-gfx
mailing list