[Intel-gfx] [PATCH] drm/i915: Prevent negative relocation deltas from wrapping

Chris Wilson chris at chris-wilson.co.uk
Sun Aug 24 17:40:06 CEST 2014


On Fri, May 23, 2014 at 08:48:08AM +0200, Daniel Vetter wrote:
> - Apply the batch offset bias everywhere but mention that we've only
>   observed it on gen7 gpus.

> +static struct drm_i915_gem_object *
> +eb_get_batch(struct eb_vmas *eb)
> +{
> +	struct i915_vma *vma = list_entry(eb->vmas.prev, typeof(*vma), exec_list);
> +
> +	/*
> +	 * SNA is doing fancy tricks with compressing batch buffers, which leads
> +	 * to negative relocation deltas. Usually that works out ok since the
> +	 * relocate address is still positive, except when the batch is placed
> +	 * very low in the GTT. Ensure this doesn't happen.
> +	 *
> +	 * Note that actual hangs have only been observed on gen7, but for
> +	 * paranoia do it everywhere.
> +	 */
> +	vma->exec_entry->flags |= __EXEC_OBJECT_NEEDS_BIAS;

This actually conflicts with ilk and earlier generating EBUSY when mixed
with pinned buffers.
-Chris

-- 
Chris Wilson, Intel Open Source Technology Centre



More information about the Intel-gfx mailing list