Lines Matching refs:fence
55 struct drm_i915_fence_reg *fence,
65 /* As we do not have an associated fence register, we will force
1139 * object through the GTT and then lose the fence register due to
1182 /* Previous chips need a power-of-two fence region when tiling */
1199 * potential fence register mapping if needed.
1207 * if a fence register is needed for the object.
1215 * fence register that can contain the object.
1273 * a fence register, and mapping the appropriate aperture address into
1769 * attached to the fence, otherwise just clear the fence.
2115 /* release the fence reg _after_ flushing */
2181 * for a partial fence not to be evaluated between writes, we
2182 * precede the update with write to turn off the fence register,
2183 * and only enable the fence as the last step.
2300 /* Ensure that all CPU reads are completed before installing a fence
2301 * and all writes before removing the fence.
2307 DRM_ERROR("bogus fence setup with stride: 0x%x, tiling mode: %i\n",
2321 * is reordered to before the fence is installed.
2328 struct drm_i915_fence_reg *fence)
2330 return fence - dev_priv->fence_regs;
2334 struct drm_i915_fence_reg *fence,
2338 int reg = fence_number(dev_priv, fence);
2344 fence->obj = obj;
2345 list_move_tail(&fence->lru_list, &dev_priv->mm.fence_list, (caddr_t)fence);
2348 fence->obj = NULL;
2349 list_del_init(&fence->lru_list);
2373 struct drm_i915_fence_reg *fence;
2383 fence = &dev_priv->fence_regs[obj->fence_reg];
2386 i915_gem_object_update_fence(obj, fence, false);
2424 * i915_gem_object_get_fence_reg - set up a fence reg for an object
2425 * @obj: object to map through a fence reg
2429 * This function walks the fence regs looking for a free one for @obj,
2435 * For an untiled surface, this removes any existing fence.
2447 * will need to serialise the write to the associated fence register?
2455 /* Just update our place in the LRU if our fence is getting reused. */
2813 /* Before SandyBridge, you could not use tiling or fence
3782 /* Initialize fence registers to zero */