drm/amdgpu: fix clear_all and replace handling in the VM (v2)
v2: assign bo_va as well We need to put the lose ends on the invalid list because it is possible that we need to split up huge pages for them. Cc: stable@vger.kernel.org Signed-off-by: Christian König <christian.koenig@amd.com> Signed-off-by: Junwei Zhang <Jerry.Zhang@amd.com> (v2) Reviewed-by: David Zhou <david1.zhou@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
parent
235293901c
commit
387f49e546
|
@ -2123,7 +2123,8 @@ int amdgpu_vm_bo_clear_mappings(struct amdgpu_device *adev,
|
|||
before->last = saddr - 1;
|
||||
before->offset = tmp->offset;
|
||||
before->flags = tmp->flags;
|
||||
list_add(&before->list, &tmp->list);
|
||||
before->bo_va = tmp->bo_va;
|
||||
list_add(&before->list, &tmp->bo_va->invalids);
|
||||
}
|
||||
|
||||
/* Remember mapping split at the end */
|
||||
|
@ -2133,7 +2134,8 @@ int amdgpu_vm_bo_clear_mappings(struct amdgpu_device *adev,
|
|||
after->offset = tmp->offset;
|
||||
after->offset += after->start - tmp->start;
|
||||
after->flags = tmp->flags;
|
||||
list_add(&after->list, &tmp->list);
|
||||
after->bo_va = tmp->bo_va;
|
||||
list_add(&after->list, &tmp->bo_va->invalids);
|
||||
}
|
||||
|
||||
list_del(&tmp->list);
|
||||
|
|
Loading…
Reference in New Issue