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
@ -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…
x
Reference in New Issue
Block a user