drm/i915/gt: Do not use stolen on MTL
authorNirmoy Das <nirmoy.das@intel.com>
Thu, 13 Jul 2023 15:01:41 +0000 (17:01 +0200)
committerNirmoy Das <nirmoy.das@intel.com>
Mon, 17 Jul 2023 09:26:42 +0000 (11:26 +0200)
Use smem on MTL due to a HW bug in MTL that prevents
reading from stolen memory using LMEM BAR.

Cc: Oak Zeng <oak.zeng@intel.com>
Cc: Jani Nikula <jani.nikula@linux.intel.com>
Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Cc: Andi Shyti <andi.shyti@linux.intel.com>
Cc: Andrzej Hajda <andrzej.hajda@intel.com>
Signed-off-by: Nirmoy Das <nirmoy.das@intel.com>
Reviewed-by: Oak Zeng <oak.zeng@intel.com>
Reviewed-by: Andrzej Hajda <andrzej.hajda@intel.com>
Reviewed-by: Andi Shyti <andi.shyti@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20230713150142.12700-1-nirmoy.das@intel.com
drivers/gpu/drm/i915/gt/intel_gt.c

index 7a008e8..c91d282 100644 (file)
@@ -466,7 +466,7 @@ static int intel_gt_init_scratch(struct intel_gt *gt, unsigned int size)
        obj = i915_gem_object_create_lmem(i915, size,
                                          I915_BO_ALLOC_VOLATILE |
                                          I915_BO_ALLOC_GPU_ONLY);
-       if (IS_ERR(obj))
+       if (IS_ERR(obj) && !IS_METEORLAKE(i915)) /* Wa_22018444074 */
                obj = i915_gem_object_create_stolen(i915, size);
        if (IS_ERR(obj))
                obj = i915_gem_object_create_internal(i915, size);