summaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/amd/amdgpu/amdgpu_job.c
diff options
context:
space:
mode:
authorAndrey Grodzovsky <andrey.grodzovsky@amd.com>2022-06-21 00:33:55 +0300
committerAlex Deucher <alexander.deucher@amd.com>2022-06-28 18:24:41 +0300
commit9ae55f030dc523fc4dc6069557e4a887ea815453 (patch)
tree6d2a2716d240e476b9619a0d7bf825ef61673fa9 /drivers/gpu/drm/amd/amdgpu/amdgpu_job.c
parent45ecaea738830b9d521c93520c8f201359dcbd95 (diff)
downloadlinux-9ae55f030dc523fc4dc6069557e4a887ea815453.tar.xz
drm/amdgpu: Follow up change to previous drm scheduler change.
Align refcount behaviour for amdgpu_job embedded HW fence with classic pointer style HW fences by increasing refcount each time emit is called so amdgpu code doesn't need to make workarounds using amdgpu_job.job_run_counter to keep the HW fence refcount balanced. Also since in the previous patch we resumed setting s_fence->parent to NULL in drm_sched_stop switch to directly checking if job->hw_fence is signaled to short circuit reset if already signed. Signed-off-by: Andrey Grodzovsky <andrey.grodzovsky@amd.com> Tested-by: Yiqing Yao <yiqing.yao@amd.com> Acked-by: 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.c4
1 files changed, 0 insertions, 4 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_job.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_job.c
index 26ede765eed8..22735790fe50 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_job.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_job.c
@@ -262,10 +262,6 @@ static struct dma_fence *amdgpu_job_run(struct drm_sched_job *sched_job)
DRM_ERROR("Error scheduling IBs (%d)\n", r);
}
- if (!job->job_run_counter)
- dma_fence_get(fence);
- else if (finished->error < 0)
- dma_fence_put(&job->hw_fence);
job->job_run_counter++;
amdgpu_job_free_resources(job);