[alsa-devel] Problems with the DP MST audio support patchset

Michael Forney mforney at mforney.org
Fri May 26 06:09:37 CEST 2017


On Thu, May 25, 2017 at 1:21 AM, Michael Forney <mforney at mforney.org> wrote:
> Hi,
>
> I recently updated my kernel to 4.11, and am experiencing similar
> problems as Pascal. I have a Skylake processor and DP output hooked up
> with a DP to HDMI cable to an Onkyo SR-606 receiver.
>
> I can't get audio to work at all through my receiver anymore. I tried
> both DTS and PCM audio files. I bisected it to the above mentioned
> commit 9152085defb6426ce8f9989ca27e4450daefbd89 (ALSA: hda - add DP
> MST audio support).
>
>>> Do you know if the DP MST audio mode is used in your case?
>
> I don't know what DP MST is or how to tell if I'm using it. However, I
> noticed that when it does work, `aplay -L` gives me
>
> hdmi:CARD=PCH,DEV=0
>     HDA Intel PCH, HDMI 0
>     HDMI Audio Output
> hdmi:CARD=PCH,DEV=1
>     HDA Intel PCH, HDMI 1
>     HDMI Audio Output
>
> and when it doesn't, I get
>
> hdmi:CARD=PCH,DEV=0
>     HDA Intel PCH, Generic Digital
>     HDMI Audio Output

Well, I noticed in my dmesg log for 4.11:

