On Tue, Jun 01, 2021 at 04:24:42PM +0200, Zbigniew Kempczyński wrote:
> 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
> Rocketlake and Alderlake 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
> 
> Signed-off-by: Zbigniew Kempczyński <zbigniew.kempczyn...@intel.com>
> Cc: Dave Airlie <airl...@redhat.com>
> Cc: Daniel Vetter <daniel.vet...@intel.com>
> Cc: Jason Ekstrand <ja...@jlekstrand.net>

This conflicts with Lucas' switch from INTEL_GEN to GRAPHICS_VER. Can you
pls rebase and resend (with Dave's ack included).
-Daniel

> ---
>  .../gpu/drm/i915/gem/i915_gem_execbuffer.c    | 24 +++++++++++++++----
>  1 file changed, 19 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 297143511f99..78b86a7bc39a 100644
> --- a/drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c
> +++ b/drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c
> @@ -491,16 +491,30 @@ 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. We allow temporarily use relocations for Rocketlake
> +      * and Alderlake when require_force_probe flag is set.
> +      */
> +     if (INTEL_GEN(eb->i915) < 12 || IS_TIGERLAKE(eb->i915))
> +             return true;
> +
> +     if (INTEL_INFO(eb->i915)->require_force_probe &&
> +         (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 &&
> -         INTEL_GEN(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
> 

-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to