为什么 single_cmd Alsa 选项仅用于调试?

为什么 single_cmd Alsa 选项仅用于调试?

根据 Alsa 文档,single_cmd 选项仅用于调试:

single_cmd - 使用单个立即命令与编解码器通信(仅用于调试)

注意:如果在加载时收到许多“azx_get_response timeout”消息,则可能是中断问题(例如 ACPI irq 路由)。尝试使用“pci=noacpi”等选项进行启动。此外,您可以尝试“single_cmd=1”模块选项。这会将 HDA 控制器和编解码器之间的通信方法切换为单个立即命令,而不是 CORB/RIRB。基本上,单个命令模式仅适用于 BIOS,您也不会收到未经请求的事件。但至少,这独立于 irq 工作。请记住,这是最后的手段,应尽可能避免...

https://www.kernel.org/doc/Documentation/sound/alsa/ALSA-Configuration.txt

这个选项似乎使我的系统更加稳定。

为什么此选项仅用于调试?使用 single_cmd 作为常用参数是否存在风险?

答案1

就声音驱动程序本身而言,没有任何风险。

但是,“azx_get_response timeout”消息只是中断问题导致的症状,而这些中断问题很可能会在其他地方导致错误。使用single_cmd不会影响任何其他错误。如果可能的话,您应该尝试修复这些中断问题。

相关内容