Lines Matching defs:ring

33  * something like a context does exist for the media ring, the code only
34 * supports contexts for the render ring.
141 KASSERT(ctx == dev_priv->ring[RCS].default_context,
175 /* The ring associated with the context object is handled by the normal
176 * object tracking code. We give an initial ring value simple to pass an
179 ctx->ring = &dev_priv->ring[RCS];
210 return (ctx == ctx->ring->default_context);
214 * The default context needs to exist per ring that uses contexts. It stores the
235 dev_priv->ring[RCS].default_context = ctx;
266 dev_priv->ring[RCS].default_context)
298 i915_gem_object_unpin(dev_priv->ring[RCS].default_context->obj);
306 drm_gem_object_unreference(&dev_priv->ring[RCS].default_context->obj->base);
308 do_destroy(dev_priv->ring[RCS].default_context);
339 mi_set_context(struct intel_ring_buffer *ring,
347 * explicitly, so we rely on the value at ring init, stored in
350 if (IS_GEN6(ring->dev) && ring->itlb_before_ctx_switch) {
351 ret = ring->flush(ring, I915_GEM_GPU_DOMAINS, 0);
356 ret = intel_ring_begin(ring, 6);
360 if (IS_GEN7(ring->dev))
361 intel_ring_emit(ring, MI_ARB_ON_OFF | MI_ARB_DISABLE);
363 intel_ring_emit(ring, MI_NOOP);
365 intel_ring_emit(ring, MI_NOOP);
366 intel_ring_emit(ring, MI_SET_CONTEXT);
367 intel_ring_emit(ring, new_context->obj->gtt_offset |
373 intel_ring_emit(ring, MI_NOOP);
375 if (IS_GEN7(ring->dev))
376 intel_ring_emit(ring, MI_ARB_ON_OFF | MI_ARB_ENABLE);
378 intel_ring_emit(ring, MI_NOOP);
380 intel_ring_advance(ring);
387 struct intel_ring_buffer *ring = to->ring;
388 struct drm_i915_gem_object *from_obj = ring->last_context_obj;
421 ret = mi_set_context(ring, to, hw_flags);
435 i915_gem_object_move_to_active(from_obj, ring);
444 KASSERT(from_obj->ring == ring, ("i915_gem_context: from_ring != ring"));
451 ring->last_context_obj = to->obj;
459 * @ring: ring for which we'll execute the context switch
470 int i915_switch_context(struct intel_ring_buffer *ring,
474 struct drm_i915_private *dev_priv = ring->dev->dev_private;
480 if (ring != &dev_priv->ring[RCS])
484 to = ring->default_context;