When there is no graphics support, KFD can use more of the VMIDs. Graphics
VMIDs are only used for video decoding/encoding and post processing. With
two VCE engines, there is no reason to reserve more than 2 VMIDs for that.

Signed-off-by: Felix Kuehling <[email protected]>
---
 drivers/gpu/drm/amd/amdgpu/gmc_v9_0.c | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/gmc_v9_0.c 
b/drivers/gpu/drm/amd/amdgpu/gmc_v9_0.c
index 6e10b42c57e5..3470929e5b8e 100644
--- a/drivers/gpu/drm/amd/amdgpu/gmc_v9_0.c
+++ b/drivers/gpu/drm/amd/amdgpu/gmc_v9_0.c
@@ -1245,10 +1245,15 @@ static int gmc_v9_0_sw_init(void *handle)
        /*
         * number of VMs
         * VMID 0 is reserved for System
-        * amdgpu graphics/compute will use VMIDs 1-7
-        * amdkfd will use VMIDs 8-15
+        * amdgpu graphics/compute will use VMIDs 1..n-1
+        * amdkfd will use VMIDs n..15
+        *
+        * The first KFD VMID is 8 for GPUs with graphics, 3 for
+        * compute-only GPUs. On compute-only GPUs that leaves 2 VMIDs
+        * for video processing.
         */
-       adev->vm_manager.first_kfd_vmid = 8;
+       adev->vm_manager.first_kfd_vmid =
+               adev->asic_type == CHIP_ARCTURUS ? 3 : 8;
 
        amdgpu_vm_manager_init(adev);
 
-- 
2.26.0

_______________________________________________
amd-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

Reply via email to