i915: make is_mtl a special case for bo cache

i915 kmd has a special case for MTL in shmem_object_init:

  if (HAS_LLC(i915) || (GRAPHICS_VER_FULL(i915) >= IP_VER(12, 70)))
    cache_level = I915_CACHE_LLC;

Meanwhile, its i915_gem_object_pin_to_display_plane has:

  ret = i915_gem_object_set_cache_level(obj,
    HAS_WT(i915) ?
    I915_CACHE_WT : I915_CACHE_NONE);

Let's report GBM_BO_MAP_CACHE_CACHED on MTL unless BO_USE_SCANOUT is
set.

BUG=b:325368420
TEST=no artifact in Camera FOV Calibration of CtsVerifier on rex
TEST=android.hardware.cts.CameraTest#testPreviewFpsRange

Change-Id: I0b3b3f13769bbd1db6f4f7194e58afc0f151eb47
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/minigbm/+/5313949
Reviewed-by: Dawn Han <dawnhan@google.com>
Tested-by: Chia-I Wu <olv@google.com>
Commit-Queue: Chia-I Wu <olv@google.com>
This commit is contained in:
Chia-I Wu 2024-02-21 10:46:10 -08:00 committed by Chromeos LUCI
parent 0c9b2096a9
commit eae1fe7e8b

3
i915.c
View file

@ -879,7 +879,8 @@ static int i915_bo_create_from_metadata(struct bo *bo)
}
}
bo->meta.cached = i915->has_llc && !(bo->meta.use_flags & BO_USE_SCANOUT);
bo->meta.cached = (i915->has_llc || i915->is_mtl) &&
!(bo->meta.use_flags & BO_USE_SCANOUT);
return 0;
}