我们有一款运行恩智浦 Yocto i.MX、Linux、LF5.15.71_2.2.0 的定制 i.MX8M Plus 主板
我们遇到了间歇性内核恐慌,似乎与使用 ALSA aplay 播放音频有关。研究调用跟踪后发现,imx-sdma 驱动程序似乎是在原子上下文(见下文)
soc_pcm_trigger()是在原子上下文中,sdma_prep_dma_cyclic()允许电源管理器恢复,并最终锁定了一个互斥项,导致调度。
这似乎与此处描述(和解决)的情况非常相似:
[email protected] | [v6.1/standard/nxp-sdk-6.1/nxp-soc& v6.1/standard/preempt-rt/nx...
要重现这个问题非常困难,因为它每周只在实时系统上发生两次。
我知道这个主题已经很老了,但是这个问题在补丁中得到解决了吗?我在 linux-imx 5.10 上看到了同样的内核周期性恐慌现象
你好
我在运行 NXP Yocto i.MX、Linux、LF5.10.72_2.2.3 (hardknott) 的 iMX8MP 上遇到了同样的问题。
@Bio_TICFSL,你提到计划在 2025 年第一季度进行修复——已经发布了吗?它在哪些地方得到了应用,我又该如何加以利用?
此致,
你好
我在运行 NXP Yocto i.MX、Linux、LF5.10.72_2.2.3 (hardknott) 的 iMX8MP 上遇到了同样的问题。
@Bio_TICFSL,你提到计划在 2025 年第一季度进行修复——已经发布了吗?它在哪些地方得到了应用,我又该如何加以利用?
此致,
听到这个消息真是太好了。由于我们有一个变通办法(通过禁用 imx-sdma 的 PM),我们可以设法等待适当的解决方案。
你好
我们已经重现了这个问题,这个问题将在2025年第一季度发布的下一个版本中公开修复。
谢谢!
你好
您更新过内核吗?我无法用最新的 电路板支持包。 重现它。但是,如果修复了这个问题,这个问题就掌握在开发者手中,在下次 电路板支持包 版本之前我会一直处于修复状态。
此致
有什么新进展吗?
知道了将升级此问题,希望它现在能正常工作,谢谢。
此致
通过禁用 imx-sdma 驱动程序的运行时 pm,我们找到了一种解决方法,这让我们更加确信这是恩智浦 imx-sdma 驱动程序的问题。
这是解决方法:
在 > /sys/devices/platform/soc 上 回声 @0 /30c00000.bus/30e100000.dma-控制器/电源/控制
@Bio_TICFSL我看了你的回复好几遍,但我不明白这与我的问题有什么联系?无论如何,在我的版本中,使用了来自 meta-imx 的固件-imx-8m v8.18。
我的问题似乎与 i.MX ALSA SoC 平台驱动程序在原子上下文中如何使用 sDMA 有关。
我在所附日志中还看到:
tlv320aic3x 2 -0018 : ASoC: error at snd_soc_component_update_bits on tlv320aic3x. 2-0018: -110
你好
SDMA 固件由 meta-freescale 和 meta-imx 层提供,后者提供了它的更新版本。
恩智浦Yocto用户指南 IMX Yocto用户指南,建议使用恩智浦发布清单 imx清单中提及的层,其中也包括meta-imx层。
meta-imx 并不是机器支持所必需的,因为它应该只添加新的补丁,这些补丁稍后应合并到元飞思卡尔发行版层中。但是,fsl-image-machine-test镜像,这是由meta-freescale层提供的没有GUI或多媒体软件包的基本官方镜像,它还添加了固件守护程序软件包,通过udev信号从用户空间加载固件。
除此之外,我还确认,将imx-sdma驱动程序配置为模块后,固件将在模块加载后立即以直接模式加载,就我而言,相当于自启动以来大约10秒。
# dmesg | grep sdma
[ 10.459118] imx-sdma 20ec000.sdma: TEST DEBUG: sdma_probe
[ 10.541432] imx-sdma 20ec000.sdma: firmware found.
[ 10.576034] imx-sdma 20ec000.sdma: loaded firmware 3.6
我同意这是一个更好的选择,即使没有同步加载补丁,也比依赖固件守护进程要好,因为在模块加载和固件加载之间几乎不会发生 sdma 传输。我不确定这是否适用于所有情况,但我认为恩智浦映像中的用户空间加载器可以支持所有可能驱动程序的懒固件加载,这样就不必将它们配置为模块。我希望安全的驱动程序通常会在开始传输前检查固件是否已加载,或者以其他方式安全失败,而不会惊慌失措。
此致