drm/i915/bdw: Add a context and an engine pointers to the ringbuffer
authorDaniel Vetter <daniel.vetter@ffwll.ch>
Mon, 11 Aug 2014 14:17:44 +0000 (16:17 +0200)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Mon, 11 Aug 2014 14:18:17 +0000 (16:18 +0200)
Any given ringbuffer is unequivocally tied to one context and one engine.
By setting the appropriate pointers to them, the ringbuffer struct holds
all the infromation you might need to submit a workload for processing,
Execlists style.

v2: Drop ring->ctx since that looks terribly ill-defined for legacy
ringbuffer submission.

Signed-off-by: Oscar Mateo <oscar.mateo@intel.com> (v1)
Acked-by: Damien Lespiau <damien.lespiau@intel.com> (v2)
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
drivers/gpu/drm/i915/intel_lrc.c
drivers/gpu/drm/i915/intel_ringbuffer.c
drivers/gpu/drm/i915/intel_ringbuffer.h

index 0c80bb1..8f2d14d 100644 (file)
@@ -134,6 +134,7 @@ int intel_lr_context_deferred_create(struct intel_context *ctx,
                return ret;
        }
 
+       ringbuf->ring = ring;
        ringbuf->size = 32 * PAGE_SIZE;
        ringbuf->effective_size = ringbuf->size;
        ringbuf->head = 0;