We have established previously we stop using relocations starting from gen12 platforms with Tigerlake as an exception. Unfortunately we need extend transition period and support relocations for two other igfx platforms - Rocketlake and Alderlake.
As Alderlake is coming in two variants - S and P and only S landed upstream already we will need to extend the relocation enabling condition one more time for P version in the future.
Signed-off-by: Zbigniew Kempczyński zbigniew.kempczynski@intel.com Cc: Dave Airlie airlied@redhat.com Cc: Daniel Vetter daniel.vetter@intel.com Cc: Jason Ekstrand jason@jlekstrand.net --- drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 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..6d621898698f 100644 --- a/drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c +++ b/drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c @@ -496,11 +496,14 @@ 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. + /* + * Relocations are disallowed starting from gen12 with some exceptions + * - TGL/RKL/ADL. */ if (entry->relocation_count && - INTEL_GEN(eb->i915) >= 12 && !IS_TIGERLAKE(eb->i915)) + INTEL_GEN(eb->i915) >= 12 && !(IS_TIGERLAKE(eb->i915) || + IS_ROCKETLAKE(eb->i915) || + IS_ALDERLAKE_S(eb->i915))) return -EINVAL;
if (unlikely(entry->flags & eb->invalid_flags))
dri-devel@lists.freedesktop.org