[igt-dev] [PATCH i-g-t v6 21/24] tests/core_hotunplug: HSW/BDW audio issue workaround
Petri Latvala
petri.latvala at intel.com
Fri Sep 11 14:17:25 UTC 2020
On Fri, Sep 11, 2020 at 03:15:43PM +0200, Janusz Krzysztofik wrote:
> Hi Petri,
>
> On Fri, 2020-09-11 at 15:22 +0300, Petri Latvala wrote:
> > On Fri, Sep 11, 2020 at 12:30:36PM +0200, Janusz Krzysztofik wrote:
> > > 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 at 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();
> >
> > What happens without this? Is it just a kernel warning, or does the
> > operation also fail?
>
> runner: This test was killed due to a kernel taint (0x200).
> (https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4901/shard-hsw4/igt@core_hotunplug@unbind-rebind.html)
>
> That happens before the test completes so no results of the operation
> are reported.
Ah, right. I had a brainfart. Indeed this igt_warn is better.
Reviewed-by: Petri Latvala <petri.latvala at intel.com>
More information about the igt-dev
mailing list