diff options
author | Lee Shawn C <shawn.c.lee@intel.com> | 2023-10-13 12:20:12 +0800 |
---|---|---|
committer | Tvrtko Ursulin <tvrtko.ursulin@intel.com> | 2023-10-16 08:45:20 +0100 |
commit | 93c5ec2105500f7083d0cb50db3fbb3bca3776bb (patch) | |
tree | 81ac0fc123d396b73b34c40539ba08e688bd0163 /lib/i915 | |
parent | 08e87a32fa113a9b6f30cbd9766fec346b53faac (diff) |
tests: save GPU engine information more properly
We encounter a unexpected error on chrome book device while
running kms_busy test. It will restore GPU engine's timeout
value but open incorrect file name (XR24 in below).
openat(AT_FDCWD, "/sys/dev/char/226:0", O_RDONLY) = 12
openat(12, "dev", O_RDONLY) = 13
read(13, "226:0\n", 1023) = 6
close(13) = 0
openat(12, "engine", O_RDONLY) = 13
close(12) = 0
openat(13, "XR24", O_RDONLY) = -1 ENOENT (No such file or directory)
Test code did not save engine data properly to cause this problem.
So modify the code to save GPU engine information into a globla variable
to avoid test deamon to open incorrect file again.
Issue: https://gitlab.freedesktop.org/drm/igt-gpu-tools/-/issues/147
Fixes: 9e635a1c5029 ("tests/kms_busy: Ensure GPU reset when waiting
for a new FB during modeset")
Cc: Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com>
Cc: Imre Deak <imre.deak@intel.com>
Cc: Vidya Srinivas <vidya.srinivas@intel.com>
Signed-off-by: Lee Shawn C <shawn.c.lee@intel.com>
Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Diffstat (limited to 'lib/i915')
-rw-r--r-- | lib/i915/gem_engine_topology.c | 12 | ||||
-rw-r--r-- | lib/i915/gem_engine_topology.h | 2 |
2 files changed, 7 insertions, 7 deletions
diff --git a/lib/i915/gem_engine_topology.c b/lib/i915/gem_engine_topology.c index 7c6cd9ba9..afb576afb 100644 --- a/lib/i915/gem_engine_topology.c +++ b/lib/i915/gem_engine_topology.c @@ -571,23 +571,23 @@ void gem_engine_properties_configure(int fd, struct gem_engine_properties *param int ret; struct gem_engine_properties write = *params; - ret = gem_engine_property_scanf(fd, write.engine->name, + ret = gem_engine_property_scanf(fd, write.engine.name, "heartbeat_interval_ms", "%d", ¶ms->heartbeat_interval); igt_assert_eq(ret, 1); - ret = gem_engine_property_printf(fd, write.engine->name, + ret = gem_engine_property_printf(fd, write.engine.name, "heartbeat_interval_ms", "%d", write.heartbeat_interval); igt_assert_lt(0, ret); if (gem_scheduler_has_preemption(fd)) { - ret = gem_engine_property_scanf(fd, write.engine->name, + ret = gem_engine_property_scanf(fd, write.engine.name, "preempt_timeout_ms", "%d", ¶ms->preempt_timeout); igt_assert_eq(ret, 1); - ret = gem_engine_property_printf(fd, write.engine->name, + ret = gem_engine_property_printf(fd, write.engine.name, "preempt_timeout_ms", "%d", write.preempt_timeout); igt_assert_lt(0, ret); @@ -598,13 +598,13 @@ void gem_engine_properties_restore(int fd, const struct gem_engine_properties *s { int ret; - ret = gem_engine_property_printf(fd, saved->engine->name, + ret = gem_engine_property_printf(fd, saved->engine.name, "heartbeat_interval_ms", "%d", saved->heartbeat_interval); igt_assert_lt(0, ret); if (gem_scheduler_has_preemption(fd)) { - ret = gem_engine_property_printf(fd, saved->engine->name, + ret = gem_engine_property_printf(fd, saved->engine.name, "preempt_timeout_ms", "%d", saved->preempt_timeout); igt_assert_lt(0, ret); diff --git a/lib/i915/gem_engine_topology.h b/lib/i915/gem_engine_topology.h index 89642c317..9eb9d5ddc 100644 --- a/lib/i915/gem_engine_topology.h +++ b/lib/i915/gem_engine_topology.h @@ -122,7 +122,7 @@ struct intel_execution_engine2 gem_eb_flags_to_engine(unsigned int flags); intel_next_engine(&i__##e__)) struct gem_engine_properties { - const struct intel_execution_engine2 *engine; + struct intel_execution_engine2 engine; int preempt_timeout; int heartbeat_interval; }; |