summaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/amd/amdgpu/amdgpu_xcp.c
diff options
context:
space:
mode:
authorJames Zhu <James.Zhu@amd.com>2022-08-15 17:21:44 -0400
committerAlex Deucher <alexander.deucher@amd.com>2023-06-09 09:59:44 -0400
commit3e7c6fe38724eab767033f9d26b496bc2e815157 (patch)
tree58dfb88519f35d7902341737d2e80f3f99724a17 /drivers/gpu/drm/amd/amdgpu/amdgpu_xcp.c
parent9a18292d41ae201333fc4203b3e7987ce5c1de6e (diff)
downloadlinux-3e7c6fe38724eab767033f9d26b496bc2e815157.tar.gz
linux-3e7c6fe38724eab767033f9d26b496bc2e815157.tar.bz2
linux-3e7c6fe38724eab767033f9d26b496bc2e815157.zip
drm/amdgpu: update ref_cnt before ctx free
Update ref_cnt before ctx free. Signed-off-by: James Zhu <James.Zhu@amd.com> Acked-by: Lijo Lazar <lijo.lazar@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_xcp.c')
-rw-r--r--drivers/gpu/drm/amd/amdgpu/amdgpu_xcp.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_xcp.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_xcp.c
index 78fce5aab218..9b960ba0b7ac 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_xcp.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_xcp.c
@@ -366,3 +366,19 @@ int amdgpu_xcp_open_device(struct amdgpu_device *adev,
return 0;
}
+void amdgpu_xcp_release_sched(struct amdgpu_device *adev,
+ struct amdgpu_ctx_entity *entity)
+{
+ struct drm_gpu_scheduler *sched;
+ struct amdgpu_ring *ring;
+
+ if (!adev->xcp_mgr)
+ return;
+
+ sched = entity->entity.rq->sched;
+ if (sched->ready) {
+ ring = to_amdgpu_ring(entity->entity.rq->sched);
+ atomic_dec(&adev->xcp_mgr->xcp[ring->xcp_id].ref_cnt);
+ }
+}
+