drm/amdkfd: make sure VM is ready for updating operations
authorLang Yu <Lang.Yu@amd.com>
Sun, 7 Apr 2024 04:36:00 +0000 (12:36 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Wed, 24 Apr 2024 03:22:23 +0000 (23:22 -0400)
commit9c783a11214553a54f0915a7260a3ce624d36bf2
tree90b96bc19685578ef25eccba9760cd209b8f8848
parent25e9227c6afd200bed6774c866980b8e36d033af
drm/amdkfd: make sure VM is ready for updating operations

When page table BOs were evicted but not validated before
updating page tables, VM is still in evicting state,
amdgpu_vm_update_range returns -EBUSY and
restore_process_worker runs into a dead loop.

v2: Split the BO validation and page table update into two
separate loops in amdgpu_amdkfd_restore_process_bos. (Felix)
  1.Validate BOs
  2.Validate VM (and DMABuf attachments)
  3.Update page tables for the BOs validated above

Fixes: 50661eb1a2c8 ("drm/amdgpu: Auto-validate DMABuf imports in compute VMs")
Signed-off-by: Lang Yu <Lang.Yu@amd.com>
Acked-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Felix Kuehling <felix.kuehling@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Cc: stable@vger.kernel.org
drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c