AMD General

The patch has been verified; feel free to add
Reviewed-by: Jesse Zhang <[email protected]> and Tested-by: Jesse Zhang 
<[email protected]>

> -----Original Message-----
> From: amd-gfx <[email protected]> On Behalf Of Christian
> König
> Sent: Friday, May 22, 2026 5:32 PM
> To: Deucher, Alexander <[email protected]>; amd-
> [email protected]
> Subject: [PATCH] drm/amdgpu: fix amdgpu_vm_bo_reset_state_machine
>
> Can't splice the list but need to handle each entry individually.
>
> Otherwise we run into issues after a GPU reset.
>
> Signed-off-by: Christian König <[email protected]>
> ---
>  drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 17 ++++++++++++++---
>  1 file changed, 14 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
> b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
> index b523a7b97d6f..e91504f04d97 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
> @@ -266,12 +266,23 @@ static void amdgpu_vm_bo_idle(struct
> amdgpu_vm_bo_base *vm_bo)
>   */
>  static void amdgpu_vm_bo_reset_state_machine(struct amdgpu_vm *vm)  {
> +     struct amdgpu_vm_bo_base *vm_bo, *tmp;
> +
> +     /*
> +      * Don't use list splice here, we need the special handling for the root
> +      * PD and set the moved flag appropriately.
> +      */
>       amdgpu_vm_assert_locked(vm);
> -     list_splice_init(&vm->kernel.idle, &vm->kernel.moved);
> -     list_splice_init(&vm->always_valid.idle, &vm->always_valid.moved);
> +     list_for_each_entry_safe(vm_bo, tmp, &vm->kernel.idle, vm_status)
> +             amdgpu_vm_bo_moved(vm_bo);
> +     list_for_each_entry_safe(vm_bo, tmp, &vm->always_valid.idle, vm_status)
> +             amdgpu_vm_bo_moved(vm_bo);
>
>       spin_lock(&vm->individual_lock);
> -     list_splice_init(&vm->individual.idle, &vm->individual.moved);
> +     list_for_each_entry_safe(vm_bo, tmp, &vm->individual.idle, vm_status) {
> +             vm_bo->moved = true;
> +             list_move(&vm_bo->vm_status, &vm->individual.moved);
> +     }
>       spin_unlock(&vm->individual_lock);
>  }
>
> --
> 2.43.0

Reply via email to