Igt-dev Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [igt-dev] [PATCH i-g-t] tests/device_reset: Work around for driver unbind issue with audio
@ 2020-09-14 13:36 Uma Shankar
  2020-09-14 14:41 ` [igt-dev] ✓ Fi.CI.BAT: success for tests/device_reset: Work around for driver unbind issue with audio (rev2) Patchwork
                   ` (2 more replies)
  0 siblings, 3 replies; 10+ messages in thread
From: Uma Shankar @ 2020-09-14 13:36 UTC (permalink / raw)
  To: igt-dev; +Cc: marcin.bernatowicz

Unbinding the i915 driver on some Haswell and Broadwell platforms with
Azalia audio results in a kernel WARNING on "i915 raw-wakerefs=1
wakelocks=1 on cleanup".  The issue can be worked around by manually
enabling runtime power management for the conflicting audio adapter.
Use that method but also display a warning to preserve visibility of
the issue. Also tag the workaround with a FIXME comment.

Suggested-by: Janusz Krzysztofik <janusz.krzysztofik@linux.intel.com>
Signed-off-by: Uma Shankar <uma.shankar@intel.com>
Reviewed-by: Janusz Krzysztofik <janusz.krzysztofik@linux.intel.com>
---
 tests/device_reset.c | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/tests/device_reset.c b/tests/device_reset.c
index b1181b3b..9cb59ee4 100644
--- a/tests/device_reset.c
+++ b/tests/device_reset.c
@@ -232,9 +232,20 @@ static void set_device_filter(const char* dev_path)
 
 static void unbind_reset_rebind(struct device_fds *dev)
 {
+	uint32_t devid = intel_get_drm_devid(dev->fds.dev);
 	igt_debug("close the device\n");
 	close_if_opened(&dev->fds.dev);
 
+	/**
+	 * FIXME: Unbinding the i915 driver on some platforms with Azalia audio
+	 * results in a kernel WARN on "i915 raw-wakerefs=1 wakelocks=1 on cleanup".
+	 * The below CI friendly user level workaround prevents the warning from
+	 * appearing. Drop this hack as soon as this is fixed in the kernel.
+	 */
+	if (igt_warn_on_f((bool) IS_HASWELL(devid) || IS_BROADWELL(devid),
+	    "Manually enabling audio PM to work around a kernel WARN\n"))
+		igt_pm_enable_audio_runtime_pm();
+
 	driver_unbind(dev);
 
 	initiate_device_reset(dev);
-- 
2.19.1

_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply related	[flat|nested] 10+ messages in thread
* [igt-dev] [PATCH i-g-t] tests/device_reset: Work around for driver unbind issue with audio
@ 2020-09-14 12:48 Uma Shankar
  2020-09-14 12:26 ` Janusz Krzysztofik
  0 siblings, 1 reply; 10+ messages in thread
From: Uma Shankar @ 2020-09-14 12:48 UTC (permalink / raw)
  To: igt-dev; +Cc: marcin.bernatowicz

Unbinding the i915 driver on some Haswell and Broadwell platforms with
Azalia audio results in a kernel WARNING on "i915 raw-wakerefs=1
wakelocks=1 on cleanup".  The issue can be worked around by manually
enabling runtime power management for the conflicting audio adapter.
Use that method but also display a warning to preserve visibility of
the issue. Also tag the workaround with a FIXME comment.

Signed-off-by: Uma Shankar <uma.shankar@intel.com>
Signed-off-by: Janusz Krzysztofik <janusz.krzysztofik@linux.intel.com>
---
 tests/device_reset.c | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/tests/device_reset.c b/tests/device_reset.c
index b1181b3b..9cb59ee4 100644
--- a/tests/device_reset.c
+++ b/tests/device_reset.c
@@ -232,9 +232,20 @@ static void set_device_filter(const char* dev_path)
 
 static void unbind_reset_rebind(struct device_fds *dev)
 {
+	uint32_t devid = intel_get_drm_devid(dev->fds.dev);
 	igt_debug("close the device\n");
 	close_if_opened(&dev->fds.dev);
 
+	/**
+	 * FIXME: Unbinding the i915 driver on some platforms with Azalia audio
+	 * results in a kernel WARN on "i915 raw-wakerefs=1 wakelocks=1 on cleanup".
+	 * The below CI friendly user level workaround prevents the warning from
+	 * appearing. Drop this hack as soon as this is fixed in the kernel.
+	 */
+	if (igt_warn_on_f((bool) IS_HASWELL(devid) || IS_BROADWELL(devid),
+	    "Manually enabling audio PM to work around a kernel WARN\n"))
+		igt_pm_enable_audio_runtime_pm();
+
 	driver_unbind(dev);
 
 	initiate_device_reset(dev);
-- 
2.19.1

_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply related	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2020-09-15  6:29 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-09-14 13:36 [igt-dev] [PATCH i-g-t] tests/device_reset: Work around for driver unbind issue with audio Uma Shankar
2020-09-14 14:41 ` [igt-dev] ✓ Fi.CI.BAT: success for tests/device_reset: Work around for driver unbind issue with audio (rev2) Patchwork
2020-09-14 17:39 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
2020-09-14 19:19 ` [igt-dev] [PATCH i-g-t] tests/device_reset: Work around for driver unbind issue with audio Janusz Krzysztofik
2020-09-14 20:47   ` Vudum, Lakshminarayana
2020-09-15  6:18     ` Janusz Krzysztofik
2020-09-15  6:29       ` Janusz Krzysztofik
  -- strict thread matches above, loose matches on Subject: below --
2020-09-14 12:48 Uma Shankar
2020-09-14 12:26 ` Janusz Krzysztofik
2020-09-14 12:51   ` Shankar, Uma

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox