I too was getting the same error on my platform EVM3730. I followed the sequence suggested in this thread.
1) I commented out the defensive mecahnism Dirk referred to in the file lpm_omap.c and in the function LPM_off
2) I added the bypass mechanism too.
Here is the modified code
TRACE("lpm.ko: --> LPM_off\n");
if ((REG(cm + CM_CLKEN_PLL_IVA2) & 0x7) == 0x1) {
TRACE("lpm.ko: Found IVA2 DPLL in low power stop mode; changing to bypass\n");
REG(cm + CM_CLKEN_PLL_IVA2) = (REG(cm + CM_CLKEN_PLL_IVA2) & ~0x7) | 0x5;
REG(cm + CM_CLKEN_PLL_IVA2);
}
#if 0
/* make sure the IVA2 DPLL is enabled */
if ((REG(cm + CM_CLKEN_PLL_IVA2) & 0x7) == 0x1) {
hndl->os_trace("Error: IVA2 PLL is not enabled (needed by LPM)");
status = LPM_EFAIL;
goto fail;
}
#endif
/* MPU controlled ON + ACTIVE */
While I did see some improvement (originally my app would fail after 2 3 runs with following error)
[ 148.898468] --> lpm_open
[ 148.901123] <-- lpm_open
[ 148.903778] --> lpm_ioctl, cmd: 0x10001003
[ 148.908081] ioctl: ON, args = 0x0
[ 148.911529] ref = 1
[ 148.913757] --> LPM_on
[ 148.916198] lpm.ko: --> LPM_off
[ 149.197448] lpm.ko: Error: IVA2 power domain not OFF (1)
[ 149.203002] lpm.ko: <-- LPM_off: stat = 0x1
[ 149.207366] <-- LPM_on: stat = 0x1
[ 149.210937] <-- lpm_ioctl
App-> Devnode En[ 149.216339] --> lpm_release
gine opened FAIL[ 149.219360] ref = 0
ED.
app: error:[ 149.222930] lpm.ko: --> LPM_off
can't open devnode engine CodecEngine Error=3
app done.
[ 149.505615] lpm.ko: Error: IVA2 power domain not OFF (1)
[ 149.511169] lpm.ko: <-- LPM_off: stat = 0x1
[ 149.515533] <-- lpm_release
It now runs 5/6 times but then fails with following error.
This is the last[ 101.933929] --> lpm_ioctl, cmd: 0x10001001
run of DEVNODE_[ 101.938812] ioctl: DISCONNECT
process with sam[ 101.943298] + LPM_disconnect
pling frequency [ 101.947692] - LPM_disconnect: stat = 0x0
= 16000
1039 Fr[ 101.953186] <-- lpm_ioctl
ames playout/captured for 11 sec
[ 101.960479] --> lpm_ioctl, cmd: 0x10001002
[ 101.964752] ioctl: OFF
[ 101.967254] ref = 0
[ 101.969451] lpm.ko: --> LPM_off
[ 102.250732] lpm.ko: Error: IVA2 power domain not OFF (2)
[ 102.256286] lpm.ko: <-- LPM_off: stat = 0x1
[ 102.260650] <-- lpm_ioctl
[ 102.264190] --> lpm_release
[ 102.267120] <-- lpm_release
app done.
I am using CE 2.26.02.11, LPM 1.24.03.10. Any suggestion on what else I can try? Unfortunately modifying the boot option is not an option I have.