Igt-dev Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Lucas De Marchi <lucas.demarchi@intel.com>
To: igt-dev@lists.freedesktop.org
Cc: Lucas De Marchi <lucas.demarchi@intel.com>,
	Matt Roper <matthew.d.roper@intel.com>
Subject: [CI 3/9] lib/igt_kmod: Share xe's unload logic with i915
Date: Mon, 18 Nov 2024 21:40:02 -0800	[thread overview]
Message-ID: <20241119054008.2001984-3-lucas.demarchi@intel.com> (raw)
In-Reply-To: <20241119054008.2001984-1-lucas.demarchi@intel.com>

Now that xe unbind+unload logic is working, extend it to i915.
Note that there was a buggy call igt_kmod_is_loaded("driver") that would
never trigger: no point fixing that if we are dropping it though.

Another note that we can't still completely drop the old logic since a
few tests rely on it. Example: tests/intel/perf_pmu.c checks for trying
to remove the module with a perf event open and that being blocked by
the module refcount. Doing unbind() first would succeed the module
unload, but also crash the machine since perf doesn't work (yet) with
unplugging the device. That will need to be fixed in the kernel first.

Reviewed-by: Matt Roper <matthew.d.roper@intel.com>
Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
---
 lib/igt_kmod.c | 36 +++---------------------------------
 lib/igt_kmod.h |  6 ++++--
 2 files changed, 7 insertions(+), 35 deletions(-)

diff --git a/lib/igt_kmod.c b/lib/igt_kmod.c
index dc6b11c87..0ce0b9462 100644
--- a/lib/igt_kmod.c
+++ b/lib/igt_kmod.c
@@ -703,40 +703,10 @@ int igt_kmod_unbind(const char *mod_name)
 int
 igt_intel_driver_unload(const char *driver)
 {
-	char *who = NULL;
-	int ret;
-
-	ret = __igt_intel_driver_unload(&who, driver);
-	if (ret) {
-		igt_warn("Could not unload %s\n", who);
-		igt_kmod_list_loaded();
-		igt_lsof("/dev/dri");
-		igt_lsof("/dev/snd");
-		free(who);
-		return ret;
-	}
-	free(who);
-
-	if (igt_kmod_is_loaded("intel-gtt"))
-		igt_kmod_unload("intel-gtt");
-
-	igt_kmod_unload("drm_kms_helper");
-	igt_kmod_unload("drm");
-
-	if (igt_kmod_is_loaded("driver")) {
-		igt_warn("%s.ko still loaded!\n", driver);
-		return -EBUSY;
-	}
-
-	return 0;
-}
-
-int igt_xe_driver_unload(void)
-{
-	igt_kmod_unbind("xe");
+	igt_kmod_unbind(driver);
 
-	igt_kmod_unload("xe");
-	if (igt_kmod_is_loaded("xe"))
+	igt_kmod_unload(driver);
+	if (igt_kmod_is_loaded(driver))
 		return IGT_EXIT_FAILURE;
 
 	return IGT_EXIT_SUCCESS;
diff --git a/lib/igt_kmod.h b/lib/igt_kmod.h
index 193b95627..88d4a51e6 100644
--- a/lib/igt_kmod.h
+++ b/lib/igt_kmod.h
@@ -64,8 +64,10 @@ static inline int igt_xe_driver_load(const char *opts)
 	return igt_intel_driver_load(opts, "xe");
 }
 
-
-int igt_xe_driver_unload(void);
+static inline int igt_xe_driver_unload(void)
+{
+	return igt_intel_driver_unload("xe");
+}
 
 int igt_amdgpu_driver_load(const char *opts);
 int igt_amdgpu_driver_unload(void);
-- 
2.47.0


  parent reply	other threads:[~2024-11-19  5:40 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-11-19  5:40 [CI 1/9] lib/igt_kmod: Remove unused module_ref Lucas De Marchi
2024-11-19  5:40 ` [CI 2/9] tests/intel/perf_pmu: Remove trial unload Lucas De Marchi
2024-11-19  5:40 ` Lucas De Marchi [this message]
2024-11-19  5:40 ` [CI 4/9] lib/igt_kmod: Remove unused low level __igt_intel_driver_unload() Lucas De Marchi
2024-11-19  5:40 ` [CI 5/9] tests/core_hotunplug: Stop unloading audio Lucas De Marchi
2024-11-19  5:40 ` [CI 6/9] tests/device_reset: " Lucas De Marchi
2024-11-19  5:40 ` [CI 7/9] lib: Remove unused audio-related helpers Lucas De Marchi
2024-11-19  5:40 ` [CI 8/9] i915_module_load: Stop caring about snd/intel-gtt Lucas De Marchi
2024-11-19  5:40 ` [CI 9/9] xe_module_load: Stop caring about snd Lucas De Marchi
2024-11-19 16:37 ` ✗ CI.xeBAT: failure for series starting with [CI,1/9] lib/igt_kmod: Remove unused module_ref Patchwork
2024-11-19 16:53 ` ✗ Fi.CI.BAT: " Patchwork
2024-11-21 22:02   ` Lucas De Marchi
2024-12-03 23:17     ` ✗ Fi.CI.BAT: failure for series starting with [CI, 1/9] " Matt Roper
     [not found]       ` <2z26xmkwu2n3z2ls7xf33rlogccpjsxdradgax3qb7hyys5kbs@l6s5aeisijex>
2024-12-04  0:00         ` Matt Roper
2024-12-04 14:11         ` Imre Deak
2024-11-20  2:36 ` ✗ CI.xeFULL: failure for series starting with [CI,1/9] " Patchwork

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20241119054008.2001984-3-lucas.demarchi@intel.com \
    --to=lucas.demarchi@intel.com \
    --cc=igt-dev@lists.freedesktop.org \
    --cc=matthew.d.roper@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox