mirror of
https://github.com/torvalds/linux.git
synced 2026-04-18 14:53:58 -04:00
drm/amdkfd: APIs to stop/start KFD scheduling
Provide amdgpu_amdkfd_stop_sched() for amdgpu to stop KFD scheduling compute work on HIQ. amdgpu_amdkfd_start_sched() resumes the scheduling. When amdgpu_amdkfd_stop_sched is called, KFD will unmap queues from runlist. If users send ioctls to KFD to create queues, they'll be added but those queues won't be mapped to runlist (so not scheduled) until amdgpu_amdkfd_start_sched is called. v2: fix build (Alex) Signed-off-by: Amber Lin <Amber.Lin@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
@@ -887,3 +887,21 @@ free_ring_funcs:
|
||||
|
||||
return r;
|
||||
}
|
||||
|
||||
/* Stop scheduling on KFD */
|
||||
int amdgpu_amdkfd_stop_sched(struct amdgpu_device *adev, uint32_t node_id)
|
||||
{
|
||||
if (!adev->kfd.init_complete)
|
||||
return 0;
|
||||
|
||||
return kgd2kfd_stop_sched(adev->kfd.dev, node_id);
|
||||
}
|
||||
|
||||
/* Start scheduling on KFD */
|
||||
int amdgpu_amdkfd_start_sched(struct amdgpu_device *adev, uint32_t node_id)
|
||||
{
|
||||
if (!adev->kfd.init_complete)
|
||||
return 0;
|
||||
|
||||
return kgd2kfd_start_sched(adev->kfd.dev, node_id);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user