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
