drm/xe/guc: Update VF configuration KLVs definitions
authorMichal Wajdeczko <michal.wajdeczko@intel.com>
Fri, 19 Apr 2024 12:35:42 +0000 (14:35 +0200)
committerMichal Wajdeczko <michal.wajdeczko@intel.com>
Wed, 24 Apr 2024 13:32:24 +0000 (15:32 +0200)
GuC firmware specification says that maximum value for the execution
quantum KLV is 100s and anything exceeding that will be clamped.
The same limitation applies to the preemption timeout KLV.

Signed-off-by: Michal Wajdeczko <michal.wajdeczko@intel.com>
Reviewed-by: Piotr PiĆ³rkowski <piotr.piorkowski@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240419123543.270-2-michal.wajdeczko@intel.com
drivers/gpu/drm/xe/abi/guc_klvs_abi.h

index 511cf974d585dd37d24091143f87bb742dc9ed6f..e53ffaee2fcde67c0f01de23adce1179e55ae8fb 100644 (file)
@@ -201,7 +201,11 @@ enum  {
  *      it to take effect. Such cases might typically happen on a 1PF+1VF
  *      Virtualization config enabled for heavier workloads like AI/ML.
  *
+ *      The max value for this KLV is 100 seconds, anything exceeding that
+ *      will be clamped to the max.
+ *
  *      :0: infinite exec quantum (default)
+ *      :100000: maximum exec quantum (100000ms == 100s)
  *
  * _`GUC_KLV_VF_CFG_PREEMPT_TIMEOUT` : 0x8A02
  *      This config sets the VF-preemption-timeout in microseconds.
@@ -219,7 +223,11 @@ enum  {
  *      on a 1PF+1VF Virtualization config enabled for heavier workloads like
  *      AI/ML.
  *
+ *      The max value for this KLV is 100 seconds, anything exceeding that
+ *      will be clamped to the max.
+ *
  *      :0: no preemption timeout (default)
+ *      :100000000: maximum preemption timeout (100000000us == 100s)
  *
  * _`GUC_KLV_VF_CFG_THRESHOLD_CAT_ERR` : 0x8A03
  *      This config sets threshold for CAT errors caused by the VF.
@@ -291,9 +299,11 @@ enum  {
 
 #define GUC_KLV_VF_CFG_EXEC_QUANTUM_KEY                0x8a01
 #define GUC_KLV_VF_CFG_EXEC_QUANTUM_LEN                1u
+#define GUC_KLV_VF_CFG_EXEC_QUANTUM_MAX_VALUE  100000u
 
-#define GUC_KLV_VF_CFG_PREEMPT_TIMEOUT_KEY     0x8a02
-#define GUC_KLV_VF_CFG_PREEMPT_TIMEOUT_LEN     1u
+#define GUC_KLV_VF_CFG_PREEMPT_TIMEOUT_KEY             0x8a02
+#define GUC_KLV_VF_CFG_PREEMPT_TIMEOUT_LEN             1u
+#define GUC_KLV_VF_CFG_PREEMPT_TIMEOUT_MAX_VALUE       100000000u
 
 #define GUC_KLV_VF_CFG_THRESHOLD_CAT_ERR_KEY           0x8a03
 #define GUC_KLV_VF_CFG_THRESHOLD_CAT_ERR_LEN           1u