Commit 250af743 authored by Gang Ba's avatar Gang Ba Committed by Alex Deucher

Revert "drm/amdgpu: free up the first paging queue v2"

This reverts commit 4f8bc72f.

It turned out that a single reserved queue wouldn't be
sufficient for page fault handling.
Signed-off-by: default avatarGang Ba <gaba@amd.com>
Reviewed-by: default avatarChristian König <christian.koenig@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent da26ded3
...@@ -2503,8 +2503,8 @@ static const struct amdgpu_buffer_funcs sdma_v4_0_buffer_funcs = { ...@@ -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) static void sdma_v4_0_set_buffer_funcs(struct amdgpu_device *adev)
{ {
adev->mman.buffer_funcs = &sdma_v4_0_buffer_funcs; adev->mman.buffer_funcs = &sdma_v4_0_buffer_funcs;
if (adev->sdma.has_page_queue && adev->sdma.num_instances > 1) if (adev->sdma.has_page_queue)
adev->mman.buffer_funcs_ring = &adev->sdma.instance[1].page; adev->mman.buffer_funcs_ring = &adev->sdma.instance[0].page;
else else
adev->mman.buffer_funcs_ring = &adev->sdma.instance[0].ring; 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) ...@@ -2523,22 +2523,15 @@ static void sdma_v4_0_set_vm_pte_funcs(struct amdgpu_device *adev)
unsigned i; unsigned i;
adev->vm_manager.vm_pte_funcs = &sdma_v4_0_vm_pte_funcs; 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 = 0; i < adev->sdma.num_instances; i++) {
for (i = 1; i < adev->sdma.num_instances; i++) { if (adev->sdma.has_page_queue)
sched = &adev->sdma.instance[i].page.sched; sched = &adev->sdma.instance[i].page.sched;
adev->vm_manager.vm_pte_rqs[i - 1] = else
&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++) {
sched = &adev->sdma.instance[i].ring.sched; sched = &adev->sdma.instance[i].ring.sched;
adev->vm_manager.vm_pte_rqs[i] = adev->vm_manager.vm_pte_rqs[i] =
&sched->sched_rq[DRM_SCHED_PRIORITY_KERNEL]; &sched->sched_rq[DRM_SCHED_PRIORITY_KERNEL];
}
adev->vm_manager.vm_pte_num_rqs = adev->sdma.num_instances;
} }
adev->vm_manager.vm_pte_num_rqs = adev->sdma.num_instances;
} }
const struct amdgpu_ip_block_version sdma_v4_0_ip_block = { const struct amdgpu_ip_block_version sdma_v4_0_ip_block = {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment