drm/amdgpu: partial revert cleanup setting bulk_movable v2
authorChristian König <christian.koenig@amd.com>
Wed, 30 Jan 2019 12:41:05 +0000 (13:41 +0100)
committerAlex Deucher <alexander.deucher@amd.com>
Tue, 19 Feb 2019 20:58:27 +0000 (15:58 -0500)
We still need to set bulk_movable to false when new BOs are added or removed.

v2: also set it to false on removal

Signed-off-by: Christian König <christian.koenig@amd.com>
Tested-by: StDenis, Tom <Tom.StDenis@amd.com>
Tested-by: Przemek Socha <soprwa@gmail.com>
Reviewed-by: Zhou, David(ChunMing) <David1.Zhou@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c

index d4c7338..b06ffd2 100644 (file)
@@ -332,6 +332,7 @@ static void amdgpu_vm_bo_base_init(struct amdgpu_vm_bo_base *base,
        if (bo->tbo.resv != vm->root.base.bo->tbo.resv)
                return;
 
+       vm->bulk_moveable = false;
        if (bo->tbo.type == ttm_bo_type_kernel)
                amdgpu_vm_bo_relocated(base);
        else
@@ -2755,6 +2756,9 @@ void amdgpu_vm_bo_rmv(struct amdgpu_device *adev,
        struct amdgpu_vm_bo_base **base;
 
        if (bo) {
+               if (bo->tbo.resv == vm->root.base.bo->tbo.resv)
+                       vm->bulk_moveable = false;
+
                for (base = &bo_va->base.bo->vm_bo; *base;
                     base = &(*base)->next) {
                        if (*base != &bo_va->base)