All of lore.kernel.org
 help / color / mirror / Atom feed
From: Janusz Krzysztofik <janusz.krzysztofik@linux.intel.com>
To: igt-dev@lists.freedesktop.org
Cc: "Michał Winiarski" <michal.winiarski@intel.com>,
	intel-gfx@lists.freedesktop.org
Subject: [Intel-gfx] [PATCH i-g-t v6 21/24] tests/core_hotunplug: HSW/BDW audio issue workaround
Date: Fri, 11 Sep 2020 12:30:36 +0200	[thread overview]
Message-ID: <20200911103039.4574-22-janusz.krzysztofik@linux.intel.com> (raw)
In-Reply-To: <20200911103039.4574-1-janusz.krzysztofik@linux.intel.com>

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.

v2: Extend the scope of the workaround over Broadwell

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

diff --git a/tests/core_hotunplug.c b/tests/core_hotunplug.c
index ac106d964..3e2a76ddb 100644
--- a/tests/core_hotunplug.c
+++ b/tests/core_hotunplug.c
@@ -484,8 +484,23 @@ igt_main
 		igt_skip_on_f(fd_drm < 0, "No known DRM device found\n");
 
 		if (is_i915_device(fd_drm)) {
+			uint32_t devid = intel_get_drm_devid(fd_drm);
+
 			gem_quiescent_gpu(fd_drm);
 			igt_require_gem(fd_drm);
+
+			/**
+			 * FIXME: Unbinding the i915 driver on some Haswell
+			 * 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(IS_HASWELL(devid) ||
+					  IS_BROADWELL(devid),
+			    "Manually enabling audio PM to work around a kernel WARN\n"))
+				igt_pm_enable_audio_runtime_pm();
 		}
 
 		/* Make sure subtests always reopen the same device */
-- 
2.21.1

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

WARNING: multiple messages have this Message-ID (diff)
From: Janusz Krzysztofik <janusz.krzysztofik@linux.intel.com>
To: igt-dev@lists.freedesktop.org
Cc: "Michał Winiarski" <michal.winiarski@intel.com>,
	"Petri Latvala" <petri.latvala@intel.com>,
	intel-gfx@lists.freedesktop.org,
	"Tvrtko Ursulin" <tvrtko.ursulin@intel.com>
Subject: [igt-dev] [PATCH i-g-t v6 21/24] tests/core_hotunplug: HSW/BDW audio issue workaround
Date: Fri, 11 Sep 2020 12:30:36 +0200	[thread overview]
Message-ID: <20200911103039.4574-22-janusz.krzysztofik@linux.intel.com> (raw)
In-Reply-To: <20200911103039.4574-1-janusz.krzysztofik@linux.intel.com>

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.

v2: Extend the scope of the workaround over Broadwell

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

diff --git a/tests/core_hotunplug.c b/tests/core_hotunplug.c
index ac106d964..3e2a76ddb 100644
--- a/tests/core_hotunplug.c
+++ b/tests/core_hotunplug.c
@@ -484,8 +484,23 @@ igt_main
 		igt_skip_on_f(fd_drm < 0, "No known DRM device found\n");
 
 		if (is_i915_device(fd_drm)) {
+			uint32_t devid = intel_get_drm_devid(fd_drm);
+
 			gem_quiescent_gpu(fd_drm);
 			igt_require_gem(fd_drm);
+
+			/**
+			 * FIXME: Unbinding the i915 driver on some Haswell
+			 * 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(IS_HASWELL(devid) ||
+					  IS_BROADWELL(devid),
+			    "Manually enabling audio PM to work around a kernel WARN\n"))
+				igt_pm_enable_audio_runtime_pm();
 		}
 
 		/* Make sure subtests always reopen the same device */
-- 
2.21.1

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

  parent reply	other threads:[~2020-09-11 10:31 UTC|newest]

Thread overview: 77+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-09-11 10:30 [Intel-gfx] [PATCH i-g-t v6 00/24] tests/core_hotunplug: Fixes and enhancements Janusz Krzysztofik
2020-09-11 10:30 ` [igt-dev] " Janusz Krzysztofik
2020-09-11 10:30 ` [Intel-gfx] [PATCH i-g-t v6 01/24] tests/core_hotunplug: Use igt_assert_fd() Janusz Krzysztofik
2020-09-11 10:30 ` [Intel-gfx] [PATCH i-g-t v6 02/24] tests/core_hotunplug: Constify dev_bus_addr string Janusz Krzysztofik
2020-09-11 10:30   ` [igt-dev] " Janusz Krzysztofik
2020-09-11 10:30 ` [Intel-gfx] [PATCH i-g-t v6 03/24] tests/core_hotunplug: Clean up device open error handling Janusz Krzysztofik
2020-09-11 10:30   ` [igt-dev] " Janusz Krzysztofik
2020-09-11 10:30 ` [Intel-gfx] [PATCH i-g-t v6 04/24] tests/core_hotunplug: Consolidate duplicated debug messages Janusz Krzysztofik
2020-09-11 10:30   ` [igt-dev] " Janusz Krzysztofik
2020-09-11 10:30 ` [Intel-gfx] [PATCH i-g-t v6 05/24] tests/core_hotunplug: Assert successful device filter application Janusz Krzysztofik
2020-09-11 10:30   ` [igt-dev] " Janusz Krzysztofik
2020-09-11 10:30 ` [Intel-gfx] [PATCH i-g-t v6 06/24] tests/core_hotunplug: Maintain a single data structure instance Janusz Krzysztofik
2020-09-11 10:30   ` [igt-dev] " Janusz Krzysztofik
2020-09-11 10:30 ` [Intel-gfx] [PATCH i-g-t v6 07/24] tests/core_hotunplug: Pass errors via a data structure field Janusz Krzysztofik
2020-09-11 10:30   ` [igt-dev] " Janusz Krzysztofik
2020-09-11 10:30 ` [Intel-gfx] [PATCH i-g-t v6 08/24] tests/core_hotunplug: Handle device close errors Janusz Krzysztofik
2020-09-11 10:30   ` [igt-dev] " Janusz Krzysztofik
2020-09-11 10:30 ` [Intel-gfx] [PATCH i-g-t v6 09/24] tests/core_hotunplug: Prepare invariant data once per test run Janusz Krzysztofik
2020-09-11 10:30   ` [igt-dev] " Janusz Krzysztofik
2020-09-11 10:30 ` [Intel-gfx] [PATCH i-g-t v6 10/24] tests/core_hotunplug: Skip selectively on sysfs close errors Janusz Krzysztofik
2020-09-11 10:30   ` [igt-dev] " Janusz Krzysztofik
2020-09-11 10:30 ` [Intel-gfx] [PATCH i-g-t v6 11/24] tests/core_hotunplug: Recover from subtest failures Janusz Krzysztofik
2020-09-11 10:30   ` [igt-dev] " Janusz Krzysztofik
2020-09-11 10:30 ` [Intel-gfx] [PATCH i-g-t v6 12/24] tests/core_hotunplug: Fail subtests on device close errors Janusz Krzysztofik
2020-09-11 10:30   ` [igt-dev] " Janusz Krzysztofik
2020-09-11 10:30 ` [Intel-gfx] [PATCH i-g-t v6 13/24] tests/core_hotunplug: Let the driver time out essential sysfs operations Janusz Krzysztofik
2020-09-11 10:30   ` [igt-dev] " Janusz Krzysztofik
2020-09-11 10:30 ` [Intel-gfx] [PATCH i-g-t v6 14/24] tests/core_hotunplug: Process return values of " Janusz Krzysztofik
2020-09-11 10:30   ` [igt-dev] " Janusz Krzysztofik
2020-09-11 10:30 ` [Intel-gfx] [PATCH i-g-t v6 15/24] tests/core_hotunplug: Assert expected device presence/absence Janusz Krzysztofik
2020-09-11 10:30 ` [Intel-gfx] [PATCH i-g-t v6 16/24] tests/core_hotunplug: Explicitly ignore unused return values Janusz Krzysztofik
2020-09-11 10:30   ` [igt-dev] " Janusz Krzysztofik
2020-09-11 10:30 ` [Intel-gfx] [PATCH i-g-t v6 17/24] tests/core_hotunplug: Also check health of render device node Janusz Krzysztofik
2020-09-11 10:30 ` [Intel-gfx] [PATCH i-g-t v6 18/24] tests/core_hotunplug: More thorough i915 healthcheck and recovery Janusz Krzysztofik
2020-09-11 10:30   ` [igt-dev] " Janusz Krzysztofik
2020-09-11 10:30 ` [Intel-gfx] [PATCH i-g-t v6 19/24] tests/core_hotunplug: Add 'lateclose before restore' variants Janusz Krzysztofik
2020-09-11 10:30   ` [igt-dev] " Janusz Krzysztofik
2020-09-11 10:30 ` [Intel-gfx] [PATCH i-g-t v6 20/24] tests/core_hotunplug: Check health both before and after late close Janusz Krzysztofik
2020-09-11 10:30   ` [igt-dev] " Janusz Krzysztofik
2020-09-11 10:30 ` Janusz Krzysztofik [this message]
2020-09-11 10:30   ` [igt-dev] [PATCH i-g-t v6 21/24] tests/core_hotunplug: HSW/BDW audio issue workaround Janusz Krzysztofik
2020-09-11 12:22   ` [Intel-gfx] " Petri Latvala
2020-09-11 12:22     ` [igt-dev] " Petri Latvala
2020-09-11 13:15     ` [Intel-gfx] " Janusz Krzysztofik
2020-09-11 13:15       ` [igt-dev] " Janusz Krzysztofik
2020-09-11 14:17       ` [Intel-gfx] " Petri Latvala
2020-09-11 14:17         ` [igt-dev] " Petri Latvala
2020-09-11 10:30 ` [Intel-gfx] [PATCH i-g-t v6 22/24] tests/core_hotunplug: Duplicate debug messages in dmesg Janusz Krzysztofik
2020-09-11 10:30   ` [igt-dev] " Janusz Krzysztofik
2020-09-11 10:30 ` [Intel-gfx] [PATCH i-g-t v6 23/24] tests/core_hotunplug: Un-blocklist *bind* subtests Janusz Krzysztofik
2020-09-11 11:51   ` Petri Latvala
2020-09-11 11:51     ` [igt-dev] " Petri Latvala
2020-09-11 12:00     ` [Intel-gfx] " Janusz Krzysztofik
2020-09-11 12:00       ` [igt-dev] " Janusz Krzysztofik
2020-09-11 14:20       ` [Intel-gfx] " Petri Latvala
2020-09-11 14:20         ` [igt-dev] " Petri Latvala
2020-09-11 10:30 ` [Intel-gfx] [PATCH i-g-t v6 24/24] tests/core_hotunplug: Add unbind-rebind subtest to BAT scope Janusz Krzysztofik
2020-09-11 10:30   ` [igt-dev] " Janusz Krzysztofik
2020-09-11 11:52   ` [Intel-gfx] " Petri Latvala
2020-09-11 11:52     ` [igt-dev] " Petri Latvala
2020-09-11 12:01     ` [Intel-gfx] " Janusz Krzysztofik
2020-09-11 12:01       ` [igt-dev] " Janusz Krzysztofik
2020-09-11 11:24 ` [igt-dev] ✓ Fi.CI.BAT: success for tests/core_hotunplug: Fixes and enhancements (rev6) Patchwork
2020-09-11 14:18   ` Petri Latvala
2020-09-11 14:15 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
2020-09-14 18:18 ` [Intel-gfx] [PATCH i-g-t v6 00/24] tests/core_hotunplug: Fixes and enhancements Michał Winiarski
2020-09-14 18:18   ` [igt-dev] " Michał Winiarski
2020-09-14 19:30   ` Janusz Krzysztofik
2020-09-14 19:30     ` [igt-dev] " Janusz Krzysztofik
2020-09-14 20:43     ` Vudum, Lakshminarayana
2020-09-14 20:43       ` [igt-dev] " Vudum, Lakshminarayana
2020-09-15  7:47       ` Janusz Krzysztofik
2020-09-15  7:47         ` [igt-dev] " Janusz Krzysztofik
2020-09-15 15:39         ` Vudum, Lakshminarayana
2020-09-15 15:39           ` [igt-dev] " Vudum, Lakshminarayana
2020-09-16  7:59           ` Janusz Krzysztofik
2020-09-16  7:59             ` [igt-dev] " Janusz Krzysztofik

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=20200911103039.4574-22-janusz.krzysztofik@linux.intel.com \
    --to=janusz.krzysztofik@linux.intel.com \
    --cc=igt-dev@lists.freedesktop.org \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=michal.winiarski@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.