From patchwork Tue Jul 23 11:26:30 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Egbert Eich X-Patchwork-Id: 2831951 Return-Path: X-Original-To: patchwork-intel-gfx@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork1.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.19.201]) by patchwork1.web.kernel.org (Postfix) with ESMTP id 8B6F59F243 for ; Tue, 23 Jul 2013 11:26:49 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 6C029201DA for ; Tue, 23 Jul 2013 11:26:48 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) by mail.kernel.org (Postfix) with ESMTP id 270E6201D3 for ; Tue, 23 Jul 2013 11:26:47 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 09506E665A for ; Tue, 23 Jul 2013 04:26:47 -0700 (PDT) X-Original-To: intel-gfx@lists.freedesktop.org Delivered-To: intel-gfx@lists.freedesktop.org Received: from mx2.suse.de (cantor2.suse.de [195.135.220.15]) by gabe.freedesktop.org (Postfix) with ESMTP id 26171E5EB5 for ; Tue, 23 Jul 2013 04:26:36 -0700 (PDT) Received: from relay2.suse.de (unknown [195.135.220.254]) by mx2.suse.de (Postfix) with ESMTP id 8A4D0A5211; Tue, 23 Jul 2013 13:26:34 +0200 (CEST) MIME-Version: 1.0 Message-ID: <20974.26726.659962.223064@linux-qknr.site> Date: Tue, 23 Jul 2013 13:26:30 +0200 From: Egbert Eich To: Jan Niggemann In-Reply-To: jn@hz6.de wrote on Monday, 22 July 2013 at 21:28:33 +0200 References: <2b828191fde71b2243f883e2dbb28d6d@hz6.de> <20130708200316.GG18285@phenom.ffwll.local> <20972.59257.635588.597578@linux-qknr.site> X-Mailer: VM 7.19 under Emacs 23.3.1 Cc: Egbert Eich , intel-gfx Subject: Re: [Intel-gfx] i915 irq storm mitigation in 3.10 X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: intel-gfx-bounces+patchwork-intel-gfx=patchwork.kernel.org@lists.freedesktop.org Errors-To: intel-gfx-bounces+patchwork-intel-gfx=patchwork.kernel.org@lists.freedesktop.org X-Spam-Status: No, score=-4.2 required=5.0 tests=BAYES_00, RCVD_IN_DNSWL_MED, RP_MATCHES_RCVD, UNPARSEABLE_RELAY autolearn=unavailable version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Hi Jan - Jan Niggemann writes: > > As to the log: I messed up the kernel parameters this morning... was > out of coffee this morning and my 1,5y daughter played around me :-) > > Here's my kernel log with drm.debug and printk.time enabled: > Uncompressed (22M): http://files.hz6.de/kern_20130722.log > bzip2'd (some 600 KB): http://files.hz6.de/kern_20130722.log.bz2 I've looked at the logs a bit more. Here's a patch adding some more debug information. Would you please apply this to your 3.10 kernel and generate a log file the same way as you did before. The driver will be even more chatty - but I don't expect any problems from this. Cheers, Egbert. diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c index e43d809..46bb77c 100644 --- a/drivers/gpu/drm/i915/i915_irq.c +++ b/drivers/gpu/drm/i915/i915_irq.c @@ -919,6 +919,11 @@ static inline void intel_hpd_irq_handler(struct drm_device *dev, spin_lock(&dev_priv->irq_lock); for (i = 1; i < HPD_NUM_PINS; i++) { + if (IS_G4X(dev) && (hpd[i] & hotplug_trigger) && + dev_priv->hpd_stats[i].hpd_mark != HPD_ENABLED) + DRM_DEBUG_KMS("Received HPD intterupt although disabled\n", + I915_READ(PORT_HOTPLUG_EN)); + if (!(hpd[i] & hotplug_trigger) || dev_priv->hpd_stats[i].hpd_mark != HPD_ENABLED) continue; @@ -929,6 +934,8 @@ static inline void intel_hpd_irq_handler(struct drm_device *dev, + msecs_to_jiffies(HPD_STORM_DETECT_PERIOD))) { dev_priv->hpd_stats[i].hpd_last_jiffies = jiffies; dev_priv->hpd_stats[i].hpd_cnt = 0; + DRM_DEBUG_KMS("Received HPD interrupt on PIN %d - jiffies: %d\n", i, + dev_priv->hpd_stats[i].hpd_last_jiffies); } else if (dev_priv->hpd_stats[i].hpd_cnt > HPD_STORM_THRESHOLD) { dev_priv->hpd_stats[i].hpd_mark = HPD_MARK_DISABLED; dev_priv->hpd_event_bits &= ~(1 << i); @@ -936,6 +943,8 @@ static inline void intel_hpd_irq_handler(struct drm_device *dev, storm_detected = true; } else { dev_priv->hpd_stats[i].hpd_cnt++; + DRM_DEBUG_KMS("Received HPD interrupt on PIN %d - cnt: %d\n", i, + dev_priv->hpd_stats[i].hpd_cnt); } }