drm/i915/uc: Don't sanitize guc_log_level modparam
We are already storing runtime value of log level in private field, so there is no need to modify modparam. Signed-off-by: Michal Wajdeczko <michal.wajdeczko@intel.com> Cc: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Link: https://patchwork.freedesktop.org/patch/msgid/20190725205106.36148-1-michal.wajdeczko@intel.com
This commit is contained in:
parent
3f99a61441
commit
f91bf73828
@ -443,6 +443,29 @@ static void guc_log_capture_logs(struct intel_guc_log *log)
|
|||||||
guc_action_flush_log_complete(guc);
|
guc_action_flush_log_complete(guc);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static u32 __get_default_log_level(struct intel_guc_log *log)
|
||||||
|
{
|
||||||
|
/* A negative value means "use platform/config default" */
|
||||||
|
if (i915_modparams.guc_log_level < 0) {
|
||||||
|
return (IS_ENABLED(CONFIG_DRM_I915_DEBUG) ||
|
||||||
|
IS_ENABLED(CONFIG_DRM_I915_DEBUG_GEM)) ?
|
||||||
|
GUC_LOG_LEVEL_MAX : GUC_LOG_LEVEL_NON_VERBOSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
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");
|
||||||
|
return (IS_ENABLED(CONFIG_DRM_I915_DEBUG) ||
|
||||||
|
IS_ENABLED(CONFIG_DRM_I915_DEBUG_GEM)) ?
|
||||||
|
GUC_LOG_LEVEL_MAX : GUC_LOG_LEVEL_DISABLED;
|
||||||
|
}
|
||||||
|
|
||||||
|
GEM_BUG_ON(i915_modparams.guc_log_level < GUC_LOG_LEVEL_DISABLED);
|
||||||
|
GEM_BUG_ON(i915_modparams.guc_log_level > GUC_LOG_LEVEL_MAX);
|
||||||
|
return i915_modparams.guc_log_level;
|
||||||
|
}
|
||||||
|
|
||||||
int intel_guc_log_create(struct intel_guc_log *log)
|
int intel_guc_log_create(struct intel_guc_log *log)
|
||||||
{
|
{
|
||||||
struct intel_guc *guc = log_to_guc(log);
|
struct intel_guc *guc = log_to_guc(log);
|
||||||
@ -482,7 +505,11 @@ int intel_guc_log_create(struct intel_guc_log *log)
|
|||||||
|
|
||||||
log->vma = vma;
|
log->vma = vma;
|
||||||
|
|
||||||
log->level = i915_modparams.guc_log_level;
|
log->level = __get_default_log_level(log);
|
||||||
|
DRM_DEBUG_DRIVER("guc_log_level=%d (%s, verbose:%s, verbosity:%d)\n",
|
||||||
|
log->level, enableddisabled(log->level),
|
||||||
|
yesno(GUC_LOG_LEVEL_IS_VERBOSE(log->level)),
|
||||||
|
GUC_LOG_LEVEL_TO_VERBOSITY(log->level));
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
|
@ -74,23 +74,6 @@ static int __get_platform_enable_guc(struct intel_uc *uc)
|
|||||||
return enable_guc;
|
return enable_guc;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int __get_default_guc_log_level(struct intel_uc *uc)
|
|
||||||
{
|
|
||||||
int guc_log_level;
|
|
||||||
|
|
||||||
if (!intel_uc_fw_supported(&uc->guc.fw) || !intel_uc_is_using_guc(uc))
|
|
||||||
guc_log_level = GUC_LOG_LEVEL_DISABLED;
|
|
||||||
else if (IS_ENABLED(CONFIG_DRM_I915_DEBUG) ||
|
|
||||||
IS_ENABLED(CONFIG_DRM_I915_DEBUG_GEM))
|
|
||||||
guc_log_level = GUC_LOG_LEVEL_MAX;
|
|
||||||
else
|
|
||||||
guc_log_level = GUC_LOG_LEVEL_NON_VERBOSE;
|
|
||||||
|
|
||||||
/* Any platform specific fine-tuning can be done here */
|
|
||||||
|
|
||||||
return guc_log_level;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* sanitize_options_early - sanitize uC related modparam options
|
* sanitize_options_early - sanitize uC related modparam options
|
||||||
* @uc: the intel_uc structure
|
* @uc: the intel_uc structure
|
||||||
@ -100,13 +83,6 @@ static int __get_default_guc_log_level(struct intel_uc *uc)
|
|||||||
* modparam varies between platforms and it is hardcoded in driver code.
|
* modparam varies between platforms and it is hardcoded in driver code.
|
||||||
* Any other modparam value is only monitored against availability of the
|
* Any other modparam value is only monitored against availability of the
|
||||||
* related hardware or firmware definitions.
|
* related hardware or firmware definitions.
|
||||||
*
|
|
||||||
* In case of "guc_log_level" option this function will attempt to modify
|
|
||||||
* it only if it was initially set to "auto(-1)" or if initial value was
|
|
||||||
* "enable(1..4)" on platforms without the GuC. Default value for this
|
|
||||||
* modparam varies between platforms and is usually set to "disable(0)"
|
|
||||||
* unless GuC is enabled on given platform and the driver is compiled with
|
|
||||||
* debug config when this modparam will default to "enable(1..4)".
|
|
||||||
*/
|
*/
|
||||||
static void sanitize_options_early(struct intel_uc *uc)
|
static void sanitize_options_early(struct intel_uc *uc)
|
||||||
{
|
{
|
||||||
@ -149,34 +125,8 @@ static void sanitize_options_early(struct intel_uc *uc)
|
|||||||
i915_modparams.enable_guc &= ~ENABLE_GUC_SUBMISSION;
|
i915_modparams.enable_guc &= ~ENABLE_GUC_SUBMISSION;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* A negative value means "use platform/config default" */
|
|
||||||
if (i915_modparams.guc_log_level < 0)
|
|
||||||
i915_modparams.guc_log_level =
|
|
||||||
__get_default_guc_log_level(uc);
|
|
||||||
|
|
||||||
if (i915_modparams.guc_log_level > 0 && !intel_uc_is_using_guc(uc)) {
|
|
||||||
DRM_WARN("Incompatible option detected: guc_log_level=%d, "
|
|
||||||
"but GuC is not enabled!\n",
|
|
||||||
i915_modparams.guc_log_level);
|
|
||||||
i915_modparams.guc_log_level = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
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_LOG_LEVEL_MAX;
|
|
||||||
}
|
|
||||||
|
|
||||||
DRM_DEBUG_DRIVER("guc_log_level=%d (enabled:%s, verbose:%s, verbosity:%d)\n",
|
|
||||||
i915_modparams.guc_log_level,
|
|
||||||
yesno(i915_modparams.guc_log_level),
|
|
||||||
yesno(GUC_LOG_LEVEL_IS_VERBOSE(i915_modparams.guc_log_level)),
|
|
||||||
GUC_LOG_LEVEL_TO_VERBOSITY(i915_modparams.guc_log_level));
|
|
||||||
|
|
||||||
/* Make sure that sanitization was done */
|
/* Make sure that sanitization was done */
|
||||||
GEM_BUG_ON(i915_modparams.enable_guc < 0);
|
GEM_BUG_ON(i915_modparams.enable_guc < 0);
|
||||||
GEM_BUG_ON(i915_modparams.guc_log_level < 0);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void intel_uc_init_early(struct intel_uc *uc)
|
void intel_uc_init_early(struct intel_uc *uc)
|
||||||
|
Loading…
Reference in New Issue
Block a user