[igt-dev] [PATCH i-g-t v10 28/31] tests/api_intel_bb: Remove check-canonical test

Zbigniew Kempczyński zbigniew.kempczynski at intel.com
Fri Nov 20 11:31:28 UTC 2020


As intel-bb uses internally decanonical address for objects/intel_bufs
checking canonical bits makes no sense anymore.

Signed-off-by: Zbigniew Kempczyński <zbigniew.kempczynski at intel.com>
Cc: Dominik Grzegorzek <dominik.grzegorzek at intel.com>
Cc: Chris Wilson <chris at chris-wilson.co.uk>
---
 tests/i915/api_intel_bb.c | 74 ---------------------------------------
 1 file changed, 74 deletions(-)

diff --git a/tests/i915/api_intel_bb.c b/tests/i915/api_intel_bb.c
index b41e82aa..e9883427 100644
--- a/tests/i915/api_intel_bb.c
+++ b/tests/i915/api_intel_bb.c
@@ -245,77 +245,6 @@ static void lot_of_buffers(struct buf_ops *bops)
 	intel_bb_destroy(ibb);
 }
 
-/*
- * Make sure intel-bb space allocator currently doesn't enter 47-48 bit
- * gtt sizes.
- */
-#define GEN8_HIGH_ADDRESS_BIT 47
-static uint64_t gen8_canonical_addr(uint64_t address)
-{
-	int shift = 63 - GEN8_HIGH_ADDRESS_BIT;
-
-	return (int64_t)(address << shift) >> shift;
-}
-
-static void check_canonical(struct buf_ops *bops)
-{
-	int i915 = buf_ops_get_fd(bops), i;
-	struct intel_bb *ibb;
-	struct intel_buf *buf;
-	uint32_t offset;
-	/* Twice same addresses to verify will be unreserved in remove path */
-	uint64_t addresses[] = { 0x800000000000, 0x800000000000, 0x400000000000 };
-	uint64_t address, start, end;
-	bool supports_48bit, relocs;
-
-	ibb = intel_bb_create(i915, PAGE_SIZE);
-	supports_48bit = ibb->supports_48b_address;
-	relocs = ibb->enforce_relocs;
-	if (!supports_48bit || relocs)
-		intel_bb_destroy(ibb);
-	igt_require_f(supports_48bit, "We need 48bit ppgtt for testing\n");
-	igt_require_f(!relocs, "We need to use allocator instead of relocations\n");
-
-	if (debug_bb)
-		intel_bb_set_debug(ibb, true);
-
-	intel_allocator_get_address_range(ibb->allocator_handle,
-					  &start, &end);
-
-	for (i = 0; i < ARRAY_SIZE(addresses); i++) {
-		address = addresses[i];
-
-		if (address < start || address >= end) {
-			igt_debug("Address too big: %" PRIx64
-				  ", start: %" PRIx64 ", end: %" PRIx64
-				  ", skipping...\n",
-				  address, start, end);
-			continue;
-		}
-
-		offset = intel_bb_emit_bbe(ibb);
-
-		buf = intel_buf_create(bops, 512, 512, 32, 0,
-				       I915_TILING_NONE, I915_COMPRESSION_NONE);
-
-		buf->addr.offset = address;
-		intel_bb_add_intel_buf(ibb, buf, true);
-		intel_bb_add_intel_buf(ibb, buf, true);
-
-		igt_assert(buf->addr.offset == gen8_canonical_addr(address));
-
-		intel_bb_exec(ibb, offset,
-			      I915_EXEC_DEFAULT | I915_EXEC_NO_RELOC, true);
-
-		/* We ensure to do unreserve and verify address can be reused */
-		intel_bb_remove_intel_buf(ibb, buf);
-		intel_buf_destroy(buf);
-		intel_bb_reset(ibb, true);
-	}
-
-	intel_bb_destroy(ibb);
-}
-
 /*
  * Check flags are cleared after intel_bb_reset(ibb, false);
  */
@@ -1489,9 +1418,6 @@ igt_main_args("dpib", NULL, help_str, opt_handler, NULL)
 	igt_subtest("lot-of-buffers")
 		lot_of_buffers(bops);
 
-	igt_subtest("check-canonical")
-		check_canonical(bops);
-
 	igt_subtest("reset-flags")
 		reset_flags(bops);
 
-- 
2.26.0



More information about the igt-dev mailing list