From patchwork Wed Apr 21 19:49:23 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jesse Barnes X-Patchwork-Id: 93936 Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) by demeter.kernel.org (8.14.3/8.14.3) with ESMTP id o3LJmBwS015766 for ; Wed, 21 Apr 2010 19:48:46 GMT Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id D9DF69EFFF; Wed, 21 Apr 2010 12:48:10 -0700 (PDT) X-Original-To: intel-gfx@lists.freedesktop.org Delivered-To: intel-gfx@lists.freedesktop.org Received: from outbound-mail-158.bluehost.com (cpoproxy2-pub.bluehost.com [67.222.39.38]) by gabe.freedesktop.org (Postfix) with SMTP id 402E29E872 for ; Wed, 21 Apr 2010 12:48:09 -0700 (PDT) Received: (qmail 19100 invoked by uid 0); 21 Apr 2010 19:48:09 -0000 Received: from unknown (HELO box514.bluehost.com) (74.220.219.114) by cpoproxy2.bluehost.com with SMTP; 21 Apr 2010 19:48:08 -0000 DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=default; d=virtuousgeek.org; h=Received:Date:From:To:Cc:Subject:Message-ID:In-Reply-To:References:X-Mailer:Mime-Version:Content-Type:Content-Transfer-Encoding:X-Identified-User; b=TpzDxIvV6ucgFxT5USDuPUTiZQrxqefKt58krcVIjcH2cXfkhi9Bj1ARn77hgVTeT3KHTrulj62OvegLDPQPWzve73orbHXko63rFXOwkl7Ku1mB3gxpIKSuAUnq7SlG; Received: from [75.110.194.140] (helo=localhost) by box514.bluehost.com with esmtpsa (TLSv1:AES128-SHA:128) (Exim 4.69) (envelope-from ) id 1O4fu3-0000Se-Tw; Wed, 21 Apr 2010 13:48:08 -0600 Date: Wed, 21 Apr 2010 12:49:23 -0700 From: Jesse Barnes To: intel-gfx@lists.freedesktop.org Message-ID: <20100421124923.4eb01d8b@virtuousgeek.org> In-Reply-To: <1271875166-13084-6-git-send-email-jbarnes@virtuousgeek.org> References: <1271875166-13084-1-git-send-email-jbarnes@virtuousgeek.org> <1271875166-13084-6-git-send-email-jbarnes@virtuousgeek.org> X-Mailer: Claws Mail 3.7.5 (GTK+ 2.18.9; x86_64-redhat-linux-gnu) Mime-Version: 1.0 X-Identified-User: {10642:box514.bluehost.com:virtuous:virtuousgeek.org} {sentby:smtp auth 75.110.194.140 authed with jbarnes@virtuousgeek.org} Subject: [Intel-gfx] [PATCH] drm/i915: avoid unnecessary PIPE_CONTROL flushing on non-Ironlake 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: , Sender: intel-gfx-bounces@lists.freedesktop.org Errors-To: intel-gfx-bounces@lists.freedesktop.org X-Greylist: IP, sender and recipient auto-whitelisted, not delayed by milter-greylist-4.2.3 (demeter.kernel.org [140.211.167.41]); Wed, 21 Apr 2010 19:48:46 +0000 (UTC) diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c index e6a1cc0..56ff905 100644 --- a/drivers/gpu/drm/i915/i915_gem.c +++ b/drivers/gpu/drm/i915/i915_gem.c @@ -1628,7 +1628,7 @@ i915_add_request(struct drm_device *dev, struct drm_file *file_priv, if (dev_priv->mm.next_gem_seqno == 0) dev_priv->mm.next_gem_seqno++; - if (HAS_PIPE_CONTROL(dev)) { + if (HAS_PIPE_CONTROL(dev) && IS_IRONLAKE(dev)) { u32 scratch_addr = dev_priv->seqno_gfx_addr + 128; /* @@ -1660,6 +1660,16 @@ i915_add_request(struct drm_device *dev, struct drm_file *file_priv, OUT_RING(seqno); OUT_RING(0); ADVANCE_LP_RING(); + } else if (HAS_PIPE_CONTROL(dev)) { + /* Don't penalize non-ilk parts with the extra writes */ + BEGIN_LP_RING(4); + OUT_RING(GFX_OP_PIPE_CONTROL | PIPE_CONTROL_QW_WRITE | + PIPE_CONTROL_WC_FLUSH | PIPE_CONTROL_TC_FLUSH | + PIPE_CONTROL_NOTIFY); + OUT_RING(dev_priv->seqno_gfx_addr | PIPE_CONTROL_GLOBAL_GTT); + OUT_RING(seqno); + OUT_RING(0); + ADVANCE_LP_RING(); } else { BEGIN_LP_RING(4); OUT_RING(MI_STORE_DWORD_INDEX);