Message ID | 20210624070516.21893-46-matthew.brost@intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | GuC submission support | expand |
On Thu, Jun 24, 2021 at 12:05:14AM -0700, Matthew Brost wrote: > From: John Harrison <John.C.Harrison@Intel.com> > > 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> > --- > drivers/gpu/drm/i915/gt/uc/intel_guc_ads.c | 13 +++++++++++++ > drivers/gpu/drm/i915/gt/uc/intel_guc_ads.h | 2 ++ > drivers/gpu/drm/i915/gt/uc/intel_guc_debugfs.c | 2 ++ > 3 files changed, 17 insertions(+) > > diff --git a/drivers/gpu/drm/i915/gt/uc/intel_guc_ads.c b/drivers/gpu/drm/i915/gt/uc/intel_guc_ads.c > index c6d0b762d82c..b8182844aa00 100644 > --- a/drivers/gpu/drm/i915/gt/uc/intel_guc_ads.c > +++ b/drivers/gpu/drm/i915/gt/uc/intel_guc_ads.c > @@ -92,6 +92,19 @@ static void guc_policies_init(struct intel_guc *guc, struct guc_policies *polici > policies->is_valid = 1; > } > > +void intel_guc_log_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[] = { > diff --git a/drivers/gpu/drm/i915/gt/uc/intel_guc_ads.h b/drivers/gpu/drm/i915/gt/uc/intel_guc_ads.h > index b00d3ae1113a..0fdcb3583601 100644 > --- a/drivers/gpu/drm/i915/gt/uc/intel_guc_ads.h > +++ b/drivers/gpu/drm/i915/gt/uc/intel_guc_ads.h > @@ -7,9 +7,11 @@ > #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_log_policy_info(struct intel_guc *guc, struct drm_printer *p); > > #endif > diff --git a/drivers/gpu/drm/i915/gt/uc/intel_guc_debugfs.c b/drivers/gpu/drm/i915/gt/uc/intel_guc_debugfs.c > index 62b9ce0fafaa..9a03ff56e654 100644 > --- a/drivers/gpu/drm/i915/gt/uc/intel_guc_debugfs.c > +++ b/drivers/gpu/drm/i915/gt/uc/intel_guc_debugfs.c > @@ -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_log_ct_info(&guc->ct, &p); > intel_guc_log_submission_info(guc, &p); > + intel_guc_log_policy_info(guc, &p); > > return 0; > } > -- > 2.28.0 >
diff --git a/drivers/gpu/drm/i915/gt/uc/intel_guc_ads.c b/drivers/gpu/drm/i915/gt/uc/intel_guc_ads.c index c6d0b762d82c..b8182844aa00 100644 --- a/drivers/gpu/drm/i915/gt/uc/intel_guc_ads.c +++ b/drivers/gpu/drm/i915/gt/uc/intel_guc_ads.c @@ -92,6 +92,19 @@ static void guc_policies_init(struct intel_guc *guc, struct guc_policies *polici policies->is_valid = 1; } +void intel_guc_log_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[] = { diff --git a/drivers/gpu/drm/i915/gt/uc/intel_guc_ads.h b/drivers/gpu/drm/i915/gt/uc/intel_guc_ads.h index b00d3ae1113a..0fdcb3583601 100644 --- a/drivers/gpu/drm/i915/gt/uc/intel_guc_ads.h +++ b/drivers/gpu/drm/i915/gt/uc/intel_guc_ads.h @@ -7,9 +7,11 @@ #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_log_policy_info(struct intel_guc *guc, struct drm_printer *p); #endif diff --git a/drivers/gpu/drm/i915/gt/uc/intel_guc_debugfs.c b/drivers/gpu/drm/i915/gt/uc/intel_guc_debugfs.c index 62b9ce0fafaa..9a03ff56e654 100644 --- a/drivers/gpu/drm/i915/gt/uc/intel_guc_debugfs.c +++ b/drivers/gpu/drm/i915/gt/uc/intel_guc_debugfs.c @@ -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_log_ct_info(&guc->ct, &p); intel_guc_log_submission_info(guc, &p); + intel_guc_log_policy_info(guc, &p); return 0; }