]> git.proxmox.com Git - mirror_ubuntu-hirsute-kernel.git/commitdiff
Revert "drm/amdgpu: free up the first paging queue v2"
authorGang Ba <gaba@amd.com>
Fri, 23 Aug 2019 20:01:11 +0000 (16:01 -0400)
committerAlex Deucher <alexander.deucher@amd.com>
Tue, 27 Aug 2019 13:16:26 +0000 (08:16 -0500)
This reverts commit 4f8bc72fbf10f2dc8bca74d5da08b3a981b2e5cd.

It turned out that a single reserved queue wouldn't be
sufficient for page fault handling.

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

index 9b7e660828c420f0c9258c80e0b06737f7d5d323..1f7c6c2d6e79f6630fe6890e4dd1402ca7a80871 100644 (file)
@@ -2503,8 +2503,8 @@ static const struct amdgpu_buffer_funcs sdma_v4_0_buffer_funcs = {
 static void sdma_v4_0_set_buffer_funcs(struct amdgpu_device *adev)
 {
        adev->mman.buffer_funcs = &sdma_v4_0_buffer_funcs;
-       if (adev->sdma.has_page_queue && adev->sdma.num_instances > 1)
-               adev->mman.buffer_funcs_ring = &adev->sdma.instance[1].page;
+       if (adev->sdma.has_page_queue)
+               adev->mman.buffer_funcs_ring = &adev->sdma.instance[0].page;
        else
                adev->mman.buffer_funcs_ring = &adev->sdma.instance[0].ring;
 }
@@ -2523,22 +2523,15 @@ static void sdma_v4_0_set_vm_pte_funcs(struct amdgpu_device *adev)
        unsigned i;
 
        adev->vm_manager.vm_pte_funcs = &sdma_v4_0_vm_pte_funcs;
-       if (adev->sdma.has_page_queue && adev->sdma.num_instances > 1) {
-               for (i = 1; i < adev->sdma.num_instances; i++) {
+       for (i = 0; i < adev->sdma.num_instances; i++) {
+               if (adev->sdma.has_page_queue)
                        sched = &adev->sdma.instance[i].page.sched;
-                       adev->vm_manager.vm_pte_rqs[i - 1] =
-                               &sched->sched_rq[DRM_SCHED_PRIORITY_KERNEL];
-               }
-               adev->vm_manager.vm_pte_num_rqs = adev->sdma.num_instances - 1;
-               adev->vm_manager.page_fault = &adev->sdma.instance[0].page;
-       } else {
-               for (i = 0; i < adev->sdma.num_instances; i++) {
+               else
                        sched = &adev->sdma.instance[i].ring.sched;
-                       adev->vm_manager.vm_pte_rqs[i] =
-                               &sched->sched_rq[DRM_SCHED_PRIORITY_KERNEL];
-               }
-               adev->vm_manager.vm_pte_num_rqs = adev->sdma.num_instances;
+               adev->vm_manager.vm_pte_rqs[i] =
+                       &sched->sched_rq[DRM_SCHED_PRIORITY_KERNEL];
        }
+       adev->vm_manager.vm_pte_num_rqs = adev->sdma.num_instances;
 }
 
 const struct amdgpu_ip_block_version sdma_v4_0_ip_block = {