drm/amdgpu: cleanup VM dw estimation a bit
authorChristian König <christian.koenig@amd.com>
Wed, 30 Jan 2019 13:09:29 +0000 (14:09 +0100)
committerAlex Deucher <alexander.deucher@amd.com>
Wed, 6 Feb 2019 02:16:22 +0000 (21:16 -0500)
No functional change.

Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Felix Kuehling <Felix.Kuehling@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c

index 93b936f..1e3a36c 100644 (file)
@@ -1806,13 +1806,12 @@ static int amdgpu_vm_bo_update_mapping(struct amdgpu_device *adev,
        /*
         * reserve space for two commands every (1 << BLOCK_SIZE)
         *  entries or 2k dwords (whatever is smaller)
-         *
-         * The second command is for the shadow pagetables.
         */
+       ncmds = ((nptes >> min(adev->vm_manager.block_size, 11u)) + 1);
+
+       /* The second command is for the shadow pagetables. */
        if (vm->root.base.bo->shadow)
-               ncmds = ((nptes >> min(adev->vm_manager.block_size, 11u)) + 1) * 2;
-       else
-               ncmds = ((nptes >> min(adev->vm_manager.block_size, 11u)) + 1);
+               ncmds *= 2;
 
        /* padding, etc. */
        ndw = 64;
@@ -1831,10 +1830,11 @@ static int amdgpu_vm_bo_update_mapping(struct amdgpu_device *adev,
                ndw += ncmds * 10;
 
                /* extra commands for begin/end fragments */
+               ncmds = 2 * adev->vm_manager.fragment_size;
                if (vm->root.base.bo->shadow)
-                       ndw += 2 * 10 * adev->vm_manager.fragment_size * 2;
-               else
-                       ndw += 2 * 10 * adev->vm_manager.fragment_size;
+                       ncmds *= 2;
+
+               ndw += 10 * ncmds;
 
                params.func = amdgpu_vm_do_set_ptes;
        }