Lines Matching refs:tmp_adev
4248 struct amdgpu_device *tmp_adev = NULL; in amdgpu_do_asic_reset() local
4257 list_for_each_entry(tmp_adev, device_list_handle, gmc.xgmi.head) { in amdgpu_do_asic_reset()
4259 if (tmp_adev->gmc.xgmi.num_physical_nodes > 1) { in amdgpu_do_asic_reset()
4260 if (!queue_work(system_unbound_wq, &tmp_adev->xgmi_reset_work)) in amdgpu_do_asic_reset()
4263 r = amdgpu_asic_reset(tmp_adev); in amdgpu_do_asic_reset()
4266 dev_err(tmp_adev->dev, "ASIC reset failed with error, %d for drm dev, %s", in amdgpu_do_asic_reset()
4267 r, adev_to_drm(tmp_adev)->unique); in amdgpu_do_asic_reset()
4274 list_for_each_entry(tmp_adev, device_list_handle, in amdgpu_do_asic_reset()
4276 if (tmp_adev->gmc.xgmi.num_physical_nodes > 1) { in amdgpu_do_asic_reset()
4277 flush_work(&tmp_adev->xgmi_reset_work); in amdgpu_do_asic_reset()
4278 r = tmp_adev->asic_reset_res; in amdgpu_do_asic_reset()
4287 list_for_each_entry(tmp_adev, device_list_handle, gmc.xgmi.head) { in amdgpu_do_asic_reset()
4288 if (tmp_adev->mmhub.funcs && in amdgpu_do_asic_reset()
4289 tmp_adev->mmhub.funcs->reset_ras_error_count) in amdgpu_do_asic_reset()
4290 tmp_adev->mmhub.funcs->reset_ras_error_count(tmp_adev); in amdgpu_do_asic_reset()
4296 list_for_each_entry(tmp_adev, device_list_handle, gmc.xgmi.head) { in amdgpu_do_asic_reset()
4299 if (amdgpu_device_asic_init(tmp_adev)) in amdgpu_do_asic_reset()
4300 dev_warn(tmp_adev->dev, "asic atom init failed!"); in amdgpu_do_asic_reset()
4303 dev_info(tmp_adev->dev, "GPU reset succeeded, trying to resume\n"); in amdgpu_do_asic_reset()
4304 r = amdgpu_device_ip_resume_phase1(tmp_adev); in amdgpu_do_asic_reset()
4308 vram_lost = amdgpu_device_check_vram_lost(tmp_adev); in amdgpu_do_asic_reset()
4311 amdgpu_inc_vram_lost(tmp_adev); in amdgpu_do_asic_reset()
4314 r = amdgpu_gtt_mgr_recover(ttm_manager_type(&tmp_adev->mman.bdev, TTM_PL_TT)); in amdgpu_do_asic_reset()
4318 r = amdgpu_device_fw_loading(tmp_adev); in amdgpu_do_asic_reset()
4322 r = amdgpu_device_ip_resume_phase2(tmp_adev); in amdgpu_do_asic_reset()
4327 amdgpu_device_fill_reset_magic(tmp_adev); in amdgpu_do_asic_reset()
4333 amdgpu_register_gpu_instance(tmp_adev); in amdgpu_do_asic_reset()
4335 r = amdgpu_device_ip_late_init(tmp_adev); in amdgpu_do_asic_reset()
4339 amdgpu_fbdev_set_suspend(tmp_adev, 0); in amdgpu_do_asic_reset()
4351 if (!amdgpu_ras_check_err_threshold(tmp_adev)) { in amdgpu_do_asic_reset()
4353 amdgpu_ras_resume(tmp_adev); in amdgpu_do_asic_reset()
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()
4367 amdgpu_irq_gpu_reset_resume_helper(tmp_adev); in amdgpu_do_asic_reset()
4368 r = amdgpu_ib_ring_tests(tmp_adev); in amdgpu_do_asic_reset()
4370 dev_err(tmp_adev->dev, "ib ring test failed (%d).\n", r); in amdgpu_do_asic_reset()
4371 r = amdgpu_device_ip_suspend(tmp_adev); in amdgpu_do_asic_reset()
4379 r = amdgpu_device_recover_vram(tmp_adev); in amdgpu_do_asic_reset()
4381 tmp_adev->asic_reset_res = r; in amdgpu_do_asic_reset()
4501 struct amdgpu_device *tmp_adev = NULL; in amdgpu_device_gpu_recover() local
4561 list_for_each_entry(tmp_adev, device_list_handle, gmc.xgmi.head) { in amdgpu_device_gpu_recover()
4562 if (!amdgpu_device_lock_adev(tmp_adev, hive)) { in amdgpu_device_gpu_recover()
4563 dev_info(tmp_adev->dev, "Bailing on TDR for s_job:%llx, as another already in progress", in amdgpu_device_gpu_recover()
4579 if (!amdgpu_device_suspend_display_audio(tmp_adev)) in amdgpu_device_gpu_recover()
4582 amdgpu_ras_set_error_query_ready(tmp_adev, false); in amdgpu_device_gpu_recover()
4584 cancel_delayed_work_sync(&tmp_adev->delayed_init_work); in amdgpu_device_gpu_recover()
4586 if (!amdgpu_sriov_vf(tmp_adev)) in amdgpu_device_gpu_recover()
4587 amdgpu_amdkfd_pre_reset(tmp_adev); in amdgpu_device_gpu_recover()
4593 amdgpu_unregister_gpu_instance(tmp_adev); in amdgpu_device_gpu_recover()
4595 amdgpu_fbdev_set_suspend(tmp_adev, 1); in amdgpu_device_gpu_recover()
4599 amdgpu_device_ip_need_full_reset(tmp_adev)) in amdgpu_device_gpu_recover()
4600 amdgpu_ras_suspend(tmp_adev); in amdgpu_device_gpu_recover()
4603 struct amdgpu_ring *ring = tmp_adev->rings[i]; in amdgpu_device_gpu_recover()
4632 list_for_each_entry(tmp_adev, device_list_handle, gmc.xgmi.head) { in amdgpu_device_gpu_recover()
4633 r = amdgpu_device_pre_asic_reset(tmp_adev, in amdgpu_device_gpu_recover()
4634 (tmp_adev == adev) ? job : NULL, in amdgpu_device_gpu_recover()
4638 dev_err(tmp_adev->dev, "GPU pre asic reset failed with err, %d for drm dev, %s ", in amdgpu_device_gpu_recover()
4639 r, adev_to_drm(tmp_adev)->unique); in amdgpu_device_gpu_recover()
4640 tmp_adev->asic_reset_res = r; in amdgpu_device_gpu_recover()
4659 list_for_each_entry(tmp_adev, device_list_handle, gmc.xgmi.head) { in amdgpu_device_gpu_recover()
4662 struct amdgpu_ring *ring = tmp_adev->rings[i]; in amdgpu_device_gpu_recover()
4668 if (!tmp_adev->asic_reset_res && !job_signaled) in amdgpu_device_gpu_recover()
4671 drm_sched_start(&ring->sched, !tmp_adev->asic_reset_res); in amdgpu_device_gpu_recover()
4674 if (!amdgpu_device_has_dc_support(tmp_adev) && !job_signaled) { in amdgpu_device_gpu_recover()
4675 drm_helper_resume_force_mode(adev_to_drm(tmp_adev)); in amdgpu_device_gpu_recover()
4678 tmp_adev->asic_reset_res = 0; in amdgpu_device_gpu_recover()
4682 dev_info(tmp_adev->dev, "GPU reset(%d) failed\n", atomic_read(&tmp_adev->gpu_reset_counter)); in amdgpu_device_gpu_recover()
4683 amdgpu_vf_error_put(tmp_adev, AMDGIM_ERROR_VF_GPU_RESET_FAIL, 0, r); in amdgpu_device_gpu_recover()
4685 dev_info(tmp_adev->dev, "GPU reset(%d) succeeded!\n", atomic_read(&tmp_adev->gpu_reset_counter)); in amdgpu_device_gpu_recover()
4690 list_for_each_entry(tmp_adev, device_list_handle, gmc.xgmi.head) { in amdgpu_device_gpu_recover()
4692 if (!need_emergency_restart && !amdgpu_sriov_vf(tmp_adev)) in amdgpu_device_gpu_recover()
4693 amdgpu_amdkfd_post_reset(tmp_adev); in amdgpu_device_gpu_recover()
4695 amdgpu_device_resume_display_audio(tmp_adev); in amdgpu_device_gpu_recover()
4696 amdgpu_device_unlock_adev(tmp_adev); in amdgpu_device_gpu_recover()