drm/amdgpu/vce4: replaced with virt_alloc_mm_table
authorXiangliang Yu <Xiangliang.Yu@amd.com>
Fri, 21 Apr 2017 08:21:41 +0000 (16:21 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Fri, 28 Apr 2017 21:32:59 +0000 (17:32 -0400)
Used virt_alloc_mm_table function to allocate MM table memory.

Signed-off-by: Xiangliang Yu <Xiangliang.Yu@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/vce_v4_0.c

index 69efd3094f893a663122c1c42fe3a343eb37cfe5..139f964196b42ba65f6e5e8c0b51fa1c2e9ae37c 100644 (file)
@@ -450,20 +450,9 @@ static int vce_v4_0_sw_init(void *handle)
                        return r;
        }
 
-       if (amdgpu_sriov_vf(adev)) {
-               r = amdgpu_bo_create_kernel(adev, PAGE_SIZE, PAGE_SIZE,
-                                           AMDGPU_GEM_DOMAIN_VRAM,
-                                           &adev->virt.mm_table.bo,
-                                           &adev->virt.mm_table.gpu_addr,
-                                           (void *)&adev->virt.mm_table.cpu_addr);
-               if (!r) {
-                       memset((void *)adev->virt.mm_table.cpu_addr, 0, PAGE_SIZE);
-                       printk("mm table gpu addr = 0x%llx, cpu addr = %p. \n",
-                              adev->virt.mm_table.gpu_addr,
-                              adev->virt.mm_table.cpu_addr);
-               }
+       r = amdgpu_virt_alloc_mm_table(adev);
+       if (r)
                return r;
-       }
 
        return r;
 }
@@ -474,10 +463,7 @@ static int vce_v4_0_sw_fini(void *handle)
        struct amdgpu_device *adev = (struct amdgpu_device *)handle;
 
        /* free MM table */
-       if (amdgpu_sriov_vf(adev))
-               amdgpu_bo_free_kernel(&adev->virt.mm_table.bo,
-                                     &adev->virt.mm_table.gpu_addr,
-                                     (void *)&adev->virt.mm_table.cpu_addr);
+       amdgpu_virt_free_mm_table(adev);
 
        r = amdgpu_vce_suspend(adev);
        if (r)