drm/i915: Spam less on dp aux send/receive problems
authorMika Kuoppala <mika.kuoppala@linux.intel.com>
Thu, 6 Aug 2015 13:48:58 +0000 (16:48 +0300)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Fri, 14 Aug 2015 15:50:37 +0000 (17:50 +0200)
If we encounter frequent problems with dp aux channel
communications, we end up spamming the dmesg with the
exact similar trace and status.

Inject a new backtrace only if we have new information
to share as otherwise we flush out all other important
stuff.

Signed-off-by: Mika Kuoppala <mika.kuoppala@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
drivers/gpu/drm/i915/intel_dp.c

index 4b5c6a88fd90893e4774d6ddff4af417b7998515..7eabd1175a074a8ef78daf40cebc141e63f01e07 100644 (file)
@@ -849,8 +849,15 @@ intel_dp_aux_ch(struct intel_dp *intel_dp,
        }
 
        if (try == 3) {
-               WARN(1, "dp_aux_ch not started status 0x%08x\n",
-                    I915_READ(ch_ctl));
+               static u32 last_status = -1;
+               const u32 status = I915_READ(ch_ctl);
+
+               if (status != last_status) {
+                       WARN(1, "dp_aux_ch not started status 0x%08x\n",
+                            status);
+                       last_status = status;
+               }
+
                ret = -EBUSY;
                goto out;
        }