summaryrefslogtreecommitdiff
path: root/tests/drv_module_reload.c
diff options
context:
space:
mode:
Diffstat (limited to 'tests/drv_module_reload.c')
-rw-r--r--tests/drv_module_reload.c17
1 files changed, 5 insertions, 12 deletions
diff --git a/tests/drv_module_reload.c b/tests/drv_module_reload.c
index 32e1324b..db2ad2cf 100644
--- a/tests/drv_module_reload.c
+++ b/tests/drv_module_reload.c
@@ -42,11 +42,6 @@
#define ENGINE_MASK (I915_EXEC_RING_MASK | LOCAL_I915_EXEC_BSD_MASK)
-static bool can_store_dword_imm(int fd)
-{
- return intel_gen(intel_get_drm_devid(fd)) > 2;
-}
-
static void store_dword(int fd, unsigned ring)
{
const int gen = intel_gen(intel_get_drm_devid(fd));
@@ -56,15 +51,12 @@ static void store_dword(int fd, unsigned ring)
uint32_t batch[16];
int i;
- if (!can_store_dword_imm(fd))
+ if (!gem_can_store_dword(fd, ring))
return;
if (!gem_has_ring(fd, ring))
return;
- if (gen == 6 && (ring & ~(3<<13)) == I915_EXEC_BSD)
- return;
-
intel_detect_and_clear_missed_interrupts(fd);
memset(&execbuf, 0, sizeof(execbuf));
execbuf.buffers_ptr = (uintptr_t)obj;
@@ -125,7 +117,7 @@ static void store_all(int fd)
int value;
int i, j;
- if (!can_store_dword_imm(fd))
+ if (!gem_can_store_dword(fd, 0))
return;
memset(&execbuf, 0, sizeof(execbuf));
@@ -160,7 +152,7 @@ static void store_all(int fd)
nengine = 0;
intel_detect_and_clear_missed_interrupts(fd);
for_each_engine(fd, engine) {
- if (gen == 6 && (engine & ~(3<<13)) == I915_EXEC_BSD)
+ if (!gem_can_store_dword(fd, engine))
continue;
igt_assert(2*(nengine+1)*sizeof(batch) <= 4096);
@@ -272,7 +264,8 @@ gem_exec_store(void)
igt_fork_hang_detector(fd);
for (e = intel_execution_engines; e->name; e++) {
- store_dword(fd, e->exec_id | e->flags);
+ if (gem_can_store_dword(fd, e->exec_id | e->flags))
+ store_dword(fd, e->exec_id | e->flags);
}
store_all(fd);