Page 1 of 1

Trouble with HDMI audio on SBC4 running debian 12.5

Posted: Thu Feb 29, 2024 4:15 pm
by mumblethrax
I have a project where I'm using HDMI audio from the SBC4 to drive a speaker. This was working well, but I decided to re-image the SBC4 to the latest version before using it in production.

This seems to have killed the HDMI audio. ALSA doesn't recognize that there is an audio device installed at all, and I get the following message from the journal:

Code: Select all

Feb 29 13:11:34 ruec-kitchen kernel: sysfs: cannot create duplicate filename '/devices/platform/soc/1c16000.hdmi/dma:audio-tx'
Feb 29 13:11:34 ruec-kitchen kernel: CPU: 0 PID: 689 Comm: kworker/0:0 Tainted: G           O       6.1.47-current-sunxi #2
Feb 29 13:11:34 ruec-kitchen kernel: Hardware name: Allwinner sun7i (A20) Family
Feb 29 13:11:34 ruec-kitchen kernel: Workqueue: events output_poll_execute
Feb 29 13:11:34 ruec-kitchen kernel:  unwind_backtrace from show_stack+0x11/0x14
Feb 29 13:11:34 ruec-kitchen kernel:  show_stack from dump_stack_lvl+0x2b/0x34
Feb 29 13:11:34 ruec-kitchen kernel:  dump_stack_lvl from sysfs_warn_dup+0x49/0x54
Feb 29 13:11:34 ruec-kitchen kernel:  sysfs_warn_dup from sysfs_do_create_link_sd+0xa3/0xac
Feb 29 13:11:34 ruec-kitchen kernel:  sysfs_do_create_link_sd from dma_request_chan+0x95/0x200
Feb 29 13:11:34 ruec-kitchen kernel:  dma_request_chan from snd_dmaengine_pcm_register+0x85/0x194
Feb 29 13:11:34 ruec-kitchen kernel:  snd_dmaengine_pcm_register from sun4i_hdmi_audio_create+0x1d/0x130
Feb 29 13:11:34 ruec-kitchen kernel:  sun4i_hdmi_audio_create from sun4i_hdmi_enable+0x10b/0x144
Feb 29 13:11:34 ruec-kitchen kernel:  sun4i_hdmi_enable from drm_atomic_helper_commit_modeset_enables+0x169/0x198
Feb 29 13:11:34 ruec-kitchen kernel:  drm_atomic_helper_commit_modeset_enables from drm_atomic_helper_commit_tail_rpm+0x33/0x64
Feb 29 13:11:34 ruec-kitchen kernel:  drm_atomic_helper_commit_tail_rpm from commit_tail+0x6f/0x128
Feb 29 13:11:34 ruec-kitchen kernel:  commit_tail from drm_atomic_helper_commit+0xcd/0xec
Feb 29 13:11:34 ruec-kitchen kernel:  drm_atomic_helper_commit from drm_atomic_commit+0x75/0x98
Feb 29 13:11:34 ruec-kitchen kernel:  drm_atomic_commit from drm_client_modeset_commit_atomic+0x14f/0x178
Feb 29 13:11:34 ruec-kitchen kernel:  drm_client_modeset_commit_atomic from drm_client_modeset_commit_locked+0x3b/0xf8
Feb 29 13:11:34 ruec-kitchen kernel:  drm_client_modeset_commit_locked from drm_client_modeset_commit+0x1b/0x2c
Feb 29 13:11:34 ruec-kitchen kernel:  drm_client_modeset_commit from drm_fb_helper_set_par+0x89/0xb8
Feb 29 13:11:34 ruec-kitchen kernel:  drm_fb_helper_set_par from drm_fb_helper_hotplug_event.part.0+0x71/0x84
Feb 29 13:11:34 ruec-kitchen kernel:  drm_fb_helper_hotplug_event.part.0 from drm_client_dev_hotplug+0x4d/0x7c
Feb 29 13:11:34 ruec-kitchen kernel:  drm_client_dev_hotplug from output_poll_execute+0x81/0x188
Feb 29 13:11:34 ruec-kitchen kernel:  output_poll_execute from process_one_work+0x173/0x380
Feb 29 13:11:34 ruec-kitchen kernel:  process_one_work from worker_thread+0xe9/0x3cc
Feb 29 13:11:34 ruec-kitchen kernel:  worker_thread from kthread+0xb3/0xc8
Feb 29 13:11:34 ruec-kitchen kernel:  kthread from ret_from_fork+0x11/0x20
Feb 29 13:11:34 ruec-kitchen kernel: Exception stack(0xe008dfb0 to 0xe008dff8)
Feb 29 13:11:34 ruec-kitchen kernel: dfa0:                                     00000000 00000000 00000000 00000000
Feb 29 13:11:34 ruec-kitchen kernel: dfc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
Feb 29 13:11:34 ruec-kitchen kernel: dfe0: 00000000 00000000 00000000 00000000 00000013 00000000
Feb 29 13:11:34 ruec-kitchen kernel: sun4i-hdmi 1c16000.hdmi: Cannot create DMA dma:audio-tx symlink
Feb 29 13:11:34 ruec-kitchen kernel: sun4i-hdmi 1c16000.hdmi: ASoC: CPU DAI 1c16000.hdmi not registered
Feb 29 13:11:34 ruec-kitchen kernel: [drm:drm_atomic_helper_commit_modeset_enables] *ERROR* Couldn't create the HDMI audio adapter
Any ideas? Worst case I can go back to an older image, but I'd prefer to resolve this....

Re: Trouble with HDMI audio on SBC4 running debian 12.5

Posted: Tue Mar 12, 2024 10:59 am
by Patrick
I will look into this and get back to you when I have a fix.

-Patrick

Re: Trouble with HDMI audio on SBC4 running debian 12.5

Posted: Wed Mar 20, 2024 11:32 am
by Patrick
Just an update, HDMI audio support is not part of the mainline kernel. We are using the Armbian project kernel, which provides this support as a kernel patch. As far as I can tell, the patch is no longer maintained, and at some point between 5.10 and 6.1, it has stopped working, though it is still being applied. I'm not an expert in the Linux kernel audio system, and can't promise a fix. For now, I would recommend sticking with the Debian 11 image.

-Patrick