From: "Ville Syrjälä" <ville.syrjala@linux.intel.com>
To: Chris Wilson <chris@chris-wilson.co.uk>,
intel-gfx@lists.freedesktop.org,
Simon Farnsworth <simon@farnz.org.uk>,
stable@vger.kernel.org
Subject: Re: [Intel-gfx] [PATCH 2/3] drm/i915: Force the CS stall for invalidate flushes
Date: Fri, 12 Dec 2014 13:29:13 +0200 [thread overview]
Message-ID: <20141212112913.GP10649@intel.com> (raw)
In-Reply-To: <20141212092049.GF22904@nuc-i3427.alporthouse.com>
On Fri, Dec 12, 2014 at 09:20:49AM +0000, Chris Wilson wrote:
> On Fri, Dec 12, 2014 at 11:09:15AM +0200, Ville Syrjälä wrote:
> > On Thu, Dec 11, 2014 at 08:17:00AM +0000, Chris Wilson wrote:
> > > In order to act as a full command barrier by itself, we need to tell the
> > > pipecontrol to actually stall the command streamer while the flush runs.
> > > We require the full command barrier before operations like
> > > MI_SET_CONTEXT, which currently rely on a prior invalidate flush.
> > >
> > > References: https://bugs.freedesktop.org/show_bug.cgi?id=83677
> > > Cc: Simon Farnsworth <simon@farnz.org.uk>
> > > Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
> > > Cc: stable@vger.kernel.org
> > > ---
> > > drivers/gpu/drm/i915/intel_ringbuffer.c | 2 ++
> > > 1 file changed, 2 insertions(+)
> > >
> > > diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.c b/drivers/gpu/drm/i915/intel_ringbuffer.c
> > > index 282279b83ca4..02fb478a2867 100644
> > > --- a/drivers/gpu/drm/i915/intel_ringbuffer.c
> > > +++ b/drivers/gpu/drm/i915/intel_ringbuffer.c
> > > @@ -380,6 +380,8 @@ gen7_render_ring_flush(struct intel_engine_cs *ring,
> > > flags |= PIPE_CONTROL_QW_WRITE;
> > > flags |= PIPE_CONTROL_GLOBAL_GTT_IVB;
> > >
> > > + flags |= PIPE_CONTROL_STALL_AT_SCOREBOARD;
> > > +
> >
> > Hmm. BSpec says that the render cache won't be flushed when this bit
> > is set. Is that going to cause problems for the gpu_cache_dirty cases
> > where seem to do invalidate+flush with a single PIPE_CONTROL?
>
> I thought it was DEPTH_STALL that disabled the write flush.
Hmm. Yeah, the previous sentence talks about the depth stall bit. So I
suppose it could still be referring to the depth stall bit when it says
the render cache flush won't be flushed.
> It is
> redundant in the case where the write flush is taking place though and
> you can do:
>
> /* bspec is not entirely clear when the render target cache flush is
> * disabled with other stall bits set, so don't set any additional
> * stalls if we are already using the cache flush.
> */
> if ((flags & PIPE_CONTROL_RENDER_TARGET_CACHE_FLUSH) == 0)
> flags |= PIPE_CONTROL_STALL_AT_SCOREBOARD;
> -Chris
>
> --
> Chris Wilson, Intel Open Source Technology Centre
--
Ville Syrjälä
Intel OTC
next prev parent reply other threads:[~2014-12-12 11:29 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-12-11 8:16 [PATCH 1/3] drm/i915: Invalidate media caches on gen7 Chris Wilson
2014-12-11 8:17 ` [PATCH 2/3] drm/i915: Force the CS stall for invalidate flushes Chris Wilson
2014-12-12 9:09 ` [Intel-gfx] " Ville Syrjälä
2014-12-12 9:20 ` Chris Wilson
2014-12-12 11:29 ` Ville Syrjälä [this message]
2014-12-15 9:30 ` Daniel Vetter
2014-12-11 8:17 ` [PATCH 3/3] drm/i915: Disable PMSI sleep messages on all rings around context switches Chris Wilson
2014-12-11 12:35 ` shuang.he
2014-12-15 9:41 ` [Intel-gfx] " Daniel Vetter
2014-12-15 16:24 ` Chris Wilson
2014-12-15 17:03 ` Ville Syrjälä
2014-12-16 9:19 ` Daniel Vetter
2014-12-16 9:55 ` [Intel-gfx] " Chris Wilson
2014-12-16 10:04 ` Daniel Vetter
2014-12-11 12:24 ` [PATCH 1/3] drm/i915: Invalidate media caches on gen7 Ville Syrjälä
2014-12-12 9:23 ` [Intel-gfx] " Chris Wilson
2014-12-15 9:34 ` Daniel Vetter
2014-12-16 8:26 ` Chris Wilson
2014-12-16 9:22 ` Daniel Vetter
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20141212112913.GP10649@intel.com \
--to=ville.syrjala@linux.intel.com \
--cc=chris@chris-wilson.co.uk \
--cc=intel-gfx@lists.freedesktop.org \
--cc=simon@farnz.org.uk \
--cc=stable@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.