diff options
Diffstat (limited to 'tests/drv_module_reload.c')
-rw-r--r-- | tests/drv_module_reload.c | 17 |
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); |