Lines Matching refs:hive

3281 	struct amdgpu_hive_info *hive = amdgpu_get_xgmi_hive(adev);  in amdgpu_device_xgmi_reset_func()  local
3284 if (WARN_ON(!hive)) in amdgpu_device_xgmi_reset_func()
3295 task_barrier_enter(&hive->tb); in amdgpu_device_xgmi_reset_func()
3301 task_barrier_exit(&hive->tb); in amdgpu_device_xgmi_reset_func()
3312 task_barrier_full(&hive->tb); in amdgpu_device_xgmi_reset_func()
3320 amdgpu_put_xgmi_hive(hive); in amdgpu_device_xgmi_reset_func()
4647 if (!reset_context->hive && in amdgpu_do_asic_reset()
4676 if (reset_context->hive && in amdgpu_do_asic_reset()
4679 reset_context->hive, tmp_adev); in amdgpu_do_asic_reset()
4710 struct amdgpu_hive_info *hive) in amdgpu_device_lock_adev() argument
4715 if (hive) { in amdgpu_device_lock_adev()
4716 down_write_nest_lock(&adev->reset_sem, &hive->hive_lock); in amdgpu_device_lock_adev()
4750 static int amdgpu_device_lock_hive_adev(struct amdgpu_device *adev, struct amdgpu_hive_info *hive) in amdgpu_device_lock_hive_adev() argument
4755 if (!hive) { in amdgpu_device_lock_hive_adev()
4759 list_for_each_entry(tmp_adev, &hive->device_list, gmc.xgmi.head) { in amdgpu_device_lock_hive_adev()
4760 if (!amdgpu_device_lock_adev(tmp_adev, hive)) in amdgpu_device_lock_hive_adev()
4763 } else if (!amdgpu_device_lock_adev(adev, hive)) in amdgpu_device_lock_hive_adev()
4768 if (!list_is_first(&tmp_adev->gmc.xgmi.head, &hive->device_list)) { in amdgpu_device_lock_hive_adev()
4777 list_for_each_entry_continue_reverse(tmp_adev, &hive->device_list, gmc.xgmi.head) { in amdgpu_device_lock_hive_adev()
4926 struct amdgpu_hive_info *hive = NULL; in amdgpu_device_gpu_recover() local
4962 hive = amdgpu_get_xgmi_hive(adev); in amdgpu_device_gpu_recover()
4963 if (hive) { in amdgpu_device_gpu_recover()
4964 if (atomic_cmpxchg(&hive->in_reset, 0, 1) != 0) { in amdgpu_device_gpu_recover()
4966 job ? job->base.id : -1, hive->hive_id); in amdgpu_device_gpu_recover()
4967 amdgpu_put_xgmi_hive(hive); in amdgpu_device_gpu_recover()
4972 mutex_lock(&hive->hive_lock); in amdgpu_device_gpu_recover()
4978 reset_context.hive = hive; in amdgpu_device_gpu_recover()
4986 r = amdgpu_device_lock_hive_adev(adev, hive); in amdgpu_device_gpu_recover()
5004 list_for_each_entry(tmp_adev, &hive->device_list, gmc.xgmi.head) in amdgpu_device_gpu_recover()
5168 if (hive) { in amdgpu_device_gpu_recover()
5169 atomic_set(&hive->in_reset, 0); in amdgpu_device_gpu_recover()
5170 mutex_unlock(&hive->hive_lock); in amdgpu_device_gpu_recover()
5171 amdgpu_put_xgmi_hive(hive); in amdgpu_device_gpu_recover()