[Intel-gfx] [PATCH 1/3] drm/i915: Invalidate media caches on gen7
Daniel Vetter
daniel at ffwll.ch
Tue Dec 16 01:22:29 PST 2014
On Tue, Dec 16, 2014 at 08:26:55AM +0000, Chris Wilson wrote:
> On Mon, Dec 15, 2014 at 10:34:45AM +0100, Daniel Vetter wrote:
> > On Thu, Dec 11, 2014 at 08:16:59AM +0000, Chris Wilson wrote:
> > > In the gen7 pipe control there is an extra bit to flush the media
> > > caches, so let's set it during cache invalidation flushes.
> > >
> > > Cc: Simon Farnsworth <simon at farnz.org.uk>
> > > Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
> > > Cc: stable at vger.kernel.org
> > > ---
> > > drivers/gpu/drm/i915/i915_reg.h | 1 +
> > > drivers/gpu/drm/i915/intel_ringbuffer.c | 1 +
> > > 2 files changed, 2 insertions(+)
> > >
> > > diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
> > > index 93fdad8a7447..0ddef7256d02 100644
> > > --- a/drivers/gpu/drm/i915/i915_reg.h
> > > +++ b/drivers/gpu/drm/i915/i915_reg.h
> > > @@ -400,6 +400,7 @@
> > > #define PIPE_CONTROL_STORE_DATA_INDEX (1<<21)
> > > #define PIPE_CONTROL_CS_STALL (1<<20)
> > > #define PIPE_CONTROL_TLB_INVALIDATE (1<<18)
> > > +#define PIPE_CONTROL_MEDIA_CACHE_INVALIDATE (1<<16)
> >
> > Maybe call it STATE_CLEAR since that's what Bspec calls it. libva doesn't
> > use this, so I have no idea what it means. I also wonder whether we should
> > nuke indirect state (bit9), too? Just to make sure the context switch
> > doesn't fall over between 3d and media pipeline.
> >
>
> I am not sure if we should use "indirect state pointers disable" as that
> affects the context image. If userspace is using indirect state pointers
> and contexts, it will expect the GPU state to be maintain across the
> unforseeable context switches. Userspace would have to zap the pointers
> itself if it does not want them preserved.
Well userspace has to assume that already since indirect state can be
relocated by the kernel between batches. So I don't think it should be
harmful, and might help to prevent loading state data in some cases.
Anyway, separate patch.
> > Anyway if it helps it must be good. With the rename applied:
>
> I don't have anything to suggest this improved matters, it was just
> mentioned in conjunction with context switches in the bspec and seemed
> appropriate when thinking about libva...
Yeah makes sense if just as a stopgap for libva leaking state.
-Daniel
--
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch
More information about the Intel-gfx
mailing list