[PATCH i-g-t 1/3] tests/core_hotunplug: Select health checks for initially detected chipset

Janusz Krzysztofik janusz.krzysztofik at linux.intel.com
Tue Sep 20 13:01:39 UTC 2022


As soon as we first time open a drm device to be exercised, we identify
its chipset and perform some basic device specific checks.  We also store
a filter that matches the device bus address to make sure we will exercise
still one and the same device after each driver unbind-rebind / device
unplug-rediscover operation.

However, each time before we select device specific health checks, whether
before or after a driver unbind-rebind / device unplug-rediscover
operation, we identify the device chipset again.  Besides being more
expensive, that approach could also result in using different set of
health checks should device filters not work as expected.

Store detected chipset type at test start and always use that information
instead of identifying the chipset now and again.

Signed-off-by: Janusz Krzysztofik <janusz.krzysztofik at linux.intel.com>
---
 tests/core_hotunplug.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/tests/core_hotunplug.c b/tests/core_hotunplug.c
index c3756889c2..68fd92238c 100644
--- a/tests/core_hotunplug.c
+++ b/tests/core_hotunplug.c
@@ -55,6 +55,7 @@ struct hotunplug {
 	bool need_healthcheck;
 	bool has_intel_perf;
  	char *snd_driver;
+	int chipset;
 };
 
 /* Helpers */
@@ -397,7 +398,7 @@ static void node_healthcheck(struct hotunplug *priv, unsigned flags)
 	if (closed)	/* store fd for cleanup if not dirty */
 		priv->fd.drm_hc = fd_drm;
 
-	if (is_i915_device(fd_drm)) {
+	if (priv->chipset == DRIVER_INTEL) {
 		/* don't report library failed asserts as healthcheck failure */
 		priv->failure = "Unrecoverable test failure";
 		if (local_i915_healthcheck(fd_drm, "") &&
@@ -625,6 +626,7 @@ igt_main
 		.need_healthcheck = true,
 		.has_intel_perf = false,
 		.snd_driver	= NULL,
+		.chipset	= DRIVER_ANY,
 	};
 
 	igt_fixture {
@@ -634,6 +636,8 @@ igt_main
 		igt_skip_on_f(fd_drm < 0, "No known DRM device found\n");
 
 		if (is_i915_device(fd_drm)) {
+			priv.chipset = DRIVER_INTEL;
+
 			gem_quiescent_gpu(fd_drm);
 			igt_require_gem(fd_drm);
 
-- 
2.25.1



More information about the Intel-gfx-trybot mailing list