STM32
直播中

甘满盛

7年用户 1297经验值
擅长:386660
私信 关注
[问答]

STM32MP157D提示DAC没有进入syspend,导致休眠失败怎么解决?

运行LINUX系统,使能A7核心进入低功耗,使用echo mem >/sys/power/state命令,显示PM: suspend entry (deep)
Filesystems sync: 0.023 seconds
Freezing user space processes ... (elapsed 0.002 seconds) done.
OOM killer disabled.
Freezing remaining freezable tasks ... (elapsed 0.001 seconds) done.
printk: Suspending console(s) (use no_console_suspend to debug)
PM: dpm_run_callback(): platform_pm_suspend+0x0/0x48 returns -16
PM: Device 40017000.dac:dac@1 failed to suspend: error -16
PM: Some devices failed to suspend, or early wake event detected
OOM killer enabled.
Restarting tasks ... done.
PM: suspend exit
sh: write error: Device or resource busy
提示DAC没有进入syspend,导致休眠失败。
查看休眠结果cat /sys/kernel/debug/suspend_statssuccess: 0
fail: 16
failed_freeze: 0
failed_prepare: 0
failed_suspend: 16
failed_suspend_late: 0
failed_suspend_noirq: 0
failed_resume: 0
failed_resume_early: 0
failed_resume_noirq: 0、
failures:
last_failed_dev:      40017000.dac:dac@1
40017000.dac:dac@1
last_failed_errno:    -16
-16
last_failed_step:     suspend
suspend
DAC驱动使用的是ST原生驱动,想问一下如何解决,这块问题导致现在系统无法休眠



回帖(1)

李丽

2024-5-30 14:34:33
从您提供的信息来看,STM32MP157D的DAC设备在尝试进入syspend状态时失败,导致休眠失败。以下是一些建议来解决这个问题:

1. 检查DAC设备的驱动程序:确保DAC设备的驱动程序已正确加载并适用于您的STM32MP157D硬件。如果需要,尝试更新驱动程序。

2. 检查电源管理配置:确保您的系统配置允许DAC设备进入低功耗状态。检查电源管理相关的配置文件,如sysfs文件,以确保DAC设备已正确配置。

3. 检查内核日志:查看内核日志以获取有关DAC设备进入低功耗状态失败的详细信息。这可以帮助您确定问题的根本原因。

4. 禁用DAC设备:如果问题仍然存在,您可以尝试在进入低功耗状态之前禁用DAC设备。这可以通过修改设备驱动程序或使用设备管理命令来实现。

5. 检查系统固件:确保您的STM32MP157D硬件的固件是最新的,并且与您的Linux系统兼容。如果需要,尝试更新固件。

6. 寻求社区支持:如果问题仍然无法解决,您可以在STM32MP157D和Linux社区寻求帮助。许多开发者可能已经遇到了类似的问题,并可能提供解决方案。

总之,解决STM32MP157D的DAC设备进入syspend状态失败的问题需要检查驱动程序、电源管理配置、内核日志、系统固件以及寻求社区支持。希望这些建议能帮助您解决问题。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分