<4>[    1.201789] snd_hda_intel 0000:00:1f.3: Too many HDMI devices
<4>[    1.201790] snd_hda_intel 0000:00:1f.3: Consider building the
kernel with CONFIG_SND_DYNAMIC_MINORS=y
<4>[    1.201792] snd_hda_intel 0000:00:1f.3: Too many HDMI devices
<4>[    1.201794] snd_hda_intel 0000:00:1f.3: Consider building the
kernel with CONFIG_SND_DYNAMIC_MINORS=y
<4>[    1.201795] snd_hda_intel 0000:00:1f.3: Too many HDMI devices
<4>[    1.201797] snd_hda_intel 0000:00:1f.3: Consider building the
kernel with CONFIG_SND_DYNAMIC_MINORS=y
<3>[    1.202668] snd_hda_intel 0000:00:1f.3: control 3:0:0:ELD:0 is
already present
<4>[    1.202737] snd_hda_codec_hdmi: probe of hdaudioC0D2 failed with error -16
<4>[    1.204335] snd_hda_intel 0000:00:1f.3: Too many HDMI devices
<4>[    1.204337] snd_hda_intel 0000:00:1f.3: Consider building the
kernel with CONFIG_SND_DYNAMIC_MINORS=y
<4>[    1.204338] snd_hda_intel 0000:00:1f.3: Too many HDMI devices
<4>[    1.204340] snd_hda_intel 0000:00:1f.3: Consider building the
kernel with CONFIG_SND_DYNAMIC_MINORS=y
<4>[    1.204341] snd_hda_intel 0000:00:1f.3: Too many HDMI devices
<4>[    1.204343] snd_hda_intel 0000:00:1f.3: Consider building the
kernel with CONFIG_SND_DYNAMIC_MINORS=y
<3>[    1.205412] snd_hda_intel 0000:00:1f.3: control 3:0:0:ELD:0 is
already present
<4>[    1.205464] snd_hda_codec_hdmi: probe of hdaudioC0D2 failed with error -16
<6>[    1.205644] snd_hda_codec_generic hdaudioC0D2: ignore pin 0x7,
too many assigned pins
<6>[    1.205648] snd_hda_codec_generic hdaudioC0D2: autoconfig for
Generic: line_outs=0 (0x0/0x0/0x0/0x0/0x0) type:line
<6>[    1.205651] snd_hda_codec_generic hdaudioC0D2:    speaker_outs=0
(0x0/0x0/0x0/0x0/0x0)
<6>[    1.205653] snd_hda_codec_generic hdaudioC0D2:    hp_outs=0
(0x0/0x0/0x0/0x0/0x0)
<6>[    1.205655] snd_hda_codec_generic hdaudioC0D2:    mono: mono_out=0x0
<6>[    1.205656] snd_hda_codec_generic hdaudioC0D2:    dig-out=0x5/0x6
<6>[    1.205658] snd_hda_codec_generic hdaudioC0D2:    inputs:
<6>[    1.207882] input: HDA Intel PCH Mic as
/devices/pci0000:00/0000:00:1f.3/sound/card0/input4
<6>[    1.207979] input: HDA Intel PCH Front Headphone as
/devices/pci0000:00/0000:00:1f.3/sound/card0/input5
<6>[    1.208070] input: HDA Intel PCH HDMI/DP,pcm=3 as
/devices/pci0000:00/0000:00:1f.3/sound/card0/input6
<6>[    1.208158] input: HDA Intel PCH HDMI/DP,pcm=7 as
/devices/pci0000:00/0000:00:1f.3/sound/card0/input7
<6>[    1.208246] input: HDA Intel PCH HDMI/DP as
/devices/pci0000:00/0000:00:1f.3/sound/card0/input8
<6>[    1.208335] input: HDA Intel PCH HDMI/DP as
/devices/pci0000:00/0000:00:1f.3/sound/card0/input9
<6>[    1.208441] input: HDA Intel PCH HDMI as
/devices/pci0000:00/0000:00:1f.3/sound/card0/input12
<6>[    1.208582] input: HDA Intel PCH HDMI as
/devices/pci0000:00/0000:00:1f.3/sound/card0/input13
<4>[    1.208700] ------------[ cut here ]------------
<4>[    1.208708] WARNING: CPU: 0 PID: 43 at fs/proc/generic.c:346
proc_register+0xe9/0x110
<4>[    1.208709] proc_dir_entry 'card0/eld#2.0' already registered
<4>[    1.208710] Modules linked in:
<4>[    1.208715] CPU: 0 PID: 43 Comm: kworker/0:1 Not tainted 4.11.3+ #41
<4>[    1.208716] Hardware name: HP HP EliteDesk 800 G2 DM 35W/8055,
BIOS N21 Ver. 02.14 04/28/2016
<4>[    1.208721] Workqueue: events azx_probe_work
<4>[    1.208723] Call Trace:
<4>[    1.208729]  dump_stack+0x4d/0x66
<4>[    1.208733]  __warn+0xc6/0xe0
<4>[    1.208737]  warn_slowpath_fmt+0x46/0x50
<4>[    1.208742]  proc_register+0xe9/0x110
<4>[    1.208746]  proc_create_data+0x71/0xc0
<4>[    1.208750]  snd_info_register+0x66/0xd0
<4>[    1.208753]  snd_info_register_recursive+0x5b/0x70
<4>[    1.208756]  snd_info_register_recursive+0x46/0x70
<4>[    1.208759]  snd_info_card_register+0x25/0xa0
<4>[    1.208764]  snd_card_register+0x140/0x190
<4>[    1.208769]  ? device_attach+0xb/0x10
<4>[    1.208773]  ? snd_hda_codec_configure+0xb1/0x120
<4>[    1.208776]  azx_probe_work+0x47d/0x860
<4>[    1.208778]  ? azx_probe_work+0x47d/0x860
<4>[    1.208783]  process_one_work+0x1ec/0x480
<4>[    1.208787]  worker_thread+0x43/0x4d0
<4>[    1.208790]  kthread+0x104/0x140
<4>[    1.208794]  ? process_one_work+0x480/0x480
<4>[    1.208797]  ? kthread_create_on_node+0x40/0x40
<4>[    1.208802]  ret_from_fork+0x29/0x40
<4>[    1.208805] ---[ end trace 538d7309f1b9646f ]---

So I added CONFIG_SND_DYNAMIC_MINORS=y as suggested (previously it was
disabled based on the help text). That seemed to do the trick.
However, the `proc_dir_entry 'card0/eld#2.0' already registered`
warning seems like it could be a bug despite this.

I guess the problem was this new MST feature means that now I have 5
HDMI outputs showing up, which is too many.

Sorry for the noise.


More information about the Alsa-devel mailing list