From: Frank Min <[email protected]>

Newer SDMA IPs support more instances, so update mes max sdma pipe.

Signed-off-by: Frank Min <[email protected]>
Signed-off-by: Alex Deucher <[email protected]>
---
 drivers/gpu/drm/amd/amdgpu/amdgpu_mes.c | 11 +++++------
 drivers/gpu/drm/amd/amdgpu/amdgpu_mes.h |  2 +-
 2 files changed, 6 insertions(+), 7 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_mes.c 
b/drivers/gpu/drm/amd/amdgpu/amdgpu_mes.c
index 0409325017a27..a00160ad7b61c 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_mes.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_mes.c
@@ -114,6 +114,8 @@ int amdgpu_mes_init(struct amdgpu_device *adev)
 {
        int i, r, num_pipes, num_queues = 0;
        int num_xcc = adev->gfx.xcc_mask ? NUM_XCC(adev->gfx.xcc_mask) : 1;
+       int max_sdma_pipes = amdgpu_ip_version(adev, GC_HWIP, 0) >= 
IP_VERSION(13, 0, 0) ?
+               AMDGPU_MES_MAX_SDMA_PIPES : 2;
        u32 gfx_hqd_mask = amdgpu_mes_get_hqd_mask(adev->gfx.me.num_pipe_per_me,
                                adev->gfx.me.num_queue_per_pipe,
                                adev->gfx.disable_kq ? 0 : 
adev->gfx.num_gfx_rings);
@@ -169,15 +171,12 @@ int amdgpu_mes_init(struct amdgpu_device *adev)
 
        num_pipes = adev->sdma.num_inst_per_xcc ?
                adev->sdma.num_inst_per_xcc : adev->sdma.num_instances;
-       if (num_pipes > AMDGPU_MES_MAX_SDMA_PIPES)
+       if (num_pipes > max_sdma_pipes)
                dev_warn(adev->dev, "more SDMA pipes than supported by MES! (%d 
vs %d)\n",
-                        num_pipes, AMDGPU_MES_MAX_SDMA_PIPES);
+                        num_pipes, max_sdma_pipes);
 
-       for (i = 0; i < AMDGPU_MES_MAX_SDMA_PIPES; i++) {
-               if (i >= num_pipes)
-                       break;
+       for (i = 0; i < min(num_pipes, max_sdma_pipes); i++)
                adev->mes.sdma_hqd_mask[i] = 0xfc;
-       }
 
        dev_info(adev->dev,
                         "MES: vmid_uq_mask_mmhub 0x%08x, vmid_uq_mask_gfxhub 
0x%08x\n",
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_mes.h 
b/drivers/gpu/drm/amd/amdgpu/amdgpu_mes.h
index 652cd09504538..ff38e45f4ff01 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_mes.h
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_mes.h
@@ -33,7 +33,7 @@
 
 #define AMDGPU_MES_MAX_COMPUTE_PIPES        8
 #define AMDGPU_MES_MAX_GFX_PIPES            2
-#define AMDGPU_MES_MAX_SDMA_PIPES           2
+#define AMDGPU_MES_MAX_SDMA_PIPES           4
 
 #define AMDGPU_MES_API_VERSION_SHIFT   12
 #define AMDGPU_MES_FEAT_VERSION_SHIFT  24
-- 
2.56.0

Reply via email to