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

Daniel Vetter daniel at ffwll.ch
Mon Nov 3 16:20:58 CET 2014


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 ...
-Daniel

>  
>  	return vma;
>  
> diff --git a/drivers/gpu/drm/i915/i915_gem_execbuffer.c b/drivers/gpu/drm/i915/i915_gem_execbuffer.c
> index 4b7f5c104ce0..e1ed85a6dc6d 100644
> --- a/drivers/gpu/drm/i915/i915_gem_execbuffer.c
> +++ b/drivers/gpu/drm/i915/i915_gem_execbuffer.c
> @@ -528,7 +528,7 @@ i915_gem_execbuffer_reserve_vma(struct i915_vma *vma,
>  
>  	flags = 0;
>  	if (entry->flags & __EXEC_OBJECT_NEEDS_MAP)
> -		flags |= PIN_MAPPABLE;
> +		flags |= PIN_GLOBAL | PIN_MAPPABLE;
>  	if (entry->flags & EXEC_OBJECT_NEEDS_GTT)
>  		flags |= PIN_GLOBAL;
>  	if (entry->flags & __EXEC_OBJECT_NEEDS_BIAS)
> -- 
> 2.1.1
> 
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx

-- 
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch



More information about the Intel-gfx mailing list