All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Michal Wajdeczko" <michal.wajdeczko@intel.com>
To: Sagar Arun Kamble <sagar.a.kamble@intel.com>,
	intel-gfx@lists.freedesktop.org,
	Chris Wilson <chris@chris-wilson.co.uk>
Subject: Re: [PATCH v3 03/12] drm/i915/guc: Pass intel_guc struct parameter to GuC interrupts functions
Date: Thu, 04 Jan 2018 17:31:11 +0100	[thread overview]
Message-ID: <op.zcbr59ggxaggs7@mwajdecz-mobl1.ger.corp.intel.com> (raw)
In-Reply-To: <151508298599.21495.3650310023457215750@mail.alporthouse.com>

On Thu, 04 Jan 2018 17:23:05 +0100, Chris Wilson  
<chris@chris-wilson.co.uk> wrote:

> Quoting Sagar Arun Kamble (2018-01-04 16:21:45)
>> GuC interrupts handling functions are GuC specific functions hence  
>> update
>> the parameter from dev_priv to intel_guc struct.
>>
>> v2-v3: Rebase.
>>
>> Signed-off-by: Sagar Arun Kamble <sagar.a.kamble@intel.com>
>> Cc: Michal Wajdeczko <michal.wajdeczko@intel.com>
>> Cc: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
>> Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
>> Cc: Chris Wilson <chris@chris-wilson.co.uk>
>> Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
>> Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
>> ---
>>  drivers/gpu/drm/i915/i915_irq.c      |  2 +-
>>  drivers/gpu/drm/i915/intel_guc.c     | 22 +++++++++++++++-------
>>  drivers/gpu/drm/i915/intel_guc.h     |  8 ++++----
>>  drivers/gpu/drm/i915/intel_guc_log.c |  8 +++-----
>>  drivers/gpu/drm/i915/intel_uc.c      |  8 ++++----
>>  5 files changed, 27 insertions(+), 21 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/i915/i915_irq.c  
>> b/drivers/gpu/drm/i915/i915_irq.c
>> index 3f4eff9..a1ae057 100644
>> --- a/drivers/gpu/drm/i915/i915_irq.c
>> +++ b/drivers/gpu/drm/i915/i915_irq.c
>> @@ -1447,7 +1447,7 @@ static void gen8_gt_irq_handler(struct  
>> drm_i915_private *dev_priv,
>>                 gen6_rps_irq_handler(dev_priv, gt_iir[2]);
>>
>>         if (gt_iir[2] & dev_priv->pm_guc_events)
>> -               intel_guc_irq_handler(dev_priv, gt_iir[2]);
>> +               intel_guc_irq_handler(&dev_priv->guc, gt_iir[2]);
>>  }
>>
>>  static bool bxt_port_hotplug_long_detect(enum port port, u32 val)
>> diff --git a/drivers/gpu/drm/i915/intel_guc.c  
>> b/drivers/gpu/drm/i915/intel_guc.c
>> index e95ff2d..14bf508d 100644
>> --- a/drivers/gpu/drm/i915/intel_guc.c
>> +++ b/drivers/gpu/drm/i915/intel_guc.c
>> @@ -400,7 +400,7 @@ int intel_guc_suspend(struct drm_i915_private  
>> *dev_priv)
>>         if (guc->fw.load_status != INTEL_UC_FIRMWARE_SUCCESS)
>>                 return 0;
>>
>> -       intel_disable_guc_interrupts(dev_priv);
>> +       intel_disable_guc_interrupts(guc);
>>
>>         data[0] = INTEL_GUC_ACTION_ENTER_S_STATE;
>>         /* any value greater than GUC_POWER_D0 */
>> @@ -446,7 +446,7 @@ int intel_guc_resume(struct drm_i915_private  
>> *dev_priv)
>>                 return 0;
>>
>>         if (i915_modparams.guc_log_level >= 0)
>> -               intel_enable_guc_interrupts(dev_priv);
>> +               intel_enable_guc_interrupts(guc);
>>
>>         data[0] = INTEL_GUC_ACTION_EXIT_S_STATE;
>>         data[1] = GUC_POWER_D0;
>> @@ -508,15 +508,19 @@ u32 intel_guc_wopcm_size(struct drm_i915_private  
>> *dev_priv)
>>         return wopcm_size;
>>  }
>>
>> -void intel_reset_guc_interrupts(struct drm_i915_private *dev_priv)
>> +void intel_reset_guc_interrupts(struct intel_guc *guc)
>>  {
>> +       struct drm_i915_private *dev_priv = guc_to_i915(guc);
>> +
>>         spin_lock_irq(&dev_priv->irq_lock);
>>         gen6_reset_pm_iir(dev_priv, dev_priv->pm_guc_events);
>>         spin_unlock_irq(&dev_priv->irq_lock);
>>  }
>>
>> -void intel_enable_guc_interrupts(struct drm_i915_private *dev_priv)
>> +void intel_enable_guc_interrupts(struct intel_guc *guc)
>>  {
>> +       struct drm_i915_private *dev_priv = guc_to_i915(guc);
>> +
>>         spin_lock_irq(&dev_priv->irq_lock);
>>         if (!dev_priv->guc.interrupts_enabled) {
>>                 WARN_ON_ONCE(I915_READ(gen6_pm_iir(dev_priv)) &
>> @@ -527,8 +531,10 @@ void intel_enable_guc_interrupts(struct  
>> drm_i915_private *dev_priv)
>>         spin_unlock_irq(&dev_priv->irq_lock);
>>  }
>>
>> -void intel_disable_guc_interrupts(struct drm_i915_private *dev_priv)
>> +void intel_disable_guc_interrupts(struct intel_guc *guc)
>>  {
>> +       struct drm_i915_private *dev_priv = guc_to_i915(guc);
>> +
>>         spin_lock_irq(&dev_priv->irq_lock);
>>         dev_priv->guc.interrupts_enabled = false;
>>
>> @@ -537,11 +543,13 @@ void intel_disable_guc_interrupts(struct  
>> drm_i915_private *dev_priv)
>>         spin_unlock_irq(&dev_priv->irq_lock);
>>         synchronize_irq(dev_priv->drm.irq);
>>
>> -       intel_reset_guc_interrupts(dev_priv);
>> +       intel_reset_guc_interrupts(guc);
>>  }
>>
>> -void intel_guc_irq_handler(struct drm_i915_private *dev_priv, u32  
>> gt_iir)
>> +void intel_guc_irq_handler(struct intel_guc *guc, u32 gt_iir)
>>  {
>> +       struct drm_i915_private *dev_priv = guc_to_i915(guc);
>> +
>>         if (gt_iir & GEN9_GUC_TO_HOST_INT_EVENT) {
>>                 /* Sample the log buffer flush related bits & clear  
>> them out now
>>                  * itself from the message identity register to  
>> minimize the
>> diff --git a/drivers/gpu/drm/i915/intel_guc.h  
>> b/drivers/gpu/drm/i915/intel_guc.h
>> index c37d34d..49f33b9 100644
>> --- a/drivers/gpu/drm/i915/intel_guc.h
>> +++ b/drivers/gpu/drm/i915/intel_guc.h
>> @@ -131,9 +131,9 @@ static inline u32 guc_ggtt_offset(struct i915_vma  
>> *vma)
>>  int intel_guc_resume(struct drm_i915_private *dev_priv);
>>  struct i915_vma *intel_guc_allocate_vma(struct intel_guc *guc, u32  
>> size);
>>  u32 intel_guc_wopcm_size(struct drm_i915_private *dev_priv);
>> -void intel_reset_guc_interrupts(struct drm_i915_private *dev_priv);
>> -void intel_enable_guc_interrupts(struct drm_i915_private *dev_priv);
>> -void intel_disable_guc_interrupts(struct drm_i915_private *dev_priv);
>> -void intel_guc_irq_handler(struct drm_i915_private *dev_priv, u32  
>> pm_iir);
>> +void intel_reset_guc_interrupts(struct intel_guc *guc);
>> +void intel_enable_guc_interrupts(struct intel_guc *guc);
>> +void intel_disable_guc_interrupts(struct intel_guc *guc);
>> +void intel_guc_irq_handler(struct intel_guc *guc, u32 pm_iir);
>
> You should also consider s/intel_verb_guc/intel_guc_verb/ since we are
> now passing intel_guc as the object.

And additionally also consider squashing this patch with 02/12 (and maybe
01/12 as well) to avoid changing the same lines twice

Michal

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

  reply	other threads:[~2018-01-04 16:31 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-01-04 16:21 [PATCH v3 00/12] GuC Interrupts/Log updates Sagar Arun Kamble
2018-01-04 16:21 ` [PATCH v3 01/12] drm/i915: Export low level PM IRQ functions to use from GuC functions Sagar Arun Kamble
2018-01-04 16:21 ` [PATCH v3 02/12] drm/i915/guc: Move GuC interrupts related functions from i915_irq.c to intel_guc.c Sagar Arun Kamble
2018-01-04 16:21 ` [PATCH v3 03/12] drm/i915/guc: Pass intel_guc struct parameter to GuC interrupts functions Sagar Arun Kamble
2018-01-04 16:23   ` Chris Wilson
2018-01-04 16:31     ` Michal Wajdeczko [this message]
2018-01-05  4:30       ` Sagar Arun Kamble
2018-01-04 17:22   ` Michal Wajdeczko
2018-01-05  5:00     ` Sagar Arun Kamble
2018-01-04 16:21 ` [PATCH v3 04/12] drm/i915/guc: Add description and comments about guc_log_level parameter Sagar Arun Kamble
2018-01-04 16:52   ` Michal Wajdeczko
2018-01-05  4:54     ` Sagar Arun Kamble
2018-01-05  8:53       ` Sagar Arun Kamble
2018-01-04 16:21 ` [PATCH v3 05/12] drm/i915/guc: Fix GuC interrupts disabling with logging Sagar Arun Kamble
2018-01-04 16:21 ` [PATCH v3 06/12] drm/i915/guc: Separate creation/release of runtime logging data from base logging data Sagar Arun Kamble
2018-01-04 16:21 ` [PATCH v3 07/12] drm/i915/guc: Grab RPM wakelock while disabling GuC interrupts Sagar Arun Kamble
2018-01-04 16:21 ` [PATCH v3 08/12] drm/i915/guc: Make guc_log_level parameter immutable Sagar Arun Kamble
2018-01-04 16:21 ` [PATCH v3 09/12] drm/i915/guc: Make GuC log related functions depend only on log level Sagar Arun Kamble
2018-01-04 17:15   ` Michal Wajdeczko
2018-01-05  4:58     ` Sagar Arun Kamble
2018-01-04 16:21 ` [PATCH v3 10/12] drm/i915/guc: Add client support to enable/disable GuC interrupts Sagar Arun Kamble
2018-01-04 17:39   ` Michal Wajdeczko
2018-01-05  5:07     ` Sagar Arun Kamble
2018-01-04 16:21 ` [PATCH v3 11/12] drm/i915/guc: Restore GuC interrupts across suspend/reset if enabled Sagar Arun Kamble
2018-01-04 17:49   ` Michal Wajdeczko
2018-01-05  5:13     ` Sagar Arun Kamble
2018-01-04 16:21 ` [PATCH v3 12/12] HAX: drm/i915/guc: enable GuC submission/logging for CI Sagar Arun Kamble
2018-01-04 16:29   ` Chris Wilson
2018-01-05  4:37     ` Sagar Arun Kamble
2018-01-04 16:45 ` ✗ Fi.CI.BAT: failure for GuC Interrupts/Log updates (rev2) Patchwork

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=op.zcbr59ggxaggs7@mwajdecz-mobl1.ger.corp.intel.com \
    --to=michal.wajdeczko@intel.com \
    --cc=chris@chris-wilson.co.uk \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=sagar.a.kamble@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.