drm/i915: Enable resource streamer bits on MI_BATCH_BUFFER_START
Adds support for enabling the resource streamer on the legacy ringbuffer for HSW and GEN8. Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> Signed-off-by: Abdiel Janulgue <abdiel.janulgue@linux.intel.com> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
This commit is contained in:
parent
e62925567c
commit
919032ec7c
|
@ -361,6 +361,7 @@
|
|||
#define MI_BATCH_BUFFER_START MI_INSTR(0x31, 0)
|
||||
#define MI_BATCH_GTT (2<<6) /* aliased with (1<<7) on gen4 */
|
||||
#define MI_BATCH_BUFFER_START_GEN8 MI_INSTR(0x31, 1)
|
||||
#define MI_BATCH_RESOURCE_STREAMER (1<<10)
|
||||
|
||||
#define MI_PREDICATE_SRC0 (0x2400)
|
||||
#define MI_PREDICATE_SRC1 (0x2408)
|
||||
|
|
|
@ -2448,7 +2448,9 @@ gen8_ring_dispatch_execbuffer(struct drm_i915_gem_request *req,
|
|||
return ret;
|
||||
|
||||
/* FIXME(BDW): Address space and security selectors. */
|
||||
intel_ring_emit(ring, MI_BATCH_BUFFER_START_GEN8 | (ppgtt<<8));
|
||||
intel_ring_emit(ring, MI_BATCH_BUFFER_START_GEN8 | (ppgtt<<8) |
|
||||
(dispatch_flags & I915_DISPATCH_RS ?
|
||||
MI_BATCH_RESOURCE_STREAMER : 0));
|
||||
intel_ring_emit(ring, lower_32_bits(offset));
|
||||
intel_ring_emit(ring, upper_32_bits(offset));
|
||||
intel_ring_emit(ring, MI_NOOP);
|
||||
|
@ -2472,7 +2474,9 @@ hsw_ring_dispatch_execbuffer(struct drm_i915_gem_request *req,
|
|||
intel_ring_emit(ring,
|
||||
MI_BATCH_BUFFER_START |
|
||||
(dispatch_flags & I915_DISPATCH_SECURE ?
|
||||
0 : MI_BATCH_PPGTT_HSW | MI_BATCH_NON_SECURE_HSW));
|
||||
0 : MI_BATCH_PPGTT_HSW | MI_BATCH_NON_SECURE_HSW) |
|
||||
(dispatch_flags & I915_DISPATCH_RS ?
|
||||
MI_BATCH_RESOURCE_STREAMER : 0));
|
||||
/* bit0-7 is the length on GEN6+ */
|
||||
intel_ring_emit(ring, offset);
|
||||
intel_ring_advance(ring);
|
||||
|
|
|
@ -199,6 +199,7 @@ struct intel_engine_cs {
|
|||
unsigned dispatch_flags);
|
||||
#define I915_DISPATCH_SECURE 0x1
|
||||
#define I915_DISPATCH_PINNED 0x2
|
||||
#define I915_DISPATCH_RS 0x4
|
||||
void (*cleanup)(struct intel_engine_cs *ring);
|
||||
|
||||
/* GEN8 signal/wait table - never trust comments!
|
||||
|
|
Loading…
Reference in New Issue