Linux Sound subsystem development
 help / color / mirror / Atom feed
* BUG in es8389_set_bias_level?
@ 2026-06-26  9:00 Diederik de Haas
  2026-09-01 21:01 ` Diederik de Haas
  2026-09-08  9:27 ` Diederik de Haas
  0 siblings, 2 replies; 3+ messages in thread
From: Diederik de Haas @ 2026-06-26  9:00 UTC (permalink / raw)
  To: linux-sound, Zhang Yi
  Cc: Liam Girdwood, Mark Brown, Jaroslav Kysela, Takashi Iwai,
	Charles Keepax, Diederik de Haas

I'm working on adding support for the FriendlyElec NanoPC-T6 Plus [1] which
uses the es8389 codec. And while analog audio does work, I always get the
following stack trace in dmesg:

[   10.072410] ------------[ cut here ]------------
[   10.073686] i2s0_8ch_mclkout_to_io already disabled
[   10.074943] WARNING: drivers/clk/clk.c:1188 at clk_core_disable+0x224/0x260, CPU#6: kworker/u32:0/12
[   10.076547] Modules linked in: aes_ce_blk ghash_ce gf128mul rockchip_vdec joydev snd_soc_simple_card(+) snd_soc_es8389 snd_soc_rockchip_i2s_tdm snd_soc_hdmi_codec(+) v4l2_vp9 snd_soc_simple_card_utils rockchip_iep2 rockchip_rga synopsys_hdmirx pwm_fan leds_gpio rockchip_iep_common v4l2_h264 v4l2_dv_timings snd_soc_core v4l2_mem2mem videobuf2_dma_contig videobuf2_dma_sg gpio_ir_recv videobuf2_memops snd_compress videobuf2_v4l2 snd_pcm_dmaengine panthor ofpart snd_pcm videodev snd_timer spi_nor videobuf2_common drm_gpuvm snd rockchip_rng mtd rockchip_thermal mc soundcore gpu_sched rk805_pwrkey drm_exec drm_shmem_helper evdev cpufreq_dt pkcs8_key_parser nvme_fabrics efi_pstore configfs autofs4 ext4 hid_generic crc16 usbhid mbcache jbd2 hid r8169 realtek onboard_usb_dev phy_package mdio_devres of_mdio fixed_phy fwnode_mdio libphy mdio_bus nvme xhci_plat_hcd xhci_hcd nvme_core rk808_regulator nvme_keyring nvme_auth rockchipdrm dw_hdmi_qp dw_mipi_dsi fusb302 tcpm dw_hdmi rtc_hym8563 aux_hpd_bridge analogix_dp fan53555
[   10.076648]  drm_dp_aux_bus drm_display_helper cec phy_rockchip_usbdp gpio_rockchip phy_rockchip_snps_pcie3 dw_mmc_rockchip phy_rockchip_naneng_combphy fixed sdhci_of_dwcmshc rockchip_saradc rc_core display_connector sdhci_pltfm typec ohci_platform dw_mmc_pltfm industrialio_triggered_buffer dwc3 sdhci drm_client_lib ehci_platform kfifo_buf dw_mmc udc_core spi_rockchip ehci_hcd ohci_hcd dw_wdt cqhci phy_rockchip_samsung_hdptx drm_dma_helper nvmem_rockchip_otp pl330 rockchip_dfi spi_rockchip_sfc drm_kms_helper usbcore drm i2c_rk3x adc_keys pwm_rockchip phy_rockchip_inno_usb2 industrialio ulpi usb_common
[   10.095597] CPU: 6 UID: 0 PID: 12 Comm: kworker/u32:0 Not tainted 7.1-rc7+unreleased-arm64-cknow #1 PREEMPTLAZY  Debian 7.1~rc7-2
[   10.097473] Hardware name: FriendlyElec NanoPC-T6 Plus (DT)
[   10.098826] Workqueue: async async_run_entry_fn
[   10.100094] pstate: 604000c9 (nZCv daIF +PAN -UAO -TCO -DIT -SSBS BTYPE=--)
[   10.101564] pc : clk_core_disable+0x224/0x260
[   10.102818] lr : clk_core_disable+0x224/0x260
[   10.104059] sp : ffff80008021bc30
[   10.105189] x29: ffff80008021bc30 x28: 0000000000000000 x27: 0000000000000000
[   10.106663] x26: ffff000100040c28 x25: 00000000fffffef7 x24: ffff00010019be05
[   10.108135] x23: ffff000107fa2028 x22: ffff000105217880 x21: 0000000000000001
[   10.109596] x20: 0000000000000000 x19: ffff00010035a800 x18: 000000000000000a
[   10.111056] x17: 0000000000000000 x16: ffffb1911af0cef0 x15: 0000000000000000
[   10.112497] x14: ffffffffffffffff x13: ffff000109d7c480 x12: 3fffffffffffefff
[   10.113922] x11: 0000000000017fe8 x10: ffffb1911d05c148 x9 : ffffb1911afa4a8c
[   10.115333] x8 : ffffb1911d0e4310 x7 : ffffffffffffefff x6 : 0000000000000001
[   10.116735] x5 : ffff0005fdf361c8 x4 : ffff4e74e0fec000 x3 : ffff00010092ca00
[   10.118141] x2 : 0000000000000000 x1 : 0000000000000000 x0 : ffff00010092ca00
[   10.119550] Call trace:
[   10.120539]  clk_core_disable+0x224/0x260 (P)
[   10.121686]  clk_disable+0x40/0x70
[   10.122743]  es8389_set_bias_level+0x17c/0x238 [snd_soc_es8389]
[   10.124013]  snd_soc_component_set_bias_level+0x2c/0x70 [snd_soc_core]
[   10.125329]  snd_soc_dapm_set_bias_level+0x60/0x2c0 [snd_soc_core]
[   10.126604]  dapm_pre_sequence_async+0x5c/0x110 [snd_soc_core]
[   10.127844]  async_run_entry_fn+0x40/0x1a0
[   10.128915]  process_one_work+0x17c/0x510
[   10.129964]  worker_thread+0x18c/0x310
[   10.130994]  kthread+0x134/0x150
[   10.131958]  ret_from_fork+0x10/0x20
[   10.132950] ---[ end trace 0000000000000000 ]---
[   10.134217] ------------[ cut here ]------------
[   10.135476] i2s0_8ch_mclkout_to_io already unprepared
[   10.136833] WARNING: drivers/clk/clk.c:1047 at clk_core_unprepare+0x274/0x2c0, CPU#6: kworker/u32:0/12
[   10.138576] Modules linked in: aes_ce_blk ghash_ce gf128mul rockchip_vdec joydev snd_soc_simple_card(+) snd_soc_es8389 snd_soc_rockchip_i2s_tdm snd_soc_hdmi_codec(+) v4l2_vp9 snd_soc_simple_card_utils rockchip_iep2 rockchip_rga synopsys_hdmirx pwm_fan leds_gpio rockchip_iep_common v4l2_h264 v4l2_dv_timings snd_soc_core v4l2_mem2mem videobuf2_dma_contig videobuf2_dma_sg gpio_ir_recv videobuf2_memops snd_compress videobuf2_v4l2 snd_pcm_dmaengine panthor ofpart snd_pcm videodev snd_timer spi_nor videobuf2_common drm_gpuvm snd rockchip_rng mtd rockchip_thermal mc soundcore gpu_sched rk805_pwrkey drm_exec drm_shmem_helper evdev cpufreq_dt pkcs8_key_parser nvme_fabrics efi_pstore configfs autofs4 ext4 hid_generic crc16 usbhid mbcache jbd2 hid r8169 realtek onboard_usb_dev phy_package mdio_devres of_mdio fixed_phy fwnode_mdio libphy mdio_bus nvme xhci_plat_hcd xhci_hcd nvme_core rk808_regulator nvme_keyring nvme_auth rockchipdrm dw_hdmi_qp dw_mipi_dsi fusb302 tcpm dw_hdmi rtc_hym8563 aux_hpd_bridge analogix_dp fan53555
[   10.138686]  drm_dp_aux_bus drm_display_helper cec phy_rockchip_usbdp gpio_rockchip phy_rockchip_snps_pcie3 dw_mmc_rockchip phy_rockchip_naneng_combphy fixed sdhci_of_dwcmshc rockchip_saradc rc_core display_connector sdhci_pltfm typec ohci_platform dw_mmc_pltfm industrialio_triggered_buffer dwc3 sdhci drm_client_lib ehci_platform kfifo_buf dw_mmc udc_core spi_rockchip ehci_hcd ohci_hcd dw_wdt cqhci phy_rockchip_samsung_hdptx drm_dma_helper nvmem_rockchip_otp pl330 rockchip_dfi spi_rockchip_sfc drm_kms_helper usbcore drm i2c_rk3x adc_keys pwm_rockchip phy_rockchip_inno_usb2 industrialio ulpi usb_common
[   10.158082] CPU: 6 UID: 0 PID: 12 Comm: kworker/u32:0 Tainted: G        W           7.1-rc7+unreleased-arm64-cknow #1 PREEMPTLAZY  Debian 7.1~rc7-2
[   10.160114] Tainted: [W]=WARN
[   10.161231] Hardware name: FriendlyElec NanoPC-T6 Plus (DT)
[   10.162575] Workqueue: async async_run_entry_fn
[   10.163848] pstate: 60400009 (nZCv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--)
[   10.165316] pc : clk_core_unprepare+0x274/0x2c0
[   10.166574] lr : clk_core_unprepare+0x274/0x2c0
[   10.167831] sp : ffff80008021bc30
[   10.168959] x29: ffff80008021bc30 x28: 0000000000000000 x27: 0000000000000000
[   10.170417] x26: ffff000100040c28 x25: 00000000fffffef7 x24: ffff00010019be05
[   10.171886] x23: ffff000107fa2028 x22: ffff000105217880 x21: 0000000000000001
[   10.173342] x20: 0000000000000000 x19: ffff00010035a800 x18: ffff4e74e0fec000
[   10.174809] x17: 0000000000000000 x16: ffffb1911beae608 x15: ffffb1911d0321c8
[   10.176271] x14: ffffb1911cf4a100 x13: 00000000000000c0 x12: ffff0005fdf36100
[   10.177720] x11: 00000000000000c0 x10: 0000000000000db0 x9 : ffffb1911af2a084
[   10.179177] x8 : ffff00010092d810 x7 : 0000000000000004 x6 : 0000000000000000
[   10.180626] x5 : ffff4e74e0fec000 x4 : ffff00010092ca00 x3 : ffff000100901280
[   10.182061] x2 : 0000000000000000 x1 : 0000000000000000 x0 : ffff00010092ca00
[   10.183505] Call trace:
[   10.184503]  clk_core_unprepare+0x274/0x2c0 (P)
[   10.185676]  clk_unprepare+0x38/0x60
[   10.186745]  es8389_set_bias_level+0x184/0x238 [snd_soc_es8389]
[   10.187997]  snd_soc_component_set_bias_level+0x2c/0x70 [snd_soc_core]
[   10.189264]  snd_soc_dapm_set_bias_level+0x60/0x2c0 [snd_soc_core]
[   10.190520]  dapm_pre_sequence_async+0x5c/0x110 [snd_soc_core]
[   10.191701]  async_run_entry_fn+0x40/0x1a0
[   10.192683]  process_one_work+0x17c/0x510
[   10.193623]  worker_thread+0x18c/0x310
[   10.194540]  kthread+0x134/0x150
[   10.195425]  ret_from_fork+0x10/0x20
[   10.196326] ---[ end trace 0000000000000000 ]---
[   29.109243] snd_parse_eld: 6 callbacks suppressed

The NanoPC-T6 Plus is quite a lot like the T6 LTS ... apart from that the LTS
uses a Realtek ALC5616 codec and it does not have such a stack trace, hence my
suspicion that the bug is in es8389.

Or did I do anything wrong?
Happy to provide additional info and/or run tests.

Cheers,
  Diederik

[1] WIP branch: https://git.sr.ht/~diederik/linux-kernel/tree/rk3588-nanopc-t6-plus

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2026-09-08  9:27 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-06-26  9:00 BUG in es8389_set_bias_level? Diederik de Haas
2026-09-01 21:01 ` Diederik de Haas
2026-09-08  9:27 ` Diederik de Haas

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox