From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH] drm/i915: "Flush Me Harder" required on gen6+ Date: Thu, 28 Jun 2012 21:06:51 +0200 Message-ID: <20120628190651.GD5596@phenom.ffwll.local> References: <1340869722-1738-1-git-send-email-daniel.vetter@ffwll.ch> <1340876273_97159@CP5-2952> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Received: from mail-wi0-f171.google.com (mail-wi0-f171.google.com [209.85.212.171]) by gabe.freedesktop.org (Postfix) with ESMTP id 08E4E9E77A for ; Thu, 28 Jun 2012 12:06:55 -0700 (PDT) Received: by wibhq4 with SMTP id hq4so303924wib.12 for ; Thu, 28 Jun 2012 12:06:54 -0700 (PDT) Content-Disposition: inline In-Reply-To: <1340876273_97159@CP5-2952> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: intel-gfx-bounces+gcfxdi-intel-gfx=m.gmane.org@lists.freedesktop.org Errors-To: intel-gfx-bounces+gcfxdi-intel-gfx=m.gmane.org@lists.freedesktop.org To: Chris Wilson Cc: Daniel Vetter , Intel Graphics Development List-Id: intel-gfx@lists.freedesktop.org On Thu, Jun 28, 2012 at 10:37:07AM +0100, Chris Wilson wrote: > On Thu, 28 Jun 2012 09:48:42 +0200, Daniel Vetter wrote: > > The prep to remove the flushing list in > > > > commit cc889e0f6ce6a63c62db17d702ecfed86d58083f > > Author: Daniel Vetter > > Date: Wed Jun 13 20:45:19 2012 +0200 > > > > drm/i915: disable flushing_list/gpu_write_list > > > > causes quite some decent regressions. We can fix this by setting the > > CS_STALL bit to ensure that the following seqno write happens only > > after the cache flush has completed. But only do that when the caller > > actually wants the flush (and not also when we invalidate caches > > before starting the next batch). > > > > I've looked through all our ancient scrolls about gen6+ pipe control > > workarounds, and this seems to be indeed a legal combination: We're > > allowed to set the CS_STALL bit when we flush the render cache (which > > we do). > > > > While yelling at this code, also pass back the return value from > > intel_emit_post_sync_nonzero_flush properly. > > > > v2: Instead of emitting more pipe controls, set the CS_STALL bit on > > the write flush as suggested by Chris Wilson. It seems to work, too. > > > > Cc: Eric Anholt > > Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=51436 > > Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=51429 > > Tested-by: Lu Hua > > Signed-Off-by: Daniel Vetter > Tested-by: Chris Wilson > Reviewed-by: Chris Wilson Queued for -next, thanks for the review. -Daniel -- Daniel Vetter Mail: daniel@ffwll.ch Mobile: +41 (0)79 365 57 48