[Intel-gfx] [PATCH] drm/i915/mtl: Increase guard pages when vt-d is enabled

Radhakrishna Sripada radhakrishna.sripada at intel.com
Thu Nov 2 16:06:44 UTC 2023


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 <gustavo.sousa at intel.com>
Cc: Chris Wilson <chris.p.wilson at linux.intel.com>
Signed-off-by: Radhakrishna Sripada <radhakrishna.sripada at intel.com>
---
 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



More information about the Intel-gfx mailing list