Re: Power Management issues in MPC8313 processor

2012-10-27 Thread Srivatsan Canchivaram
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

2012-10-26 Thread Scott Wood

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

2012-10-25 Thread Srivatsan Canchivaram
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