[Intel-gfx] [PATCH 09/12] drm/i915: Rename intel_context[engine].ringbuf

Daniel Vetter daniel at ffwll.ch
Tue Nov 24 06:59:58 PST 2015


On Fri, Nov 20, 2015 at 12:43:49PM +0000, Chris Wilson wrote:
> Perform s/ringbuf/ring/ on the context struct for consistency with the
> ring/engine split.
> 
> Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>

I presume all ringbuf are now gone?

Anyway, Reviewed-by: Daniel Vetter <daniel.vetter at ffwll.ch>

> ---
>  drivers/gpu/drm/i915/i915_debugfs.c     |  2 +-
>  drivers/gpu/drm/i915/i915_drv.h         |  4 +-
>  drivers/gpu/drm/i915/i915_gpu_error.c   |  4 +-
>  drivers/gpu/drm/i915/intel_lrc.c        | 85 ++++++++++++++++-----------------
>  drivers/gpu/drm/i915/intel_ringbuffer.c | 12 ++---
>  5 files changed, 52 insertions(+), 55 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/i915_debugfs.c b/drivers/gpu/drm/i915/i915_debugfs.c
> index 56375c36b381..630717fec688 100644
> --- a/drivers/gpu/drm/i915/i915_debugfs.c
> +++ b/drivers/gpu/drm/i915/i915_debugfs.c
> @@ -1950,7 +1950,7 @@ static int i915_context_status(struct seq_file *m, void *unused)
>  				struct drm_i915_gem_object *ctx_obj =
>  					ctx->engine[i].state;
>  				struct intel_ringbuffer *ringbuf =
> -					ctx->engine[i].ringbuf;
> +					ctx->engine[i].ring;
>  
>  				seq_printf(m, "%s: ", ring->name);
>  				if (ctx_obj)
> diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
> index b7eaa2deb437..d8bd58cbb727 100644
> --- a/drivers/gpu/drm/i915/i915_drv.h
> +++ b/drivers/gpu/drm/i915/i915_drv.h
> @@ -882,9 +882,9 @@ struct intel_context {
>  
>  	/* Execlists */
>  	bool rcs_initialized;
> -	struct {
> +	struct intel_context_engine {
>  		struct drm_i915_gem_object *state;
> -		struct intel_ringbuffer *ringbuf;
> +		struct intel_ringbuffer *ring;
>  		int pin_count;
>  	} engine[I915_NUM_RINGS];
>  
> diff --git a/drivers/gpu/drm/i915/i915_gpu_error.c b/drivers/gpu/drm/i915/i915_gpu_error.c
> index 974e3481e449..8b37f72bd91f 100644
> --- a/drivers/gpu/drm/i915/i915_gpu_error.c
> +++ b/drivers/gpu/drm/i915/i915_gpu_error.c
> @@ -1040,9 +1040,9 @@ static void i915_gem_record_rings(struct drm_device *dev,
>  			 * executed).
>  			 */
>  			if (request)
> -				rbuf = request->ctx->engine[ring->id].ringbuf;
> +				rbuf = request->ctx->engine[ring->id].ring;
>  			else
> -				rbuf = ring->default_context->engine[ring->id].ringbuf;
> +				rbuf = ring->default_context->engine[ring->id].ring;
>  		} else
>  			rbuf = ring->buffer;
>  
> diff --git a/drivers/gpu/drm/i915/intel_lrc.c b/drivers/gpu/drm/i915/intel_lrc.c
> index 346f5889738e..222ae8383f48 100644
> --- a/drivers/gpu/drm/i915/intel_lrc.c
> +++ b/drivers/gpu/drm/i915/intel_lrc.c
> @@ -381,24 +381,24 @@ static void execlists_submit_requests(struct drm_i915_gem_request *rq0,
>  	execlists_elsp_write(rq0, rq1);
>  }
>  
> -static void execlists_context_unqueue(struct intel_engine_cs *ring)
> +static void execlists_context_unqueue(struct intel_engine_cs *engine)
>  {
>  	struct drm_i915_gem_request *req0 = NULL, *req1 = NULL;
>  	struct drm_i915_gem_request *cursor = NULL, *tmp = NULL;
>  
> -	assert_spin_locked(&ring->execlist_lock);
> +	assert_spin_locked(&engine->execlist_lock);
>  
>  	/*
>  	 * If irqs are not active generate a warning as batches that finish
>  	 * without the irqs may get lost and a GPU Hang may occur.
>  	 */
> -	WARN_ON(!intel_irqs_enabled(ring->dev->dev_private));
> +	WARN_ON(!intel_irqs_enabled(engine->dev->dev_private));
>  
> -	if (list_empty(&ring->execlist_queue))
> +	if (list_empty(&engine->execlist_queue))
>  		return;
>  
>  	/* Try to read in pairs */
> -	list_for_each_entry_safe(cursor, tmp, &ring->execlist_queue,
> +	list_for_each_entry_safe(cursor, tmp, &engine->execlist_queue,
>  				 execlist_link) {
>  		if (!req0) {
>  			req0 = cursor;
> @@ -408,7 +408,7 @@ static void execlists_context_unqueue(struct intel_engine_cs *ring)
>  			cursor->elsp_submitted = req0->elsp_submitted;
>  			list_del(&req0->execlist_link);
>  			list_add_tail(&req0->execlist_link,
> -				&ring->execlist_retired_req_list);
> +				&engine->execlist_retired_req_list);
>  			req0 = cursor;
>  		} else {
>  			req1 = cursor;
> @@ -416,7 +416,7 @@ static void execlists_context_unqueue(struct intel_engine_cs *ring)
>  		}
>  	}
>  
> -	if (IS_GEN8(ring->dev) || IS_GEN9(ring->dev)) {
> +	if (IS_GEN8(engine->dev) || IS_GEN9(engine->dev)) {
>  		/*
>  		 * WaIdleLiteRestore: make sure we never cause a lite
>  		 * restore with HEAD==TAIL
> @@ -428,11 +428,11 @@ static void execlists_context_unqueue(struct intel_engine_cs *ring)
>  			 * for where we prepare the padding after the end of the
>  			 * request.
>  			 */
> -			struct intel_ringbuffer *ringbuf;
> +			struct intel_ringbuffer *ring;
>  
> -			ringbuf = req0->ctx->engine[ring->id].ringbuf;
> +			ring = req0->ctx->engine[engine->id].ring;
>  			req0->tail += 8;
> -			req0->tail &= ringbuf->size - 1;
> +			req0->tail &= ring->size - 1;
>  		}
>  	}
>  
> @@ -633,7 +633,7 @@ int intel_logical_ring_alloc_request_extras(struct drm_i915_gem_request *request
>  {
>  	int ret;
>  
> -	request->ring = request->ctx->engine[request->engine->id].ringbuf;
> +	request->ring = request->ctx->engine[request->engine->id].ring;
>  
>  	if (request->ctx != request->engine->default_context) {
>  		ret = intel_lr_context_pin(request);
> @@ -2087,17 +2087,16 @@ void intel_lr_context_free(struct intel_context *ctx)
>  		struct drm_i915_gem_object *ctx_obj = ctx->engine[i].state;
>  
>  		if (ctx_obj) {
> -			struct intel_ringbuffer *ringbuf =
> -					ctx->engine[i].ringbuf;
> -			struct intel_engine_cs *engine = ringbuf->engine;
> +			struct intel_ringbuffer *ring = ctx->engine[i].ring;
> +			struct intel_engine_cs *engine = ring->engine;
>  
>  			if (ctx == engine->default_context) {
> -				intel_unpin_ringbuffer_obj(ringbuf);
> +				intel_unpin_ringbuffer_obj(ring);
>  				i915_gem_object_ggtt_unpin(ctx_obj);
>  			}
>  			WARN_ON(ctx->engine[engine->id].pin_count);
> -			intel_destroy_ringbuffer_obj(ringbuf);
> -			kfree(ringbuf);
> +			intel_destroy_ringbuffer_obj(ring);
> +			kfree(ring);
>  			drm_gem_object_unreference(&ctx_obj->base);
>  		}
>  	}
> @@ -2164,7 +2163,7 @@ int intel_lr_context_deferred_create(struct intel_context *ctx,
>  	struct drm_device *dev = engine->dev;
>  	struct drm_i915_gem_object *ctx_obj;
>  	uint32_t context_size;
> -	struct intel_ringbuffer *ringbuf;
> +	struct intel_ringbuffer *ring;
>  	int ret;
>  
>  	WARN_ON(ctx->legacy_hw_ctx.rcs_state != NULL);
> @@ -2188,25 +2187,25 @@ int intel_lr_context_deferred_create(struct intel_context *ctx,
>  		}
>  	}
>  
> -	ringbuf = kzalloc(sizeof(*ringbuf), GFP_KERNEL);
> -	if (!ringbuf) {
> +	ring = kzalloc(sizeof(*ring), GFP_KERNEL);
> +	if (!ring) {
>  		DRM_DEBUG_DRIVER("Failed to allocate ringbuffer %s\n",
>  				engine->name);
>  		ret = -ENOMEM;
>  		goto error_unpin_ctx;
>  	}
>  
> -	ringbuf->engine = engine;
> +	ring->engine = engine;
>  
> -	ringbuf->size = 32 * PAGE_SIZE;
> -	ringbuf->effective_size = ringbuf->size;
> -	ringbuf->head = 0;
> -	ringbuf->tail = 0;
> -	ringbuf->last_retired_head = -1;
> -	intel_ring_update_space(ringbuf);
> +	ring->size = 32 * PAGE_SIZE;
> +	ring->effective_size = ring->size;
> +	ring->head = 0;
> +	ring->tail = 0;
> +	ring->last_retired_head = -1;
> +	intel_ring_update_space(ring);
>  
> -	if (ringbuf->obj == NULL) {
> -		ret = intel_alloc_ringbuffer_obj(dev, ringbuf);
> +	if (ring->obj == NULL) {
> +		ret = intel_alloc_ringbuffer_obj(dev, ring);
>  		if (ret) {
>  			DRM_DEBUG_DRIVER(
>  				"Failed to allocate ringbuffer obj %s: %d\n",
> @@ -2215,7 +2214,7 @@ int intel_lr_context_deferred_create(struct intel_context *ctx,
>  		}
>  
>  		if (is_global_default_ctx) {
> -			ret = intel_pin_and_map_ringbuffer_obj(dev, ringbuf);
> +			ret = intel_pin_and_map_ringbuffer_obj(dev, ring);
>  			if (ret) {
>  				DRM_ERROR(
>  					"Failed to pin and map ringbuffer %s: %d\n",
> @@ -2226,13 +2225,13 @@ int intel_lr_context_deferred_create(struct intel_context *ctx,
>  
>  	}
>  
> -	ret = populate_lr_context(ctx, ctx_obj, engine, ringbuf);
> +	ret = populate_lr_context(ctx, ctx_obj, engine, ring);
>  	if (ret) {
>  		DRM_DEBUG_DRIVER("Failed to populate LRC: %d\n", ret);
>  		goto error;
>  	}
>  
> -	ctx->engine[engine->id].ringbuf = ringbuf;
> +	ctx->engine[engine->id].ring = ring;
>  	ctx->engine[engine->id].state = ctx_obj;
>  
>  	if (ctx == engine->default_context)
> @@ -2249,7 +2248,7 @@ int intel_lr_context_deferred_create(struct intel_context *ctx,
>  			if (ret) {
>  				DRM_ERROR("ring init context: %d\n", ret);
>  				i915_gem_request_cancel(req);
> -				ctx->engine[engine->id].ringbuf = NULL;
> +				ctx->engine[engine->id].ring = NULL;
>  				ctx->engine[engine->id].state = NULL;
>  				goto error;
>  			}
> @@ -2264,11 +2263,11 @@ int intel_lr_context_deferred_create(struct intel_context *ctx,
>  
>  error:
>  	if (is_global_default_ctx)
> -		intel_unpin_ringbuffer_obj(ringbuf);
> +		intel_unpin_ringbuffer_obj(ring);
>  error_destroy_rbuf:
> -	intel_destroy_ringbuffer_obj(ringbuf);
> +	intel_destroy_ringbuffer_obj(ring);
>  error_free_rbuf:
> -	kfree(ringbuf);
> +	kfree(ring);
>  error_unpin_ctx:
>  	if (is_global_default_ctx)
>  		i915_gem_object_ggtt_unpin(ctx_obj);
> @@ -2280,14 +2279,12 @@ void intel_lr_context_reset(struct drm_device *dev,
>  			struct intel_context *ctx)
>  {
>  	struct drm_i915_private *dev_priv = dev->dev_private;
> -	struct intel_engine_cs *ring;
> +	struct intel_engine_cs *unused;
>  	int i;
>  
> -	for_each_ring(ring, dev_priv, i) {
> -		struct drm_i915_gem_object *ctx_obj =
> -				ctx->engine[ring->id].state;
> -		struct intel_ringbuffer *ringbuf =
> -				ctx->engine[ring->id].ringbuf;
> +	for_each_ring(unused, dev_priv, i) {
> +		struct drm_i915_gem_object *ctx_obj = ctx->engine[i].state;
> +		struct intel_ringbuffer *ring = ctx->engine[i].ring;
>  		uint32_t *reg_state;
>  		struct page *page;
>  
> @@ -2306,7 +2303,7 @@ void intel_lr_context_reset(struct drm_device *dev,
>  
>  		kunmap_atomic(reg_state);
>  
> -		ringbuf->head = 0;
> -		ringbuf->tail = 0;
> +		ring->head = 0;
> +		ring->tail = 0;
>  	}
>  }
> diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.c b/drivers/gpu/drm/i915/intel_ringbuffer.c
> index 1d43a24b6268..f6b7e209cc3c 100644
> --- a/drivers/gpu/drm/i915/intel_ringbuffer.c
> +++ b/drivers/gpu/drm/i915/intel_ringbuffer.c
> @@ -34,20 +34,20 @@
>  #include "intel_drv.h"
>  
>  bool
> -intel_ring_initialized(struct intel_engine_cs *ring)
> +intel_ring_initialized(struct intel_engine_cs *engine)
>  {
> -	struct drm_device *dev = ring->dev;
> +	struct drm_device *dev = engine->dev;
>  
>  	if (!dev)
>  		return false;
>  
>  	if (i915.enable_execlists) {
> -		struct intel_context *dctx = ring->default_context;
> -		struct intel_ringbuffer *ringbuf = dctx->engine[ring->id].ringbuf;
> +		struct intel_context *dctx = engine->default_context;
> +		struct intel_ringbuffer *ring = dctx->engine[engine->id].ring;
>  
> -		return ringbuf->obj;
> +		return ring->obj;
>  	} else
> -		return ring->buffer && ring->buffer->obj;
> +		return engine->buffer && engine->buffer->obj;
>  }
>  
>  int __intel_ring_space(int head, int tail, int size)
> -- 
> 2.6.2
> 
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx

-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch


More information about the Intel-gfx mailing list