[igt-dev] [PATCH i-g-t 1/2] tests/i915/gem_exec_reloc: Require mappable gtt when necessary

Antonio Argenziano antonio.argenziano at intel.com
Wed Jan 29 19:29:13 UTC 2020


The test loops across several mappings so, when explicitly asking for a
GTT mapping it has to make sure such mapping is available.

Signed-off-by: Antonio Argenziano <antonio.argenziano at intel.com>
Cc: Chris Wilson <chris at chris-wilson.co.uk>
Cc: Vinay Belgaumkar <vinay.belgaumkar at intel.com>
---
 tests/i915/gem_exec_reloc.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/tests/i915/gem_exec_reloc.c b/tests/i915/gem_exec_reloc.c
index ef995a67..bc904a0a 100644
--- a/tests/i915/gem_exec_reloc.c
+++ b/tests/i915/gem_exec_reloc.c
@@ -110,6 +110,9 @@ static void from_mmap(int fd, uint64_t size, enum mode mode)
 	uint64_t max, i;
 	int retry = 2;
 
+	if ((mode & ~RO) == GTT)
+		gem_require_mappable_ggtt(fd);
+
 	/* Worst case is that the kernel has to copy the entire incoming
 	 * reloc[], so double the memory requirements.
 	 */
@@ -387,6 +390,9 @@ static void basic_reloc(int fd, unsigned before, unsigned after, unsigned flags)
 	const uint32_t bbe = MI_BATCH_BUFFER_END;
 	unsigned int reloc_offset;
 
+	if ((before | after) & I915_GEM_DOMAIN_GTT)
+		gem_require_mappable_ggtt(fd);
+
 	memset(&obj, 0, sizeof(obj));
 	obj.handle = gem_create(fd, OBJSZ);
 	obj.relocs_ptr = to_user_pointer(&reloc);
-- 
2.21.0



More information about the igt-dev mailing list