OSDN Git Service

drm/amdgpu: use drm_sched_job_add_resv_dependencies for moves
authorChristian König <christian.koenig@amd.com>
Wed, 28 Sep 2022 08:54:41 +0000 (10:54 +0200)
committerChristian König <christian.koenig@amd.com>
Thu, 3 Nov 2022 11:45:19 +0000 (12:45 +0100)
Use the new common scheduler functions to figure out what to wait for.

Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Luben Tuikov <luben.tuikov@amd.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20221014084641.128280-4-christian.koenig@amd.com
drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c

index 3606696..5aae638 100644 (file)
@@ -1966,17 +1966,11 @@ static int amdgpu_ttm_prepare_job(struct amdgpu_device *adev,
                                                        adev->gart.bo);
                (*job)->vm_needs_flush = true;
        }
-       if (resv) {
-               r = amdgpu_sync_resv(adev, &(*job)->sync, resv,
-                                    AMDGPU_SYNC_ALWAYS,
-                                    AMDGPU_FENCE_OWNER_UNDEFINED);
-               if (r) {
-                       DRM_ERROR("sync failed (%d).\n", r);
-                       amdgpu_job_free(*job);
-                       return r;
-               }
-       }
-       return 0;
+       if (!resv)
+               return 0;
+
+       return drm_sched_job_add_resv_dependencies(&(*job)->base, resv,
+                                                  DMA_RESV_USAGE_BOOKKEEP);
 }
 
 int amdgpu_copy_buffer(struct amdgpu_ring *ring, uint64_t src_offset,