drm/amdkfd: Support two MMHUBs when setting up page table base in KFD
authorYong Zhao <Yong.Zhao@amd.com>
Fri, 12 Oct 2018 20:16:15 +0000 (16:16 -0400)
committerAlex Deucher <alexander.deucher@amd.com>
Thu, 18 Jul 2019 19:18:04 +0000 (14:18 -0500)
2 mmhubs on arcturus.

Signed-off-by: Yong Zhao <Yong.Zhao@amd.com>
Signed-off-by: Oak Zeng <Oak.Zeng@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v9.c

index 85395f2d83a65fcfe27f81863afc8abfb21e86db..38630e37e8cc03fc8ceab0a09bab1be410bcd81a 100644 (file)
@@ -47,6 +47,7 @@
 #include "soc15d.h"
 #include "mmhub_v1_0.h"
 #include "gfxhub_v1_0.h"
+#include "gmc_v9_0.h"
 
 
 #define V9_PIPE_PER_MEC                (4)
@@ -884,7 +885,12 @@ static void set_vm_context_page_table_base(struct kgd_dev *kgd, uint32_t vmid,
         * now, all processes share the same address space size, like
         * on GFX8 and older.
         */
-       mmhub_v1_0_setup_vm_pt_regs(adev, vmid, page_table_base);
+       if (adev->asic_type == CHIP_ARCTURUS) {
+               /* Two MMHUBs */
+               mmhub_v9_4_setup_vm_pt_regs(adev, 0, vmid, page_table_base);
+               mmhub_v9_4_setup_vm_pt_regs(adev, 1, vmid, page_table_base);
+       } else
+               mmhub_v1_0_setup_vm_pt_regs(adev, vmid, page_table_base);
 
        gfxhub_v1_0_setup_vm_pt_regs(adev, vmid, page_table_base);
 }