[PATCH 1/2] drm/i915/guc: Use correct lock when checking for stale CTB messages
Michal Wajdeczko
michal.wajdeczko at intel.com
Sat Feb 1 13:45:15 UTC 2020
Access to CTB_RECV buffer descriptor is implicitly guarded
by gt->irq_lock, not i915->irq_lock. Use correct lock when
checking for stale messages outside irq handler.
Signed-off-by: Michal Wajdeczko <michal.wajdeczko at intel.com>
Cc: Daniele Ceraolo Spurio <daniele.ceraolospurio at intel.com>
Cc: Chris Wilson <chris at chris-wilson.co.uk>
---
drivers/gpu/drm/i915/gt/uc/intel_guc_ct.c | 2 ++
drivers/gpu/drm/i915/gt/uc/intel_uc.c | 7 ++++---
2 files changed, 6 insertions(+), 3 deletions(-)
diff --git a/drivers/gpu/drm/i915/gt/uc/intel_guc_ct.c b/drivers/gpu/drm/i915/gt/uc/intel_guc_ct.c
index 11742fca0e9e..6b0768800fee 100644
--- a/drivers/gpu/drm/i915/gt/uc/intel_guc_ct.c
+++ b/drivers/gpu/drm/i915/gt/uc/intel_guc_ct.c
@@ -597,6 +597,8 @@ static int ct_read(struct intel_guc_ct *ct, u32 *data)
unsigned int len;
unsigned int i;
+ lockdep_assert_held(&ct_to_gt(ct)->irq_lock);
+
if (unlikely(desc->is_in_error))
return -EPIPE;
diff --git a/drivers/gpu/drm/i915/gt/uc/intel_uc.c b/drivers/gpu/drm/i915/gt/uc/intel_uc.c
index affc4d6f9ead..375ff7347800 100644
--- a/drivers/gpu/drm/i915/gt/uc/intel_uc.c
+++ b/drivers/gpu/drm/i915/gt/uc/intel_uc.c
@@ -200,7 +200,8 @@ static void guc_disable_interrupts(struct intel_guc *guc)
static int guc_enable_communication(struct intel_guc *guc)
{
- struct drm_i915_private *i915 = guc_to_gt(guc)->i915;
+ struct intel_gt *gt = guc_to_gt(guc);
+ struct drm_i915_private *i915 = gt->i915;
int ret;
GEM_BUG_ON(guc_communication_enabled(guc));
@@ -220,9 +221,9 @@ static int guc_enable_communication(struct intel_guc *guc)
guc_enable_interrupts(guc);
/* check for CT messages received before we enabled interrupts */
- spin_lock_irq(&i915->irq_lock);
+ spin_lock_irq(>->irq_lock);
intel_guc_ct_event_handler(&guc->ct);
- spin_unlock_irq(&i915->irq_lock);
+ spin_unlock_irq(>->irq_lock);
DRM_INFO("GuC communication enabled\n");
--
2.19.2
More information about the Intel-gfx-trybot
mailing list