Quoting Michał Winiarski (2018-03-20 08:49:29) > When changing the default values for guc_log_level, we accidentally left > the log enabled on non-guc platforms. Let's fix that. > > v2: Define the levels used and remove (now obsolete) comments (Chris) > > Fixes: 9605d1ce7c6b ("drm/i915/guc: Default to non-verbose GuC logging") > Reported-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> > Signed-off-by: Michał Winiarski <michal.winiarski@xxxxxxxxx> > Cc: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> > Cc: Sagar Arun Kamble <sagar.a.kamble@xxxxxxxxx> > Cc: Michal Wajdeczko <michal.wajdeczko@xxxxxxxxx> > --- > drivers/gpu/drm/i915/intel_guc_log.c | 3 +-- > drivers/gpu/drm/i915/intel_guc_log.h | 10 ++++++---- > drivers/gpu/drm/i915/intel_uc.c | 21 ++++++++++----------- > 3 files changed, 17 insertions(+), 17 deletions(-) > > diff --git a/drivers/gpu/drm/i915/intel_guc_log.c b/drivers/gpu/drm/i915/intel_guc_log.c > index 4cb422ceb283..16d206680edf 100644 > --- a/drivers/gpu/drm/i915/intel_guc_log.c > +++ b/drivers/gpu/drm/i915/intel_guc_log.c > @@ -515,8 +515,7 @@ int intel_guc_log_level_set(struct intel_guc_log *log, u64 val) > * GuC is recognizing log levels starting from 0 to max, we're using 0 > * as indication that logging should be disabled. > */ > - if (val < GUC_LOG_LEVEL_DISABLED || > - val > GUC_VERBOSITY_TO_LOG_LEVEL(GUC_LOG_VERBOSITY_MAX)) > + if (val < GUC_LOG_LEVEL_DISABLED || val > GUC_LOG_LEVEL_MAX) > return -EINVAL; > > mutex_lock(&dev_priv->drm.struct_mutex); > diff --git a/drivers/gpu/drm/i915/intel_guc_log.h b/drivers/gpu/drm/i915/intel_guc_log.h > index af1532c0d3e4..5793db8f9c09 100644 > --- a/drivers/gpu/drm/i915/intel_guc_log.h > +++ b/drivers/gpu/drm/i915/intel_guc_log.h > @@ -46,14 +46,16 @@ struct intel_guc; > * log enabling, and separate bit for default logging - which "conveniently" > * ignores the enable bit. > */ > -#define GUC_LOG_LEVEL_DISABLED 0 > -#define GUC_LOG_LEVEL_TO_ENABLED(x) ((x) > 0) > -#define GUC_LOG_LEVEL_TO_VERBOSE(x) ((x) > 1) > +#define GUC_LOG_LEVEL_DISABLED 0 > +#define GUC_LOG_LEVEL_NON_VERBOSE 1 > +#define GUC_LOG_LEVEL_TO_ENABLED(x) ((x) > GUC_LOG_LEVEL_DISABLED) > +#define GUC_LOG_LEVEL_TO_VERBOSE(x) ((x) > GUC_LOG_LEVEL_NON_VERBOSE) Since this pair is boolean, may is suggest IS_ENABLED, IS_VERBOSE respectively? > #define GUC_LOG_LEVEL_TO_VERBOSITY(x) ({ \ > typeof(x) _x = (x); \ > GUC_LOG_LEVEL_TO_VERBOSE(_x) ? _x - 2 : 0; \ > }) > -#define GUC_VERBOSITY_TO_LOG_LEVEL(x) ((x) + 2) > +#define GUC_VERBOSITY_TO_LOG_LEVEL(x) ((x) + 2) > +#define GUC_LOG_LEVEL_MAX GUC_VERBOSITY_TO_LOG_LEVEL(GUC_LOG_VERBOSITY_MAX) Then you have bool: IS_ENABLED, IS_VERBOSE; int: TO_VERBOSITY, TO_LOG_LEVEL; > > struct intel_guc_log { > u32 flags; > diff --git a/drivers/gpu/drm/i915/intel_uc.c b/drivers/gpu/drm/i915/intel_uc.c > index 34e847d0ee4c..b525411ae631 100644 > --- a/drivers/gpu/drm/i915/intel_uc.c > +++ b/drivers/gpu/drm/i915/intel_uc.c > @@ -69,14 +69,15 @@ static int __get_platform_enable_guc(struct drm_i915_private *dev_priv) > > static int __get_default_guc_log_level(struct drm_i915_private *dev_priv) > { > - int guc_log_level = 1; /* non-verbose */ > + int guc_log_level; > > - /* Enable if we're running on platform with GuC and debug config */ > - if (HAS_GUC(dev_priv) && intel_uc_is_using_guc() && > - (IS_ENABLED(CONFIG_DRM_I915_DEBUG) || > - IS_ENABLED(CONFIG_DRM_I915_DEBUG_GEM))) > - guc_log_level = > - GUC_VERBOSITY_TO_LOG_LEVEL(GUC_LOG_VERBOSITY_MAX); > + if (!HAS_GUC(dev_priv) || !intel_uc_is_using_guc()) > + guc_log_level = GUC_LOG_LEVEL_DISABLED; Ok. That'll quieten down the surprise. > + else if (IS_ENABLED(CONFIG_DRM_I915_DEBUG) || > + IS_ENABLED(CONFIG_DRM_I915_DEBUG_GEM)) > + guc_log_level = GUC_LOG_LEVEL_MAX; Noisy for CI. > + else > + guc_log_level = GUC_LOG_LEVEL_NON_VERBOSE; Otherwise silent until asked. > > /* Any platform specific fine-tuning can be done here */ > > @@ -143,13 +144,11 @@ static void sanitize_options_early(struct drm_i915_private *dev_priv) > i915_modparams.guc_log_level = 0; > } > > - if (i915_modparams.guc_log_level > > - GUC_VERBOSITY_TO_LOG_LEVEL(GUC_LOG_VERBOSITY_MAX)) { > + if (i915_modparams.guc_log_level > GUC_LOG_LEVEL_MAX) { > DRM_WARN("Incompatible option detected: %s=%d, %s!\n", > "guc_log_level", i915_modparams.guc_log_level, > "verbosity too high"); > - i915_modparams.guc_log_level = > - GUC_VERBOSITY_TO_LOG_LEVEL(GUC_LOG_VERBOSITY_MAX); > + i915_modparams.guc_log_level = GUC_LOG_LEVEL_MAX; > } Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> -Chris _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx