[Intel-gfx] [PATCH 43/59] drm/i915: Update ring->emit_request() to take a request structure

Tomas Elf tomas.elf at intel.com
Tue Mar 31 10:01:40 PDT 2015


On 19/03/2015 12:30, John.C.Harrison at Intel.com wrote:
> From: John Harrison <John.C.Harrison at Intel.com>
>
> Updated the ring->emit_request() implementation to take a request instead of a
> ringbuf/request pair. Also removed it's use of the OLR for obtaining the

Nitpick: "it's" -> "its"
I apparently already r-b:ed this patch. Oh well ;).

Thanks,
Tomas

> request's seqno.
>
> For: VIZ-5115
> Signed-off-by: John Harrison <John.C.Harrison at Intel.com>
> Reviewed-by: Tomas Elf <tomas.elf at intel.com>
> ---
>   drivers/gpu/drm/i915/i915_gem.c         |    2 +-
>   drivers/gpu/drm/i915/intel_lrc.c        |    7 +++----
>   drivers/gpu/drm/i915/intel_ringbuffer.h |    3 +--
>   3 files changed, 5 insertions(+), 7 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
> index dd5c1d8..881c6ea 100644
> --- a/drivers/gpu/drm/i915/i915_gem.c
> +++ b/drivers/gpu/drm/i915/i915_gem.c
> @@ -2378,7 +2378,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);
>   	/* Not allowed to fail! */
> diff --git a/drivers/gpu/drm/i915/intel_lrc.c b/drivers/gpu/drm/i915/intel_lrc.c
> index ba49f50..24a4816 100644
> --- a/drivers/gpu/drm/i915/intel_lrc.c
> +++ b/drivers/gpu/drm/i915/intel_lrc.c
> @@ -1294,9 +1294,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;
> @@ -1313,8 +1313,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);
> diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.h b/drivers/gpu/drm/i915/intel_ringbuffer.h
> index 9641634..87f3b60 100644
> --- a/drivers/gpu/drm/i915/intel_ringbuffer.h
> +++ b/drivers/gpu/drm/i915/intel_ringbuffer.h
> @@ -236,8 +236,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);
>



More information about the Intel-gfx mailing list