Am 2021-11-29 um 4:23 p.m. schrieb Philip Yang: > Refactor userptr and pin_bo path to make it less confusing, move > err_pin_bo label up to remove mem from process_info kfd_bo_list. > > Signed-off-by: Philip Yang <Philip.Yang@xxxxxxx> The series is Reviewed-by: Felix Kuehling <Felix.Kuehling@xxxxxxx> > --- > drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c | 14 ++++++-------- > 1 file changed, 6 insertions(+), 8 deletions(-) > > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c > index 5df89a295177..b8490789eef4 100644 > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c > @@ -1559,13 +1559,8 @@ int amdgpu_amdkfd_gpuvm_alloc_memory_of_gpu( > ret = init_user_pages(*mem, user_addr); > if (ret) > goto allocate_init_user_pages_failed; > - } > - > - if (offset) > - *offset = amdgpu_bo_mmap_offset(bo); > - > - if (flags & (KFD_IOC_ALLOC_MEM_FLAGS_DOORBELL | > - KFD_IOC_ALLOC_MEM_FLAGS_MMIO_REMAP)) { > + } else if (flags & (KFD_IOC_ALLOC_MEM_FLAGS_DOORBELL | > + KFD_IOC_ALLOC_MEM_FLAGS_MMIO_REMAP)) { > ret = amdgpu_amdkfd_gpuvm_pin_bo(bo, AMDGPU_GEM_DOMAIN_GTT); > if (ret) { > pr_err("Pinning MMIO/DOORBELL BO during ALLOC FAILED\n"); > @@ -1575,11 +1570,14 @@ int amdgpu_amdkfd_gpuvm_alloc_memory_of_gpu( > bo->preferred_domains = AMDGPU_GEM_DOMAIN_GTT; > } > > + if (offset) > + *offset = amdgpu_bo_mmap_offset(bo); > + > return 0; > > allocate_init_user_pages_failed: > - remove_kgd_mem_from_kfd_bo_list(*mem, avm->process_info); > err_pin_bo: > + remove_kgd_mem_from_kfd_bo_list(*mem, avm->process_info); > drm_vma_node_revoke(&gobj->vma_node, drm_priv); > err_node_allow: > /* Don't unreserve system mem limit twice */