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;
 
        /* mes */
        bool                            enable_mes;
+       bool                            enable_mes_kiq;
        struct amdgpu_mes               mes;
        struct amdgpu_mqd               mqds[AMDGPU_HW_IP_NUM];
 
 
        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
 
 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 */
        "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