The default values for the default scheduling policy come from the
GuC firmware itself. Transform the magic numbers into defines.

Suggested-by: Joonas Lahtinen <[email protected]>
Signed-off-by: Oscar Mateo <[email protected]>
---
 drivers/gpu/drm/i915/i915_guc_submission.c | 15 ++++++++++-----
 drivers/gpu/drm/i915/intel_guc_fwif.h      |  6 +++++-
 2 files changed, 15 insertions(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/i915/i915_guc_submission.c 
b/drivers/gpu/drm/i915/i915_guc_submission.c
index 48a1e93..0f1536e 100644
--- a/drivers/gpu/drm/i915/i915_guc_submission.c
+++ b/drivers/gpu/drm/i915/i915_guc_submission.c
@@ -996,22 +996,27 @@ static void guc_client_free(struct i915_guc_client 
*client)
        kfree(client);
 }
 
+static void guc_policy_init(struct guc_policy *policy)
+{
+       policy->execution_quantum = POLICY_DEFAULT_EXECUTION_QUANTUM_US;
+       policy->preemption_time = POLICY_DEFAULT_PREEMPTION_TIME_US;
+       policy->fault_time = POLICY_DEFAULT_FAULT_TIME_US;
+       policy->policy_flags = 0;
+}
+
 static void guc_policies_init(struct guc_policies *policies)
 {
        struct guc_policy *policy;
        u32 p, i;
 
-       policies->dpc_promote_time = 500000;
+       policies->dpc_promote_time = POLICY_DEFAULT_DPC_PROMOTE_TIME_US;
        policies->max_num_work_items = POLICY_MAX_NUM_WI;
 
        for (p = 0; p < GUC_CLIENT_PRIORITY_NUM; p++) {
                for (i = GUC_RENDER_ENGINE; i < GUC_MAX_ENGINES_NUM; i++) {
                        policy = &policies->policy[p][i];
 
-                       policy->execution_quantum = 1000000;
-                       policy->preemption_time = 500000;
-                       policy->fault_time = 250000;
-                       policy->policy_flags = 0;
+                       guc_policy_init(policy);
                }
        }
 
diff --git a/drivers/gpu/drm/i915/intel_guc_fwif.h 
b/drivers/gpu/drm/i915/intel_guc_fwif.h
index 5fa2860..83bd401 100644
--- a/drivers/gpu/drm/i915/intel_guc_fwif.h
+++ b/drivers/gpu/drm/i915/intel_guc_fwif.h
@@ -388,7 +388,11 @@ struct guc_ct_buffer_desc {
 /* Preempt to idle on quantum expiry */
 #define POLICY_PREEMPT_TO_IDLE         (1<<1)
 
-#define POLICY_MAX_NUM_WI              15
+#define POLICY_MAX_NUM_WI 15
+#define POLICY_DEFAULT_DPC_PROMOTE_TIME_US 500000
+#define POLICY_DEFAULT_EXECUTION_QUANTUM_US 1000000
+#define POLICY_DEFAULT_PREEMPTION_TIME_US 500000
+#define POLICY_DEFAULT_FAULT_TIME_US 250000
 
 struct guc_policy {
        /* Time for one workload to execute. (in micro seconds) */
-- 
1.9.1

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

Reply via email to