From patchwork Tue Jun 14 16:51:47 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Daniel J Blueman X-Patchwork-Id: 879522 Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) by demeter2.kernel.org (8.14.4/8.14.4) with ESMTP id p5EGqY4b016864 for ; Tue, 14 Jun 2011 16:52:55 GMT Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 0C1969E7B5 for ; Tue, 14 Jun 2011 09:52:34 -0700 (PDT) X-Original-To: intel-gfx@lists.freedesktop.org Delivered-To: intel-gfx@lists.freedesktop.org Received: from mail-px0-f180.google.com (mail-px0-f180.google.com [209.85.212.180]) by gabe.freedesktop.org (Postfix) with ESMTP id 024309EAF9 for ; Tue, 14 Jun 2011 09:52:10 -0700 (PDT) Received: by pxi13 with SMTP id 13so3746187pxi.25 for ; Tue, 14 Jun 2011 09:52:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:from:to:cc:subject:date:message-id:x-mailer; bh=X5sjotbcN2OVQmAfNwnQNNN2oGFcP0CnJf8G463iyto=; b=EN8t99n3ivWrOWQI1FnjYpZmLclR58IWAobnaA4ACZGhNMfmiCb23Z3CMjkujmL6oQ 6/TfxErkEiHYYQTPv5mGkrnvG49cIvTkBV3DdRLh78qsLxqRHNuLQ/03si9TOEvNGjCH l9vuzKtK46sXa4pVZErWZvnbQdn5+Czu3Wz+g= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=from:to:cc:subject:date:message-id:x-mailer; b=Kds+YzBpv0fWx1iENogoUFzrJOhLuC1oeqYtTmXGTCZ0k9Wzx1NECzWvmszRu6BatD KuoMtuzfg9zQGUKQSOQSVJkZbIpotyGiQk9TMQR2SF/lfW+CkmD7E6kta4Re5+mgB6Id 2OeF9hmY6SFZuCmsbubuT73ZoiVNvE5EeYecQ= Received: by 10.68.17.65 with SMTP id m1mr3216372pbd.70.1308070330306; Tue, 14 Jun 2011 09:52:10 -0700 (PDT) Received: from localhost.localdomain (bb116-14-51-142.singnet.com.sg [116.14.51.142]) by mx.google.com with ESMTPS id p5sm5691514pbk.68.2011.06.14.09.52.06 (version=TLSv1/SSLv3 cipher=OTHER); Tue, 14 Jun 2011 09:52:09 -0700 (PDT) From: Daniel J Blueman To: Eric Anholt Date: Wed, 15 Jun 2011 00:51:47 +0800 Message-Id: <1308070307-2630-1-git-send-email-daniel.blueman@gmail.com> X-Mailer: git-send-email 1.7.4.1 Cc: Daniel J Blueman , intel-gfx@lists.freedesktop.org, linux-kernel@vger.kernel.org, Dave Airlie Subject: [Intel-gfx] [PATCH 3.0-rc3] i915: Fix gen6 (SNB) GPU stalling X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.11 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 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-Greylist: IP, sender and recipient auto-whitelisted, not delayed by milter-greylist-4.2.6 (demeter2.kernel.org [140.211.167.43]); Tue, 14 Jun 2011 16:52:55 +0000 (UTC) On 14 June 2011 13:23, Eric Anholt wrote: > On Tue, 14 Jun 2011 12:18:36 +0800, Daniel J Blueman wrote: >> Hi Eric, >> >> The frequent ~1.5s pauses I hit with SNB hardware in the gnome3 UI (eg >> whenever you hit the top-left of the screen to show all windows) are >> nicely addressed by your recent wake patch [1] (ported to -rc3). Thus >> I see no 'missed IRQ' kernel messages. >> >> As this addresses a significant usability regression, are you happy to >> add it to the 3.0-rc queue? I think it has very good value in -stable >> also (assuming correctness). What do you think? > > This one had significant performance impacts, and later hacks in this > series worked around the problem to approximately the same level of > success with less impact, and we don't actually have a justification of > why any of them work. We were still hoping to come up with some clue, > and haven't yet. True; that is quite heavy handed delay looping. It's a pity the usual Intel font didn't make it to the programmer's reference manuals. Anyway, unmasking the blitter user interrupt in the hardware status mask register addresses the root cause. Out of reset it's FFFFFFFFh, so we don't need to read it here. It would be good to get this into -rc4. -stable probably needs some additional tweaks. Signed-off-by: Daniel J Blueman Tested-by: Chris Wilson Tested-by: Eric Anholt Tested-by: Kenneth Graunke Signed-off-by: Daniel J Blueman Tested-by: Robert Hooker --- drivers/gpu/drm/i915/i915_irq.c | 6 ++++++ 1 files changed, 6 insertions(+), 0 deletions(-) diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c index b9fafe3..9a98c1b 100644 --- a/drivers/gpu/drm/i915/i915_irq.c +++ b/drivers/gpu/drm/i915/i915_irq.c @@ -1827,6 +1827,12 @@ int ironlake_irq_postinstall(struct drm_device *dev) ironlake_enable_display_irq(dev_priv, DE_PCU_EVENT); } + if (IS_GEN6(dev)) + /* allow blitter user interrupt to generate a MSI write from + the ISR */ + I915_WRITE(GEN6_BLITTER_HWSTAM, + 0xffffffff & ~GEN6_BLITTER_USER_INTERRUPT); + return 0; }