I am working on a camera for streaming over IP. We are using GStreamer and some other libraries in order to achieve this. When sending a sleep command from userspace which basically runs this:
echo mem > /sys/power/state
we get the following message:
Camera sleep...
[ 1220.776764] mxc-isi 32e02000.isi: PM: dpm_run_callback(): mxc_isi_pm_suspend+0x0/0x40 returns -11
[ 1220.776782] mxc-isi 32e02000.isi: PM: failed to suspend: error -11
[ 1220.776789] PM: Some devices failed to suspend, or early wake event detected
sh: line 1: echo: write error: Resource temporarily unavailable
00:19:42.787 [c/debug/seatd/0.7.0-r0/seatd/seat.c:418] No clients on seat0 to activate
Camera wake up...
err: sleep
After entering dmesg on the terminal, I see this is the associated error:
[ 1021.924512] ddrc freq set to high bus mode
[ 1023.011172] ddrc freq set to low bus mode
[ 1030.843791] PM: suspend entry (deep)
[ 1030.846043] ddrc freq set to high bus mode
[ 1030.850552] Filesystems sync: 0.006 seconds
[ 1030.853043] Freezing user space processes ... (elapsed 0.001 seconds) done.
[ 1030.854389] OOM killer disabled.
[ 1030.854393] Freezing remaining freezable tasks ... (elapsed 0.001 seconds) done.
[ 1030.855492] printk: Suspending console(s) (use no_console_suspend to debug)
[ 1030.856122] mxc-isi 32e02000.isi: running, prevent entering suspend.
[ 1030.856129] mxc-isi 32e02000.isi: PM: dpm_run_callback(): mxc_isi_pm_suspend+0x0/0x40 returns -11
[ 1030.856148] mxc-isi 32e02000.isi: PM: failed to suspend: error -11
[ 1030.856154] PM: Some devices failed to suspend, or early wake event detected
[ 1030.879042] OOM killer enabled.
[ 1030.879046] Restarting tasks ... done.
[ 1030.879708] random: crng reseeded on system resumption
[ 1030.879829] PM: suspend exit
[ 1031.939166] ddrc freq set to low bus mode
It looks to me like the ISI is preventing the unit from entering memory-retention mode. Has anyone experienced this?