OSDN Git Service

drm/i915/icl: Don't warn on spurious interrupts
authorMika Kuoppala <mika.kuoppala@linux.intel.com>
Wed, 10 Apr 2019 13:21:24 +0000 (16:21 +0300)
committerChris Wilson <chris@chris-wilson.co.uk>
Wed, 10 Apr 2019 15:23:19 +0000 (16:23 +0100)
There is a chance we can see spurious interrupts in live
now. We have more engines enabled and that with more elaborate
access patterns with pm and display, increases the chances
hardware just makes a social call, without anything to work on.

Remove the error as we have tests to actually probe if
we really miss interrupt, instead of getting spurious ones.

Note that now we do write to intr_dw even with a zero
value. This is considered advantegous as the write
is an ack that sw is done.

Cc: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Mika Kuoppala <mika.kuoppala@linux.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/20190410132124.21795-2-mika.kuoppala@linux.intel.com
drivers/gpu/drm/i915/i915_irq.c

index eb0eb96..8d8935d 100644 (file)
@@ -3025,14 +3025,8 @@ gen11_gt_bank_handler(struct drm_i915_private * const i915,
 
        intr_dw = raw_reg_read(regs, GEN11_GT_INTR_DW(bank));
 
-       if (unlikely(!intr_dw)) {
-               DRM_ERROR("GT_INTR_DW%u blank!\n", bank);
-               return;
-       }
-
        for_each_set_bit(bit, &intr_dw, 32) {
-               const u32 ident = gen11_gt_engine_identity(i915,
-                                                          bank, bit);
+               const u32 ident = gen11_gt_engine_identity(i915, bank, bit);
 
                gen11_gt_identity_handler(i915, ident);
        }