drm/amdgpu: add mes_kiq module parameter v2
authorJack Xiao <Jack.Xiao@amd.com>
Wed, 14 Apr 2021 08:04:31 +0000 (16:04 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Wed, 4 May 2022 14:43:49 +0000 (10:43 -0400)
mes_kiq parameter is used to enable mes kiq pipe.
This module parameter is unneccessary or enabled by default
in final version.

v2: reword commit message.

Signed-off-by: Jack Xiao <Jack.Xiao@amd.com>
Acked-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Hawking Zhang <Hawking.Zhang@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/amdgpu.h
drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c

index c10c3d50bfd87ae504a666d34fc38c9b532ac876..94c343dc527a68c1c500b57c2ca91774656b9c37 100644 (file)
@@ -208,6 +208,7 @@ extern int amdgpu_async_gfx_ring;
 extern int amdgpu_mcbp;
 extern int amdgpu_discovery;
 extern int amdgpu_mes;
+extern int amdgpu_mes_kiq;
 extern int amdgpu_noretry;
 extern int amdgpu_force_asic_type;
 extern int amdgpu_smartshift_bias;
@@ -940,6 +941,7 @@ struct amdgpu_device {
 
        /* mes */
        bool                            enable_mes;
+       bool                            enable_mes_kiq;
        struct amdgpu_mes               mes;
        struct amdgpu_mqd               mqds[AMDGPU_HW_IP_NUM];
 
index 9b5d1979ac0e32020bd9c90c8ff156b2e8164710..096799d4938dad8584d313a06f107a88da78b42f 100644 (file)
@@ -3670,8 +3670,13 @@ int amdgpu_device_init(struct amdgpu_device *adev,
        if (amdgpu_mcbp)
                DRM_INFO("MCBP is enabled\n");
 
-       if (amdgpu_mes && adev->asic_type >= CHIP_NAVI10)
-               adev->enable_mes = true;
+       if (adev->asic_type >= CHIP_NAVI10) {
+               if (amdgpu_mes || amdgpu_mes_kiq)
+                       adev->enable_mes = true;
+
+               if (amdgpu_mes_kiq)
+                       adev->enable_mes_kiq = true;
+       }
 
        /*
         * Reset domain needs to be present early, before XGMI hive discovered
index ebd37fb19cdb1fe158f09d5e5468f38bcdbf2226..c395e7aa956553a355ae8834f894683969fd8dcd 100644 (file)
@@ -171,6 +171,7 @@ int amdgpu_async_gfx_ring = 1;
 int amdgpu_mcbp;
 int amdgpu_discovery = -1;
 int amdgpu_mes;
+int amdgpu_mes_kiq;
 int amdgpu_noretry = -1;
 int amdgpu_force_asic_type = -1;
 int amdgpu_tmz = -1; /* auto */
@@ -636,6 +637,15 @@ MODULE_PARM_DESC(mes,
        "Enable Micro Engine Scheduler (0 = disabled (default), 1 = enabled)");
 module_param_named(mes, amdgpu_mes, int, 0444);
 
+/**
+ * DOC: mes_kiq (int)
+ * Enable Micro Engine Scheduler KIQ. This is a new engine pipe for kiq.
+ * (0 = disabled (default), 1 = enabled)
+ */
+MODULE_PARM_DESC(mes_kiq,
+       "Enable Micro Engine Scheduler KIQ (0 = disabled (default), 1 = enabled)");
+module_param_named(mes_kiq, amdgpu_mes_kiq, int, 0444);
+
 /**
  * DOC: noretry (int)
  * Disable XNACK retry in the SQ by default on GFXv9 hardware. On ASICs that