drm/i915: Update ring->emit_request() to take a request structure
Updated the ring->emit_request() implementation to take a request instead of a ringbuf/request pair. Also removed its use of the OLR for obtaining the request's seqno. For: VIZ-5115 Signed-off-by: John Harrison <John.C.Harrison@Intel.com> Reviewed-by: Tomas Elf <tomas.elf@intel.com> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
This commit is contained in:
parent
ee044a8863
commit
c4e766389e
|
@ -2522,7 +2522,7 @@ 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(ringbuf, request);
|
||||
ret = ring->emit_request(request);
|
||||
else {
|
||||
ret = ring->add_request(request);
|
||||
|
||||
|
|
|
@ -1530,9 +1530,9 @@ static void gen8_set_seqno(struct intel_engine_cs *ring, u32 seqno)
|
|||
intel_write_status_page(ring, I915_GEM_HWS_INDEX, seqno);
|
||||
}
|
||||
|
||||
static int gen8_emit_request(struct intel_ringbuffer *ringbuf,
|
||||
struct drm_i915_gem_request *request)
|
||||
static int gen8_emit_request(struct drm_i915_gem_request *request)
|
||||
{
|
||||
struct intel_ringbuffer *ringbuf = request->ringbuf;
|
||||
struct intel_engine_cs *ring = ringbuf->ring;
|
||||
u32 cmd;
|
||||
int ret;
|
||||
|
@ -1554,8 +1554,7 @@ static int gen8_emit_request(struct intel_ringbuffer *ringbuf,
|
|||
(ring->status_page.gfx_addr +
|
||||
(I915_GEM_HWS_INDEX << MI_STORE_DWORD_INDEX_SHIFT)));
|
||||
intel_logical_ring_emit(ringbuf, 0);
|
||||
intel_logical_ring_emit(ringbuf,
|
||||
i915_gem_request_get_seqno(ring->outstanding_lazy_request));
|
||||
intel_logical_ring_emit(ringbuf, i915_gem_request_get_seqno(request));
|
||||
intel_logical_ring_emit(ringbuf, MI_USER_INTERRUPT);
|
||||
intel_logical_ring_emit(ringbuf, MI_NOOP);
|
||||
intel_logical_ring_advance_and_submit(ringbuf, request->ctx, request);
|
||||
|
|
|
@ -266,8 +266,7 @@ struct intel_engine_cs {
|
|||
struct list_head execlist_retired_req_list;
|
||||
u8 next_context_status_buffer;
|
||||
u32 irq_keep_mask; /* bitmask for interrupts that should not be masked */
|
||||
int (*emit_request)(struct intel_ringbuffer *ringbuf,
|
||||
struct drm_i915_gem_request *request);
|
||||
int (*emit_request)(struct drm_i915_gem_request *request);
|
||||
int (*emit_flush)(struct drm_i915_gem_request *request,
|
||||
u32 invalidate_domains,
|
||||
u32 flush_domains);
|
||||
|
|
Loading…
Reference in New Issue