snd_hda_intel initialization failure with Xen PCI passthrough
Takashi Iwai
tiwai at suse.de
Wed Mar 23 10:41:27 CET 2022
On Tue, 22 Mar 2022 19:57:27 +0100,
Jason Andryuk wrote:
>
> Hi,
>
> I'm running Xen hypervisor and using PCI passthrough to assign an
> Intel HDA audio device (00:1f.3 Audio device: Intel Corporation Cannon
> Point-LP High Definition Audio Controller (rev 30)) to a Xen HVM
> virtual machine. I do this for both Linux 5.4.185 and a different
> Windows 10 VM (only one at a time). The Windows VM seems to work
> every time. The Linux VM has issues after the first VM boot. This is
> one boot of the physical hardware and multiple boots of the virtual
> machines.
>
> For Linux, on first boot, the sound card is detected and works
> properly. After that, things usually don't work. I just ran a reboot
> loop and it was:
> 1st boot - audio detected and working
> 2 & 3 - no audio
> 4th - audio detected and working
> 5 - 20 - no audio
>
> For boots 2, 3, 5-7, dmesg shows:
> [ 0.760401] hdaudio hdaudioC0D0: no AFG or MFG node found
> [ 0.760415] snd_hda_intel 0000:00:06.0: no codecs initialized
>
> For boots 8+, the errors changed to:
> [ 0.783397] hdaudio hdaudioC0D0: cannot read sub nodes for FG 0x10
> [ 0.783413] snd_hda_intel 0000:00:06.0: no codecs initialized
>
> At this point, I booted a Windows 10 VM and audio works
>
> Trying to boot Linux again gives a new error message
> [ 0.789041] snd_hda_intel 0000:00:06.0: Unknown capability 0
> [ 1.811205] snd_hda_intel 0000:00:06.0: No response from codec,
> resetting bus: last cmd=0x0eef0004
> [ 1.811246] hdaudio hdaudioC0D0: cannot read sub nodes for FG 0x10ee
> [ 1.811263] snd_hda_intel 0000:00:06.0: no codecs initialized
>
> Reboot VM and it's back to:
> [ 0.775917] hdaudio hdaudioC0D0: no AFG or MFG node found
> [ 0.775932] snd_hda_intel 0000:00:06.0: no codecs initialized
>
> Reboot VM and again:
> [ 0.789069] hdaudio hdaudioC0D0: cannot read sub nodes for FG 0x10
> [ 0.789084] snd_hda_intel 0000:00:06.0: no codecs initialized
>
> Reboot physical laptop:
> 1. boot Windows 10 - audio works
> 2. boot Linux - audio works
> 3. reboot Linux - no audio
> [ 0.773111] hdaudio hdaudioC0D0: no AFG or MFG node found
> [ 0.773151] snd_hda_intel 0000:00:06.0: no codecs initialized
>
> This seems to me like Windows does a better job resetting the card to
> get the audio hardware working. Any suggestions on what to
> investigate?
First off, 5.4.x is way too old to debug, please confirm the issue
with the latest kernel.
And, one test I'd try is to unload snd-hda-intel module before
rebooting. Does the problem persist?
Takashi
More information about the Alsa-devel
mailing list