[Intel-gfx] [PATCH] drm/i915: Add relocation exceptions for two other platforms

Rodrigo Vivi rodrigo.vivi at intel.com
Thu Jun 17 10:19:28 UTC 2021


On Thu, Jun 17, 2021 at 07:44:18AM +0200, Zbigniew Kempczyński wrote:
> For topic/intel-for-CI branch only.

pushed to topic/core-for-CI.

Thanks for the patch.

> 
> We have established previously we stop using relocations starting
> from gen12 platforms with Tigerlake as an exception. We keep this
> statement but we want to enable relocations conditionally for
> Alderlake S+P under require_force_probe flag set.
> 
> Keeping relocations under require_force_probe flag is interim solution
> until IGTs will be rewritten to use softpin.
> 
> v2: - remove inline from function definition (Jani)
>     - fix indentation
> 
> v3: change to GRAPHICS_VER() (Zbigniew)
> 
> v4: remove RKL from flag as it is already shipped (Rodrigo)
> 
> v5: prepare patch to be used within topic/intel-for-CI branch only
> 
> v6: change comment (Rodrigo)
> 
> Signed-off-by: Zbigniew Kempczyński <zbigniew.kempczynski at intel.com>
> Cc: Dave Airlie <airlied at redhat.com>
> Cc: Daniel Vetter <daniel.vetter at intel.com>
> Cc: Jason Ekstrand <jason at jlekstrand.net>
> Cc: Rodrigo Vivi <rodrigo.vivi at intel.com>
> Acked-by: Dave Airlie <airlied at redhat.com>
> Acked-by: Rodrigo Vivi <rodrigo.vivi at intel.com>
> ---
>  .../gpu/drm/i915/gem/i915_gem_execbuffer.c    | 21 ++++++++++++++-----
>  1 file changed, 16 insertions(+), 5 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c b/drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c
> index 760c8aefea3a..8f15fa88cac6 100644
> --- a/drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c
> +++ b/drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c
> @@ -491,16 +491,27 @@ eb_unreserve_vma(struct eb_vma *ev)
>  	ev->flags &= ~__EXEC_OBJECT_RESERVED;
>  }
>  
> +static bool platform_has_relocs_enabled(const struct i915_execbuffer *eb)
> +{
> +	/*
> +	 * Relocations are disallowed starting from gen12 with Tigerlake
> +	 * as an exception. To unblock CI, we are temporarily allowing it
> +	 * for Rocketlake and Alderlake.
> +	 */
> +	if (GRAPHICS_VER(eb->i915) < 12 || IS_TIGERLAKE(eb->i915) ||
> +	    IS_ROCKETLAKE(eb->i915) || IS_ALDERLAKE_S(eb->i915) ||
> +	    IS_ALDERLAKE_P(eb->i915))
> +		return true;
> +
> +	return false;
> +}
> +
>  static int
>  eb_validate_vma(struct i915_execbuffer *eb,
>  		struct drm_i915_gem_exec_object2 *entry,
>  		struct i915_vma *vma)
>  {
> -	/* Relocations are disallowed for all platforms after TGL-LP.  This
> -	 * also covers all platforms with local memory.
> -	 */
> -	if (entry->relocation_count &&
> -	    GRAPHICS_VER(eb->i915) >= 12 && !IS_TIGERLAKE(eb->i915))
> +	if (entry->relocation_count && !platform_has_relocs_enabled(eb))
>  		return -EINVAL;
>  
>  	if (unlikely(entry->flags & eb->invalid_flags))
> -- 
> 2.26.0
> 
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx


More information about the Intel-gfx mailing list