Experiments were conducted with different multipliers to VTD_GUARD macro
with multiplier of 185 we were observing occasional pipe faults when
running kms_cursor_legacy --run-subtest single-bo

There could possibly be an underlying issue that is being investigated, for
now bump the guard pages for MTL.

Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/2017
Cc: Gustavo Sousa <[email protected]>
Cc: Chris Wilson <[email protected]>
Signed-off-by: Radhakrishna Sripada <[email protected]>
---
 drivers/gpu/drm/i915/gem/i915_gem_domain.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/drivers/gpu/drm/i915/gem/i915_gem_domain.c 
b/drivers/gpu/drm/i915/gem/i915_gem_domain.c
index 3770828f2eaf..b65f84c6bb3f 100644
--- a/drivers/gpu/drm/i915/gem/i915_gem_domain.c
+++ b/drivers/gpu/drm/i915/gem/i915_gem_domain.c
@@ -456,6 +456,9 @@ i915_gem_object_pin_to_display_plane(struct 
drm_i915_gem_object *obj,
        if (intel_scanout_needs_vtd_wa(i915)) {
                unsigned int guard = VTD_GUARD;
 
+               if (IS_METEORLAKE(i915))
+                       guard *= 200;
+
                if (i915_gem_object_is_tiled(obj))
                        guard = max(guard,
                                    i915_gem_object_get_tile_row_size(obj));
-- 
2.34.1

Reply via email to