if (r)
goto init_failed;
- if (adev->mman.buffer_funcs_ring &&
- adev->mman.buffer_funcs_ring->sched.ready)
- amdgpu_ttm_set_buffer_funcs_status(adev, true);
+ amdgpu_ttm_set_buffer_funcs_status(adev, true);
/* Don't init kfd if whole hive need to be reset during init */
if (adev->init_lvl->level != AMDGPU_INIT_LEVEL_MINIMAL_XGMI) {
r = amdgpu_device_ip_resume_phase2(adev);
- if (adev->mman.buffer_funcs_ring->sched.ready)
- amdgpu_ttm_set_buffer_funcs_status(adev, true);
+ amdgpu_ttm_set_buffer_funcs_status(adev, true);
if (r)
return r;
return 0;
unwind_evict:
- if (adev->mman.buffer_funcs_ring->sched.ready)
- amdgpu_ttm_set_buffer_funcs_status(adev, true);
+ amdgpu_ttm_set_buffer_funcs_status(adev, true);
amdgpu_fence_driver_hw_init(adev);
unwind_userq:
if (r)
goto out;
- if (tmp_adev->mman.buffer_funcs_ring->sched.ready)
- amdgpu_ttm_set_buffer_funcs_status(tmp_adev, true);
+ amdgpu_ttm_set_buffer_funcs_status(tmp_adev, true);
r = amdgpu_device_ip_resume_phase3(tmp_adev);
if (r)
struct amdgpu_ring *ring;
struct drm_gpu_scheduler *sched;
+ if (!adev->mman.buffer_funcs_ring || !adev->mman.buffer_funcs_ring->sched.ready) {
+ dev_warn(adev->dev, "Not enabling DMA transfers for in kernel use");
+ return;
+ }
+
ring = adev->mman.buffer_funcs_ring;
sched = &ring->sched;
r = amdgpu_ttm_buffer_entity_init(&adev->mman.gtt_mgr,