[Intel-gfx] [PATCH 3/3] drm/i915: Only do gtt cleanup in vma_unbind for the global vma
Ville Syrjälä
ville.syrjala at linux.intel.com
Wed May 14 18:14:13 CEST 2014
On Fri, Feb 14, 2014 at 02:06:07PM +0100, Daniel Vetter wrote:
> Otherwise we end up tearing down fences when e.g. the client quits
> way too early. Might or might not fix a fence pin_count BUG Ville has
> reported.
>
> Cc: Ville Syrjälä <ville.syrjala at linux.intel.com>
> Signed-off-by: Daniel Vetter <daniel.vetter at ffwll.ch>
For patches 1 and 3:
Reviewed-by: Ville Syrjälä <ville.syrjala at linux.intel.com>
> ---
> drivers/gpu/drm/i915/i915_gem.c | 12 +++++++-----
> 1 file changed, 7 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
> index 675ad96a43e1..fa00b26a9cf7 100644
> --- a/drivers/gpu/drm/i915/i915_gem.c
> +++ b/drivers/gpu/drm/i915/i915_gem.c
> @@ -2731,12 +2731,14 @@ int i915_vma_unbind(struct i915_vma *vma)
> * cause memory corruption through use-after-free.
> */
>
> - i915_gem_object_finish_gtt(obj);
> + if (i915_is_ggtt(vma->vm)) {
> + i915_gem_object_finish_gtt(obj);
>
> - /* release the fence reg _after_ flushing */
> - ret = i915_gem_object_put_fence(obj);
> - if (ret)
> - return ret;
> + /* release the fence reg _after_ flushing */
> + ret = i915_gem_object_put_fence(obj);
> + if (ret)
> + return ret;
> + }
>
> trace_i915_vma_unbind(vma);
>
> --
> 1.8.5.2
--
Ville Syrjälä
Intel OTC
More information about the Intel-gfx
mailing list