On 7/26/2018 8:04 AM, Baolin Wang wrote:
Hi,
On 26 July 2018 at 09:59, Baolin Wang <baolin.wang@xxxxxxxxxx> wrote:
Hi,
On 26 July 2018 at 06:01, Dave Gerlach <d-gerlach@xxxxxx> wrote:
Hi,
On 07/25/2018 08:10 AM, Keerthy wrote:
Hi Baolin,
commit 39232ed5a1793f67b11430c43ed8a9ed6e96c6eb
Author: Baolin Wang <baolin.wang@xxxxxxxxxx>
Date: Tue Jul 17 15:55:16 2018 +0800
time: Introduce one suspend clocksource to compensate the suspend time
This patch seems to have broken suspend to memory on AM437x-gp-evm on
linux-next. 4.18-rc6 works well linux-next has this broken on
am437x-gp-evm and i could bisect to the above patch.
Could you point out which clocksource (or clocksource driver) is used
on AM437x-gp-evm?
If you have one non-stop clocksource, maybe you have suspended it when
system suepends, but we should not.
I am not sure what is the problem with your AM437x-gp-evm board, but I
will help to look at your clocksource driver to find the reason.
I did a little investigation, you will use "arm_global_timer" as the
clocksource for timekeeping, right?
But "arm_global_timer" is not a non-stop clocksource, so that means
you will not compensate the suspend time from non-stop clocksource.
Or you have another non-stop clocksource on this board that I missed?
(Sorry, I am not familiar with AM437x-gp-evm)
Baolin,
For AM437X we are using gptimer1 as clocksource which is in always-on
domain. We do idle that during suspend and enable it back during resume.
I tried removing suspend/resume hooks but that did not help either.
Dave,
Feel free to add more details.
- Keerthy
I was able to capture the following using no_console_suspend:
root@am437x-evm:~# echo no > /sys/module/printk/parameters/console_suspend
root@am437x-evm:~# echo mem > /sys/power/state
[ 225.177180] PM: suspend entry (deep)
[ 225.182069] PM: Syncing filesystems ... done.
[ 225.230947] Freezing user space processes ... (elapsed 0.005 seconds) done.
[ 225.245154] OOM killer disabled.
[ 225.248592] Freezing remaining freezable tasks ... (elapsed 0.002 seconds) done.
[ 225.609865] Disabling non-boot CPUs ...
[ 225.614573] Unhandled fault: imprecise external abort (0x1406) at 0xf4517000
[ 225.614573] pgd = 9592fa65
[ 225.614573] [f4517000] *pgd=ad3cf811, *pte=fe24124f, *ppte=fe24101f
[ 225.614573] Internal error: : 1406 [#1] SMP ARM
[ 225.614573] Modules linked in: xhci_plat_hcd omapdrm xhci_hcd drm_kms_helper
cfbfillrect syscopyarea cfbimgblt sysfillrect sysimgblt fb_sys_fops usbcore
cfbcopyarea drm joydev evdev mousedev dwc3 drm_panel_orientation_quirks udc_core u4
[ 225.614573] CPU: 0 PID: 695 Comm: sh Not tainted 4.18.0-rc6-next-20180725 #1
[ 225.614573] Hardware name: Generic AM43 (Flattened Device Tree)
[ 225.614573] PC is at timekeeping_update+0x0/0x160
[ 225.614573] LR is at timekeeping_suspend+0xb8/0x32c
[ 225.614573] pc : [<c01d77f8>] lr : [<c01d9320>] psr: 600f0093
[ 225.614573] sp : ed67fd60 ip : 00000006 fp : c0601190
[ 225.614573] r10: c0e08974 r9 : c0ec2168 r8 : c0ec571c
[ 225.614573] r7 : c15e5600 r6 : c15e58a0 r5 : c15e5880 r4 : c15e5600
[ 225.614573] r3 : 00000000 r2 : 42bef1ea r1 : 00000002 r0 : c15e5658
[ 225.614573] Flags: nZCv IRQs off FIQs on Mode SVC_32 ISA ARM Segment none
[ 225.614573] Control: 10c5387d Table: ad4dc059 DAC: 00000051
[ 225.614573] Process sh (pid: 695, stack limit = 0x9a606816)
[ 225.614573] Stack: (0xed67fd60 to 0xed680000)
[ 225.614573] fd60: 00000001 00000000 c0601190 c0e08974 00000004 cbf72c59
c15e6348 600f0093
[ 225.614573] fd80: eedc5640 c0e08948 eedc56a0 c0ec28c4 c0e08974 c0e08974
200f0093 c0903440
[ 225.614573] fda0: 00000001 c15e6348 c0e08948 c01d47a8 200f0093 cbf72c59
c15e6348 00000000
[ 225.614573] fdc0: c0ec57a0 cbf72c59 c0ec571c c0e47428 c0e9b1dc c0ec57a0
c0ec2bbc c0ec571c
[ 225.614573] fde0: c0ec2168 c0e08974 00000001 c0601190 c0e08a80 c013dc70
00000000 c15d1e14
[ 225.614573] fe00: c15d1e14 00000000 c0e08940 c15d1df8 00000003 c0e08948
c0ec2bbc c01aa108
[ 225.614573] fe20: c0ec55d4 c15d1e14 c0a0502c c01aeff4 c0bb083c ed67fe54
00000000 cbf72c59
[ 225.614573] fe40: c0ec12fb c0e08948 00000003 c0ec12fb c0e08974 00000000
c0bc1038 c0ec12fb
[ 225.614573] fe60: c0a0502c c01ab0f0 c0bc1024 00000000 00000006 cbf72c59
006000c0 00000003
[ 225.614573] fe80: c0bb9dbc 00000003 c15d1e34 00000004 ed209a40 00000000
00000000 c01a8e34
[ 225.614573] fea0: 00000000 00000004 ed4b39c0 ed209a40 ed4b39d0 ed67ff80
00000000 c036f254
[ 225.614573] fec0: 00000000 00000000 00000000 ed653080 c0e08948 cbf72c59
ed653080 00000004
[ 225.614573] fee0: ed67e000 00000004 00000000 c02dea6c 00000000 600e0013
ee7b39fc 00000009
[ 225.614573] ff00: c02dedd0 c019e290 c0e87a74 ee7b39fc ee7b39fc c01bdf8c
c0ec1316 c01be488
[ 225.614573] ff20: 00000000 ee7b3a8c ee7b39fc c02e0ee0 00000001 00000000
c02dedd0 cbf72c59
[ 225.614573] ff40: 00000000 00000004 b6f16000 ed67ff80 ed653080 00000004
ed67e000 c02ded10
[ 225.614573] ff60: ed67ffb0 00000004 ed653080 ed653080 c0e08948 b6f16000
00000004 c02def28
[ 225.614573] ff80: 00000000 00000000 00000006 cbf72c59 00000004 b6f16000
b6eadd60 00000004
[ 225.614573] ffa0: c01011c4 c01011a0 00000004 b6f16000 00000001 b6f16000
00000004 00000000
[ 225.614573] ffc0: 00000004 b6f16000 b6eadd60 00000004 00000000 000a8e44
00000001 00000000
[ 225.614573] ffe0: 00000000 bee549f4 b6e11df3 b6e4d556 400e0030 00000001
00000000 00000000
[ 225.614573] [<c01d77f8>] (timekeeping_update) from [<600f0093>] (0x600f0093)
[ 225.614573] Code: e5933004 e5812000 e5813004 e8bd8070 (e3110001)
[ 225.614573] ---[ end trace f3de49703b3fa3f3 ]---
Perhaps we are now poking the clocksource while it is powered off?
Regards,
Dave
--
Baolin Wang
Best Regards
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html