summaryrefslogtreecommitdiff
path: root/lib/igt_gt.c
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2015-12-11 21:43:11 +0000
committerChris Wilson <chris@chris-wilson.co.uk>2016-04-09 13:38:12 +0100
commit645c95400ccfd743a17b4ab90488cea7eb316776 (patch)
tree4cb77922ce2ea5d4d91edb3ff80895c40a89ff1c /lib/igt_gt.c
parent1ba9717e6eda2bdd6f1f9e5d1f8e8138cbb3edd1 (diff)
lib: Remove defunct stop_rings
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Diffstat (limited to 'lib/igt_gt.c')
-rw-r--r--lib/igt_gt.c107
1 files changed, 0 insertions, 107 deletions
diff --git a/lib/igt_gt.c b/lib/igt_gt.c
index d2ae0587..0236518f 100644
--- a/lib/igt_gt.c
+++ b/lib/igt_gt.c
@@ -368,113 +368,6 @@ int igt_open_forcewake_handle(void)
return -1;
return igt_debugfs_open("i915_forcewake_user", O_WRONLY);
}
-
-/**
- * igt_to_stop_ring_flag:
- * @ring: the specified ring flag from execbuf ioctl (I915_EXEC_*)
- *
- * This converts the specified ring to a ring flag to be used
- * with igt_get_stop_rings() and igt_set_stop_rings().
- *
- * Returns:
- * Ring flag for the given ring.
- */
-enum stop_ring_flags igt_to_stop_ring_flag(int ring) {
- if (ring == I915_EXEC_DEFAULT)
- return STOP_RING_RENDER;
-
- igt_assert(ring && ((ring & ~I915_EXEC_RING_MASK) == 0));
- return 1 << (ring - 1);
-}
-
-static void stop_rings_write(uint32_t mask)
-{
- int fd;
- char buf[80];
-
- igt_assert(snprintf(buf, sizeof(buf), "0x%08x", mask) == 10);
- fd = igt_debugfs_open("i915_ring_stop", O_WRONLY);
- igt_assert(fd >= 0);
-
- igt_assert(write(fd, buf, strlen(buf)) == strlen(buf));
- close(fd);
-}
-
-/**
- * igt_get_stop_rings:
- *
- * Read current ring flags from 'i915_ring_stop' debugfs entry.
- *
- * Returns:
- * Current ring flags.
- */
-enum stop_ring_flags igt_get_stop_rings(void)
-{
- int fd;
- char buf[80];
- int l;
- unsigned long long ring_mask;
-
- fd = igt_debugfs_open("i915_ring_stop", O_RDONLY);
- igt_assert(fd >= 0);
- l = read(fd, buf, sizeof(buf)-1);
- igt_assert(l > 0);
- igt_assert(l < sizeof(buf));
-
- buf[l] = '\0';
-
- close(fd);
-
- errno = 0;
- ring_mask = strtoull(buf, NULL, 0);
- igt_assert(errno == 0);
- return ring_mask;
-}
-
-/**
- * igt_set_stop_rings:
- * @flags: Ring flags to write
- *
- * This writes @flags to 'i915_ring_stop' debugfs entry. Driver will
- * prevent the CPU from writing tail pointer for the ring that @flags
- * specify. Note that the ring is not stopped right away. Instead any
- * further command emissions won't be executed after the flag is set.
- *
- * This is the least invasive way to make the GPU stuck. Hence you must
- * set this after a batch submission with it's own invalid or endless
- * looping instructions. In this case it is merely for giving notification
- * for the driver that this was simulated hang, as the batch would have
- * caused hang in any case. On the other hand if you use a valid or noop
- * batch and want to hang the ring (GPU), you must set corresponding flag
- * before submitting the batch.
- *
- * Driver checks periodically if a ring is making any progress, and if
- * it is not, it will declare the ring to be hung and will reset the GPU.
- * After reset, the driver will clear flags in 'i915_ring_stop'
- *
- * Note: Always when hanging the GPU, use igt_set_stop_rings() to
- * notify the driver. Driver controls hang log messaging based on
- * these flags and thus prevents false positives on logs.
- */
-void igt_set_stop_rings(enum stop_ring_flags flags)
-{
- enum stop_ring_flags current;
-
- igt_assert((flags & ~(STOP_RING_ALL |
- STOP_RING_ALLOW_BAN |
- STOP_RING_ALLOW_ERRORS)) == 0);
-
- current = igt_get_stop_rings();
- igt_assert_f(flags == 0 || current == 0,
- "previous i915_ring_stop is still 0x%x\n", current);
-
- stop_rings_write(flags);
- current = igt_get_stop_rings();
- igt_warn_on_f(current != flags,
- "i915_ring_stop readback mismatch 0x%x vs 0x%x\n",
- flags, current);
-}
-
static unsigned int clflush_size;
int igt_setup_clflush(void)