Re: Power Management issues in MPC8313 processor
Hello Scott, I am using 2.6.27 - I am trying to add Power Management support to an older product. Thanks, Srivatsan On Fri, Oct 26, 2012 at 8:27 PM, Scott Wood scottw...@freescale.com wrote: On 10/25/2012 05:07:01 PM, Srivatsan Canchivaram wrote: Hi, I have a modem with a Freescale MPC8313E processor. I am trying to enable power savings in the processor by placing it in Standby mode and resume normal operation with a Wake-On-LAN magic packet. Following the directions in the Freescale Power Management app note, I enabled Power Management Support in the Linux kernel and device tree configurations. I ran the following command on the board: echo standby /sys/power/state This caused the console to hang and there was no further response to keyboard inputs. I enabled ‘no_console_suspend’ in the kernel and when I loaded the new build and enabled standby mode, I observed an Oops trace: RASCOM_QCU.7.0.0013 $ echo standby /sys/power/state 6PM: Syncing fFreezing user space processes ... ilesystems ... 7PM: Entering standby sleep Unable to handle kernel paging request for instruction fetch Faulting instruction address: 0x616d6570 Oops: Kernel access of bad area, sig: 11 [#1] MPC831x RDB Modules linked in: dsp rcspi modem i2c_mpc thermal_sys lm92 hwmon [last unloaded: modem] NIP: 616d6570 LR: c0165224 CTR: 616d6573 REGS: cd087d30 TRAP: 0400 Not tainted (2.6.27) MSR: 20001032 ME,IR,DR CR: 28002024 XER: 2000 TASK = cc312400[1196] 'echo' THREAD: cd086000 GPR00: 0002 cd087de0 cc312400 cf821800 cd087de8 0002 c06e c06da4a0 GPR08: c06da948 616d6573 3fff c06c6308 28002022 10091248 0fffc000 100050b8 GPR16: 1008a270 10068810 100687c8 10068814 1008c284 1008c294 c0246180 GPR24: c02ab9e4 c02ab9dc c06cc4f4 0006 cd087e08 0002 c06c595c cf821808 NIP [616d6570] 0x616d6570 LR [c0165224] platform_pm_suspend_noirq+**0x84/0x88 What kernel are you using? platform_pm_suspend_noirq was removed by this commit: commit 9b39e73d0c2b265a7f8748b0e9a9f0**9be84079a8 Author: Rafael J. Wysocki r...@sisk.pl Date: Sun Dec 18 00:34:24 2011 +0100 PM / Sleep: Remove forward-only callbacks from platform bus type The forward-only PM callbacks provided by the platform bus type are not necessary any more, because the PM core executes driver callbacks when the corresponding subsystem callbacks are not present, so drop them. Signed-off-by: Rafael J. Wysocki r...@sisk.pl It seems that a driver's pm ops are getting corrupted -- maybe used after freeing? Have you tried enabling slab/slub debug? Can you instrument the code to see if there are any fields in the device struct that aren't corrupt, that could point out which device this is? I found another thread that dealt with Power Management issues on the Freescale MPC8313 processor: https://lists.ozlabs.org/**pipermail/linuxppc-dev/2012-** January/095240.htmlhttps://lists.ozlabs.org/pipermail/linuxppc-dev/2012-January/095240.html The resolution of this issue seems to be related to the JTAG TRST pin being disabled. This is not relevant in my case as the TRST on my board is already inactive. If you were seeing that, you'd see a hang rather than an oops. -Scott ___ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev
Re: Power Management issues in MPC8313 processor
On 10/25/2012 05:07:01 PM, Srivatsan Canchivaram wrote: Hi, I have a modem with a Freescale MPC8313E processor. I am trying to enable power savings in the processor by placing it in Standby mode and resume normal operation with a Wake-On-LAN magic packet. Following the directions in the Freescale Power Management app note, I enabled Power Management Support in the Linux kernel and device tree configurations. I ran the following command on the board: echo standby /sys/power/state This caused the console to hang and there was no further response to keyboard inputs. I enabled ‘no_console_suspend’ in the kernel and when I loaded the new build and enabled standby mode, I observed an Oops trace: RASCOM_QCU.7.0.0013 $ echo standby /sys/power/state 6PM: Syncing fFreezing user space processes ... ilesystems ... 7PM: Entering standby sleep Unable to handle kernel paging request for instruction fetch Faulting instruction address: 0x616d6570 Oops: Kernel access of bad area, sig: 11 [#1] MPC831x RDB Modules linked in: dsp rcspi modem i2c_mpc thermal_sys lm92 hwmon [last unloaded: modem] NIP: 616d6570 LR: c0165224 CTR: 616d6573 REGS: cd087d30 TRAP: 0400 Not tainted (2.6.27) MSR: 20001032 ME,IR,DR CR: 28002024 XER: 2000 TASK = cc312400[1196] 'echo' THREAD: cd086000 GPR00: 0002 cd087de0 cc312400 cf821800 cd087de8 0002 c06e c06da4a0 GPR08: c06da948 616d6573 3fff c06c6308 28002022 10091248 0fffc000 100050b8 GPR16: 1008a270 10068810 100687c8 10068814 1008c284 1008c294 c0246180 GPR24: c02ab9e4 c02ab9dc c06cc4f4 0006 cd087e08 0002 c06c595c cf821808 NIP [616d6570] 0x616d6570 LR [c0165224] platform_pm_suspend_noirq+0x84/0x88 What kernel are you using? platform_pm_suspend_noirq was removed by this commit: commit 9b39e73d0c2b265a7f8748b0e9a9f09be84079a8 Author: Rafael J. Wysocki r...@sisk.pl Date: Sun Dec 18 00:34:24 2011 +0100 PM / Sleep: Remove forward-only callbacks from platform bus type The forward-only PM callbacks provided by the platform bus type are not necessary any more, because the PM core executes driver callbacks when the corresponding subsystem callbacks are not present, so drop them. Signed-off-by: Rafael J. Wysocki r...@sisk.pl It seems that a driver's pm ops are getting corrupted -- maybe used after freeing? Have you tried enabling slab/slub debug? Can you instrument the code to see if there are any fields in the device struct that aren't corrupt, that could point out which device this is? I found another thread that dealt with Power Management issues on the Freescale MPC8313 processor: https://lists.ozlabs.org/pipermail/linuxppc-dev/2012-January/095240.html The resolution of this issue seems to be related to the JTAG TRST pin being disabled. This is not relevant in my case as the TRST on my board is already inactive. If you were seeing that, you'd see a hang rather than an oops. -Scott ___ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev
Power Management issues in MPC8313 processor
Hi, I have a modem with a Freescale MPC8313E processor. I am trying to enable power savings in the processor by placing it in Standby mode and resume normal operation with a Wake-On-LAN magic packet. Following the directions in the Freescale Power Management app note, I enabled Power Management Support in the Linux kernel and device tree configurations. I ran the following command on the board: echo standby /sys/power/state This caused the console to hang and there was no further response to keyboard inputs. I enabled ‘no_console_suspend’ in the kernel and when I loaded the new build and enabled standby mode, I observed an Oops trace: RASCOM_QCU.7.0.0013 $ echo standby /sys/power/state 6PM: Syncing fFreezing user space processes ... ilesystems ... 7PM: Entering standby sleep Unable to handle kernel paging request for instruction fetch Faulting instruction address: 0x616d6570 Oops: Kernel access of bad area, sig: 11 [#1] MPC831x RDB Modules linked in: dsp rcspi modem i2c_mpc thermal_sys lm92 hwmon [last unloaded: modem] NIP: 616d6570 LR: c0165224 CTR: 616d6573 REGS: cd087d30 TRAP: 0400 Not tainted (2.6.27) MSR: 20001032 ME,IR,DR CR: 28002024 XER: 2000 TASK = cc312400[1196] 'echo' THREAD: cd086000 GPR00: 0002 cd087de0 cc312400 cf821800 cd087de8 0002 c06e c06da4a0 GPR08: c06da948 616d6573 3fff c06c6308 28002022 10091248 0fffc000 100050b8 GPR16: 1008a270 10068810 100687c8 10068814 1008c284 1008c294 c0246180 GPR24: c02ab9e4 c02ab9dc c06cc4f4 0006 cd087e08 0002 c06c595c cf821808 NIP [616d6570] 0x616d6570 LR [c0165224] platform_pm_suspend_noirq+0x84/0x88 Call Trace: [cd087de0] [c0167e6c] pm_dev_dbg+0x70/0x18c (unreliable) [cd087df0] [c0167cb4] pm_noirq_op+0x58/0xc8 [cd087e00] [c0168e08] device_power_down+0x78/0x1c4 [cd087e40] [c00471bc] suspend_devices_and_enter+0x1ec/0x258 [cd087e70] [c00473ac] enter_state+0x13c/0x198 [cd087e90] [c00474bc] state_store+0xb4/0xf8 [cd087eb0] [c013af68] kobj_attr_store+0x24/0x3c [cd087ec0] [c00bf734] sysfs_write_file+0xe8/0x1e8 [cd087ef0] [c0078bbc] vfs_write+0xb4/0x16c [cd087f10] [c0078d7c] sys_write+0x4c/0xa4 [cd087f40] [c000fa88] ret_from_syscall+0x0/0x38 --- Exception: c01 at 0x4802679c LR = 0x4803f0e8 Instruction dump: ---[ end trace b6a2457eea68b760 ]--- done. 7PM: Preparing system for standby sleep 1Freezing user space processes ... 7PM: Entering standby sleep 7platform mpc83xx_wdt.0: preparing suspend 7fsl-gianfar fsl-gianfar.0: preparing suspend 7fsl-gianfar fsl-gianfar.1: preparing suspend 7fsl-gianfar_mdio fsl-gianfar_mdio.14: preparing suspend 7serial8250 serial8250.0: preparing suspend 7serial8250 serial8250: preparing suspend 7platform Fixed MDIO bus.0: preparing suspend 7lm92 0-0049: legacy suspend 7lm92 0-0048: legacy suspend 7platform Fixed MDIO bus.0: suspend 7mdio_bus 24520:1f: legacy suspend 7Generic PHY 24520:01: legacy suspend 7Generic PHY 24520:00: legacy suspend 7serial8250 serial8250: suspend 7of_platform ee000600.timer: legacy suspend 7of_platform ee000500.timer: legacy suspend 7mpc83xx-pmc ee000b00.power: legacy suspend 7of_platform ee000700.pic: legacy suspend 7of_platform ee03.crypto: legacy suspend 7of_platform ee004600.serial: legacy suspend 7of_platform ee004500.serial: legacy suspend 7of_platform ee025000.ethernet: legacy suspend 7of_platform ee024000.ethernet: legacy suspend 7of_platform ee024520.mdio: legacy suspend 7of_platform ee024e00.ptimer: legacy suspend 7of_platform ee0082a8.dma: legacy suspend 7mpc-i2c ee003100.i2c: legacy suspend 7mpc-i2c ee003000.i2c: legacy suspend 7of_platform ee000200.wdt: legacy suspend 7of_platform ee00.soc8313: legacy suspend 7of-flash fc00.flash: legacy suspend 7of_platform ee005000.localbus: legacy suspend 7serial8250 serial8250.0: suspend 7fsl-gianfar_mdio fsl-gianfar_mdio.14: suspend 7fsl-gianfar fsl-gianfar.1: suspend 7fsl-gianfar fsl-gianfar.0: suspend 7platform mpc83xx_wdt.0: suspend 6PM: suspend devices took 0.000 seconds 7platform Fixed MDIO bus.0: LATE suspend 7serial8250 serial8250: LATE suspend 7serial8250 serial8250.0: LATE suspend 7fsl-gianfar_mdio fsl-gianfar_mdio.14: LATE suspend 1Unable to handle kernel paging request for instruction fetch 1Faulting instruction address: 0x616d6570 1Oops: Kernel access of bad area, sig: 11 [#1] 1MPC831x RDB 1Modules linked in: dsp rcspi modem i2c_mpc thermal_sys lm92 hwmon [last unloaded: modem] 1NIP: 616d6570 LR: c0165224 CTR: 616d6573 1REGS: cd087d30 TRAP: 0400 Not tainted (2.6.27) 1MSR: 20001032 ME,IR,DR CR: 28002024 XER: 2000 1TASK = cc312400[1196] 'echo' THREAD: cd086000 6GPR00: 0002 cd087de0 cc312400 cf821800 cd087de8 0002 c06e c06da4a0 6GPR08: c06da948 616d6573 3fff c06c6308 28002022 10091248 0fffc000 100050b8 6GPR16: 1008a270