diff options
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_xcp.c')
| -rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_xcp.c | 16 | 
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); +	} +} + | 
