mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-08-04 16:25:34 +00:00
drm/amdgpu/mes: implement resuming all gangs
Implement resuming all gangs. Signed-off-by: Jack Xiao <Jack.Xiao@amd.com> Acked-by: Christian König <christian.koenig@amd.com> Reviewed-by: Hawking Zhang <Hawking.Zhang@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
parent
c8bb10572c
commit
ea756bd5cc
2 changed files with 26 additions and 0 deletions
|
@ -471,3 +471,28 @@ int amdgpu_mes_suspend(struct amdgpu_device *adev)
|
|||
mutex_unlock(&adev->mes.mutex);
|
||||
return 0;
|
||||
}
|
||||
|
||||
int amdgpu_mes_resume(struct amdgpu_device *adev)
|
||||
{
|
||||
struct idr *idp;
|
||||
struct amdgpu_mes_process *process;
|
||||
struct amdgpu_mes_gang *gang;
|
||||
struct mes_resume_gang_input input;
|
||||
int r, pasid;
|
||||
|
||||
mutex_lock(&adev->mes.mutex);
|
||||
|
||||
idp = &adev->mes.pasid_idr;
|
||||
|
||||
idr_for_each_entry(idp, process, pasid) {
|
||||
list_for_each_entry(gang, &process->gang_list, list) {
|
||||
r = adev->mes.funcs->resume_gang(&adev->mes, &input);
|
||||
if (r)
|
||||
DRM_ERROR("failed to resume pasid %d gangid %d",
|
||||
pasid, gang->gang_id);
|
||||
}
|
||||
}
|
||||
|
||||
mutex_unlock(&adev->mes.mutex);
|
||||
return 0;
|
||||
}
|
||||
|
|
|
@ -232,5 +232,6 @@ int amdgpu_mes_add_gang(struct amdgpu_device *adev, int pasid,
|
|||
int amdgpu_mes_remove_gang(struct amdgpu_device *adev, int gang_id);
|
||||
|
||||
int amdgpu_mes_suspend(struct amdgpu_device *adev);
|
||||
int amdgpu_mes_resume(struct amdgpu_device *adev);
|
||||
|
||||
#endif /* __AMDGPU_MES_H__ */
|
||||
|
|
Loading…
Add table
Reference in a new issue