On 04/19/2017 10:07 PM, Christian König wrote: > From: Christian König <christian.koenig at amd.com> > > Use amdgpu_vm_bo_update_mapping() instead of amdgpu_vm_bo_split_mapping() here. > > We don't want any flags set in the cleared areas and splitting > should be unnecessary. Yeah, the mappings in the freed list are split already, I think. > > Signed-off-by: Christian König <christian.koenig at amd.com> > --- > drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 5 +++-- > 1 file changed, 3 insertions(+), 2 deletions(-) > > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c > index 9017b51..27af436 100644 > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c > @@ -1631,8 +1631,9 @@ int amdgpu_vm_clear_freed(struct amdgpu_device *adev, > struct amdgpu_bo_va_mapping, list); > list_del(&mapping->list); > > - r = amdgpu_vm_bo_split_mapping(adev, NULL, 0, NULL, vm, mapping, > - 0, 0, &f); > + r = amdgpu_vm_bo_update_mapping(adev, NULL, 0, NULL, vm, > + mapping->start, mapping->last, > + 0, 0, &f); We may also pass the offset for updating. + r = amdgpu_vm_bo_update_mapping(adev, NULL, 0, NULL, vm, + mapping->start, mapping->last, + 0, mapping->offset, &f); Jerry > amdgpu_vm_free_mapping(adev, vm, mapping, f); > if (r) { > fence_put(f); >