[Intel-gfx] [PATCH 2/2] drm/i915: Request PIN_GLOBAL when pinning a vma for GTT relocations

Daniel Vetter daniel at ffwll.ch
Tue Nov 4 10:21:36 CET 2014


On Mon, Nov 03, 2014 at 08:49:08PM +0000, Chris Wilson wrote:
> On Mon, Nov 03, 2014 at 04:20:58PM +0100, Daniel Vetter wrote:
> > On Fri, Oct 31, 2014 at 01:53:53PM +0000, Chris Wilson wrote:
> > > Always require PIN_GLOBAL when we want a mappable offset (PIN_MAPPABLE).
> > > This causes the pin to fixup the global binding in cases were the vma
> > > was already bound (and due to the proceeding bug, we considered it to be
> > > already mappable).
> > > 
> > > References: https://bugs.freedesktop.org/show_bug.cgi?id=85671
> > > Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
> > > ---
> > >  drivers/gpu/drm/i915/i915_gem.c            | 2 +-
> > >  drivers/gpu/drm/i915/i915_gem_execbuffer.c | 2 +-
> > >  2 files changed, 2 insertions(+), 2 deletions(-)
> > > 
> > > diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
> > > index fe6c602a2a00..0c82a4d2cd0c 100644
> > > --- a/drivers/gpu/drm/i915/i915_gem.c
> > > +++ b/drivers/gpu/drm/i915/i915_gem.c
> > > @@ -3479,7 +3479,7 @@ search_free:
> > >  
> > >  	trace_i915_vma_bind(vma, flags);
> > >  	vma->bind_vma(vma, obj->cache_level,
> > > -		      flags & (PIN_MAPPABLE | PIN_GLOBAL) ? GLOBAL_BIND : 0);
> > > +		      flags & PIN_GLOBAL ? GLOBAL_BIND : 0);
> > 
> > Hm, why this? If we want to reduce the interface complexity maybe we
> > should throw in a WARN_ON if PIN_MAPPABLE is set, but PIN_GLOBAL isnt?
> > Just removing this safeguard make me a bit uneasy ...
> 
> Just review all the users, takes less than 2 minutes ;)
> It's a wart in the interface, which should do as I say, not guess, and
> PIN_MAPPABLE doesn't translate well to GLOBAL_BIND imo.

I don't object to the functional change, it makes sense. But I think
throwing in the safeguard WARN_ON would be useful.
-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