|
|
|
@ -327,6 +327,7 @@ static u64 execlists_update_context(struct drm_i915_gem_request *rq) |
|
|
|
|
u32 *reg_state = ce->lrc_reg_state; |
|
|
|
|
|
|
|
|
|
GEM_BUG_ON(!IS_ALIGNED(rq->tail, 8)); |
|
|
|
|
GEM_BUG_ON(rq->tail >= rq->ring->size); |
|
|
|
|
reg_state[CTX_RING_TAIL+1] = rq->tail; |
|
|
|
|
|
|
|
|
|
/* True 32b PPGTT with dynamic page allocation: update PDP
|
|
|
|
@ -1282,6 +1283,7 @@ static void reset_common_ring(struct intel_engine_cs *engine, |
|
|
|
|
intel_ring_wrap(request->ring, |
|
|
|
|
request->wa_tail - WA_TAIL_DWORDS*sizeof(u32)); |
|
|
|
|
GEM_BUG_ON(!IS_ALIGNED(request->tail, 8)); |
|
|
|
|
GEM_BUG_ON(request->tail >= request->ring->size); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
static int intel_logical_ring_emit_pdps(struct drm_i915_gem_request *req) |
|
|
|
@ -1493,6 +1495,7 @@ static void gen8_emit_breadcrumb(struct drm_i915_gem_request *request, u32 *cs) |
|
|
|
|
*cs++ = MI_NOOP; |
|
|
|
|
request->tail = intel_ring_offset(request, cs); |
|
|
|
|
GEM_BUG_ON(!IS_ALIGNED(request->tail, 8)); |
|
|
|
|
GEM_BUG_ON(request->tail >= request->ring->size); |
|
|
|
|
|
|
|
|
|
gen8_emit_wa_tail(request, cs); |
|
|
|
|
} |
|
|
|
@ -1521,6 +1524,7 @@ static void gen8_emit_breadcrumb_render(struct drm_i915_gem_request *request, |
|
|
|
|
*cs++ = MI_NOOP; |
|
|
|
|
request->tail = intel_ring_offset(request, cs); |
|
|
|
|
GEM_BUG_ON(!IS_ALIGNED(request->tail, 8)); |
|
|
|
|
GEM_BUG_ON(request->tail >= request->ring->size); |
|
|
|
|
|
|
|
|
|
gen8_emit_wa_tail(request, cs); |
|
|
|
|
} |
|
|
|
|