Intel HD Audio: sound stops working in Xen PV dom0 in >=5.17
Marek Marczykowski-Górecki
marmarek at invisiblethingslab.com
Sat Dec 10 17:17:42 CET 2022
On Sat, Dec 10, 2022 at 02:00:06AM +0100, Marek Marczykowski-Górecki wrote:
> On Fri, Dec 09, 2022 at 01:40:15PM +0100, Marek Marczykowski-Górecki wrote:
> > On Fri, Dec 09, 2022 at 09:10:19AM +0100, Takashi Iwai wrote:
> > > On Fri, 09 Dec 2022 02:27:30 +0100,
> > > Marek Marczykowski-Górecki wrote:
> > > >
> > > > Hi,
> > > >
> > > > Under Xen PV dom0, with Linux >= 5.17, sound stops working after few
> > > > hours. pavucontrol still shows meter bars moving, but the speakers
> > > > remain silent. At least on some occasions I see the following message in
> > > > dmesg:
> > > >
> > > > [ 2142.484553] snd_hda_intel 0000:00:1f.3: Unstable LPIB (18144 >= 6396); disabling LPIB delay counting
>
> Hit the issue again, this message did not appear in the log (or at least
> not yet).
>
> (...)
>
> > > In anyway, please check the behavior with 6.1-rc8 + the commit
> > > cc26516374065a34e10c9a8bf3e940e42cd96e2a
> > > ALSA: memalloc: Allocate more contiguous pages for fallback case
> > > from for-next of my sound git tree (which will be in 6.2-rc1).
>
> This did not helped.
>
> > Looking at the mentioned commits, there is one specific aspect of Xen PV
> > that may be relevant. It configures PAT differently than native Linux.
> > Theoretically Linux adapts automatically and using proper API (like
> > set_memory_wc()) should just work, but at least for i915 driver it
> > causes issues (not fully tracked down yet). Details about that bug
> > report include some more background:
> > https://lore.kernel.org/intel-gfx/Y5Hst0bCxQDTN7lK@mail-itl/
> >
> > Anyway, I have tested it on a Xen modified to setup PAT the same way as
> > native Linux and the audio issue is still there.
> >
> > > If the problem persists, another thing to check is the hack below
> > > works.
>
> Trying this one now.
And this one didn't either :/
When it stopped working, I did two things:
1. switched audio profiles ("configuration" tab in pavucontrol) several
times; this on its own did not helped
2. reloaded sound related modules, but did not loaded them all back (see
attached list before and after).
After this, it worked again for a few minutes. Not sure if/which the above
actions were relevant, tho...
Another observation: when it stops working, it's never during a
playback. It's always that at some point starting an audio stream
results in a silence.
> > > -- 8< --
> > > --- a/sound/pci/hda/hda_intel.c
> > > +++ b/sound/pci/hda/hda_intel.c
> > > @@ -1808,9 +1808,16 @@ static int azx_create(struct snd_card *card, struct pci_dev *pci,
> > > if (err < 0)
> > > return err;
> > >
> > > +#if 0
> > > /* use the non-cached pages in non-snoop mode */
> > > if (!azx_snoop(chip))
> > > azx_bus(chip)->dma_type = SNDRV_DMA_TYPE_DEV_WC_SG;
> > > +#else
> > > + if (!azx_snoop(chip))
> > > + azx_bus(chip)->dma_type = SNDRV_DMA_TYPE_DEV_SG;
> > > + else
> > > + azx_bus(chip)->dma_type = SNDRV_DMA_TYPE_DEV;
> > > +#endif
> > >
> > > if (chip->driver_type == AZX_DRIVER_NVIDIA) {
> > > dev_dbg(chip->card->dev, "Enable delay in RIRB handling\n");
--
Best Regards,
Marek Marczykowski-Górecki
Invisible Things Lab
-------------- next part --------------
snd_hda_codec_hdmi 86016 1
snd_ctl_led 24576 0
snd_hda_codec_conexant 32768 1
snd_hda_codec_generic 98304 1 snd_hda_codec_conexant
ledtrig_audio 16384 2 snd_ctl_led,snd_hda_codec_generic
snd_hda_intel 61440 5
snd_intel_dspcfg 36864 1 snd_hda_intel
snd_intel_sdw_acpi 20480 1 snd_intel_dspcfg
snd_hda_codec 184320 4 snd_hda_codec_generic,snd_hda_codec_conexant,snd_hda_codec_hdmi,snd_hda_intel
snd_hda_core 118784 5 snd_hda_codec_generic,snd_hda_codec_conexant,snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec
snd_hwdep 16384 1 snd_hda_codec
snd_seq 94208 0
snd_seq_device 16384 1 snd_seq
snd_pcm 151552 5 snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec,snd_hda_core
snd_timer 49152 3 snd_seq,snd_pcm
snd 126976 19 snd_ctl_led,snd_hda_codec_generic,snd_seq,snd_hda_codec_conexant,snd_seq_device,snd_hda_codec_hdmi,snd_hwdep,snd_hda_intel,snd_hda_codec,snd_timer,snd_pcm
soundcore 16384 2 snd_ctl_led,snd
-------------- next part --------------
snd_sof_pci_intel_skl 16384 0
snd_sof_intel_hda_common 217088 1 snd_sof_pci_intel_skl
soundwire_intel 53248 1 snd_sof_intel_hda_common
snd_sof_intel_hda 20480 1 snd_sof_intel_hda_common
snd_sof_pci 24576 2 snd_sof_intel_hda_common,snd_sof_pci_intel_skl
snd_sof_xtensa_dsp 20480 1 snd_sof_intel_hda_common
snd_sof 339968 2 snd_sof_pci,snd_sof_intel_hda_common
snd_sof_utils 20480 1 snd_sof
snd_soc_avs 172032 0
snd_soc_hda_codec 28672 1 snd_soc_avs
snd_soc_skl 217088 0
snd_soc_hdac_hda 28672 2 snd_sof_intel_hda_common,snd_soc_skl
snd_hda_ext_core 36864 5 snd_soc_avs,snd_soc_hda_codec,snd_sof_intel_hda_common,snd_soc_hdac_hda,snd_soc_skl
snd_soc_sst_ipc 20480 1 snd_soc_skl
snd_soc_sst_dsp 36864 1 snd_soc_skl
snd_soc_acpi_intel_match 73728 3 snd_sof_intel_hda_common,snd_soc_skl,snd_sof_pci_intel_skl
snd_soc_acpi 16384 3 snd_soc_acpi_intel_match,snd_sof_intel_hda_common,snd_soc_skl
snd_hda_codec_hdmi 86016 1
snd_soc_core 393216 7 snd_soc_avs,snd_soc_hda_codec,soundwire_intel,snd_sof,snd_sof_intel_hda_common,snd_soc_hdac_hda,snd_soc_skl
snd_ctl_led 24576 0
snd_compress 28672 1 snd_soc_core
ac97_bus 16384 1 snd_soc_core
snd_hda_codec_conexant 32768 1
snd_pcm_dmaengine 16384 1 snd_soc_core
snd_hda_codec_generic 98304 1 snd_hda_codec_conexant
snd_hda_intel 61440 2
snd_intel_dspcfg 36864 5 snd_soc_avs,snd_hda_intel,snd_sof,snd_sof_intel_hda_common,snd_soc_skl
snd_intel_sdw_acpi 20480 2 snd_sof_intel_hda_common,snd_intel_dspcfg
snd_hda_codec 184320 9 snd_hda_codec_generic,snd_hda_codec_conexant,snd_soc_avs,snd_hda_codec_hdmi,snd_soc_hda_codec,snd_hda_intel,snd_soc_hdac_hda,snd_soc_skl,snd_sof_intel_hda
snd_hda_core 118784 12 snd_hda_codec_generic,snd_hda_codec_conexant,snd_soc_avs,snd_hda_codec_hdmi,snd_soc_hda_codec,snd_hda_intel,snd_hda_ext_core,snd_hda_codec,snd_sof_intel_hda_common,snd_soc_hdac_hda,snd_soc_skl,snd_sof_intel_hda
snd_hwdep 16384 1 snd_hda_codec
snd_seq 94208 0
snd_seq_device 16384 1 snd_seq
snd_pcm 151552 13 snd_soc_avs,snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec,soundwire_intel,snd_sof,snd_sof_intel_hda_common,snd_compress,snd_soc_core,snd_sof_utils,snd_soc_skl,snd_hda_core,snd_pcm_dmaengine
snd_timer 49152 2 snd_seq,snd_pcm
ledtrig_audio 16384 3 snd_ctl_led,snd_hda_codec_generic,thinkpad_acpi
snd 126976 19 snd_ctl_led,snd_hda_codec_generic,snd_seq,snd_hda_codec_conexant,snd_seq_device,snd_hda_codec_hdmi,snd_hwdep,snd_hda_intel,snd_hda_codec,snd_sof,snd_timer,snd_compress,thinkpad_acpi,snd_soc_core,snd_pcm
soundcore 16384 2 snd_ctl_led,snd
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 488 bytes
Desc: not available
URL: <http://mailman.alsa-project.org/pipermail/alsa-devel/attachments/20221210/26e6ec8e/attachment.sig>
More information about the Alsa-devel
mailing list