Lines Matching refs:hive
3037 struct amdgpu_hive_info *hive = amdgpu_get_xgmi_hive(adev); in amdgpu_device_xgmi_reset_func() local
3040 if (WARN_ON(!hive)) in amdgpu_device_xgmi_reset_func()
3051 task_barrier_enter(&hive->tb); in amdgpu_device_xgmi_reset_func()
3057 task_barrier_exit(&hive->tb); in amdgpu_device_xgmi_reset_func()
3067 task_barrier_full(&hive->tb); in amdgpu_device_xgmi_reset_func()
3075 amdgpu_put_xgmi_hive(hive); in amdgpu_device_xgmi_reset_func()
4243 static int amdgpu_do_asic_reset(struct amdgpu_hive_info *hive, in amdgpu_do_asic_reset() argument
4360 if (hive && tmp_adev->gmc.xgmi.num_physical_nodes > 1) in amdgpu_do_asic_reset()
4361 r = amdgpu_xgmi_update_topology(hive, tmp_adev); in amdgpu_do_asic_reset()
4390 struct amdgpu_hive_info *hive) in amdgpu_device_lock_adev() argument
4395 if (hive) { in amdgpu_device_lock_adev()
4396 down_write_nest_lock(&adev->reset_sem, &hive->hive_lock); in amdgpu_device_lock_adev()
4500 struct amdgpu_hive_info *hive = NULL; in amdgpu_device_gpu_recover() local
4532 hive = amdgpu_get_xgmi_hive(adev); in amdgpu_device_gpu_recover()
4533 if (hive) { in amdgpu_device_gpu_recover()
4534 if (atomic_cmpxchg(&hive->in_reset, 0, 1) != 0) { in amdgpu_device_gpu_recover()
4536 job ? job->base.id : -1, hive->hive_id); in amdgpu_device_gpu_recover()
4537 amdgpu_put_xgmi_hive(hive); in amdgpu_device_gpu_recover()
4540 mutex_lock(&hive->hive_lock); in amdgpu_device_gpu_recover()
4550 if (!hive) in amdgpu_device_gpu_recover()
4552 if (!list_is_first(&adev->gmc.xgmi.head, &hive->device_list)) in amdgpu_device_gpu_recover()
4553 list_rotate_to_front(&adev->gmc.xgmi.head, &hive->device_list); in amdgpu_device_gpu_recover()
4554 device_list_handle = &hive->device_list; in amdgpu_device_gpu_recover()
4562 if (!amdgpu_device_lock_adev(tmp_adev, hive)) { in amdgpu_device_gpu_recover()
4651 r = amdgpu_do_asic_reset(hive, device_list_handle, &need_full_reset, false); in amdgpu_device_gpu_recover()
4700 if (hive) { in amdgpu_device_gpu_recover()
4701 atomic_set(&hive->in_reset, 0); in amdgpu_device_gpu_recover()
4702 mutex_unlock(&hive->hive_lock); in amdgpu_device_gpu_recover()
4703 amdgpu_put_xgmi_hive(hive); in amdgpu_device_gpu_recover()