[Intel-gfx] [PATCH 23/38] drm/i915: Re-arrange execbuf so context is known before engine

Tvrtko Ursulin tvrtko.ursulin at linux.intel.com
Fri Mar 1 15:33:50 UTC 2019


On 01/03/2019 14:03, Chris Wilson wrote:
> From: Tvrtko Ursulin <tvrtko.ursulin at intel.com>
> 
> Needed for a following patch.
> 
> Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin at intel.com>

I'll do yours, you do mine. Criss-cross. Now that's an oldend but golden 
reference. :)

Regards,

Tvrtko

> ---
>   drivers/gpu/drm/i915/i915_gem_execbuffer.c | 11 +++++++----
>   1 file changed, 7 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/i915_gem_execbuffer.c b/drivers/gpu/drm/i915/i915_gem_execbuffer.c
> index 07c0af316f86..53d0d70c97fa 100644
> --- a/drivers/gpu/drm/i915/i915_gem_execbuffer.c
> +++ b/drivers/gpu/drm/i915/i915_gem_execbuffer.c
> @@ -2312,10 +2312,6 @@ i915_gem_do_execbuffer(struct drm_device *dev,
>   	if (args->flags & I915_EXEC_IS_PINNED)
>   		eb.batch_flags |= I915_DISPATCH_PINNED;
>   
> -	eb.engine = eb_select_engine(eb.i915, file, args);
> -	if (!eb.engine)
> -		return -EINVAL;
> -
>   	if (args->flags & I915_EXEC_FENCE_IN) {
>   		in_fence = sync_file_get_fence(lower_32_bits(args->rsvd2));
>   		if (!in_fence)
> @@ -2340,6 +2336,12 @@ i915_gem_do_execbuffer(struct drm_device *dev,
>   	if (unlikely(err))
>   		goto err_destroy;
>   
> +	eb.engine = eb_select_engine(eb.i915, file, args);
> +	if (!eb.engine) {
> +		err = -EINVAL;
> +		goto err_engine;
> +	}
> +
>   	/*
>   	 * Take a local wakeref for preparing to dispatch the execbuf as
>   	 * we expect to access the hardware fairly frequently in the
> @@ -2505,6 +2507,7 @@ i915_gem_do_execbuffer(struct drm_device *dev,
>   	mutex_unlock(&dev->struct_mutex);
>   err_rpm:
>   	intel_runtime_pm_put(eb.i915, wakeref);
> +err_engine:
>   	i915_gem_context_put(eb.ctx);
>   err_destroy:
>   	eb_destroy(&eb);
> 


More information about the Intel-gfx mailing list