Am 11.10.2018 um 14:09 schrieb Frank.Min:
vm page table would be allocated while in amdgpu_vm_init
by amdgpu_allocate_static_csa for sriov, so the checking
here would be skipped.

NAK, that checking is actually correct and points out that this doesn't work correctly.

Fix the function to be able to handle the case when there are already mappings in the VM.

Christian.


Change-Id: Id30b86ad15ae509aeed9ed8ab60c259c88af3df5
Signed-off-by: Frank.Min <frank....@amd.com>
---
  drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 9 +++++----
  1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c 
b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
index 6904d79..6066f87 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
@@ -3100,11 +3100,12 @@ int amdgpu_vm_make_compute(struct amdgpu_device *adev, 
struct amdgpu_vm *vm, uns
                return r;
/* Sanity checks */
-       if (!RB_EMPTY_ROOT(&vm->va.rb_root) || vm->root.entries) {
-               r = -EINVAL;
-               goto unreserve_bo;
+       if (!amdgpu_sriov_vf(adev)) {
+               if (!RB_EMPTY_ROOT(&vm->va.rb_root) || vm->root.entries) {
+                       r = -EINVAL;
+                       goto unreserve_bo;
+               }
        }
-
        if (pasid) {
                unsigned long flags;

_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

Reply via email to