Hi, I have a PC with Intel Kabylake i3 and 4.15.1 kernel (compiled with "-march=skylake"). "snd_hda_intel" driver is built as a module and have only "HDMI/DP codec support" enabled (it should have Realtek support too, but I don't use MB's onboard sound-card). The PC outputs sound (PCM, not bitstream) to a soundbar via HDMI. If I switch on the PC first, and the soundbar second -- I have no sound. If I switch on the soundbar first -- I have sound. In both cases I noticed that the driver prints errors in dmesg. Unfortunately, I don't understand what exactly it says. Playing around kernel options seems not helping. I can only copy-paste the error message here: ------------------------------------------------------------------ [ 1.566643] [drm] Finished loading DMC firmware i915/kbl_dmc_ver1_01.bin (v1.1) [ 1.566753] [drm] Initialized i915 1.6.0 20171023 for 0000:00:02.0 on minor 1 [ 1.835989] input: HDA NVidia HDMI/DP,pcm=3 as /devices/pci0000:00/0000:00:01.0/0000:01:00.1/sound/card1/input5 [ 1.836078] input: HDA NVidia HDMI/DP,pcm=7 as /devices/pci0000:00/0000:00:01.0/0000:01:00.1/sound/card1/input6 [ 1.836125] input: HDA NVidia HDMI/DP,pcm=8 as /devices/pci0000:00/0000:00:01.0/0000:01:00.1/sound/card1/input7 [ 1.836171] input: HDA NVidia HDMI/DP,pcm=9 as /devices/pci0000:00/0000:00:01.0/0000:01:00.1/sound/card1/input8 [ 1.926883] snd_hda_intel 0000:00:1f.3: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915]) [ 2.211335] nvidia-uvm: Loaded the UVM driver in 8 mode, major device number 242 [ 2.232405] snd_hda_codec_generic hdaudioC0D0: autoconfig for Generic: line_outs=1 (0x14/0x0/0x0/0x0/0x0) type:line [ 2.232406] snd_hda_codec_generic hdaudioC0D0: speaker_outs=0 (0x0/0x0/0x0/0x0/0x0) [ 2.232407] snd_hda_codec_generic hdaudioC0D0: hp_outs=1 (0x1b/0x0/0x0/0x0/0x0) [ 2.232408] snd_hda_codec_generic hdaudioC0D0: mono: mono_out=0x0 [ 2.232408] snd_hda_codec_generic hdaudioC0D0: inputs: [ 2.232409] snd_hda_codec_generic hdaudioC0D0: Front Mic=0x19 [ 2.232410] snd_hda_codec_generic hdaudioC0D0: Rear Mic=0x18 [ 2.232411] snd_hda_codec_generic hdaudioC0D0: Line=0x1a [ 2.249492] ------------[ cut here ]------------ [ 2.249493] WARN_ON(pipe >= intel_info((dev_priv))->num_pipes) [ 2.249533] WARNING: CPU: 3 PID: 1576 at get_saved_enc+0x74/0x80 [i915] [ 2.249533] Modules linked in: snd_hda_codec_generic snd_hda_codec_hdmi nvidia_uvm(PO) nvidia_drm(PO) nvidia_modeset(PO) nvidia(PO) i915 iosf_mbi i2c_algo_bit drm_kms_helper x86_pkg_temp_thermal iTCO_wdt coretemp syscopyarea ghash_clmulni_intel sysfillrect sysimgblt fb_sys_fops snd_hda_intel aesni_intel drm snd_hda_codec crypto_simd e1000e cryptd snd_hwdep glue_helper snd_hda_core joydev i2c_i801 intel_pch_thermal [ 2.249547] CPU: 3 PID: 1576 Comm: kworker/3:2 Tainted: P O 4.15.1-gentoo #5 [ 2.249548] Hardware name: To Be Filled By O.E.M. To Be Filled By O.E.M./H110M-ITX, BIOS P7.00 10/27/2016 [ 2.249550] Workqueue: events azx_probe_work [snd_hda_intel] [ 2.249573] RIP: 0010:get_saved_enc+0x74/0x80 [i915] [ 2.249574] RSP: 0018:ffffc90001813ba8 EFLAGS: 00010292 [ 2.249575] RAX: 0000000000000032 RBX: ffff880279c2cea8 RCX: ffffffff82046f78 [ 2.249575] RDX: 0000000000000001 RSI: 0000000000000096 RDI: ffffffff822340ac [ 2.249576] RBP: ffff880279c28000 R08: 0000000000000032 R09: 0000000000000271 [ 2.249576] R10: ffff88027bceec40 R11: 0000000000000000 R12: 0000000000000100 [ 2.249577] R13: 0000000000000001 R14: ffff880279772a08 R15: ffff880279772a10 [ 2.249578] FS: 0000000000000000(0000) GS:ffff880285d80000(0000) knlGS:0000000000000000 [ 2.249578] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 2.249579] CR2: 00007ffe58259678 CR3: 000000000280a001 CR4: 00000000003606e0 [ 2.249579] Call Trace: [ 2.249600] ? i915_audio_component_get_eld+0x43/0xe0 [i915] [ 2.249603] ? hdmi_present_sense+0x95/0x330 [snd_hda_codec_hdmi] [ 2.249604] ? generic_hdmi_build_controls+0x140/0x1e0 [snd_hda_codec_hdmi] [ 2.249606] ? snd_hda_codec_build_controls+0x18c/0x1d0 [snd_hda_codec] [ 2.249608] ? snd_hda_codec_build_pcms+0x14f/0x1a0 [snd_hda_codec] [ 2.249610] ? hda_codec_driver_probe+0x76/0x100 [snd_hda_codec] [ 2.249612] ? driver_probe_device+0x27d/0x310 [ 2.249613] ? __driver_attach+0xa0/0xa0 [ 2.249614] ? bus_for_each_drv+0x50/0x80 [ 2.249615] ? __device_attach+0xb0/0x110 [ 2.249616] ? bus_probe_device+0x82/0x90 [ 2.249618] ? device_add+0x2f8/0x5c0 [ 2.249620] ? snd_hdac_device_register+0xd/0x40 [snd_hda_core] [ 2.249621] ? snd_hda_codec_configure+0x32/0x150 [snd_hda_codec] [ 2.249623] ? azx_codec_configure+0x2a/0x60 [snd_hda_codec] [ 2.249624] ? azx_probe_work+0x40d/0x855 [snd_hda_intel] [ 2.249626] ? process_one_work+0x1d8/0x410 [ 2.249627] ? worker_thread+0x42/0x3e0 [ 2.249629] ? kthread+0xf0/0x130 [ 2.249629] ? cancel_delayed_work+0x10/0x10 [ 2.249631] ? kthread_create_worker_on_cpu+0x40/0x40 [ 2.249632] ? do_group_exit+0x35/0xa0 [ 2.249634] ? ret_from_fork+0x1f/0x30 [ 2.249634] Code: 83 c2 01 39 d1 7f e0 31 c0 c3 83 78 70 0b 74 f9 31 c0 85 d2 74 cb eb f1 48 c7 c6 38 f2 0f a1 48 c7 c7 f2 ff 0e a1 e8 ec dd fe df <0f> ff 31 c0 c3 0f 1f 80 00 00 00 00 41 57 4d 89 c7 41 56 49 89 [ 2.249652] ---[ end trace f7318c9fa7fd2226 ]--- [ 2.249653] ------------[ cut here ]------------ [ 2.249654] WARN_ON(pipe >= intel_info((dev_priv))->num_pipes) [ 2.249679] WARNING: CPU: 3 PID: 1576 at get_saved_enc+0x74/0x80 [i915] [ 2.249680] Modules linked in: snd_hda_codec_generic snd_hda_codec_hdmi nvidia_uvm(PO) nvidia_drm(PO) nvidia_modeset(PO) nvidia(PO) i915 iosf_mbi i2c_algo_bit drm_kms_helper x86_pkg_temp_thermal iTCO_wdt coretemp syscopyarea ghash_clmulni_intel sysfillrect sysimgblt fb_sys_fops snd_hda_intel aesni_intel drm snd_hda_codec crypto_simd e1000e cryptd snd_hwdep glue_helper snd_hda_core joydev i2c_i801 intel_pch_thermal [ 2.249689] CPU: 3 PID: 1576 Comm: kworker/3:2 Tainted: P W O 4.15.1-gentoo #5 [ 2.249690] Hardware name: To Be Filled By O.E.M. To Be Filled By O.E.M./H110M-ITX, BIOS P7.00 10/27/2016 [ 2.249691] Workqueue: events azx_probe_work [snd_hda_intel] [ 2.249708] RIP: 0010:get_saved_enc+0x74/0x80 [i915] [ 2.249709] RSP: 0018:ffffc90001813ba8 EFLAGS: 00010292 [ 2.249709] RAX: 0000000000000032 RBX: ffff880279c2cea8 RCX: ffffffff82046f78 [ 2.249710] RDX: 0000000000000001 RSI: 0000000000000096 RDI: ffffffff822340ac [ 2.249710] RBP: ffff880279c28000 R08: 0000000000000032 R09: 000000000000029c [ 2.249711] R10: ffff88027bceec40 R11: 0000000000000000 R12: 0000000000000100 [ 2.249711] R13: 0000000000000002 R14: ffff880279772a08 R15: ffff880279772a10 [ 2.249712] FS: 0000000000000000(0000) GS:ffff880285d80000(0000) knlGS:0000000000000000 [ 2.249712] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 2.249712] CR2: 00007ffe58259678 CR3: 000000000280a001 CR4: 00000000003606e0 [ 2.249713] Call Trace: [ 2.249728] ? i915_audio_component_get_eld+0x43/0xe0 [i915] [ 2.249729] ? hdmi_present_sense+0x95/0x330 [snd_hda_codec_hdmi] [ 2.249730] ? generic_hdmi_build_controls+0x140/0x1e0 [snd_hda_codec_hdmi] [ 2.249732] ? snd_hda_codec_build_controls+0x18c/0x1d0 [snd_hda_codec] [ 2.249734] ? snd_hda_codec_build_pcms+0x14f/0x1a0 [snd_hda_codec] [ 2.249735] ? hda_codec_driver_probe+0x76/0x100 [snd_hda_codec] [ 2.249736] ? driver_probe_device+0x27d/0x310 [ 2.249737] ? __driver_attach+0xa0/0xa0 [ 2.249738] ? bus_for_each_drv+0x50/0x80 [ 2.249738] ? __device_attach+0xb0/0x110 [ 2.249740] ? bus_probe_device+0x82/0x90 [ 2.249741] ? device_add+0x2f8/0x5c0 [ 2.249742] ? snd_hdac_device_register+0xd/0x40 [snd_hda_core] [ 2.249743] ? snd_hda_codec_configure+0x32/0x150 [snd_hda_codec] [ 2.249745] ? azx_codec_configure+0x2a/0x60 [snd_hda_codec] [ 2.249746] ? azx_probe_work+0x40d/0x855 [snd_hda_intel] [ 2.249746] ? process_one_work+0x1d8/0x410 [ 2.249747] ? worker_thread+0x42/0x3e0 [ 2.249748] ? kthread+0xf0/0x130 [ 2.249749] ? cancel_delayed_work+0x10/0x10 [ 2.249750] ? kthread_create_worker_on_cpu+0x40/0x40 [ 2.249751] ? do_group_exit+0x35/0xa0 [ 2.249752] ? ret_from_fork+0x1f/0x30 [ 2.249752] Code: 83 c2 01 39 d1 7f e0 31 c0 c3 83 78 70 0b 74 f9 31 c0 85 d2 74 cb eb f1 48 c7 c6 38 f2 0f a1 48 c7 c7 f2 ff 0e a1 e8 ec dd fe df <0f> ff 31 c0 c3 0f 1f 80 00 00 00 00 41 57 4d 89 c7 41 56 49 89 [ 2.249767] ---[ end trace f7318c9fa7fd2227 ]--- [ 2.249768] ------------[ cut here ]------------ [ 2.249768] WARN_ON(pipe >= intel_info((dev_priv))->num_pipes) [ 2.249786] WARNING: CPU: 3 PID: 1576 at get_saved_enc+0x74/0x80 [i915] [ 2.249786] Modules linked in: snd_hda_codec_generic snd_hda_codec_hdmi nvidia_uvm(PO) nvidia_drm(PO) nvidia_modeset(PO) nvidia(PO) i915 iosf_mbi i2c_algo_bit drm_kms_helper x86_pkg_temp_thermal iTCO_wdt coretemp syscopyarea ghash_clmulni_intel sysfillrect sysimgblt fb_sys_fops snd_hda_intel aesni_intel drm snd_hda_codec crypto_simd e1000e cryptd snd_hwdep glue_helper snd_hda_core joydev i2c_i801 intel_pch_thermal [ 2.249794] CPU: 3 PID: 1576 Comm: kworker/3:2 Tainted: P W O 4.15.1-gentoo #5 [ 2.249794] Hardware name: To Be Filled By O.E.M. To Be Filled By O.E.M./H110M-ITX, BIOS P7.00 10/27/2016 [ 2.249795] Workqueue: events azx_probe_work [snd_hda_intel] [ 2.249810] RIP: 0010:get_saved_enc+0x74/0x80 [i915] [ 2.249811] RSP: 0018:ffffc90001813ba8 EFLAGS: 00010292 [ 2.249811] RAX: 0000000000000032 RBX: ffff880279c2cea8 RCX: ffffffff82046f78 [ 2.249812] RDX: 0000000000000001 RSI: 0000000000000096 RDI: ffffffff822340ac [ 2.249812] RBP: ffff880279c28000 R08: 0000000000000032 R09: 00000000000002c7 [ 2.249813] R10: ffff88027bceec40 R11: 0000000000000000 R12: 0000000000000100 [ 2.249813] R13: 0000000000000003 R14: ffff880279772a08 R15: ffff880279772a10 [ 2.249813] FS: 0000000000000000(0000) GS:ffff880285d80000(0000) knlGS:0000000000000000 [ 2.249814] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 2.249814] CR2: 00007ffe58259678 CR3: 000000000280a001 CR4: 00000000003606e0 [ 2.249815] Call Trace: [ 2.249829] ? i915_audio_component_get_eld+0x43/0xe0 [i915] [ 2.249830] ? hdmi_present_sense+0x95/0x330 [snd_hda_codec_hdmi] [ 2.249831] ? generic_hdmi_build_controls+0x140/0x1e0 [snd_hda_codec_hdmi] [ 2.249833] ? snd_hda_codec_build_controls+0x18c/0x1d0 [snd_hda_codec] [ 2.249839] ? snd_hda_codec_build_pcms+0x14f/0x1a0 [snd_hda_codec] [ 2.249840] ? hda_codec_driver_probe+0x76/0x100 [snd_hda_codec] [ 2.249841] ? driver_probe_device+0x27d/0x310 [ 2.249842] ? __driver_attach+0xa0/0xa0 [ 2.249843] ? bus_for_each_drv+0x50/0x80 [ 2.249844] ? __device_attach+0xb0/0x110 [ 2.249845] ? bus_probe_device+0x82/0x90 [ 2.249846] ? device_add+0x2f8/0x5c0 [ 2.249848] ? snd_hdac_device_register+0xd/0x40 [snd_hda_core] [ 2.249849] ? snd_hda_codec_configure+0x32/0x150 [snd_hda_codec] [ 2.249851] ? azx_codec_configure+0x2a/0x60 [snd_hda_codec] [ 2.249852] ? azx_probe_work+0x40d/0x855 [snd_hda_intel] [ 2.249853] ? process_one_work+0x1d8/0x410 [ 2.249854] ? worker_thread+0x42/0x3e0 [ 2.249856] ? kthread+0xf0/0x130 [ 2.249856] ? cancel_delayed_work+0x10/0x10 [ 2.249858] ? kthread_create_worker_on_cpu+0x40/0x40 [ 2.249859] ? do_group_exit+0x35/0xa0 [ 2.249860] ? ret_from_fork+0x1f/0x30 [ 2.249860] Code: 83 c2 01 39 d1 7f e0 31 c0 c3 83 78 70 0b 74 f9 31 c0 85 d2 74 cb eb f1 48 c7 c6 38 f2 0f a1 48 c7 c7 f2 ff 0e a1 e8 ec dd fe df <0f> ff 31 c0 c3 0f 1f 80 00 00 00 00 41 57 4d 89 c7 41 56 49 89 [ 2.249878] ---[ end trace f7318c9fa7fd2228 ]--- [ 2.250112] input: HDA Intel PCH Front Mic as /devices/pci0000:00/0000:00:1f.3/sound/card0/input9 [ 2.250141] input: HDA Intel PCH Rear Mic as /devices/pci0000:00/0000:00:1f.3/sound/card0/input10 [ 2.250166] input: HDA Intel PCH Line as /devices/pci0000:00/0000:00:1f.3/sound/card0/input11 [ 2.250190] input: HDA Intel PCH Line Out as /devices/pci0000:00/0000:00:1f.3/sound/card0/input12 [ 2.250215] input: HDA Intel PCH Front Headphone as /devices/pci0000:00/0000:00:1f.3/sound/card0/input13 [ 2.250239] input: HDA Intel PCH HDMI/DP,pcm=3 as /devices/pci0000:00/0000:00:1f.3/sound/card0/input14 [ 2.250262] input: HDA Intel PCH HDMI/DP,pcm=7 as /devices/pci0000:00/0000:00:1f.3/sound/card0/input15 [ 2.250284] input: HDA Intel PCH HDMI/DP,pcm=8 as /devices/pci0000:00/0000:00:1f.3/sound/card0/input16 [ 2.250308] input: HDA Intel PCH HDMI/DP,pcm=9 as /devices/pci0000:00/0000:00:1f.3/sound/card0/input17 [ 2.250382] input: HDA Intel PCH HDMI/DP,pcm=10 as /devices/pci0000:00/0000:00:1f.3/sound/card0/input18 --------------------------------------------------------------------------- Also same issue at https://bugzilla.kernel.org/show_bug.cgi?id=198673 "dmesg" log https://bugzilla.kernel.org/attachment.cgi?id=273987
Known issue, "fixed" by commit 9965db26ac05 ("drm/i915: Check for fused or unused pipes") in v4.16-rc1, which unfortunately is also broken. :(
So this should be fixed by cherry-picking 9965db26ac05 ("drm/i915: Check for fused or unused pipes") from v4.16-rc1 plus applying the fix [1] on top. [1] http://patchwork.freedesktop.org/patch/msgid/20180214173840.25360-1-jani.nikula@intel.com
Fixed by commit 9965db26ac0548648309f506dc155a92daa2158f Author: Mika Kahola <mika.kahola@intel.com> Date: Mon Dec 18 10:04:03 2017 +0200 drm/i915: Check for fused or unused pipes commit cdb3db8542d854bd678d60cd28861b042e191672 Author: Jani Nikula <jani.nikula@intel.com> Date: Wed Feb 14 19:38:40 2018 +0200 drm/i915/audio: fix check for av_enc_map overflow in drm-intel-next-queued which should eventually get backported to v4.16-rc and stable.
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.