[Intel-gfx] [PATCH 06/12] drm/i915: Rename request->ring to request->engine
Daniel Vetter
daniel at ffwll.ch
Tue Nov 24 06:48:28 PST 2015
On Fri, Nov 20, 2015 at 12:43:46PM +0000, Chris Wilson wrote:
> In order to disambiguate between the pointer to the intel_engine_cs
> (called ring) and the intel_ringbuffer (called ringbuf), rename
> s/ring/engine/.
>
> Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
Ah, here we go. Slight amend for the commit message:
"Where known that req is non-NULL replace get_ring() with req->engine too
while at it. And also use dev_priv more while touching code."
With that Reviewed-by: Daniel Vetter <daniel.vetter at ffwll.ch>
> ---
> drivers/gpu/drm/i915/i915_debugfs.c | 11 ++-
> drivers/gpu/drm/i915/i915_drv.h | 12 +--
> drivers/gpu/drm/i915/i915_gem.c | 76 ++++++++--------
> drivers/gpu/drm/i915/i915_gem_context.c | 63 ++++++-------
> drivers/gpu/drm/i915/i915_gem_execbuffer.c | 8 +-
> drivers/gpu/drm/i915/i915_gem_gtt.c | 49 +++++-----
> drivers/gpu/drm/i915/i915_gem_render_state.c | 18 ++--
> drivers/gpu/drm/i915/i915_gpu_error.c | 3 +-
> drivers/gpu/drm/i915/i915_trace.h | 34 +++----
> drivers/gpu/drm/i915/intel_display.c | 12 +--
> drivers/gpu/drm/i915/intel_lrc.c | 128 +++++++++++++--------------
> drivers/gpu/drm/i915/intel_mocs.c | 10 +--
> drivers/gpu/drm/i915/intel_ringbuffer.c | 66 +++++++-------
> 13 files changed, 239 insertions(+), 251 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/i915_debugfs.c b/drivers/gpu/drm/i915/i915_debugfs.c
> index 359436162f3d..56375c36b381 100644
> --- a/drivers/gpu/drm/i915/i915_debugfs.c
> +++ b/drivers/gpu/drm/i915/i915_debugfs.c
> @@ -190,8 +190,7 @@ describe_obj(struct seq_file *m, struct drm_i915_gem_object *obj)
> seq_printf(m, " (%s mappable)", s);
> }
> if (obj->last_write_req != NULL)
> - seq_printf(m, " (%s)",
> - i915_gem_request_get_ring(obj->last_write_req)->name);
> + seq_printf(m, " (%s)", obj->last_write_req->engine->name);
> if (obj->frontbuffer_bits)
> seq_printf(m, " (frontbuffer: 0x%03x)", obj->frontbuffer_bits);
> }
> @@ -594,14 +593,14 @@ static int i915_gem_pageflip_info(struct seq_file *m, void *data)
> pipe, plane);
> }
> if (work->flip_queued_req) {
> - struct intel_engine_cs *ring =
> - i915_gem_request_get_ring(work->flip_queued_req);
> + struct intel_engine_cs *engine =
> + work->flip_queued_req->engine;
>
> seq_printf(m, "Flip queued on %s at seqno %x, next seqno %x [current breadcrumb %x], completed? %d\n",
> - ring->name,
> + engine->name,
> i915_gem_request_get_seqno(work->flip_queued_req),
> dev_priv->next_seqno,
> - ring->get_seqno(ring, true),
> + engine->get_seqno(engine, true),
> i915_gem_request_completed(work->flip_queued_req, true));
> } else
> seq_printf(m, "Flip not associated with any ring\n");
> diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
> index fadf2ceb1f72..9ce8b3fcb3a0 100644
> --- a/drivers/gpu/drm/i915/i915_drv.h
> +++ b/drivers/gpu/drm/i915/i915_drv.h
> @@ -2156,7 +2156,7 @@ struct drm_i915_gem_request {
>
> /** On Which ring this request was generated */
> struct drm_i915_private *i915;
> - struct intel_engine_cs *ring;
> + struct intel_engine_cs *engine;
>
> /** GEM sequence number associated with this request. */
> uint32_t seqno;
> @@ -2240,9 +2240,9 @@ i915_gem_request_get_seqno(struct drm_i915_gem_request *req)
> }
>
> static inline struct intel_engine_cs *
> -i915_gem_request_get_ring(struct drm_i915_gem_request *req)
> +i915_gem_request_get_engine(struct drm_i915_gem_request *req)
> {
> - return req ? req->ring : NULL;
> + return req ? req->engine : NULL;
> }
>
> static inline struct drm_i915_gem_request *
> @@ -2256,7 +2256,7 @@ i915_gem_request_reference(struct drm_i915_gem_request *req)
> static inline void
> i915_gem_request_unreference(struct drm_i915_gem_request *req)
> {
> - WARN_ON(!mutex_is_locked(&req->ring->dev->struct_mutex));
> + WARN_ON(!mutex_is_locked(&req->i915->dev->struct_mutex));
> kref_put(&req->ref, i915_gem_request_free);
> }
>
> @@ -2268,7 +2268,7 @@ i915_gem_request_unreference__unlocked(struct drm_i915_gem_request *req)
> if (!req)
> return;
>
> - dev = req->ring->dev;
> + dev = req->i915->dev;
> if (kref_put_mutex(&req->ref, i915_gem_request_free, &dev->struct_mutex))
> mutex_unlock(&dev->struct_mutex);
> }
> @@ -2877,7 +2877,7 @@ static inline bool i915_gem_request_completed(struct drm_i915_gem_request *req,
>
> BUG_ON(req == NULL);
>
> - seqno = req->ring->get_seqno(req->ring, lazy_coherency);
> + seqno = req->engine->get_seqno(req->engine, lazy_coherency);
>
> return i915_seqno_passed(seqno, req->seqno);
> }
> diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
> index 030fc9d14385..5a1b51a27fe3 100644
> --- a/drivers/gpu/drm/i915/i915_gem.c
> +++ b/drivers/gpu/drm/i915/i915_gem.c
> @@ -1174,7 +1174,7 @@ static int __i915_spin_request(struct drm_i915_gem_request *req, int state)
> u64 timeout;
> unsigned cpu;
>
> - if (i915_gem_request_get_ring(req)->irq_refcount)
> + if (req->engine->irq_refcount)
> return -EBUSY;
>
> timeout = local_clock_us(&cpu) + 2;
> @@ -1220,10 +1220,10 @@ int __i915_wait_request(struct drm_i915_gem_request *req,
> s64 *timeout,
> struct intel_rps_client *rps)
> {
> - struct intel_engine_cs *ring = i915_gem_request_get_ring(req);
> + struct intel_engine_cs *engine = req->engine;
> struct drm_i915_private *dev_priv = req->i915;
> const bool irq_test_in_progress =
> - ACCESS_ONCE(dev_priv->gpu_error.test_irq_rings) & intel_ring_flag(ring);
> + ACCESS_ONCE(dev_priv->gpu_error.test_irq_rings) & intel_ring_flag(engine);
> int state = interruptible ? TASK_INTERRUPTIBLE : TASK_UNINTERRUPTIBLE;
> DEFINE_WAIT(wait);
> unsigned long timeout_expire;
> @@ -1252,7 +1252,7 @@ int __i915_wait_request(struct drm_i915_gem_request *req,
> if (ret == 0)
> goto out;
>
> - if (!irq_test_in_progress && WARN_ON(!ring->irq_get(ring))) {
> + if (!irq_test_in_progress && WARN_ON(!engine->irq_get(engine))) {
> ret = -ENODEV;
> goto out;
> }
> @@ -1260,7 +1260,7 @@ int __i915_wait_request(struct drm_i915_gem_request *req,
> for (;;) {
> struct timer_list timer;
>
> - prepare_to_wait(&ring->irq_queue, &wait, state);
> + prepare_to_wait(&engine->irq_queue, &wait, state);
>
> /* We need to check whether any gpu reset happened in between
> * the caller grabbing the seqno and now ... */
> @@ -1289,11 +1289,11 @@ int __i915_wait_request(struct drm_i915_gem_request *req,
> }
>
> timer.function = NULL;
> - if (timeout || missed_irq(dev_priv, ring)) {
> + if (timeout || missed_irq(dev_priv, engine)) {
> unsigned long expire;
>
> setup_timer_on_stack(&timer, fake_irq, (unsigned long)current);
> - expire = missed_irq(dev_priv, ring) ? jiffies + 1 : timeout_expire;
> + expire = missed_irq(dev_priv, engine) ? jiffies + 1 : timeout_expire;
> mod_timer(&timer, expire);
> }
>
> @@ -1305,9 +1305,9 @@ int __i915_wait_request(struct drm_i915_gem_request *req,
> }
> }
> if (!irq_test_in_progress)
> - ring->irq_put(ring);
> + engine->irq_put(engine);
>
> - finish_wait(&ring->irq_queue, &wait);
> + finish_wait(&engine->irq_queue, &wait);
>
> out:
> now = ktime_get_raw_ns();
> @@ -1397,7 +1397,7 @@ static void i915_gem_request_retire(struct drm_i915_gem_request *request)
> static void
> __i915_gem_request_retire__upto(struct drm_i915_gem_request *req)
> {
> - struct intel_engine_cs *engine = req->ring;
> + struct intel_engine_cs *engine = req->engine;
> struct drm_i915_gem_request *tmp;
>
> lockdep_assert_held(&engine->dev->struct_mutex);
> @@ -1466,7 +1466,7 @@ i915_gem_object_wait_rendering(struct drm_i915_gem_object *obj,
> if (ret)
> return ret;
>
> - i = obj->last_write_req->ring->id;
> + i = obj->last_write_req->engine->id;
> if (obj->last_read_req[i] == obj->last_write_req)
> i915_gem_object_retire__read(obj, i);
> else
> @@ -1493,7 +1493,7 @@ static void
> i915_gem_object_retire_request(struct drm_i915_gem_object *obj,
> struct drm_i915_gem_request *req)
> {
> - int ring = req->ring->id;
> + int ring = req->engine->id;
>
> if (obj->last_read_req[ring] == req)
> i915_gem_object_retire__read(obj, ring);
> @@ -2415,17 +2415,15 @@ void i915_vma_move_to_active(struct i915_vma *vma,
> struct drm_i915_gem_request *req)
> {
> struct drm_i915_gem_object *obj = vma->obj;
> - struct intel_engine_cs *ring;
> -
> - ring = i915_gem_request_get_ring(req);
> + struct intel_engine_cs *engine = req->engine;;
>
> /* Add a reference if we're newly entering the active list. */
> if (obj->active == 0)
> drm_gem_object_reference(&obj->base);
> - obj->active |= intel_ring_flag(ring);
> + obj->active |= intel_ring_flag(engine);
>
> - list_move_tail(&obj->ring_list[ring->id], &ring->active_list);
> - i915_gem_request_assign(&obj->last_read_req[ring->id], req);
> + list_move_tail(&obj->ring_list[engine->id], &engine->active_list);
> + i915_gem_request_assign(&obj->last_read_req[engine->id], req);
>
> list_move_tail(&vma->mm_list, &vma->vm->active_list);
> }
> @@ -2434,7 +2432,7 @@ static void
> i915_gem_object_retire__write(struct drm_i915_gem_object *obj)
> {
> RQ_BUG_ON(obj->last_write_req == NULL);
> - RQ_BUG_ON(!(obj->active & intel_ring_flag(obj->last_write_req->ring)));
> + RQ_BUG_ON(!(obj->active & intel_ring_flag(obj->last_write_req->engine)));
>
> i915_gem_request_assign(&obj->last_write_req, NULL);
> intel_fb_obj_flush(obj, true, ORIGIN_CS);
> @@ -2451,7 +2449,7 @@ i915_gem_object_retire__read(struct drm_i915_gem_object *obj, int ring)
> list_del_init(&obj->ring_list[ring]);
> i915_gem_request_assign(&obj->last_read_req[ring], NULL);
>
> - if (obj->last_write_req && obj->last_write_req->ring->id == ring)
> + if (obj->last_write_req && obj->last_write_req->engine->id == ring)
> i915_gem_object_retire__write(obj);
>
> obj->active &= ~(1 << ring);
> @@ -2553,7 +2551,7 @@ void __i915_add_request(struct drm_i915_gem_request *request,
> struct drm_i915_gem_object *obj,
> bool flush_caches)
> {
> - struct intel_engine_cs *ring;
> + struct intel_engine_cs *engine;
> struct drm_i915_private *dev_priv;
> struct intel_ringbuffer *ringbuf;
> u32 request_start;
> @@ -2562,7 +2560,7 @@ void __i915_add_request(struct drm_i915_gem_request *request,
> if (WARN_ON(request == NULL))
> return;
>
> - ring = request->ring;
> + engine = request->engine;
> dev_priv = request->i915;
> ringbuf = request->ringbuf;
>
> @@ -2598,9 +2596,9 @@ void __i915_add_request(struct drm_i915_gem_request *request,
> request->postfix = intel_ring_get_tail(ringbuf);
>
> if (i915.enable_execlists)
> - ret = ring->emit_request(request);
> + ret = engine->emit_request(request);
> else {
> - ret = ring->add_request(request);
> + ret = engine->add_request(request);
>
> request->tail = intel_ring_get_tail(ringbuf);
> }
> @@ -2618,12 +2616,12 @@ void __i915_add_request(struct drm_i915_gem_request *request,
> request->batch_obj = obj;
>
> request->emitted_jiffies = jiffies;
> - ring->last_submitted_seqno = request->seqno;
> - list_add_tail(&request->list, &ring->request_list);
> + engine->last_submitted_seqno = request->seqno;
> + list_add_tail(&request->list, &engine->request_list);
>
> trace_i915_gem_request_add(request);
>
> - i915_queue_hangcheck(ring->dev);
> + i915_queue_hangcheck(engine->dev);
>
> queue_delayed_work(dev_priv->wq,
> &dev_priv->mm.retire_work,
> @@ -2690,7 +2688,7 @@ void i915_gem_request_free(struct kref *req_ref)
>
> if (ctx) {
> if (i915.enable_execlists) {
> - if (ctx != req->ring->default_context)
> + if (ctx != req->engine->default_context)
> intel_lr_context_unpin(req);
> }
>
> @@ -2700,11 +2698,11 @@ void i915_gem_request_free(struct kref *req_ref)
> kmem_cache_free(req->i915->requests, req);
> }
>
> -int i915_gem_request_alloc(struct intel_engine_cs *ring,
> +int i915_gem_request_alloc(struct intel_engine_cs *engine,
> struct intel_context *ctx,
> struct drm_i915_gem_request **req_out)
> {
> - struct drm_i915_private *dev_priv = to_i915(ring->dev);
> + struct drm_i915_private *dev_priv = to_i915(engine->dev);
> struct drm_i915_gem_request *req;
> int ret;
>
> @@ -2717,13 +2715,13 @@ int i915_gem_request_alloc(struct intel_engine_cs *ring,
> if (req == NULL)
> return -ENOMEM;
>
> - ret = i915_gem_get_seqno(ring->dev, &req->seqno);
> + ret = i915_gem_get_seqno(engine->dev, &req->seqno);
> if (ret)
> goto err;
>
> kref_init(&req->ref);
> req->i915 = dev_priv;
> - req->ring = ring;
> + req->engine = engine;
> req->ctx = ctx;
> i915_gem_context_reference(req->ctx);
>
> @@ -3137,7 +3135,7 @@ __i915_gem_object_sync(struct drm_i915_gem_object *obj,
> struct intel_engine_cs *from;
> int ret;
>
> - from = i915_gem_request_get_ring(from_req);
> + from = from_req->engine;
> if (to == from)
> return 0;
>
> @@ -4308,7 +4306,7 @@ i915_gem_busy_ioctl(struct drm_device *dev, void *data,
> BUILD_BUG_ON(I915_NUM_RINGS > 16);
> args->busy = obj->active << 16;
> if (obj->last_write_req)
> - args->busy |= obj->last_write_req->ring->id;
> + args->busy |= obj->last_write_req->engine->id;
>
> unref:
> drm_gem_object_unreference(&obj->base);
> @@ -4641,7 +4639,6 @@ err:
>
> int i915_gem_l3_remap(struct drm_i915_gem_request *req, int slice)
> {
> - struct intel_ringbuffer *ring = req->ringbuf;
> struct drm_i915_private *dev_priv = req->i915;
> u32 reg_base = GEN7_L3LOG_BASE + (slice * 0x200);
> u32 *remap_info = dev_priv->l3_parity.remap_info[slice];
> @@ -4660,12 +4657,11 @@ int i915_gem_l3_remap(struct drm_i915_gem_request *req, int slice)
> * at initialization time.
> */
> for (i = 0; i < GEN7_L3LOG_SIZE; i += 4) {
> - intel_ring_emit(ring, MI_LOAD_REGISTER_IMM(1));
> - intel_ring_emit(ring, reg_base + i);
> - intel_ring_emit(ring, remap_info[i/4]);
> + intel_ring_emit(req->ringbuf, MI_LOAD_REGISTER_IMM(1));
> + intel_ring_emit(req->ringbuf, reg_base + i);
> + intel_ring_emit(req->ringbuf, remap_info[i/4]);
> }
> -
> - intel_ring_advance(ring);
> + intel_ring_advance(req->ringbuf);
>
> return ret;
> }
> diff --git a/drivers/gpu/drm/i915/i915_gem_context.c b/drivers/gpu/drm/i915/i915_gem_context.c
> index c3adc121aab4..047c2f94bd22 100644
> --- a/drivers/gpu/drm/i915/i915_gem_context.c
> +++ b/drivers/gpu/drm/i915/i915_gem_context.c
> @@ -410,14 +410,14 @@ void i915_gem_context_fini(struct drm_device *dev)
>
> int i915_gem_context_enable(struct drm_i915_gem_request *req)
> {
> - struct intel_engine_cs *ring = req->ring;
> + struct intel_engine_cs *engine = req->engine;
> int ret;
>
> if (i915.enable_execlists) {
> - if (ring->init_context == NULL)
> + if (engine->init_context == NULL)
> return 0;
>
> - ret = ring->init_context(req);
> + ret = engine->init_context(req);
> } else
> ret = i915_switch_context(req);
>
> @@ -494,7 +494,7 @@ mi_set_context(struct drm_i915_gem_request *req, u32 hw_flags)
> * itlb_before_ctx_switch.
> */
> if (IS_GEN6(req->i915)) {
> - ret = req->ring->flush(req, I915_GEM_GPU_DOMAINS, 0);
> + ret = req->engine->flush(req, I915_GEM_GPU_DOMAINS, 0);
> if (ret)
> return ret;
> }
> @@ -522,7 +522,7 @@ mi_set_context(struct drm_i915_gem_request *req, u32 hw_flags)
>
> intel_ring_emit(ring, MI_LOAD_REGISTER_IMM(num_rings));
> for_each_ring(signaller, req->i915, i) {
> - if (signaller == req->ring)
> + if (signaller == req->engine)
> continue;
>
> intel_ring_emit(ring, RING_PSMI_CTL(signaller->mmio_base));
> @@ -547,7 +547,7 @@ mi_set_context(struct drm_i915_gem_request *req, u32 hw_flags)
>
> intel_ring_emit(ring, MI_LOAD_REGISTER_IMM(num_rings));
> for_each_ring(signaller, req->i915, i) {
> - if (signaller == req->ring)
> + if (signaller == req->engine)
> continue;
>
> intel_ring_emit(ring, RING_PSMI_CTL(signaller->mmio_base));
> @@ -618,19 +618,19 @@ needs_pd_load_post(struct intel_engine_cs *ring, struct intel_context *to,
> static int do_switch(struct drm_i915_gem_request *req)
> {
> struct intel_context *to = req->ctx;
> - struct intel_engine_cs *ring = req->ring;
> - struct intel_context *from = ring->last_context;
> + struct intel_engine_cs *engine = req->engine;
> + struct intel_context *from = engine->last_context;
> u32 hw_flags = 0;
> bool uninitialized = false;
> int ret, i;
>
> - if (should_skip_switch(ring, from, to))
> + if (should_skip_switch(engine, from, to))
> return 0;
>
> /* Trying to pin first makes error handling easier. */
> - if (ring->id == RCS) {
> + if (engine->id == RCS) {
> ret = i915_gem_obj_ggtt_pin(to->legacy_hw_ctx.rcs_state,
> - get_context_alignment(ring->dev), 0);
> + get_context_alignment(engine->dev), 0);
> if (ret)
> return ret;
> }
> @@ -640,23 +640,23 @@ static int do_switch(struct drm_i915_gem_request *req)
> * evict_everything - as a last ditch gtt defrag effort that also
> * switches to the default context. Hence we need to reload from here.
> */
> - from = ring->last_context;
> + from = engine->last_context;
>
> - if (needs_pd_load_pre(ring, to)) {
> + if (needs_pd_load_pre(engine, to)) {
> /* Older GENs and non render rings still want the load first,
> * "PP_DCLV followed by PP_DIR_BASE register through Load
> * Register Immediate commands in Ring Buffer before submitting
> * a context."*/
> - trace_switch_mm(ring, to);
> + trace_switch_mm(engine, to);
> ret = to->ppgtt->switch_mm(to->ppgtt, req);
> if (ret)
> goto unpin_out;
>
> /* Doing a PD load always reloads the page dirs */
> - to->ppgtt->pd_dirty_rings &= ~intel_ring_flag(ring);
> + to->ppgtt->pd_dirty_rings &= ~intel_ring_flag(engine);
> }
>
> - if (ring->id != RCS) {
> + if (engine->id != RCS) {
> if (from)
> i915_gem_context_unreference(from);
> goto done;
> @@ -681,14 +681,14 @@ static int do_switch(struct drm_i915_gem_request *req)
> * space. This means we must enforce that a page table load
> * occur when this occurs. */
> } else if (to->ppgtt &&
> - (intel_ring_flag(ring) & to->ppgtt->pd_dirty_rings)) {
> + (intel_ring_flag(engine) & to->ppgtt->pd_dirty_rings)) {
> hw_flags |= MI_FORCE_RESTORE;
> - to->ppgtt->pd_dirty_rings &= ~intel_ring_flag(ring);
> + to->ppgtt->pd_dirty_rings &= ~intel_ring_flag(engine);
> }
>
> /* We should never emit switch_mm more than once */
> - WARN_ON(needs_pd_load_pre(ring, to) &&
> - needs_pd_load_post(ring, to, hw_flags));
> + WARN_ON(needs_pd_load_pre(engine, to) &&
> + needs_pd_load_post(engine, to, hw_flags));
>
> ret = mi_set_context(req, hw_flags);
> if (ret)
> @@ -697,8 +697,8 @@ static int do_switch(struct drm_i915_gem_request *req)
> /* GEN8 does *not* require an explicit reload if the PDPs have been
> * setup, and we do not wish to move them.
> */
> - if (needs_pd_load_post(ring, to, hw_flags)) {
> - trace_switch_mm(ring, to);
> + if (needs_pd_load_post(engine, to, hw_flags)) {
> + trace_switch_mm(engine, to);
> ret = to->ppgtt->switch_mm(to->ppgtt, req);
> /* The hardware context switch is emitted, but we haven't
> * actually changed the state - so it's probably safe to bail
> @@ -751,11 +751,11 @@ static int do_switch(struct drm_i915_gem_request *req)
>
> done:
> i915_gem_context_reference(to);
> - ring->last_context = to;
> + engine->last_context = to;
>
> if (uninitialized) {
> - if (ring->init_context) {
> - ret = ring->init_context(req);
> + if (engine->init_context) {
> + ret = engine->init_context(req);
> if (ret)
> DRM_ERROR("ring init context: %d\n", ret);
> }
> @@ -764,7 +764,7 @@ done:
> return 0;
>
> unpin_out:
> - if (ring->id == RCS)
> + if (engine->id == RCS)
> i915_gem_object_ggtt_unpin(to->legacy_hw_ctx.rcs_state);
> return ret;
> }
> @@ -784,17 +784,18 @@ unpin_out:
> */
> int i915_switch_context(struct drm_i915_gem_request *req)
> {
> - struct intel_engine_cs *ring = req->ring;
>
> WARN_ON(i915.enable_execlists);
> WARN_ON(!mutex_is_locked(&req->i915->dev->struct_mutex));
>
> if (req->ctx->legacy_hw_ctx.rcs_state == NULL) { /* We have the fake context */
> - if (req->ctx != ring->last_context) {
> + struct intel_engine_cs *engine = req->engine;
> +
> + if (req->ctx != engine->last_context) {
> i915_gem_context_reference(req->ctx);
> - if (ring->last_context)
> - i915_gem_context_unreference(ring->last_context);
> - ring->last_context = req->ctx;
> + if (engine->last_context)
> + i915_gem_context_unreference(engine->last_context);
> + engine->last_context = req->ctx;
> }
> return 0;
> }
> diff --git a/drivers/gpu/drm/i915/i915_gem_execbuffer.c b/drivers/gpu/drm/i915/i915_gem_execbuffer.c
> index 5f1b9b7df051..32c2d08bdd4c 100644
> --- a/drivers/gpu/drm/i915/i915_gem_execbuffer.c
> +++ b/drivers/gpu/drm/i915/i915_gem_execbuffer.c
> @@ -922,7 +922,7 @@ static int
> i915_gem_execbuffer_move_to_gpu(struct drm_i915_gem_request *req,
> struct list_head *vmas)
> {
> - const unsigned other_rings = ~intel_ring_flag(req->ring);
> + const unsigned other_rings = ~intel_ring_flag(req->engine);
> struct i915_vma *vma;
> uint32_t flush_domains = 0;
> bool flush_chipset = false;
> @@ -932,7 +932,7 @@ i915_gem_execbuffer_move_to_gpu(struct drm_i915_gem_request *req,
> struct drm_i915_gem_object *obj = vma->obj;
>
> if (obj->active & other_rings) {
> - ret = i915_gem_object_sync(obj, req->ring, &req);
> + ret = i915_gem_object_sync(obj, req->engine, &req);
> if (ret)
> return ret;
> }
> @@ -944,7 +944,7 @@ i915_gem_execbuffer_move_to_gpu(struct drm_i915_gem_request *req,
> }
>
> if (flush_chipset)
> - i915_gem_chipset_flush(req->ring->dev);
> + i915_gem_chipset_flush(req->engine->dev);
>
> if (flush_domains & I915_GEM_DOMAIN_GTT)
> wmb();
> @@ -1118,7 +1118,7 @@ i915_reset_gen7_sol_offsets(struct drm_i915_gem_request *req)
> struct intel_ringbuffer *ring = req->ringbuf;
> int ret, i;
>
> - if (!IS_GEN7(req->i915) || req->ring->id != RCS) {
> + if (!IS_GEN7(req->i915) || req->engine->id != RCS) {
> DRM_DEBUG("sol reset is gen7/rcs only\n");
> return -EINVAL;
> }
> diff --git a/drivers/gpu/drm/i915/i915_gem_gtt.c b/drivers/gpu/drm/i915/i915_gem_gtt.c
> index 4608884adfc8..c222456961fb 100644
> --- a/drivers/gpu/drm/i915/i915_gem_gtt.c
> +++ b/drivers/gpu/drm/i915/i915_gem_gtt.c
> @@ -661,10 +661,10 @@ static int gen8_write_pdp(struct drm_i915_gem_request *req,
> return ret;
>
> intel_ring_emit(ring, MI_LOAD_REGISTER_IMM(1));
> - intel_ring_emit(ring, GEN8_RING_PDP_UDW(req->ring, entry));
> + intel_ring_emit(ring, GEN8_RING_PDP_UDW(req->engine, entry));
> intel_ring_emit(ring, upper_32_bits(addr));
> intel_ring_emit(ring, MI_LOAD_REGISTER_IMM(1));
> - intel_ring_emit(ring, GEN8_RING_PDP_LDW(req->ring, entry));
> + intel_ring_emit(ring, GEN8_RING_PDP_LDW(req->engine, entry));
> intel_ring_emit(ring, lower_32_bits(addr));
> intel_ring_advance(ring);
>
> @@ -1592,7 +1592,9 @@ static int hsw_mm_switch(struct i915_hw_ppgtt *ppgtt,
> int ret;
>
> /* NB: TLBs must be flushed and invalidated before a switch */
> - ret = req->ring->flush(req, I915_GEM_GPU_DOMAINS, I915_GEM_GPU_DOMAINS);
> + ret = req->engine->flush(req,
> + I915_GEM_GPU_DOMAINS,
> + I915_GEM_GPU_DOMAINS);
> if (ret)
> return ret;
>
> @@ -1601,9 +1603,9 @@ static int hsw_mm_switch(struct i915_hw_ppgtt *ppgtt,
> return ret;
>
> intel_ring_emit(ring, MI_LOAD_REGISTER_IMM(2));
> - intel_ring_emit(ring, RING_PP_DIR_DCLV(req->ring));
> + intel_ring_emit(ring, RING_PP_DIR_DCLV(req->engine));
> intel_ring_emit(ring, PP_DIR_DCLV_2G);
> - intel_ring_emit(ring, RING_PP_DIR_BASE(req->ring));
> + intel_ring_emit(ring, RING_PP_DIR_BASE(req->engine));
> intel_ring_emit(ring, get_pd_offset(ppgtt));
> intel_ring_emit(ring, MI_NOOP);
> intel_ring_advance(ring);
> @@ -1614,11 +1616,10 @@ static int hsw_mm_switch(struct i915_hw_ppgtt *ppgtt,
> static int vgpu_mm_switch(struct i915_hw_ppgtt *ppgtt,
> struct drm_i915_gem_request *req)
> {
> - struct intel_engine_cs *ring = req->ring;
> - struct drm_i915_private *dev_priv = to_i915(ppgtt->base.dev);
> + struct drm_i915_private *dev_priv = req->i915;
>
> - I915_WRITE(RING_PP_DIR_DCLV(ring), PP_DIR_DCLV_2G);
> - I915_WRITE(RING_PP_DIR_BASE(ring), get_pd_offset(ppgtt));
> + I915_WRITE(RING_PP_DIR_DCLV(req->engine), PP_DIR_DCLV_2G);
> + I915_WRITE(RING_PP_DIR_BASE(req->engine), get_pd_offset(ppgtt));
> return 0;
> }
>
> @@ -1629,7 +1630,9 @@ static int gen7_mm_switch(struct i915_hw_ppgtt *ppgtt,
> int ret;
>
> /* NB: TLBs must be flushed and invalidated before a switch */
> - ret = req->ring->flush(req, I915_GEM_GPU_DOMAINS, I915_GEM_GPU_DOMAINS);
> + ret = req->engine->flush(req,
> + I915_GEM_GPU_DOMAINS,
> + I915_GEM_GPU_DOMAINS);
> if (ret)
> return ret;
>
> @@ -1638,16 +1641,18 @@ static int gen7_mm_switch(struct i915_hw_ppgtt *ppgtt,
> return ret;
>
> intel_ring_emit(ring, MI_LOAD_REGISTER_IMM(2));
> - intel_ring_emit(ring, RING_PP_DIR_DCLV(req->ring));
> + intel_ring_emit(ring, RING_PP_DIR_DCLV(req->engine));
> intel_ring_emit(ring, PP_DIR_DCLV_2G);
> - intel_ring_emit(ring, RING_PP_DIR_BASE(req->ring));
> + intel_ring_emit(ring, RING_PP_DIR_BASE(req->engine));
> intel_ring_emit(ring, get_pd_offset(ppgtt));
> intel_ring_emit(ring, MI_NOOP);
> intel_ring_advance(ring);
>
> /* XXX: RCS is the only one to auto invalidate the TLBs? */
> - if (req->ring->id != RCS) {
> - ret = req->ring->flush(req, I915_GEM_GPU_DOMAINS, I915_GEM_GPU_DOMAINS);
> + if (req->engine->id != RCS) {
> + ret = req->engine->flush(req,
> + I915_GEM_GPU_DOMAINS,
> + I915_GEM_GPU_DOMAINS);
> if (ret)
> return ret;
> }
> @@ -1658,15 +1663,12 @@ static int gen7_mm_switch(struct i915_hw_ppgtt *ppgtt,
> static int gen6_mm_switch(struct i915_hw_ppgtt *ppgtt,
> struct drm_i915_gem_request *req)
> {
> - struct intel_engine_cs *ring = req->ring;
> - struct drm_device *dev = ppgtt->base.dev;
> - struct drm_i915_private *dev_priv = dev->dev_private;
> -
> + struct drm_i915_private *dev_priv = req->i915;
>
> - I915_WRITE(RING_PP_DIR_DCLV(ring), PP_DIR_DCLV_2G);
> - I915_WRITE(RING_PP_DIR_BASE(ring), get_pd_offset(ppgtt));
> + I915_WRITE(RING_PP_DIR_DCLV(req->engine), PP_DIR_DCLV_2G);
> + I915_WRITE(RING_PP_DIR_BASE(req->engine), get_pd_offset(ppgtt));
>
> - POSTING_READ(RING_PP_DIR_DCLV(ring));
> + POSTING_READ(RING_PP_DIR_DCLV(req->engine));
>
> return 0;
> }
> @@ -2101,8 +2103,7 @@ int i915_ppgtt_init_hw(struct drm_device *dev)
>
> int i915_ppgtt_init_ring(struct drm_i915_gem_request *req)
> {
> - struct drm_i915_private *dev_priv = req->ring->dev->dev_private;
> - struct i915_hw_ppgtt *ppgtt = dev_priv->mm.aliasing_ppgtt;
> + struct i915_hw_ppgtt *ppgtt = req->i915->mm.aliasing_ppgtt;
> int ret;
>
> if (i915.enable_execlists)
> @@ -2115,7 +2116,7 @@ int i915_ppgtt_init_ring(struct drm_i915_gem_request *req)
> if (ret)
> return ret;
>
> - ppgtt->pd_dirty_rings &= ~intel_ring_flag(req->ring);
> + ppgtt->pd_dirty_rings &= ~intel_ring_flag(req->engine);
> return 0;
> }
>
> diff --git a/drivers/gpu/drm/i915/i915_gem_render_state.c b/drivers/gpu/drm/i915/i915_gem_render_state.c
> index 5026a6267a88..f11e8685b1af 100644
> --- a/drivers/gpu/drm/i915/i915_gem_render_state.c
> +++ b/drivers/gpu/drm/i915/i915_gem_render_state.c
> @@ -198,25 +198,25 @@ int i915_gem_render_state_init(struct drm_i915_gem_request *req)
> struct render_state so;
> int ret;
>
> - ret = i915_gem_render_state_prepare(req->ring, &so);
> + ret = i915_gem_render_state_prepare(req->engine, &so);
> if (ret)
> return ret;
>
> if (so.rodata == NULL)
> return 0;
>
> - ret = req->ring->dispatch_execbuffer(req, so.ggtt_offset,
> - so.rodata->batch_items * 4,
> - I915_DISPATCH_SECURE);
> + ret = req->engine->dispatch_execbuffer(req, so.ggtt_offset,
> + so.rodata->batch_items * 4,
> + I915_DISPATCH_SECURE);
> if (ret)
> goto out;
>
> if (so.aux_batch_size > 8) {
> - ret = req->ring->dispatch_execbuffer(req,
> - (so.ggtt_offset +
> - so.aux_batch_offset),
> - so.aux_batch_size,
> - I915_DISPATCH_SECURE);
> + ret = req->engine->dispatch_execbuffer(req,
> + (so.ggtt_offset +
> + so.aux_batch_offset),
> + so.aux_batch_size,
> + I915_DISPATCH_SECURE);
> if (ret)
> goto out;
> }
> diff --git a/drivers/gpu/drm/i915/i915_gpu_error.c b/drivers/gpu/drm/i915/i915_gpu_error.c
> index d8e035e126d7..974e3481e449 100644
> --- a/drivers/gpu/drm/i915/i915_gpu_error.c
> +++ b/drivers/gpu/drm/i915/i915_gpu_error.c
> @@ -709,8 +709,7 @@ static void capture_bo(struct drm_i915_error_buffer *err,
> err->dirty = obj->dirty;
> err->purgeable = obj->madv != I915_MADV_WILLNEED;
> err->userptr = obj->userptr.mm != NULL;
> - err->ring = obj->last_write_req ?
> - i915_gem_request_get_ring(obj->last_write_req)->id : -1;
> + err->ring = obj->last_write_req ? obj->last_write_req->engine->id : -1;
> err->cache_level = obj->cache_level;
> }
>
> diff --git a/drivers/gpu/drm/i915/i915_trace.h b/drivers/gpu/drm/i915/i915_trace.h
> index ad64d6ba13a2..533b6a87fd1d 100644
> --- a/drivers/gpu/drm/i915/i915_trace.h
> +++ b/drivers/gpu/drm/i915/i915_trace.h
> @@ -498,7 +498,7 @@ TRACE_EVENT(i915_gem_ring_sync_to,
> TP_fast_assign(
> __entry->dev = from->dev->primary->index;
> __entry->sync_from = from->id;
> - __entry->sync_to = to_req->ring->id;
> + __entry->sync_to = to_req->engine->id;
> __entry->seqno = i915_gem_request_get_seqno(req);
> ),
>
> @@ -520,13 +520,11 @@ TRACE_EVENT(i915_gem_ring_dispatch,
> ),
>
> TP_fast_assign(
> - struct intel_engine_cs *ring =
> - i915_gem_request_get_ring(req);
> - __entry->dev = ring->dev->primary->index;
> - __entry->ring = ring->id;
> - __entry->seqno = i915_gem_request_get_seqno(req);
> + __entry->dev = req->i915->dev->primary->index;
> + __entry->ring = req->engine->id;
> + __entry->seqno = req->seqno;
> __entry->flags = flags;
> - i915_trace_irq_get(ring, req);
> + i915_trace_irq_get(req->engine, req);
> ),
>
> TP_printk("dev=%u, ring=%u, seqno=%u, flags=%x",
> @@ -545,8 +543,8 @@ TRACE_EVENT(i915_gem_ring_flush,
> ),
>
> TP_fast_assign(
> - __entry->dev = req->ring->dev->primary->index;
> - __entry->ring = req->ring->id;
> + __entry->dev = req->engine->dev->primary->index;
> + __entry->ring = req->engine->id;
> __entry->invalidate = invalidate;
> __entry->flush = flush;
> ),
> @@ -567,11 +565,9 @@ DECLARE_EVENT_CLASS(i915_gem_request,
> ),
>
> TP_fast_assign(
> - struct intel_engine_cs *ring =
> - i915_gem_request_get_ring(req);
> - __entry->dev = ring->dev->primary->index;
> - __entry->ring = ring->id;
> - __entry->seqno = i915_gem_request_get_seqno(req);
> + __entry->dev = req->i915->dev->primary->index;
> + __entry->ring = req->engine->id;
> + __entry->seqno = req->seqno;
> ),
>
> TP_printk("dev=%u, ring=%u, seqno=%u",
> @@ -631,13 +627,11 @@ TRACE_EVENT(i915_gem_request_wait_begin,
> * less desirable.
> */
> TP_fast_assign(
> - struct intel_engine_cs *ring =
> - i915_gem_request_get_ring(req);
> - __entry->dev = ring->dev->primary->index;
> - __entry->ring = ring->id;
> - __entry->seqno = i915_gem_request_get_seqno(req);
> + __entry->dev = req->i915->dev->primary->index;
> + __entry->ring = req->engine->id;
> + __entry->seqno = req->seqno;
> __entry->blocking =
> - mutex_is_locked(&ring->dev->struct_mutex);
> + mutex_is_locked(&req->i915->dev->struct_mutex);
> ),
>
> TP_printk("dev=%u, ring=%u, seqno=%u, blocking=%s",
> diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
> index f6dae2cfd9c9..2447f1a36fb0 100644
> --- a/drivers/gpu/drm/i915/intel_display.c
> +++ b/drivers/gpu/drm/i915/intel_display.c
> @@ -10987,7 +10987,7 @@ static int intel_gen7_queue_flip(struct drm_device *dev,
> }
>
> len = 4;
> - if (req->ring->id == RCS) {
> + if (req->engine->id == RCS) {
> len += 6;
> /*
> * On Gen 8, SRM is now taking an extra dword to accommodate
> @@ -11025,7 +11025,7 @@ static int intel_gen7_queue_flip(struct drm_device *dev,
> * for the RCS also doesn't appear to drop events. Setting the DERRMR
> * to zero does lead to lockups within MI_DISPLAY_FLIP.
> */
> - if (req->ring->id == RCS) {
> + if (req->engine->id == RCS) {
> intel_ring_emit(ring, MI_LOAD_REGISTER_IMM(1));
> intel_ring_emit(ring, DERRMR);
> intel_ring_emit(ring, ~(DERRMR_PIPEA_PRI_FLIP_DONE |
> @@ -11038,7 +11038,7 @@ static int intel_gen7_queue_flip(struct drm_device *dev,
> intel_ring_emit(ring, MI_STORE_REGISTER_MEM(1) |
> MI_SRM_LRM_GLOBAL_GTT);
> intel_ring_emit(ring, DERRMR);
> - intel_ring_emit(ring, req->ring->scratch.gtt_offset + 256);
> + intel_ring_emit(ring, req->engine->scratch.gtt_offset + 256);
> if (IS_GEN8(req->i915)) {
> intel_ring_emit(ring, 0);
> intel_ring_emit(ring, MI_NOOP);
> @@ -11078,7 +11078,7 @@ static bool use_mmio_flip(struct intel_engine_cs *ring,
> else if (i915.enable_execlists)
> return true;
> else
> - return ring != i915_gem_request_get_ring(obj->last_write_req);
> + return ring != i915_gem_request_get_engine(obj->last_write_req);
> }
>
> static void skl_do_mmio_flip(struct intel_crtc *intel_crtc)
> @@ -11395,7 +11395,7 @@ static int intel_crtc_page_flip(struct drm_crtc *crtc,
> } else if (IS_IVYBRIDGE(dev) || IS_HASWELL(dev)) {
> ring = &dev_priv->ring[BCS];
> } else if (INTEL_INFO(dev)->gen >= 7) {
> - ring = i915_gem_request_get_ring(obj->last_write_req);
> + ring = i915_gem_request_get_engine(obj->last_write_req);
> if (ring == NULL || ring->id != RCS)
> ring = &dev_priv->ring[BCS];
> } else {
> @@ -11411,7 +11411,7 @@ static int intel_crtc_page_flip(struct drm_crtc *crtc,
> */
> ret = intel_pin_and_fence_fb_obj(crtc->primary, fb,
> crtc->primary->state,
> - mmio_flip ? i915_gem_request_get_ring(obj->last_write_req) : ring, &request);
> + mmio_flip ? i915_gem_request_get_engine(obj->last_write_req) : ring, &request);
> if (ret)
> goto cleanup_pending;
>
> diff --git a/drivers/gpu/drm/i915/intel_lrc.c b/drivers/gpu/drm/i915/intel_lrc.c
> index 2458804c521d..1502e53d2ad6 100644
> --- a/drivers/gpu/drm/i915/intel_lrc.c
> +++ b/drivers/gpu/drm/i915/intel_lrc.c
> @@ -272,17 +272,16 @@ u32 intel_execlists_ctx_id(struct drm_i915_gem_object *ctx_obj)
>
> static uint64_t execlists_ctx_descriptor(struct drm_i915_gem_request *rq)
> {
> - struct intel_engine_cs *ring = rq->ring;
> - struct drm_device *dev = ring->dev;
> - struct drm_i915_gem_object *ctx_obj = rq->ctx->engine[ring->id].state;
> - uint64_t desc;
> + int ring = rq->engine->id;
> + struct drm_i915_gem_object *ctx_obj = rq->ctx->engine[ring].state;
> uint64_t lrca = i915_gem_obj_ggtt_offset(ctx_obj);
> + uint64_t desc;
>
> WARN_ON(lrca & 0xFFFFFFFF00000FFFULL);
>
> desc = GEN8_CTX_VALID;
> - desc |= GEN8_CTX_ADDRESSING_MODE(dev) << GEN8_CTX_ADDRESSING_MODE_SHIFT;
> - if (IS_GEN8(ctx_obj->base.dev))
> + desc |= GEN8_CTX_ADDRESSING_MODE(rq->i915) << GEN8_CTX_ADDRESSING_MODE_SHIFT;
> + if (IS_GEN8(rq->i915))
> desc |= GEN8_CTX_L3LLC_COHERENT;
> desc |= GEN8_CTX_PRIVILEGE;
> desc |= lrca;
> @@ -293,10 +292,10 @@ static uint64_t execlists_ctx_descriptor(struct drm_i915_gem_request *rq)
> /* desc |= GEN8_CTX_FORCE_RESTORE; */
>
> /* WaEnableForceRestoreInCtxtDescForVCS:skl */
> - if (IS_GEN9(dev) &&
> - INTEL_REVID(dev) <= SKL_REVID_B0 &&
> - (ring->id == BCS || ring->id == VCS ||
> - ring->id == VECS || ring->id == VCS2))
> + if (IS_GEN9(rq->i915) &&
> + INTEL_REVID(rq->i915) <= SKL_REVID_B0 &&
> + (ring == BCS || ring == VCS ||
> + ring == VECS || ring == VCS2))
> desc |= GEN8_CTX_FORCE_RESTORE;
>
> return desc;
> @@ -306,7 +305,7 @@ static void execlists_elsp_write(struct drm_i915_gem_request *rq0,
> struct drm_i915_gem_request *rq1)
> {
>
> - struct intel_engine_cs *ring = rq0->ring;
> + struct intel_engine_cs *engine = rq0->engine;
> struct drm_i915_private *dev_priv = rq0->i915;
> uint64_t desc[2];
>
> @@ -323,24 +322,23 @@ static void execlists_elsp_write(struct drm_i915_gem_request *rq0,
> /* You must always write both descriptors in the order below. */
> spin_lock(&dev_priv->uncore.lock);
> intel_uncore_forcewake_get__locked(dev_priv, FORCEWAKE_ALL);
> - I915_WRITE_FW(RING_ELSP(ring), upper_32_bits(desc[1]));
> - I915_WRITE_FW(RING_ELSP(ring), lower_32_bits(desc[1]));
> + I915_WRITE_FW(RING_ELSP(engine), upper_32_bits(desc[1]));
> + I915_WRITE_FW(RING_ELSP(engine), lower_32_bits(desc[1]));
>
> - I915_WRITE_FW(RING_ELSP(ring), upper_32_bits(desc[0]));
> + I915_WRITE_FW(RING_ELSP(engine), upper_32_bits(desc[0]));
> /* The context is automatically loaded after the following */
> - I915_WRITE_FW(RING_ELSP(ring), lower_32_bits(desc[0]));
> + I915_WRITE_FW(RING_ELSP(engine), lower_32_bits(desc[0]));
>
> /* ELSP is a wo register, use another nearby reg for posting */
> - POSTING_READ_FW(RING_EXECLIST_STATUS(ring));
> + POSTING_READ_FW(RING_EXECLIST_STATUS(engine));
> intel_uncore_forcewake_put__locked(dev_priv, FORCEWAKE_ALL);
> spin_unlock(&dev_priv->uncore.lock);
> }
>
> static int execlists_update_context(struct drm_i915_gem_request *rq)
> {
> - struct intel_engine_cs *ring = rq->ring;
> struct i915_hw_ppgtt *ppgtt = rq->ctx->ppgtt;
> - struct drm_i915_gem_object *ctx_obj = rq->ctx->engine[ring->id].state;
> + struct drm_i915_gem_object *ctx_obj = rq->ctx->engine[rq->engine->id].state;
> struct drm_i915_gem_object *rb_obj = rq->ringbuf->obj;
> struct page *page;
> uint32_t *reg_state;
> @@ -355,7 +353,7 @@ static int execlists_update_context(struct drm_i915_gem_request *rq)
> reg_state[CTX_RING_TAIL+1] = rq->tail;
> reg_state[CTX_RING_BUFFER_START+1] = i915_gem_obj_ggtt_offset(rb_obj);
>
> - if (ppgtt && !USES_FULL_48BIT_PPGTT(ppgtt->base.dev)) {
> + if (ppgtt && !USES_FULL_48BIT_PPGTT(rq->i915)) {
> /* True 32b PPGTT with dynamic page allocation: update PDP
> * registers and point the unallocated PDPs to scratch page.
> * PML4 is allocated during ppgtt init, so this is not needed
> @@ -538,27 +536,27 @@ void intel_lrc_irq_handler(struct intel_engine_cs *ring)
>
> static int execlists_context_queue(struct drm_i915_gem_request *request)
> {
> - struct intel_engine_cs *ring = request->ring;
> + struct intel_engine_cs *engine = request->engine;
> struct drm_i915_gem_request *cursor;
> int num_elements = 0;
>
> - if (request->ctx != ring->default_context)
> + if (request->ctx != engine->default_context)
> intel_lr_context_pin(request);
>
> i915_gem_request_reference(request);
>
> request->tail = request->ringbuf->tail;
>
> - spin_lock_irq(&ring->execlist_lock);
> + spin_lock_irq(&engine->execlist_lock);
>
> - list_for_each_entry(cursor, &ring->execlist_queue, execlist_link)
> + list_for_each_entry(cursor, &engine->execlist_queue, execlist_link)
> if (++num_elements > 2)
> break;
>
> if (num_elements > 2) {
> struct drm_i915_gem_request *tail_req;
>
> - tail_req = list_last_entry(&ring->execlist_queue,
> + tail_req = list_last_entry(&engine->execlist_queue,
> struct drm_i915_gem_request,
> execlist_link);
>
> @@ -567,41 +565,41 @@ static int execlists_context_queue(struct drm_i915_gem_request *request)
> "More than 2 already-submitted reqs queued\n");
> list_del(&tail_req->execlist_link);
> list_add_tail(&tail_req->execlist_link,
> - &ring->execlist_retired_req_list);
> + &engine->execlist_retired_req_list);
> }
> }
>
> - list_add_tail(&request->execlist_link, &ring->execlist_queue);
> + list_add_tail(&request->execlist_link, &engine->execlist_queue);
> if (num_elements == 0)
> - execlists_context_unqueue(ring);
> + execlists_context_unqueue(engine);
>
> - spin_unlock_irq(&ring->execlist_lock);
> + spin_unlock_irq(&engine->execlist_lock);
>
> return 0;
> }
>
> static int logical_ring_invalidate_all_caches(struct drm_i915_gem_request *req)
> {
> - struct intel_engine_cs *ring = req->ring;
> + struct intel_engine_cs *engine = req->engine;
> uint32_t flush_domains;
> int ret;
>
> flush_domains = 0;
> - if (ring->gpu_caches_dirty)
> + if (engine->gpu_caches_dirty)
> flush_domains = I915_GEM_GPU_DOMAINS;
>
> - ret = ring->emit_flush(req, I915_GEM_GPU_DOMAINS, flush_domains);
> + ret = engine->emit_flush(req, I915_GEM_GPU_DOMAINS, flush_domains);
> if (ret)
> return ret;
>
> - ring->gpu_caches_dirty = false;
> + engine->gpu_caches_dirty = false;
> return 0;
> }
>
> static int execlists_move_to_gpu(struct drm_i915_gem_request *req,
> struct list_head *vmas)
> {
> - const unsigned other_rings = ~intel_ring_flag(req->ring);
> + const unsigned other_rings = ~intel_ring_flag(req->engine);
> struct i915_vma *vma;
> uint32_t flush_domains = 0;
> bool flush_chipset = false;
> @@ -611,7 +609,7 @@ static int execlists_move_to_gpu(struct drm_i915_gem_request *req,
> struct drm_i915_gem_object *obj = vma->obj;
>
> if (obj->active & other_rings) {
> - ret = i915_gem_object_sync(obj, req->ring, &req);
> + ret = i915_gem_object_sync(obj, req->engine, &req);
> if (ret)
> return ret;
> }
> @@ -635,9 +633,9 @@ int intel_logical_ring_alloc_request_extras(struct drm_i915_gem_request *request
> {
> int ret;
>
> - request->ringbuf = request->ctx->engine[request->ring->id].ringbuf;
> + request->ringbuf = request->ctx->engine[request->engine->id].ringbuf;
>
> - if (request->ctx != request->ring->default_context) {
> + if (request->ctx != request->engine->default_context) {
> ret = intel_lr_context_pin(request);
> if (ret)
> return ret;
> @@ -660,7 +658,7 @@ intel_logical_ring_advance_and_submit(struct drm_i915_gem_request *request)
> {
> intel_ring_advance(request->ringbuf);
>
> - if (intel_ring_stopped(request->ring))
> + if (intel_ring_stopped(request->engine))
> return;
>
> execlists_context_queue(request);
> @@ -811,35 +809,35 @@ void intel_logical_ring_stop(struct intel_engine_cs *ring)
>
> int logical_ring_flush_all_caches(struct drm_i915_gem_request *req)
> {
> - struct intel_engine_cs *ring = req->ring;
> + struct intel_engine_cs *engine = req->engine;
> int ret;
>
> - if (!ring->gpu_caches_dirty)
> + if (!engine->gpu_caches_dirty)
> return 0;
>
> - ret = ring->emit_flush(req, 0, I915_GEM_GPU_DOMAINS);
> + ret = engine->emit_flush(req, 0, I915_GEM_GPU_DOMAINS);
> if (ret)
> return ret;
>
> - ring->gpu_caches_dirty = false;
> + engine->gpu_caches_dirty = false;
> return 0;
> }
>
> static int intel_lr_context_pin(struct drm_i915_gem_request *rq)
> {
> - struct intel_engine_cs *ring = rq->ring;
> - struct drm_i915_gem_object *ctx_obj = rq->ctx->engine[ring->id].state;
> + int engine = rq->engine->id;
> + struct drm_i915_gem_object *ctx_obj = rq->ctx->engine[engine].state;
> struct intel_ringbuffer *ringbuf = rq->ringbuf;
> int ret = 0;
>
> - WARN_ON(!mutex_is_locked(&ring->dev->struct_mutex));
> - if (rq->ctx->engine[ring->id].pin_count++ == 0) {
> + WARN_ON(!mutex_is_locked(&rq->i915->dev->struct_mutex));
> + if (rq->ctx->engine[engine].pin_count++ == 0) {
> ret = i915_gem_obj_ggtt_pin(ctx_obj,
> GEN8_LR_CONTEXT_ALIGN, 0);
> if (ret)
> goto reset_pin_count;
>
> - ret = intel_pin_and_map_ringbuffer_obj(ring->dev, ringbuf);
> + ret = intel_pin_and_map_ringbuffer_obj(rq->i915->dev, ringbuf);
> if (ret)
> goto unpin_ctx_obj;
>
> @@ -851,20 +849,20 @@ static int intel_lr_context_pin(struct drm_i915_gem_request *rq)
> unpin_ctx_obj:
> i915_gem_object_ggtt_unpin(ctx_obj);
> reset_pin_count:
> - rq->ctx->engine[ring->id].pin_count = 0;
> + rq->ctx->engine[engine].pin_count = 0;
>
> return ret;
> }
>
> void intel_lr_context_unpin(struct drm_i915_gem_request *rq)
> {
> - struct intel_engine_cs *ring = rq->ring;
> - struct drm_i915_gem_object *ctx_obj = rq->ctx->engine[ring->id].state;
> + int engine = rq->engine->id;
> + struct drm_i915_gem_object *ctx_obj = rq->ctx->engine[engine].state;
> struct intel_ringbuffer *ringbuf = rq->ringbuf;
>
> if (ctx_obj) {
> - WARN_ON(!mutex_is_locked(&ring->dev->struct_mutex));
> - if (--rq->ctx->engine[ring->id].pin_count == 0) {
> + WARN_ON(!mutex_is_locked(&rq->i915->dev->struct_mutex));
> + if (--rq->ctx->engine[engine].pin_count == 0) {
> intel_unpin_ringbuffer_obj(ringbuf);
> i915_gem_object_ggtt_unpin(ctx_obj);
> }
> @@ -874,7 +872,7 @@ void intel_lr_context_unpin(struct drm_i915_gem_request *rq)
> static int intel_logical_ring_workarounds_emit(struct drm_i915_gem_request *req)
> {
> int ret, i;
> - struct intel_engine_cs *ring = req->ring;
> + struct intel_engine_cs *engine = req->engine;
> struct intel_ringbuffer *ringbuf = req->ringbuf;
> struct drm_i915_private *dev_priv = req->i915;
> struct i915_workarounds *w = &dev_priv->workarounds;
> @@ -882,7 +880,7 @@ static int intel_logical_ring_workarounds_emit(struct drm_i915_gem_request *req)
> if (WARN_ON_ONCE(w->count == 0))
> return 0;
>
> - ring->gpu_caches_dirty = true;
> + engine->gpu_caches_dirty = true;
> ret = logical_ring_flush_all_caches(req);
> if (ret)
> return ret;
> @@ -900,7 +898,7 @@ static int intel_logical_ring_workarounds_emit(struct drm_i915_gem_request *req)
>
> intel_ring_advance(ringbuf);
>
> - ring->gpu_caches_dirty = true;
> + engine->gpu_caches_dirty = true;
> ret = logical_ring_flush_all_caches(req);
> if (ret)
> return ret;
> @@ -1319,7 +1317,7 @@ static int gen9_init_render_ring(struct intel_engine_cs *ring)
> static int intel_logical_ring_emit_pdps(struct drm_i915_gem_request *req)
> {
> struct i915_hw_ppgtt *ppgtt = req->ctx->ppgtt;
> - struct intel_engine_cs *ring = req->ring;
> + struct intel_engine_cs *engine = req->engine;
> struct intel_ringbuffer *ringbuf = req->ringbuf;
> const int num_lri_cmds = GEN8_LEGACY_PDPES * 2;
> int i, ret;
> @@ -1332,9 +1330,9 @@ static int intel_logical_ring_emit_pdps(struct drm_i915_gem_request *req)
> for (i = GEN8_LEGACY_PDPES - 1; i >= 0; i--) {
> const dma_addr_t pd_daddr = i915_page_dir_dma_addr(ppgtt, i);
>
> - intel_ring_emit(ringbuf, GEN8_RING_PDP_UDW(ring, i));
> + intel_ring_emit(ringbuf, GEN8_RING_PDP_UDW(engine, i));
> intel_ring_emit(ringbuf, upper_32_bits(pd_daddr));
> - intel_ring_emit(ringbuf, GEN8_RING_PDP_LDW(ring, i));
> + intel_ring_emit(ringbuf, GEN8_RING_PDP_LDW(engine, i));
> intel_ring_emit(ringbuf, lower_32_bits(pd_daddr));
> }
>
> @@ -1358,14 +1356,14 @@ static int gen8_emit_bb_start(struct drm_i915_gem_request *req,
> * not idle). PML4 is allocated during ppgtt init so this is
> * not needed in 48-bit.*/
> if (req->ctx->ppgtt &&
> - (intel_ring_flag(req->ring) & req->ctx->ppgtt->pd_dirty_rings)) {
> + (intel_ring_flag(req->engine) & req->ctx->ppgtt->pd_dirty_rings)) {
> if (!USES_FULL_48BIT_PPGTT(req->i915)) {
> ret = intel_logical_ring_emit_pdps(req);
> if (ret)
> return ret;
> }
>
> - req->ctx->ppgtt->pd_dirty_rings &= ~intel_ring_flag(req->ring);
> + req->ctx->ppgtt->pd_dirty_rings &= ~intel_ring_flag(req->engine);
> }
>
> ret = intel_ring_begin(req, 4);
> @@ -1575,21 +1573,21 @@ static int intel_lr_context_render_state_init(struct drm_i915_gem_request *req)
> struct render_state so;
> int ret;
>
> - ret = i915_gem_render_state_prepare(req->ring, &so);
> + ret = i915_gem_render_state_prepare(req->engine, &so);
> if (ret)
> return ret;
>
> if (so.rodata == NULL)
> return 0;
>
> - ret = req->ring->emit_bb_start(req, so.ggtt_offset,
> - I915_DISPATCH_SECURE);
> + ret = req->engine->emit_bb_start(req, so.ggtt_offset,
> + I915_DISPATCH_SECURE);
> if (ret)
> goto out;
>
> - ret = req->ring->emit_bb_start(req,
> - (so.ggtt_offset + so.aux_batch_offset),
> - I915_DISPATCH_SECURE);
> + ret = req->engine->emit_bb_start(req,
> + (so.ggtt_offset + so.aux_batch_offset),
> + I915_DISPATCH_SECURE);
> if (ret)
> goto out;
>
> diff --git a/drivers/gpu/drm/i915/intel_mocs.c b/drivers/gpu/drm/i915/intel_mocs.c
> index ac0a982bbf55..d79c9c0bbffb 100644
> --- a/drivers/gpu/drm/i915/intel_mocs.c
> +++ b/drivers/gpu/drm/i915/intel_mocs.c
> @@ -138,21 +138,21 @@ static const struct drm_i915_mocs_entry broxton_mocs_table[] = {
> *
> * Return: true if there are applicable MOCS settings for the device.
> */
> -static bool get_mocs_settings(struct drm_device *dev,
> +static bool get_mocs_settings(struct drm_i915_private *dev_priv,
> struct drm_i915_mocs_table *table)
> {
> bool result = false;
>
> - if (IS_SKYLAKE(dev)) {
> + if (IS_SKYLAKE(dev_priv)) {
> table->size = ARRAY_SIZE(skylake_mocs_table);
> table->table = skylake_mocs_table;
> result = true;
> - } else if (IS_BROXTON(dev)) {
> + } else if (IS_BROXTON(dev_priv)) {
> table->size = ARRAY_SIZE(broxton_mocs_table);
> table->table = broxton_mocs_table;
> result = true;
> } else {
> - WARN_ONCE(INTEL_INFO(dev)->gen >= 9,
> + WARN_ONCE(INTEL_INFO(dev_priv)->gen >= 9,
> "Platform that should have a MOCS table does not.\n");
> }
>
> @@ -297,7 +297,7 @@ int intel_rcs_context_init_mocs(struct drm_i915_gem_request *req)
> struct drm_i915_mocs_table t;
> int ret;
>
> - if (get_mocs_settings(req->ring->dev, &t)) {
> + if (get_mocs_settings(req->i915, &t)) {
> /* Program the control registers */
> ret = emit_mocs_control_table(req, &t, GEN9_GFX_MOCS_0);
> if (ret)
> diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.c b/drivers/gpu/drm/i915/intel_ringbuffer.c
> index 9821c2a8074a..cc060588a287 100644
> --- a/drivers/gpu/drm/i915/intel_ringbuffer.c
> +++ b/drivers/gpu/drm/i915/intel_ringbuffer.c
> @@ -216,7 +216,7 @@ static int
> intel_emit_post_sync_nonzero_flush(struct drm_i915_gem_request *req)
> {
> struct intel_ringbuffer *ring = req->ringbuf;
> - u32 scratch_addr = req->ring->scratch.gtt_offset + 2 * CACHELINE_BYTES;
> + u32 scratch_addr = req->engine->scratch.gtt_offset + 2 * CACHELINE_BYTES;
> int ret;
>
> ret = intel_ring_begin(req, 6);
> @@ -253,7 +253,7 @@ gen6_render_ring_flush(struct drm_i915_gem_request *req,
> {
> struct intel_ringbuffer *ring = req->ringbuf;
> u32 flags = 0;
> - u32 scratch_addr = req->ring->scratch.gtt_offset + 2 * CACHELINE_BYTES;
> + u32 scratch_addr = req->engine->scratch.gtt_offset + 2 * CACHELINE_BYTES;
> int ret;
>
> /* Force SNB workarounds for PIPE_CONTROL flushes */
> @@ -326,7 +326,7 @@ gen7_render_ring_flush(struct drm_i915_gem_request *req,
> {
> struct intel_ringbuffer *ring = req->ringbuf;
> u32 flags = 0;
> - u32 scratch_addr = req->ring->scratch.gtt_offset + 2 * CACHELINE_BYTES;
> + u32 scratch_addr = req->engine->scratch.gtt_offset + 2 * CACHELINE_BYTES;
> int ret;
>
> /*
> @@ -410,7 +410,7 @@ gen8_render_ring_flush(struct drm_i915_gem_request *req,
> u32 invalidate_domains, u32 flush_domains)
> {
> u32 flags = 0;
> - u32 scratch_addr = req->ring->scratch.gtt_offset + 2 * CACHELINE_BYTES;
> + u32 scratch_addr = req->engine->scratch.gtt_offset + 2 * CACHELINE_BYTES;
> int ret;
>
> flags |= PIPE_CONTROL_CS_STALL;
> @@ -720,7 +720,7 @@ static int intel_ring_workarounds_emit(struct drm_i915_gem_request *req)
> if (WARN_ON_ONCE(w->count == 0))
> return 0;
>
> - req->ring->gpu_caches_dirty = true;
> + req->engine->gpu_caches_dirty = true;
> ret = intel_ring_flush_all_caches(req);
> if (ret)
> return ret;
> @@ -738,7 +738,7 @@ static int intel_ring_workarounds_emit(struct drm_i915_gem_request *req)
>
> intel_ring_advance(ring);
>
> - req->ring->gpu_caches_dirty = true;
> + req->engine->gpu_caches_dirty = true;
> ret = intel_ring_flush_all_caches(req);
> if (ret)
> return ret;
> @@ -1199,7 +1199,7 @@ static int gen8_rcs_signal(struct drm_i915_gem_request *signaller_req,
>
> for_each_ring(waiter, dev_priv, i) {
> u32 seqno;
> - u64 gtt_offset = signaller_req->ring->semaphore.signal_ggtt[i];
> + u64 gtt_offset = signaller_req->engine->semaphore.signal_ggtt[i];
> if (gtt_offset == MI_SEMAPHORE_SYNC_INVALID)
> continue;
>
> @@ -1239,7 +1239,7 @@ static int gen8_xcs_signal(struct drm_i915_gem_request *signaller_req,
>
> for_each_ring(waiter, dev_priv, i) {
> u32 seqno;
> - u64 gtt_offset = signaller_req->ring->semaphore.signal_ggtt[i];
> + u64 gtt_offset = signaller_req->engine->semaphore.signal_ggtt[i];
> if (gtt_offset == MI_SEMAPHORE_SYNC_INVALID)
> continue;
>
> @@ -1276,7 +1276,7 @@ static int gen6_signal(struct drm_i915_gem_request *signaller_req,
> return ret;
>
> for_each_ring(useless, dev_priv, i) {
> - u32 mbox_reg = signaller_req->ring->semaphore.mbox.signal[i];
> + u32 mbox_reg = signaller_req->engine->semaphore.mbox.signal[i];
> if (mbox_reg != GEN6_NOSYNC) {
> u32 seqno = i915_gem_request_get_seqno(signaller_req);
> intel_ring_emit(signaller, MI_LOAD_REGISTER_IMM(1));
> @@ -1306,8 +1306,8 @@ gen6_add_request(struct drm_i915_gem_request *req)
> struct intel_ringbuffer *ring = req->ringbuf;
> int ret;
>
> - if (req->ring->semaphore.signal)
> - ret = req->ring->semaphore.signal(req, 4);
> + if (req->engine->semaphore.signal)
> + ret = req->engine->semaphore.signal(req, 4);
> else
> ret = intel_ring_begin(req, 4);
>
> @@ -1318,7 +1318,7 @@ gen6_add_request(struct drm_i915_gem_request *req)
> intel_ring_emit(ring, I915_GEM_HWS_INDEX << MI_STORE_DWORD_INDEX_SHIFT);
> intel_ring_emit(ring, i915_gem_request_get_seqno(req));
> intel_ring_emit(ring, MI_USER_INTERRUPT);
> - __intel_ring_advance(req->ring);
> + __intel_ring_advance(req->engine);
>
> return 0;
> }
> @@ -1356,10 +1356,10 @@ gen8_ring_sync(struct drm_i915_gem_request *waiter_req,
> MI_SEMAPHORE_SAD_GTE_SDD);
> intel_ring_emit(waiter, seqno);
> intel_ring_emit(waiter,
> - lower_32_bits(GEN8_WAIT_OFFSET(waiter_req->ring,
> + lower_32_bits(GEN8_WAIT_OFFSET(waiter_req->engine,
> signaller->id)));
> intel_ring_emit(waiter,
> - upper_32_bits(GEN8_WAIT_OFFSET(waiter_req->ring,
> + upper_32_bits(GEN8_WAIT_OFFSET(waiter_req->engine,
> signaller->id)));
> intel_ring_advance(waiter);
> return 0;
> @@ -1374,7 +1374,7 @@ gen6_ring_sync(struct drm_i915_gem_request *waiter_req,
> u32 dw1 = MI_SEMAPHORE_MBOX |
> MI_SEMAPHORE_COMPARE |
> MI_SEMAPHORE_REGISTER;
> - u32 wait_mbox = signaller->semaphore.mbox.wait[waiter_req->ring->id];
> + u32 wait_mbox = signaller->semaphore.mbox.wait[waiter_req->engine->id];
> int ret;
>
> /* Throughout all of the GEM code, seqno passed implies our current
> @@ -1419,7 +1419,7 @@ static int
> pc_render_add_request(struct drm_i915_gem_request *req)
> {
> struct intel_ringbuffer *ring = req->ringbuf;
> - u32 scratch_addr = req->ring->scratch.gtt_offset + 2 * CACHELINE_BYTES;
> + u32 scratch_addr = req->engine->scratch.gtt_offset + 2 * CACHELINE_BYTES;
> int ret;
>
> /* For Ironlake, MI_USER_INTERRUPT was deprecated and apparently
> @@ -1437,7 +1437,7 @@ pc_render_add_request(struct drm_i915_gem_request *req)
> intel_ring_emit(ring, GFX_OP_PIPE_CONTROL(4) | PIPE_CONTROL_QW_WRITE |
> PIPE_CONTROL_WRITE_FLUSH |
> PIPE_CONTROL_TEXTURE_CACHE_INVALIDATE);
> - intel_ring_emit(ring, req->ring->scratch.gtt_offset | PIPE_CONTROL_GLOBAL_GTT);
> + intel_ring_emit(ring, req->engine->scratch.gtt_offset | PIPE_CONTROL_GLOBAL_GTT);
> intel_ring_emit(ring, i915_gem_request_get_seqno(req));
> intel_ring_emit(ring, 0);
> PIPE_CONTROL_FLUSH(ring, scratch_addr);
> @@ -1456,10 +1456,10 @@ pc_render_add_request(struct drm_i915_gem_request *req)
> PIPE_CONTROL_WRITE_FLUSH |
> PIPE_CONTROL_TEXTURE_CACHE_INVALIDATE |
> PIPE_CONTROL_NOTIFY);
> - intel_ring_emit(ring, req->ring->scratch.gtt_offset | PIPE_CONTROL_GLOBAL_GTT);
> + intel_ring_emit(ring, req->engine->scratch.gtt_offset | PIPE_CONTROL_GLOBAL_GTT);
> intel_ring_emit(ring, i915_gem_request_get_seqno(req));
> intel_ring_emit(ring, 0);
> - __intel_ring_advance(req->ring);
> + __intel_ring_advance(req->engine);
>
> return 0;
> }
> @@ -1639,7 +1639,7 @@ i9xx_add_request(struct drm_i915_gem_request *req)
> intel_ring_emit(ring, I915_GEM_HWS_INDEX << MI_STORE_DWORD_INDEX_SHIFT);
> intel_ring_emit(ring, i915_gem_request_get_seqno(req));
> intel_ring_emit(ring, MI_USER_INTERRUPT);
> - __intel_ring_advance(req->ring);
> + __intel_ring_advance(req->engine);
>
> return 0;
> }
> @@ -1801,7 +1801,7 @@ i830_dispatch_execbuffer(struct drm_i915_gem_request *req,
> unsigned dispatch_flags)
> {
> struct intel_ringbuffer *ring = req->ringbuf;
> - u32 cs_offset = req->ring->scratch.gtt_offset;
> + u32 cs_offset = req->engine->scratch.gtt_offset;
> int ret;
>
> ret = intel_ring_begin(req, 6);
> @@ -2164,7 +2164,7 @@ int intel_ring_idle(struct intel_engine_cs *ring)
>
> int intel_ring_alloc_request_extras(struct drm_i915_gem_request *request)
> {
> - request->ringbuf = request->ring->buffer;
> + request->ringbuf = request->engine->buffer;
> return 0;
> }
>
> @@ -2218,7 +2218,7 @@ void intel_ring_reserved_space_end(struct intel_ringbuffer *ringbuf)
> static int wait_for_space(struct drm_i915_gem_request *req, int bytes)
> {
> struct intel_ringbuffer *ringbuf = req->ringbuf;
> - struct intel_engine_cs *ring = req->ring;
> + struct intel_engine_cs *engine = req->engine;
> struct drm_i915_gem_request *target;
> unsigned space;
> int ret;
> @@ -2229,7 +2229,7 @@ static int wait_for_space(struct drm_i915_gem_request *req, int bytes)
> /* The whole point of reserving space is to not wait! */
> WARN_ON(ringbuf->reserved_in_use);
>
> - list_for_each_entry(target, &ring->request_list, list) {
> + list_for_each_entry(target, &engine->request_list, list) {
> /*
> * The request queue is per-engine, so can contain requests
> * from multiple ringbuffers. Here, we must ignore any that
> @@ -2245,7 +2245,7 @@ static int wait_for_space(struct drm_i915_gem_request *req, int bytes)
> break;
> }
>
> - if (WARN_ON(&target->list == &ring->request_list))
> + if (WARN_ON(&target->list == &engine->request_list))
> return -ENOSPC;
>
> ret = i915_wait_request(target);
> @@ -2931,40 +2931,40 @@ int intel_init_vebox_ring_buffer(struct drm_device *dev)
> int
> intel_ring_flush_all_caches(struct drm_i915_gem_request *req)
> {
> - struct intel_engine_cs *ring = req->ring;
> + struct intel_engine_cs *engine = req->engine;
> int ret;
>
> - if (!ring->gpu_caches_dirty)
> + if (!engine->gpu_caches_dirty)
> return 0;
>
> - ret = ring->flush(req, 0, I915_GEM_GPU_DOMAINS);
> + ret = engine->flush(req, 0, I915_GEM_GPU_DOMAINS);
> if (ret)
> return ret;
>
> trace_i915_gem_ring_flush(req, 0, I915_GEM_GPU_DOMAINS);
>
> - ring->gpu_caches_dirty = false;
> + engine->gpu_caches_dirty = false;
> return 0;
> }
>
> int
> intel_ring_invalidate_all_caches(struct drm_i915_gem_request *req)
> {
> - struct intel_engine_cs *ring = req->ring;
> + struct intel_engine_cs *engine = req->engine;
> uint32_t flush_domains;
> int ret;
>
> flush_domains = 0;
> - if (ring->gpu_caches_dirty)
> + if (engine->gpu_caches_dirty)
> flush_domains = I915_GEM_GPU_DOMAINS;
>
> - ret = ring->flush(req, I915_GEM_GPU_DOMAINS, flush_domains);
> + ret = engine->flush(req, I915_GEM_GPU_DOMAINS, flush_domains);
> if (ret)
> return ret;
>
> trace_i915_gem_ring_flush(req, I915_GEM_GPU_DOMAINS, flush_domains);
>
> - ring->gpu_caches_dirty = false;
> + engine->gpu_caches_dirty = false;
> return 0;
> }
>
> --
> 2.6.2
>
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx
--
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
More information about the Intel-gfx
mailing list