[Intel-gfx] [PATCH] drm/i915: Rename engine->semaphore.sync_to, engine->sempahore.signal locals

Joonas Lahtinen joonas.lahtinen at linux.intel.com
Fri Jul 22 09:28:11 UTC 2016


On pe, 2016-07-22 at 10:14 +0100, Chris Wilson wrote:
>  static int
> -gen8_ring_sync(struct drm_i915_gem_request *wait,
> -	       struct drm_i915_gem_request *signal)
> +gen8_ring_sync_to(struct drm_i915_gem_request *req,
> +		  struct drm_i915_gem_request *signal)
>  {
> -	struct intel_ring *waiter = wait->ring;
> -	struct drm_i915_private *dev_priv = wait->i915;
> -	u64 offset = GEN8_WAIT_OFFSET(wait->engine, signal->engine->id);
> +	struct intel_ring *ring = req->ring;
> +	struct drm_i915_private *dev_priv = req->i915;
> +	u64 offset = GEN8_WAIT_OFFSET(req->engine, signal->engine->id);
>  	struct i915_hw_ppgtt *ppgtt;
>  	int ret;
>  
> -	ret = intel_ring_begin(wait, 4);
> +	ret = intel_ring_begin(req, 4);
>  	if (ret)
>  		return ret;
>  
> -	intel_ring_emit(waiter, MI_SEMAPHORE_WAIT |
> -				MI_SEMAPHORE_GLOBAL_GTT |
> -				MI_SEMAPHORE_SAD_GTE_SDD);
> -	intel_ring_emit(waiter, signal->fence.seqno);
> -	intel_ring_emit(waiter, lower_32_bits(offset));
> -	intel_ring_emit(waiter, upper_32_bits(offset));
> -	intel_ring_advance(waiter);
> +	intel_ring_emit(ring,
> +			MI_SEMAPHORE_WAIT |
> +			MI_SEMAPHORE_GLOBAL_GTT |
> +			MI_SEMAPHORE_SAD_GTE_SDD);
> +	intel_ring_emit(ring, signal->fence.seqno);
> +	intel_ring_emit(ring, lower_32_bits(offset));
> +	intel_ring_emit(ring, upper_32_bits(offset));
> +	intel_ring_advance(ring);
>  
>  	/* When the !RCS engines idle waiting upon a semaphore, they lose their
>  	 * pagetables and we must reload them before executing the batch.
>  	 * We do this on the i915_switch_context() following the wait and
>  	 * before the dispatch.
>  	 */
> -	ppgtt = wait->ctx->ppgtt;
> -	if (ppgtt && wait->engine->id != RCS)
> -		ppgtt->pd_dirty_rings |= intel_engine_flag(wait->engine);
> +	ppgtt = req->ctx->ppgtt;

This assignment could still be lifted up.

Reviewed-by: Joonas Lahtinen <joonas.lahtinen at linux.intel.com>

> +	if (ppgtt && req->engine->id != RCS)
> +		ppgtt->pd_dirty_rings |= intel_engine_flag(req->engine);
>  	return 0;
>  }
>  

-- 
Joonas Lahtinen
Open Source Technology Center
Intel Corporation


More information about the Intel-gfx mailing list