Bug 111260 - Can't get audio through HDMI or DisplayPort
Summary: Can't get audio through HDMI or DisplayPort
Status: RESOLVED MOVED
Alias: None
Product: DRI
Classification: Unclassified
Component: DRM/Intel (show other bugs)
Version: unspecified
Hardware: x86-64 (AMD64) Linux (All)
: medium normal
Assignee: Intel GFX Bugs mailing list
QA Contact: Intel GFX Bugs mailing list
URL:
Whiteboard: Triaged
Keywords:
Depends on:
Blocks:
 
Reported: 2019-07-30 13:40 UTC by Kim Lidström
Modified: 2019-12-02 16:41 UTC (History)
4 users (show)

See Also:
i915 platform: CFL
i915 features: display/audio


Attachments
dmesg output (583.83 KB, text/plain)
2019-07-30 13:40 UTC, Kim Lidström
no flags Details
drm-tip dmesg output (599.41 KB, text/plain)
2019-07-31 14:18 UTC, Kim Lidström
no flags Details

Description Kim Lidström 2019-07-30 13:40:43 UTC
Created attachment 144913 [details]
dmesg output

Hi!
I'm running Fedora 30, kernel 5.1.19 and I can't seem to get audio output through HDMI or DisplayPort.

`aplay -l` gives me:
**** List of PLAYBACK Hardware Devices ****
card 0: PCH [HDA Intel PCH], device 0: ALC1220 Analog [ALC1220 Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 1: ALC1220 Digital [ALC1220 Digital]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 3: HDMI 0 [HDMI 0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 7: HDMI 1 [HDMI 1]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 8: HDMI 2 [HDMI 2]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

`aplay -L` gives me:
null
    Discard all samples (playback) or generate zero samples (capture)
pulse
    PulseAudio Sound Server
default
    Default ALSA Output (currently PulseAudio Sound Server)
sysdefault:CARD=PCH
    HDA Intel PCH, ALC1220 Analog
    Default Audio Device
front:CARD=PCH,DEV=0
    HDA Intel PCH, ALC1220 Analog
    Front speakers
surround21:CARD=PCH,DEV=0
    HDA Intel PCH, ALC1220 Analog
    2.1 Surround output to Front and Subwoofer speakers
surround40:CARD=PCH,DEV=0
    HDA Intel PCH, ALC1220 Analog
    4.0 Surround output to Front and Rear speakers
surround41:CARD=PCH,DEV=0
    HDA Intel PCH, ALC1220 Analog
    4.1 Surround output to Front, Rear and Subwoofer speakers
surround50:CARD=PCH,DEV=0
    HDA Intel PCH, ALC1220 Analog
    5.0 Surround output to Front, Center and Rear speakers
surround51:CARD=PCH,DEV=0
    HDA Intel PCH, ALC1220 Analog
    5.1 Surround output to Front, Center, Rear and Subwoofer speakers
surround71:CARD=PCH,DEV=0
    HDA Intel PCH, ALC1220 Analog
    7.1 Surround output to Front, Center, Side, Rear and Woofer speakers
iec958:CARD=PCH,DEV=0
    HDA Intel PCH, ALC1220 Digital
    IEC958 (S/PDIF) Digital Audio Output
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
hdmi:CARD=PCH,DEV=2
    HDA Intel PCH, HDMI 2
    HDMI Audio Output

In the other end of the HDMI and DisplayPort cables I have one monitor each that I have plugged in a headphone to (Yes, I've connected a headphone to each to test this out)
Comment 1 Kim Lidström 2019-07-30 13:43:27 UTC
Forgot to mention that the processor is i9 9900k and the motherboard is ASUS WS Z390 PRO
Comment 2 Lakshmi 2019-07-31 12:49:33 UTC
Can you please verify the issue with drmtip and attach dmesg?
(https://cgit.freedesktop.org/drm-tip)
Comment 3 Kim Lidström 2019-07-31 14:17:37 UTC
Hi! I have compiled the kernel and I am running it now. Still no sound. Attaching the dmesg output
Comment 4 Kim Lidström 2019-07-31 14:18:01 UTC
Created attachment 144919 [details]
drm-tip dmesg output
Comment 5 Kim Lidström 2019-07-31 14:27:47 UTC
What's interesting is that `pacmd list-sinks` seems to find something at least:

1 sink(s) available.
  * index: 2
	name: <alsa_output.pci-0000_00_1f.3.hdmi-stereo>
	driver: <module-alsa-card.c>
	flags: HARDWARE DECIBEL_VOLUME LATENCY DYNAMIC_LATENCY
	state: RUNNING
	suspend cause: (none)
	priority: 9030
	volume: front-left: 65536 / 100% / 0.00 dB,   front-right: 65536 / 100% / 0.00 dB
	        balance 0.00
	base volume: 65536 / 100% / 0.00 dB
	volume steps: 65537
	muted: no
	current latency: 25.02 ms
	max request: 4 KiB
	max rewind: 4 KiB
	monitor source: 2
	sample spec: s16le 2ch 44100Hz
	channel map: front-left,front-right
	             Stereo
	used by: 1
	linked by: 1
	configured latency: 25.01 ms; range is 0.50 .. 2000.00 ms
	card: 0 <alsa_card.pci-0000_00_1f.3>
	module: 6
	properties:
		alsa.resolution_bits = "16"
		device.api = "alsa"
		device.class = "sound"
		alsa.class = "generic"
		alsa.subclass = "generic-mix"
		alsa.name = "HDMI 0"
		alsa.id = "HDMI 0"
		alsa.subdevice = "0"
		alsa.subdevice_name = "subdevice #0"
		alsa.device = "3"
		alsa.card = "0"
		alsa.card_name = "HDA Intel PCH"
		alsa.long_card_name = "HDA Intel PCH at 0x6001110000 irq 192"
		alsa.driver_name = "snd_hda_intel"
		device.bus_path = "pci-0000:00:1f.3"
		sysfs.path = "/devices/pci0000:00/0000:00:1f.3/sound/card0"
		device.bus = "pci"
		device.vendor.id = "8086"
		device.vendor.name = "Intel Corporation"
		device.product.id = "a348"
		device.product.name = "Cannon Lake PCH cAVS"
		device.form_factor = "internal"
		device.string = "hdmi:0"
		device.buffering.buffer_size = "352800"
		device.buffering.fragment_size = "176400"
		device.access_mode = "mmap+timer"
		device.profile.name = "hdmi-stereo"
		device.profile.description = "Digital Stereo (HDMI)"
		device.description = "Built-in Audio Digital Stereo (HDMI)"
		alsa.mixer_name = "Realtek ALC1220"
		alsa.components = "HDA:10ec1168,10438724,00100101 HDA:8086280b,80860101,00100000"
		module-udev-detect.discovered = "1"
		device.icon_name = "audio-card-pci"
	ports:
		hdmi-output-0: HDMI / DisplayPort (priority 5900, latency offset 0 usec, available: yes)
			properties:
				device.icon_name = "video-display"
				device.product.name = "C27HG7x"
	active port: <hdmi-output-0>
Comment 6 emersion 2019-08-01 08:06:34 UTC
Can you try with only one monitor connected?

* * *

Side note, the device has LSPCON.

Seems like there's a lot going on in the dmesg. Seems like DP-MST is involved.

The driver detects that the monitor supports audio:

[    3.691122] [drm:drm_detect_monitor_audio [drm]] Monitor has basic audio support
[    3.691853] [drm:drm_helper_probe_single_connector_modes [drm_kms_helper]] [CONNECTOR:86:DP-1] status updated from unknown to connected
[    3.691859] [drm:drm_add_display_info [drm]] non_desktop set to 0
[    3.691865] [drm:drm_add_edid_modes [drm]] ELD monitor C27HG7x
[    3.691870] [drm:drm_add_edid_modes [drm]] ELD size 32, SAD count 1

ELD seems fine.

However we get a first warn which seems CEC-related:

[    3.746353] [drm:drm_detect_monitor_audio [drm]] Monitor has basic audio support
[    3.747023] WARNING: CPU: 0 PID: 100 at kernel/kmod.c:137 __request_module+0x1e1/0x3a8
[    3.747023] Modules linked in: i915 drm_kms_helper drm igb crct10dif_pclmul crc32_pclmul crc32c_intel e1000e nvme dca nvme_core i2c_algo_bit ghash_clmulni_intel video wmi hid_microsoft ff_memless
[    3.747027] CPU: 0 PID: 100 Comm: kworker/u32:1 Tainted: G     U            5.3.0-rc2drmtip+ #1
[    3.747027] Hardware name: ASUSTeK COMPUTER INC. WS Z390 PRO/WS Z390 PRO, BIOS 0401 08/31/2018
[    3.747028] Workqueue: events_unbound async_run_entry_fn
[    3.747029] RIP: 0010:__request_module+0x1e1/0x3a8
[    3.747029] Code: 31 c9 ba 01 00 00 00 be 03 00 00 00 48 c7 c7 80 bc 44 b3 e8 21 0e 02 00 e9 8b fe ff ff e8 97 ee ff ff 84 c0 0f 84 72 fe ff ff <0f> 0b e9 6b fe ff ff 65 8b 05 11 96 f0 4d 89 c0 48 0f a3 05 3f 7f
[    3.747030] RSP: 0018:ffff9fd5404579f8 EFLAGS: 00010202
[    3.747030] RAX: ffff8c9e269e6901 RBX: 0000000000000001 RCX: 0000000000000000
[    3.747031] RDX: ffffffffb31a20e5 RSI: ffffffffb318bc30 RDI: ffff8c9e25c98000
[    3.747031] RBP: ffff9fd540457ad8 R08: ffff8c9e26112a23 R09: 0000000000000000
[    3.747031] R10: ffff9fd540457ae8 R11: ffff8c9e26112a23 R12: 0000000000000000
[    3.747031] R13: ffffffffb318bc30 R14: 0000000000000001 R15: ffff9fd540457ae8
[    3.747032] FS:  0000000000000000(0000) GS:ffff8c9e2d800000(0000) knlGS:0000000000000000
[    3.747032] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[    3.747033] CR2: 00007fef5ad82fe0 CR3: 00000004b140a002 CR4: 00000000003606f0
[    3.747033] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
[    3.747033] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
[    3.747034] Call Trace:
[    3.747037]  ? kvasprintf+0x7d/0xc0
[    3.747039]  ? kobject_set_name_vargs+0x6f/0x90
[    3.747041]  rc_map_get+0x30/0x60
[    3.747042]  rc_register_device+0x119/0x4e0
[    3.747043]  cec_register_adapter+0x21c/0x290
[    3.747046]  drm_dp_cec_set_edid+0x106/0x176 [drm_kms_helper]
[    3.747066]  intel_dp_detect+0x1b9/0x4c0 [i915]
[    3.747070]  drm_helper_probe_single_connector_modes+0xd7/0x6c0 [drm_kms_helper]
[    3.747075]  drm_client_modeset_probe+0x278/0x10f0 [drm]
[    3.747077]  ? update_load_avg+0x76/0x600
[    3.747077]  ? update_curr+0xe1/0x1d0
[    3.747080]  __drm_fb_helper_initial_config_and_unlock+0x42/0x440 [drm_kms_helper]
[    3.747081]  ? __switch_to+0x80/0x440
[    3.747101]  intel_fbdev_initial_config+0x14/0x30 [i915]
[    3.747102]  async_run_entry_fn+0x39/0x160
[    3.747104]  process_one_work+0x19d/0x340
[    3.747105]  worker_thread+0x50/0x3b0
[    3.747106]  kthread+0xfb/0x130
[    3.747107]  ? process_one_work+0x340/0x340
[    3.747108]  ? kthread_park+0x80/0x80
[    3.747109]  ret_from_fork+0x1f/0x40
[    3.747111] WARNING: CPU: 0 PID: 100 at kernel/kmod.c:137 __request_module+0x1e1/0x3a8
[    3.747111] ---[ end trace 5ed3e0cc2a55e722 ]---

And then a second warn which seems audio-related:

[    3.848226] [drm:intel_atomic_check [i915]] hw max bpp: 36, pipe bpp: 24, dithering: 0
[    3.848242] [drm:pipe_config_mismatch [i915]] fastset mismatch in has_audio unable to verify whether state matches exactly, forcing modeset (expected no, found yes)
[    3.848259] [drm:intel_atomic_check [i915]] New cdclk calculated to be logical 675000 kHz, actual 675000 kHz
[    3.848275] [drm:intel_atomic_check [i915]] New voltage level calculated to be logical 3, actual 3
[    3.848277] ------------[ cut here ]------------
[    3.848278] WARN_ON(was_visible)
[    3.848302] WARNING: CPU: 0 PID: 7 at drivers/gpu/drm/i915/display/intel_display.c:11521 intel_plane_atomic_calc_changes+0x24a/0x720 [i915]
[    3.848303] Modules linked in: i915 drm_kms_helper drm igb crct10dif_pclmul crc32_pclmul crc32c_intel e1000e nvme dca nvme_core i2c_algo_bit ghash_clmulni_intel video wmi hid_microsoft ff_memless
[    3.848307] CPU: 0 PID: 7 Comm: kworker/0:1 Tainted: G     U  W         5.3.0-rc2drmtip+ #1
[    3.848307] Hardware name: ASUSTeK COMPUTER INC. WS Z390 PRO/WS Z390 PRO, BIOS 0401 08/31/2018
[    3.848311] Workqueue: events output_poll_execute [drm_kms_helper]
[    3.848327] RIP: 0010:intel_plane_atomic_calc_changes+0x24a/0x720 [i915]
[    3.848328] Code: 84 54 fe ff ff 48 c7 c6 fb 2e 94 c0 48 c7 c7 9e 22 94 c0 44 88 5c 24 1c 88 44 24 18 4c 89 54 24 10 88 54 24 0c e8 d4 3d 85 f1 <0f> 0b 0f b6 54 24 0c 44 0f b6 5c 24 1c 0f b6 44 24 18 4c 8b 54 24
[    3.848329] RSP: 0018:ffff9fd540073b58 EFLAGS: 00010282
[    3.848330] RAX: 0000000000000000 RBX: ffff8c9e0c2aa800 RCX: 0000000000000000
[    3.848331] RDX: 0000000000000014 RSI: ffffffffb3bc1a94 RDI: 0000000000000246
[    3.848331] RBP: ffff8c9e0d9ba000 R08: 00000000e56010ed R09: 0000000000000014
[    3.848331] R10: ffffffffb3bc1e60 R11: 00000000b3bc1a7f R12: ffff8c9e088ae000
[    3.848332] R13: ffff8c9e0d883e00 R14: ffff8c9e2652c800 R15: 0000000000000001
[    3.848332] FS:  0000000000000000(0000) GS:ffff8c9e2d800000(0000) knlGS:0000000000000000
[    3.848333] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[    3.848334] CR2: 00007fef5ad82fe0 CR3: 00000004b140a002 CR4: 00000000003606f0
[    3.848334] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
[    3.848335] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
[    3.848335] Call Trace:
[    3.848341]  drm_atomic_helper_check_planes+0xec/0x1e0 [drm_kms_helper]
[    3.848358]  intel_atomic_check+0x7a5/0x14b0 [i915]
[    3.848366]  drm_atomic_check_only+0x54d/0x780 [drm]
[    3.848374]  drm_atomic_commit+0x13/0x50 [drm]
[    3.848380]  drm_client_modeset_commit_atomic+0x1d0/0x1f0 [drm]
[    3.848387]  drm_client_modeset_commit_force+0x50/0x150 [drm]
[    3.848391]  drm_fb_helper_restore_fbdev_mode_unlocked+0x49/0xa0 [drm_kms_helper]
[    3.848395]  drm_fb_helper_set_par+0x2c/0x50 [drm_kms_helper]
[    3.848398]  drm_fb_helper_hotplug_event.part.0+0x97/0xb0 [drm_kms_helper]
[    3.848402]  drm_kms_helper_hotplug_event+0x26/0x30 [drm_kms_helper]
[    3.848405]  output_poll_execute+0x1a9/0x1c0 [drm_kms_helper]
[    3.848407]  process_one_work+0x19d/0x340
[    3.848408]  worker_thread+0x50/0x3b0
[    3.848410]  kthread+0xfb/0x130
[    3.848411]  ? process_one_work+0x340/0x340
[    3.848412]  ? kthread_park+0x80/0x80
[    3.848413]  ret_from_fork+0x1f/0x40
[    3.848431] WARNING: CPU: 0 PID: 7 at drivers/gpu/drm/i915/display/intel_display.c:11521 intel_plane_atomic_calc_changes+0x24a/0x720 [i915]
[    3.848431] ---[ end trace 5ed3e0cc2a55e723 ]---

But then apparently we enable audio on pipe B:

[    4.140908] [drm:intel_audio_codec_enable [i915]] ELD on [CONNECTOR:100:DP-2], [ENCODER:99:DDI C]
[    4.140927] [drm:hsw_audio_codec_enable [i915]] Enable audio codec on transcoder B, 32 bytes ELD
[    4.140947] [drm:hsw_audio_config_update [i915]] using automatic Maud, Naud

And then another warning.

On pipe C, sometimes we get:

[   23.525625] [drm:i915_audio_component_get_eld [i915]] Not valid for port C
Comment 7 Kim Lidström 2019-08-01 09:17:20 UTC
Yes, it does indeed work if I reboot with only one monitor connected.

It did *NOT* work if I only disconnected one monitor - although that was maybe expected from what I gathered in your comment.
Comment 8 Kim Lidström 2019-08-01 09:29:36 UTC
And it continues to work after I hooked the second monitor after I rebooted.
Comment 9 Kim Lidström 2019-08-01 09:44:29 UTC
Correction; it works even better if I only boot with one monitor connected.
When I connect the second monitor I get two HDMI/DisplayPort audio outputs - like expected.
Comment 10 Lakshmi 2019-08-02 07:38:59 UTC
@Simon, any further comments on this?
Comment 11 emersion 2019-08-02 08:39:15 UTC
I'd say this is one more MST bug, which doesn't route audio correctly in some cases. Needs more investigation to figure out a fix.
Comment 12 Lakshmi 2019-10-02 12:38:03 UTC
Kim, If you don't mind can you verify the issue with latest drmtip?
Last verified 2 months ago, it would be good to know if the situation has changed with the latest drmtip.
Comment 13 Martin Peres 2019-12-02 16:41:20 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/drm/intel/issues/705.


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.