[Intel-gfx] [PATCH v13 04/21] drm/i915/guc: Remove enable_guc_submission dependency for invoking GuC log functions
Michal Wajdeczko
michal.wajdeczko at intel.com
Wed Oct 11 15:40:01 UTC 2017
On Wed, 11 Oct 2017 10:53:59 +0200, Sagar Arun Kamble
<sagar.a.kamble at intel.com> wrote:
> With guc_log_level parameter sanitized and GuC interrupts control
> functions made self sufficient w.r.t interrupts state, we can remove
> the enable_guc_submission checks from flush_guc_logs and
> i915_guc_log_register/unregister and intel_uc_fini_hw.
>
> Signed-off-by: Sagar Arun Kamble <sagar.a.kamble at intel.com>
> Cc: Michal Wajdeczko <michal.wajdeczko at intel.com>
> Cc: MichaĆ Winiarski <michal.winiarski at intel.com>
> Cc: Chris Wilson <chris at chris-wilson.co.uk>
> Cc: Joonas Lahtinen <joonas.lahtinen at linux.intel.com>
> ---
> drivers/gpu/drm/i915/intel_guc_log.c | 9 ++-------
> drivers/gpu/drm/i915/intel_uc.c | 3 +--
> 2 files changed, 3 insertions(+), 9 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/intel_guc_log.c
> b/drivers/gpu/drm/i915/intel_guc_log.c
> index 0f201c0..fb5eb2b9 100644
> --- a/drivers/gpu/drm/i915/intel_guc_log.c
> +++ b/drivers/gpu/drm/i915/intel_guc_log.c
> @@ -505,8 +505,7 @@ static void guc_flush_logs(struct intel_guc *guc)
> {
> struct drm_i915_private *dev_priv = guc_to_i915(guc);
> - if (!i915_guc_submission_enabled(guc) ||
> - i915_modparams.guc_log_level < 0)
> + if (i915_modparams.guc_log_level < 0)
> return;
> /* First disable the interrupts, will be renabled afterwards */
> @@ -646,8 +645,7 @@ int i915_guc_log_control(struct drm_i915_private
> *dev_priv, u64 control_val)
> void i915_guc_log_register(struct drm_i915_private *dev_priv)
> {
> - if (!i915_guc_submission_enabled(&dev_priv->guc) ||
> - i915_modparams.guc_log_level < 0)
> + if (i915_modparams.guc_log_level < 0)
I would expect above two fixes in patch 2/21
> return;
> mutex_lock(&dev_priv->drm.struct_mutex);
> @@ -657,9 +655,6 @@ void i915_guc_log_register(struct drm_i915_private
> *dev_priv)
> void i915_guc_log_unregister(struct drm_i915_private *dev_priv)
> {
> - if (!i915_guc_submission_enabled(&dev_priv->guc))
> - return;
Hmm, as i915_guc_log_unregister() is called unconditionally by
i915_driver_unregister so maybe here we should have at least
if (i915_modparams.guc_log_level < 0)
return;
> -
> mutex_lock(&dev_priv->drm.struct_mutex);
> /* GuC logging is currently the only user of Guc2Host interrupts */
> gen9_disable_guc_interrupts(dev_priv);
What about dropping this gen9_disable_guc_interrupts from here
and rely on the intel_uc_fini_hw() that will do the same?
> diff --git a/drivers/gpu/drm/i915/intel_uc.c
> b/drivers/gpu/drm/i915/intel_uc.c
> index 3cf3cbd..974434e 100644
> --- a/drivers/gpu/drm/i915/intel_uc.c
> +++ b/drivers/gpu/drm/i915/intel_uc.c
> @@ -280,8 +280,7 @@ void intel_uc_fini_hw(struct drm_i915_private
> *dev_priv)
> guc_disable_communication(guc);
> - if (i915_guc_submission_enabled(guc))
> - gen9_disable_guc_interrupts(dev_priv);
> + gen9_disable_guc_interrupts(dev_priv);
> i915_guc_submission_fini(dev_priv);
> i915_ggtt_disable_guc(dev_priv);
More information about the Intel-gfx
mailing list