Dear All,

I integrated the PM patch send by you with kernel version 2.6.10. But when I
do
$ echo mem > /sys/power/state
the kernel hangs.

Below is the kernel dump.

[email protected]:/sys/power# echo mem > state
Stopping tasks: ==============|
Unable to handle kernel NULL pointer dereference at virtual address 0000006b
pgd = c5334000
[0000006b] *pgd=86b8a031, *pte=00000000, *ppte=00000000
Internal error: Oops: 801 [#1]
Modules linked in:
CPU: 0
PC is at add_wait_queue+0x44/0x74
LR is at 0x40000013
pc : [<c0069898>]    lr : [<40000013>]    Not tainted
sp : c6babdd8  ip : 00000067  fp : c6babde4
r10: c6babe00  r9 : 00000000  r8 : c06679a0
r7 : ffffffff  r6 : c0667900  r5 : c6baa000  r4 : c6babdf8
r3 : c6babe0c  r2 : c6baa000  r1 : c6babe00  r0 : c06679a0
Flags: nZcv  IRQs off  FIQs on  Mode SVC_32  Segment user
Control: 5317F  Table: 85334000  DAC: 00000015
Process bash (pid: 1076, stack limit = 0xc6baa1a0)
Stack: (0xc6babdd8 to 0xc6bac000)
bdc0:                                                       c6babe44
c6babde8
bde0: c01e6124 c0069864 00000000 c7399820 c004da6c 00000000 00000000
0000000c
be00: 00000000 c7399820 c004da6c 00000067 00000000 c0300508 00000000
c0667900
be20: 00000003 00000000 c02f0590 c02ff474 00000003 c02ff494 c6babe5c
c6babe48
be40: c01e7270 c01e60c4 00baa000 c02f0590 c6babe6c c6babe60 c01ea804
c01e7264
be60: c6babe84 c6babe70 c0173ff0 c01ea7e0 c02ff464 c02f0620 c6babe94
c6babe88
be80: c01751f4 c0173fc8 c6babec4 c6babe98 c01752c0 c01751c8 00000025
00000000
bea0: 00000003 00000003 c035f284 c02f284c c6babf78 c6db96c0 c6babeec
c6babec8
bec0: c006fa70 c0175210 c0075f10 c6ca8000 c02f283c 00000003 00000003
00000004
bee0: c6babf14 c6babef0 c006fc78 c006f9c0 c6babf78 00000004 000af408
c717d860
bf00: 00000000 c717d878 c6babf24 c6babf18 c00c8e2c c006fc08 c6babf54
c6babf28
bf20: c00c911c c00c8e10 00000002 00000004 c6db96c0 000af408 c6babf78
c00362f4
bf40: c6baa000 00900004 c6babf74 c6babf58 c00929f0 c00c901c 00000000
00000000
bf60: c6db96c0 00000004 c6babfa4 c6babf78 c0092ae4 c0092940 00000000
00000000
bf80: c0091f74 00000000 000576ec 00000004 4017c798 000af408 00000000
c6babfa8
bfa0: c0035b60 c0092aac 00000004 4017c798 00000001 000af408 00000004
00000000
bfc0: 00000004 4017c798 000af408 00000004 400178e0 00000000 00000001
00000000
bfe0: 00000000 befff9ac 40115a4c 40115a68 60000010 00000001 00000000
efffffff
Backtrace:
[<c0069854>] (add_wait_queue+0x0/0x74) from [<c01e6124>]
(__mmc_claim_host+0x70/0x148)
[<c01e60b4>] (__mmc_claim_host+0x0/0x148) from [<c01e7270>]
(mmc_suspend_host+0x1c/0x3c)
[<c01e7254>] (mmc_suspend_host+0x0/0x3c) from [<c01ea804>]
(davinci_mmcsd_suspend+0x34/0x40)
 r4 = C02F0590
[<c01ea7d0>] (davinci_mmcsd_suspend+0x0/0x40) from [<c0173ff0>]
(platform_suspend+0x38/0x8c)
[<c0173fb8>] (platform_suspend+0x0/0x8c) from [<c01751f4>]
(suspend_device+0x3c/0x48)
 r5 = C02F0620  r4 = C02FF464
[<c01751b8>] (suspend_device+0x0/0x48) from [<c01752c0>]
(device_suspend+0xc0/0x200)
[<c0175200>] (device_suspend+0x0/0x200) from [<c006fa70>]
(enter_state+0xc0/0x198)
[<c006f9b0>] (enter_state+0x0/0x198) from [<c006fc78>]
(state_store+0x80/0x90)
 r8 = 00000004  r7 = 00000003  r6 = 00000003  r5 = C02F283C
 r4 = C6CA8000
[<c006fbf8>] (state_store+0x0/0x90) from [<c00c8e2c>]
(subsys_attr_store+0x2c/0x38)
 r8 = C717D878  r7 = 00000000  r6 = C717D860  r5 = 000AF408
 r4 = 00000004
[<c00c8e00>] (subsys_attr_store+0x0/0x38) from [<c00c911c>]
(sysfs_write_file+0x110/0x15c)
[<c00c900c>] (sysfs_write_file+0x0/0x15c) from [<c00929f0>]
(vfs_write+0xc0/0xf8)
[<c0092930>] (vfs_write+0x0/0xf8) from [<c0092ae4>] (sys_write+0x48/0x74)
 r7 = 00000004  r6 = C6DB96C0  r5 = 00000000  r4 = 00000000
[<c0092a9c>] (sys_write+0x0/0x74) from [<c0035b60>]
(ret_fast_syscall+0x0/0x2c)
 r6 = 000AF408  r5 = 4017C798  r4 = 00000004
Code: e5823004 e590c000 e281300c e581c00c (e58c3004)
 <6>note: bash[1076] exited with preempt_count 1
BUG: scheduling while atomic: bash/0x40000001/1076
caller is __cond_resched+0x60/0x80
BUG: scheduling while atomic: bash/0x40000001/1076
caller is __cond_resched+0x60/0x80
BUG: scheduling while atomic: bash/0x40000001/1076
caller is __cond_resched+0x60/0x80
BUG: scheduling while atomic: bash/0x40000001/1076
caller is __cond_resched+0x60/0x80
BUG: scheduling while atomic: bash/0x40000001/1076
caller is __cond_resched+0x60/0x80
BUG: scheduling while atomic: bash/0x00000001/1076
caller is do_exit+0xd3c/0xda0


Please let me know where should I look for the problem.

Thanks,
azam.

INAGAKI Takahiko
Tue, 28 Oct 2008 22:26:48 -0700

Dear all,

I and Suzuki made a patch to bring the DM355 into Deep Sleep Mode.
It is for TI LSP 1.20 (Linux 2.6.10), and based on:
http://www.mail-archive.com/[email protected]/msg04407.html

Running command below, DM355 will go to Deep Sleep Mode:
  # echo mem > /sys/power/state

In the process, DM355 sends a register write command to MSP430,
offset = 0x19 and data = 0. You should implement a register 0x19
write function for MSP430 to assert its DS_ENABLE pin low. Asserted
DS_ENABLE pin high, DM355 will exit Deep Sleep Mode.

A proglem is that this code stops the ARM subsystem, but its consumption
current does not seem to change.

Any idea to reduce the current is welcome.

INAGAKI Takahiko
_______________________________________________
Davinci-linux-open-source mailing list
[email protected]
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source

Reply via email to