]> git.baikalelectronics.ru Git - kernel.git/commitdiff
drm/i915/guc: Include scheduling policies in the debugfs state dump
authorJohn Harrison <John.C.Harrison@Intel.com>
Tue, 27 Jul 2021 00:23:37 +0000 (17:23 -0700)
committerJohn Harrison <John.C.Harrison@Intel.com>
Wed, 28 Jul 2021 00:32:08 +0000 (17:32 -0700)
Added the scheduling policy parameters to the 'guc_info' debugfs state
dump.

Signed-off-by: John Harrison <John.C.Harrison@Intel.com>
Signed-off-by: Matthew Brost <matthew.brost@intel.com>
Reviewed-by: Matthew Brost <matthew.brost@intel.com>
Signed-off-by: John Harrison <John.C.Harrison@Intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20210727002348.97202-23-matthew.brost@intel.com
drivers/gpu/drm/i915/gt/uc/intel_guc_ads.c
drivers/gpu/drm/i915/gt/uc/intel_guc_ads.h
drivers/gpu/drm/i915/gt/uc/intel_guc_debugfs.c

index 7797766c56a922659a514452c7e78bcc74a5ff23..51fc14ee79cdb2484b503a61b8f79b51e4643522 100644 (file)
@@ -92,6 +92,20 @@ static void guc_policies_init(struct intel_guc *guc, struct guc_policies *polici
        policies->is_valid = 1;
 }
 
+void intel_guc_ads_print_policy_info(struct intel_guc *guc,
+                                    struct drm_printer *dp)
+{
+       struct __guc_ads_blob *blob = guc->ads_blob;
+
+       if (unlikely(!blob))
+               return;
+
+       drm_printf(dp, "Global scheduling policies:\n");
+       drm_printf(dp, "  DPC promote time   = %u\n", blob->policies.dpc_promote_time);
+       drm_printf(dp, "  Max num work items = %u\n", blob->policies.max_num_work_items);
+       drm_printf(dp, "  Flags              = %u\n", blob->policies.global_flags);
+}
+
 static int guc_action_policies_update(struct intel_guc *guc, u32 policy_offset)
 {
        u32 action[] = {
index b00d3ae1113a6da941b9da4a48aec4dcdf832b30..bdcb339a53216d306f53dd26540190b795121c23 100644 (file)
@@ -7,9 +7,12 @@
 #define _INTEL_GUC_ADS_H_
 
 struct intel_guc;
+struct drm_printer;
 
 int intel_guc_ads_create(struct intel_guc *guc);
 void intel_guc_ads_destroy(struct intel_guc *guc);
 void intel_guc_ads_reset(struct intel_guc *guc);
+void intel_guc_ads_print_policy_info(struct intel_guc *guc,
+                                    struct drm_printer *p);
 
 #endif
index 7a454c91a7361f379791150eb1854d2a182c7c7f..72ddfff42f7d6115d2b864f6cf608f964eeb49b0 100644 (file)
@@ -10,6 +10,7 @@
 #include "intel_guc_debugfs.h"
 #include "intel_guc_log_debugfs.h"
 #include "gt/uc/intel_guc_ct.h"
+#include "gt/uc/intel_guc_ads.h"
 #include "gt/uc/intel_guc_submission.h"
 
 static int guc_info_show(struct seq_file *m, void *data)
@@ -29,6 +30,7 @@ static int guc_info_show(struct seq_file *m, void *data)
 
        intel_guc_ct_print_info(&guc->ct, &p);
        intel_guc_submission_print_info(guc, &p);
+       intel_guc_ads_print_policy_info(guc, &p);
 
        return 0;
 }