[Q] Constant shutting down - Nexus 4 Q&A, Help & Troubleshooting

Among other problem, my phone has started shutting down randomly after 5-15 minute. Here is the last_kmsg :
Code:
[ 1502.022310] batt_temp_monitor_work: stop charging!! state = 7 temp = -300 mvolt = 3990
[ 1502.022432] batt_temp_set_current_limit: value = 900
[ 1502.022523] batt_temp_charger_disable
[ 1502.036227] healthd: battery l=49 v=3881 t=-30.0 h=3 st=4 c=142 chg=u
[ 1502.042514] adjust_soc: ibat_ua = 142200, vbat_uv = 3901515, soc = 86, batt_temp=-300
[ 1502.093300] healthd: battery l=56 v=3897 t=-30.0 h=3 st=4 c=142 chg=u
[ 1504.182267] mdm_status_change: unexpected reset external modem id 0
120 Corrected bytes, 1 unrecoverable blocks
Boot info:
Last boot reason: hw_reset_or_poweron
Any idea ? Also the charging port is not working, I get the lightning icon but it says not charging. The only way I can charge the phone is by wireless charging

Related

Lag-on-wake idea

I have an idea for the lag on wake issue that seems endemic to the new kernel in the current TNTLite 3.x, Vegan beta 4 and stock 3389 ROMs.
I think I've confirmed this isn't an issue with Calendar, at least not in Vegan beta4, because I disabled everything Calendar related in AutoStarts and it was still happening all the time.
I've been poking around, reading about CPU governors, and exploring the /sys filesystem.
What I've found is that the default kernel seems to have only two governor settings - performance and powersave, the former of which pegs the CPU at maxfrequency and the latter pegs the CPU at minfrequency. The ondemand governor that my Nexus One uses and that a lot of Android devices use seems to be disabled here, perhaps because it doesn't play nice with Tegra2, perhaps because they just couldn't be bothered.
I believe what's happening is that when the G Tablet is asleep for a longer period of time, the governor gets set to powersave mode. When the G Tablet wakes up it's presumably supposed to be set back to performance mode. Apparently that isn't happening all the time.
My proposal to confirm this is to try to get the lag condition to happen again, then to issue the following commands from the terminal window and see if the issue resolves itself:
Code:
sudo echo performance > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
sudo echo performance > /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor
It's also possible that since the governor is getting truly stuck in the powersave mode, this won't successfully "unstick" it. But it's worth trying - if we can confirm that this is what's happening, I suspect we can hack our way to a proper fix, especially now that we have the kernel source as of about an hour ago.
Going to try sleeping my tablet for a while, see if this gets me anywhere... will update...
EDIT: this doesn't fix the issue once it happens. But I can confirm that when it's lagging which just happened after an hour's sleep, that cpuinfo_cur_freq file shows 216000 (even though I had minfreq set in OC Widget to 528000, hmm). So it's obviously getting stuck at that very, very slow clock setting.
Also, I was at 85% battery when this happened, so it's not only at low battery readings that this occurs, at least on beta4 of Vegan.
This all confirms to me that I am on the right track, this is absolutely an issue with the governor.
-----------------------------------------------------------------------------------------------
EDIT: Adding this summary of the thread below.
Update.zip files with alternate kernels for users of Vegan b4 and TNTLite 3.1.x ROMs (see these posts):
For Vegan beta4:
http://forum.xda-developers.com/showpost.php?p=10138407&postcount=112
For TNTLite (vsc build)
http://forum.xda-developers.com/showpost.php?p=10170515&postcount=206
Information for kernel developers:
We identified two patches to fix the lag-on-wake issue. These patches are:
http://nv-tegra.nvidia.com/gitweb/?...it;h=24026696dcd728be545c07fcd3b4bd7e1483c553
http://nv-tegra.nvidia.com/gitweb/?...it;h=01a0b8146665a17dd063b4b8e2fe80e5bd795c22
The first of these appears to be the critical one, the latter to handle some possible corner case issues.
Additionally, there is an issue with the kernel config that affected apps trying to install to the SD card. We fixed that using a subset of the patch here:
http://nv-tegra.nvidia.com/gitweb/?...it;h=555d0c0e5b9a86b5e291216d59406709b34480d6
Specifically, my subset patch is posted at this location: http://forum.xda-developers.com/showpost.php?p=10168177&postcount=5
Synopsis of what we learned:
Under certain conditions (LP1 suspend?), when the Tegra 2 was in a suspend state and a driver returned an error on wake-up, there is a step in the resume process where the voltage was supposed to be reset to the CPU, and that step was getting skipped. When the voltage was stuck low, the CPU would get stuck at minimum frequency, 216MHz and couldn't be pushed back to 1GHz or any other setting by the governor. There was a patch from NVidia that fixed this behavior, from a newer branch of the Tegra 2 source code than what Viewsonic used. We integrated this patch and found that indeed, it resolved the problem.
I had this issue with 3.0 but I reinstalled the ROM and did a data, cash and delvik wipe and have not had the issue since.
The first install I did not do a wipe and ran into the lag issue. But ever since I did the reinstall with the wipe I have not had any slow downs at all.
EDIT: Disregard the above, the lag came back.
mzimand said:
I had this issue with 3.0 but I reinstalled the ROM and did a data, cash and delvik wipe and have not had the issue since.
The first install I did not do a wipe and ran into the lag issue. But ever since I did the reinstall with the wipe I have not had any slow downs at all.
Click to expand...
Click to collapse
First thing I want to say is that I'm not a dev.
However I've been playing with the lag issue for a while since I updated as soon as the update showed on my Tablet and it showed pretty quickly for me. I didn't think this issue was related to the calendar problem that roth mentioned because I experienced it before I even installed GApps to my tablet.
I suspected some power saving issue from the beginning and what I've also noticed is no matter how long it sleeps, it doesn't happen at a certain battery level....in my case I went from 100% to ~45% and had no slowdown, even after sleeping.
So if you're at anything above 60% for example and sleep or don't use the tablet for even the hour or more, when you get back to it - it's just as fast as you left it.
In my experience, this happens when the Tablet is at roughly 30% - maybe a bit more, maybe less depending on your battery calibration and readings.
In order to really test this - wait until your tablet is at 20-30% and then leave it alone or make it sleep and try it to see if it slows down. If it does not, then maybe you're on to something with wiping the data/cache/dalvik. If you indeed show no signs of slowdown, I will try wiping as well in order to confirm so pls let me know when you can. Thanks.
The reason I think this might not be kernel related is that I ran Vegan for a couple weeks straight without issues. Each time I install a new ROM I can recreate the issue when it has a clean data partition. If I restore my old data partition I well cease to see the lag on wake. I have tested and tested this, and each time it is related to the data partition.
It really is a shot it the dark looking at anything, but my bet is on some type of thread that is being called either on wakeup or before sleep that stalls out. Many apps use that time to sync, or read from disk.
Here is what I found tonight after some testing:
1.) Once the processor drops to the 216000 freq it's pretty much stuck there till you reboot. Couldn't find a way to snap it out of it.
2.) On a clean boot my cpuinfo_cur_freq file fluctuates between 246406 and 286484, but there is no slowness. Everything is blazing fast. Weird...
3.) After booting, setting cpu0's scaling_min_freq file to 1000000 does, in fact, change the speed listed in cpuinfo_cur_freq for both cpus.
4.) Overclock Widget doesn't set the governor profile "performance". It only sets the min and max speed. I think this may be part of the problem.
5.) Running "tegrastats -max" from a term is supposed to disable CPU frequency changes and enable max speed.
As a test I set the freq and governor, and also ran tegrastats. We'll see how the tab does in the morning.
anlog said:
Here is what I found tonight after some testing:
1.) Once the processor drops to the 216000 freq it's pretty much stuck there till you reboot. Couldn't find a way to snap it out of it.
2.) On a clean boot my cpuinfo_cur_freq file fluctuates between 246406 and 286484, but there is no slowness. Everything is blazing fast. Weird...
3.) After booting, setting cpu0's scaling_min_freq file to 1000000 does, in fact, change the speed listed in cpuinfo_cur_freq for both cpus.
4.) Overclock Widget doesn't set the governor profile "performance". It only sets the min and max speed. I think this may be part of the problem.
5.) Running "tegrastats -max" from a term is supposed to disable CPU frequency changes and enable max speed.
As a test I set the freq and governor, and also ran tegrastats. We'll see how the tab does in the morning.
Click to expand...
Click to collapse
I'm glad somebody else is observing the same thing about "sticking" at 216MHz - it's hard to imagine that isn't related to the slowdown. It would also roughly explain the magnitude of shift in the Quadrant scores observed during the slowdown. Your clean boot behavior and mine are different because I've been running Overclock Widget. Also, if the cpu_info_curfreq is fluctuating that implies the governor is changing the frequency.
Good find on the tegrastats command, I wasn't aware of that one. I'm fairly hopeful you won't see the slowdown after running that.
Another thing - I'm starting to pick through the kernel source diffs a bit (I can't even get the kernel to build, as it seems to be angry that my Linux boxes are all 64 bit). I decided to peek through dmesg and see if it gave us any clues.
Lots of good info on the suspend/resume cycling in dmesg. Going to see if I can get this sucker to lag out again and then look at dmesg output to see if there are any clues.
I got the lag with 3.0 and never went into sleep mode. Seems the lag issue is random to any rom with the newest kernel.
rcgabriel said:
I'm glad somebody else is observing the same thing about "sticking" at 216MHz - it's hard to imagine that isn't related to the slowdown. It would also roughly explain the magnitude of shift in the Quadrant scores observed during the slowdown. Your clean boot behavior and mine are different because I've been running Overclock Widget. Also, if the cpu_info_curfreq is fluctuating that implies the governor is changing the frequency.
Good find on the tegrastats command, I wasn't aware of that one. I'm fairly hopeful you won't see the slowdown after running that.
Another thing - I'm starting to pick through the kernel source diffs a bit (I can't even get the kernel to build, as it seems to be angry that my Linux boxes are all 64 bit). I decided to peek through dmesg and see if it gave us any clues.
Lots of good info on the suspend/resume cycling in dmesg. Going to see if I can get this sucker to lag out again and then look at dmesg output to see if there are any clues.
Click to expand...
Click to collapse
UPDATE:
1.) Just wanted to clarify that even though the CPU speed was fluctuating in the 200,000's after a clean boot, it felt like it was running at 1ghz speed. Not sure what that's all about, but it seems that anything other than 216,000 = fast.
2.) I don't believe Overclock Widget is designed for multiple processors. While setting the parameter of one CPU usually scales the other, I've seen a couple of bugs with Overclock Widget where the parameters of one CPU were changed but not the other. I think a script running at boot to set the parameters and run tegrastats would be better
3.) The "performance" governor has to be manually set for both cpus.
4.) I'm not 100% certain tegrastats actually does anything with our build. I don't get an error when running it, but I do know that it definitely doesn't take the unit out of "slow" mode. Hopefully it keeps it from dropping if run at boot time.
5.) After leaving the unit sleeping and charging last night, this morning I am still at 1ghz. So far so good!
Okay, minor step - I managed to get into the lag state again and capture the wakeup activity from dmesg. Attached is what happened in dmesg when the system tried to wakeup:
Code:
<4>[ 2896.054620] Enabling non-boot CPUs ...
<4>[ 2896.094664] CPU1: Booted secondary processor
<7>[ 2896.094840] CPU0 attaching NULL sched-domain.
<7>[ 2896.257924] CPU0 attaching sched-domain:
<7>[ 2896.257966] domain 0: span 0-1 level CPU
<7>[ 2896.258006] groups: 0 1
<7>[ 2896.258069] CPU1 attaching sched-domain:
<7>[ 2896.258102] domain 0: span 0-1 level CPU
<7>[ 2896.258136] groups: 1 0
<4>[ 2896.258729] CPU1 is up
<4>[ 2896.265833] *** Wakeup from LP1 ***
<6>[ 2896.275836] tegra_uart tegra_uart.1: tegra_uart_resume called
<6>[ 2896.281719] tegra_uart tegra_uart.2: tegra_uart_resume called
<6>[ 2896.287588] tegra_uart tegra_uart.3: tegra_uart_resume called
<6>[ 2896.293450] tegra_uart tegra_uart.4: tegra_uart_resume called
<6>[ 2896.299635] wakeup wake lock: mmc_delayed_work
<4>[ 2896.304965] Resume SDIO2Resume SDIO3switch-dock: dock_switch_work_func
<4>[ 2896.384399] switch-dock: desktop_dock = 0switch-dock: state = 0
<4>[ 2896.390585] h2w: off
<6>[ 2896.536957] usb 1-1: reset high speed USB device using tegra-ehci and address 2
<4>[ 2896.880520] Restarting tasks ...
<6>[ 2896.885505] nvrm_notifier_show: blocking
<4>[ 2896.900670] done.
<6>[ 2896.902777] tegra_pm_notifier: start processing event=4
<6>[ 2896.910332] notify_daemon: wait for nvrm_daemon
<6>[ 2896.933747] nvrm_notifier_show: returning with 'PM_POST_SUSPEND'
<6>[ 2896.947458] nvrm_notifier_show: blocking
<6>[ 2896.960167] tegra_pm_notifier: finished processing event=4
<6>[ 2896.976796] suspend: exit suspend, ret = 0 (2010-12-25 17:58:31.059770041 UTC)
<6>[ 2897.646318] PM: Syncing filesystems ... done.
<6>[ 2897.853777] tegra_pm_notifier: start processing event=3
<6>[ 2897.853814] nvrm_notifier_show: returning with 'PM_SUSPEND_PREPARE'
<6>[ 2897.853997] notify_daemon: wait for nvrm_daemon
<6>[ 2897.857518] nvrm_notifier_show: blocking
<6>[ 2897.857544] tegra_pm_notifier: finished processing event=3
<4>[ 2897.857558] Freezing user space processes ...
<6>[ 2897.862377] nvrm_notifier_show: false wakeup, returning with '\n'
<4>[ 2897.897408] (elapsed 0.03 seconds) done.
<4>[ 2897.901342] Freezing remaining freezable tasks ... (elapsed 0.00 seconds) done.
<6>[ 2897.946079] tegra_grhost tegra_grhost: suspending
<6>[ 2897.995191] tegra_grhost tegra_grhost: suspended
<4>[ 2898.000022] Suspend SDIO3Suspend SDIO2
<6>[ 2898.003762] tegra_uart tegra_uart.4: tegra_uart_suspend called
<6>[ 2898.009875] tegra_uart tegra_uart.3: tegra_uart_suspend called
<6>[ 2898.015848] tegra_uart tegra_uart.2: tegra_uart_suspend called
<6>[ 2898.021775] tegra_uart tegra_uart.1: tegra_uart_suspend called
<4>[ 2898.029954] DVFS set core at 1200mV
<4>[ 2898.039188] RM power state before suspend: Active (2)
<6>[ 2898.044378] wakeup wake lock: dhd_wake_lock
<4>[ 2898.048660] Active Module: 0x16
<4>[ 2898.060829] Disabling non-boot CPUs ...
<7>[ 2898.064739] CPU0 attaching NULL sched-domain.
<7>[ 2898.064786] CPU1 attaching NULL sched-domain.
<7>[ 2898.166172] CPU0 attaching NULL sched-domain.
<5>[ 2898.166901] CPU1: clean shutdown
<4>[ 2903.940840] Enabling non-boot CPUs ...
<4>[ 2903.985153] CPU1: Booted secondary processor
<7>[ 2903.985351] CPU0 attaching NULL sched-domain.
<7>[ 2904.161206] CPU0 attaching sched-domain:
<7>[ 2904.161247] domain 0: span 0-1 level CPU
<7>[ 2904.161288] groups: 0 1
<7>[ 2904.161350] CPU1 attaching sched-domain:
<7>[ 2904.161383] domain 0: span 0-1 level CPU
<7>[ 2904.161418] groups: 1 0
<4>[ 2904.162007] CPU1 is up
<4>[ 2904.169112] *** Wakeup from LP1 ***
<4>[ 2904.173194] PMU Resume Irq. In 1, 1 --> Send First KEY_F4(LP1) -->Send a simulate KEY_F4 ****
<6>[ 2904.192091] tegra_uart tegra_uart.1: tegra_uart_resume called
<6>[ 2904.205609] tegra_uart tegra_uart.2: tegra_uart_resume called
<6>[ 2904.211490] tegra_uart tegra_uart.3: tegra_uart_resume called
<6>[ 2904.217356] tegra_uart tegra_uart.4: tegra_uart_resume called
<4>[ 2904.389852] LP1(PMU flag set) -->Out.
<4>[ 2904.394220] Resume SDIO2Resume SDIO3h2w: offswitch-dock: dock_switch_work_func
<4>[ 2904.475173] switch-dock: desktop_dock = 0switch-dock: state = 0
<6>[ 2904.909094] usb 1-1: reset high speed USB device using tegra-ehci and address 2
<4>[ 2905.452278] Restarting tasks ...
<6>[ 2905.457281] nvrm_notifier_show: blocking
<4>[ 2905.464230] dhdsdio_htclk: HT Avail request error: -35
<6>[ 2905.470039] request_suspend_state: wakeup (3->0) at 665179051856 (2010-12-25 17:58:39.181279035 UTC)
<4>[ 2905.481490] done.
<6>[ 2905.485183] tegra_pm_notifier: start processing event=4
<6>[ 2905.490567] notify_daemon: wait for nvrm_daemon
<6>[ 2905.506260] nvrm_notifier_show: returning with 'PM_POST_SUSPEND'
<6>[ 2905.515835] request_suspend_state: sleep (0->3) at 665224872861 (2010-12-25 17:58:39.227104040 UTC)
<6>[ 2905.525994] tegra_pm_notifier: finished processing event=4
<6>[ 2905.526044] nvrm_notifier_show: blocking
<6>[ 2905.542803] suspend: exit suspend, ret = 0 (2010-12-25 17:58:39.254074042 UTC)
<6>[ 2909.383679] PM: Syncing filesystems ... done.
<6>[ 2909.570068] tegra_pm_notifier: start processing event=3
<6>[ 2909.570106] nvrm_notifier_show: returning with 'PM_SUSPEND_PREPARE'
<6>[ 2909.570293] notify_daemon: wait for nvrm_daemon
<6>[ 2909.574045] nvrm_notifier_show: blocking
<6>[ 2909.574071] tegra_pm_notifier: finished processing event=3
<4>[ 2909.574085] Freezing user space processes ...
<6>[ 2909.579063] nvrm_notifier_show: false wakeup, returning with '\n'
<4>[ 2909.614570] (elapsed 0.04 seconds) done.
<4>[ 2909.618506] Freezing remaining freezable tasks ... (elapsed 0.00 seconds) done.
<6>[ 2909.645993] tegra_grhost tegra_grhost: suspending
<6>[ 2909.650737] tegra_grhost tegra_grhost: suspended
<4>[ 2909.655579] Suspend SDIO3Suspend SDIO2
<6>[ 2909.659274] tegra_uart tegra_uart.4: tegra_uart_suspend called
<6>[ 2909.665485] tegra_uart tegra_uart.3: tegra_uart_suspend called
<6>[ 2909.671440] tegra_uart tegra_uart.2: tegra_uart_suspend called
<6>[ 2909.677400] tegra_uart tegra_uart.1: tegra_uart_suspend called
<4>[ 2909.685695] DVFS set core at 1200mV
<4>[ 2909.695809] RM power state before suspend: Active (2)
<4>[ 2909.700946] Active Module: 0x16
<4>[ 2909.713166] Disabling non-boot CPUs ...
<7>[ 2909.717075] CPU0 attaching NULL sched-domain.
<7>[ 2909.717120] CPU1 attaching NULL sched-domain.
<7>[ 2909.823323] CPU0 attaching NULL sched-domain.
<5>[ 2909.824083] CPU1: clean shutdown
<4>[ 2913.962567] Enabling non-boot CPUs ...
<4>[ 2914.005848] CPU1: Booted secondary processor
<7>[ 2914.006025] CPU0 attaching NULL sched-domain.
<7>[ 2914.147290] CPU0 attaching sched-domain:
<7>[ 2914.147332] domain 0: span 0-1 level CPU
<7>[ 2914.147373] groups: 0 1
<7>[ 2914.147437] CPU1 attaching sched-domain:
<7>[ 2914.147469] domain 0: span 0-1 level CPU
<7>[ 2914.147505] groups: 1 0
<4>[ 2914.148092] CPU1 is up
<4>[ 2914.155196] *** Wakeup from LP1 ***
<4>[ 2914.159175] gpio_keys_isr
<4>[ 2914.161937] gpio_keys_isr
<6>[ 2914.169912] tegra_uart tegra_uart.1: tegra_uart_resume called
<6>[ 2914.175793] tegra_uart tegra_uart.2: tegra_uart_resume called
<6>[ 2914.181661] tegra_uart tegra_uart.3: tegra_uart_resume called
<6>[ 2914.187688] tegra_uart tegra_uart.4: tegra_uart_resume called
<4>[ 2914.194418] Resume SDIO2
<6>[ 2914.196870] wakeup wake lock: mmc_delayed_work
<4>[ 2914.202368] Resume SDIO3switch-dock: dock_switch_work_func
<4>[ 2914.298461] switch-dock: desktop_dock = 0h2w: offgpio_keys_isr
<4>[ 2914.327263] switch-dock: state = 0
<4>[ 2914.339183] Restarting tasks ...
<6>[ 2914.355481] nvrm_notifier_show: blocking
<4>[ 2914.379544] done.
<6>[ 2914.381480] tegra_pm_notifier: start processing event=4
<6>[ 2914.397254] nvrm_notifier_show: returning with 'PM_POST_SUSPEND'
<6>[ 2914.403283] notify_daemon: wait for nvrm_daemon
<6>[ 2914.409378] nvrm_notifier_show: blocking
<6>[ 2914.415203] tegra_pm_notifier: finished processing event=4
<6>[ 2914.435267] suspend: exit suspend, ret = 0 (2010-12-25 17:58:48.597119011 UTC)
<6>[ 2914.454982] usb 1-1: reset high speed USB device using tegra-ehci and address 2
<4>[ 2914.481208] gpio_keys_isr
<4>[ 2914.483839] gpio_keys_isr
<4>[ 2914.552830] gpio_keys_isr
<6>[ 2914.695077] PM: Syncing filesystems ... gpio_keys_isr
<4>[ 2914.760382] gpio_keys_isr
<4>[ 2914.876996] gpio_keys_isr
<4>[ 2914.965104] done.
<6>[ 2914.980288] tegra_pm_notifier: start processing event=3
<6>[ 2914.985553] notify_daemon: wait for nvrm_daemon
<6>[ 2914.985567] nvrm_notifier_show: returning with 'PM_SUSPEND_PREPARE'
<6>[ 2914.997591] tegra_pm_notifier: finished processing event=3
<6>[ 2914.997655] nvrm_notifier_show: blocking
<4>[ 2915.008522] Freezing user space processes ...
<6>[ 2915.017796] nvrm_notifier_show: false wakeup, returning with '\n'
<4>[ 2915.024342] (elapsed 0.00 seconds) done.
<4>[ 2915.028285] Freezing remaining freezable tasks ... (elapsed 0.00 seconds) done.
<4>[ 2915.041537] gpio_keys_isr
<6>[ 2915.074420] tegra_grhost tegra_grhost: suspending
<4>[ 2915.170193] gpio_keys_isr
<4>[ 2915.295102] gpio_keys_isr
<4>[ 2915.337013] SO340010: gpio_val=0xc0980000, button_val = 0xdbb90000
<4>[ 2915.404565] gpio_keys_isr
<6>[ 2915.443428] tegra_grhost tegra_grhost: suspended
<4>[ 2915.448202] Suspend SDIO3Suspend SDIO2
<6>[ 2915.451865] tegra_uart tegra_uart.4: tegra_uart_suspend called
<6>[ 2915.458008] tegra_uart tegra_uart.3: tegra_uart_suspend called
<6>[ 2915.463961] tegra_uart tegra_uart.2: tegra_uart_suspend called
<6>[ 2915.469880] tegra_uart tegra_uart.1: tegra_uart_suspend called
<4>[ 2915.477918] DVFS set core at 1200mV
<3>[ 2915.482118] pm_noirq_op(): platform_pm_suspend_noirq+0x0/0x40 returns -11
<3>[ 2915.488936] PM: Device power.0 failed to suspend late: error -11
<3>[ 2915.495195] PM: Some devices failed to power down
<6>[ 2915.505268] tegra_uart tegra_uart.1: tegra_uart_resume called
<6>[ 2915.511197] tegra_uart tegra_uart.2: tegra_uart_resume called
<6>[ 2915.517116] tegra_uart tegra_uart.3: tegra_uart_resume called
<6>[ 2915.522986] tegra_uart tegra_uart.4: tegra_uart_resume called
<4>[ 2915.529681] Resume SDIO2
<6>[ 2915.532135] wakeup wake lock: mmc_delayed_work
<4>[ 2915.537642] Resume SDIO3gpio_keys_isr
<4>[ 2915.623091] switch-dock: dock_switch_work_func
<4>[ 2915.627735] h2w: offswitch-dock: desktop_dock = 0switch-dock: state = 0
<4>[ 2915.679249] gpio_keys_isr
<4>[ 2915.799761] gpio_keys_isr
<6>[ 2915.826060] usb 1-1: reset high speed USB device using tegra-ehci and address 2
<4>[ 2915.901172] gpio_keys_isr
<4>[ 2916.220150] gpio_keys_isr
<4>[ 2916.315085] gpio_keys_isr
<4>[ 2916.398396] Restarting tasks ...
<6>[ 2916.408347] nvrm_notifier_show: blocking
<4>[ 2916.417953] done.
<6>[ 2916.419922] tegra_pm_notifier: start processing event=4
<6>[ 2916.425395] nvrm_notifier_show: returning with 'PM_POST_SUSPEND'
<6>[ 2916.429205] notify_daemon: wait for nvrm_daemon
<6>[ 2916.437485] tegra_pm_notifier: finished processing event=4
<6>[ 2916.437648] nvrm_notifier_show: blocking
<4>[ 2916.440250] gpio_keys_isr
<6>[ 2916.453371] suspend: exit suspend, ret = 0 (2010-12-25 17:58:50.615197150 UTC)
<6>[ 2916.705173] PM: Syncing filesystems ... done.
<6>[ 2916.902603] tegra_pm_notifier: start processing event=3
<6>[ 2916.902685] nvrm_notifier_show: returning with 'PM_SUSPEND_PREPARE'
<6>[ 2916.903021] notify_daemon: wait for nvrm_daemon
<6>[ 2916.906721] nvrm_notifier_show: blocking
<6>[ 2916.906781] tegra_pm_notifier: finished processing event=3
<4>[ 2916.906813] Freezing user space processes ...
<6>[ 2916.916502] nvrm_notifier_show: false wakeup, returning with '\n'
<4>[ 2916.956909] (elapsed 0.05 seconds) done.
<4>[ 2916.960869] Freezing remaining freezable tasks ... (elapsed 0.00 seconds) done.
<6>[ 2917.006454] tegra_grhost tegra_grhost: suspending
<4>[ 2917.162623] PMU Resume Irq. In 1, 1 --> Send First KEY_F4(LP1) -->Send a simulate KEY_F4 ****
<4>[ 2917.372994] Release quickly(LP1) -->Out.
<6>[ 2917.736102] tegra_grhost tegra_grhost: suspended
<4>[ 2917.741186] Suspend SDIO3Suspend SDIO2
<6>[ 2917.745056] tegra_uart tegra_uart.4: tegra_uart_suspend called
<6>[ 2917.751211] tegra_uart tegra_uart.3: tegra_uart_suspend called
<6>[ 2917.757226] tegra_uart tegra_uart.2: tegra_uart_suspend called
<6>[ 2917.763233] tegra_uart tegra_uart.1: tegra_uart_suspend called
<4>[ 2917.770409] DVFS set core at 1200mV
<3>[ 2917.774674] pm_noirq_op(): platform_pm_suspend_noirq+0x0/0x40 returns -11
<3>[ 2917.781494] PM: Device power.0 failed to suspend late: error -11
<3>[ 2917.787780] PM: Some devices failed to power down
<6>[ 2917.797837] tegra_uart tegra_uart.1: tegra_uart_resume called
<6>[ 2917.803761] tegra_uart tegra_uart.2: tegra_uart_resume called
<6>[ 2917.809633] tegra_uart tegra_uart.3: tegra_uart_resume called
<6>[ 2917.815542] tegra_uart tegra_uart.4: tegra_uart_resume called
<4>[ 2917.822252] Resume SDIO2
<6>[ 2917.824779] wakeup wake lock: mmc_delayed_work
<4>[ 2917.830232] Resume SDIO3switch-dock: dock_switch_work_func
<4>[ 2917.914758] switch-dock: desktop_dock = 0h2w: offswitch-dock: state = 0
<6>[ 2918.072560] usb 1-1: reset high speed USB device using tegra-ehci and address 2
<4>[ 2918.763608] Restarting tasks ...
<6>[ 2918.768570] nvrm_notifier_show: blocking
<4>[ 2918.774787] done.
<6>[ 2918.776305] request_suspend_state: wakeup (3->0) at 674353826619 (2010-12-25 17:58:53.332658039 UTC)
<6>[ 2918.786076] tegra_pm_notifier: start processing event=4
<6>[ 2918.791509] notify_daemon: wait for nvrm_daemon
<6>[ 2918.796158] nvrm_notifier_show: returning with 'PM_POST_SUSPEND'
<6>[ 2918.809484] nvrm_notifier_show: blocking
<6>[ 2918.813546] tegra_pm_notifier: finished processing event=4
<6>[ 2918.819398] suspend: exit suspend, ret = 0 (2010-12-25 17:58:53.375764043 UTC)
<6>[ 2918.829644] nvrm_notifier_show: returning with 'PM_DISPLAY_ON'
<6>[ 2918.836047] notify_daemon: wait for nvrm_daemon
<4>[ 2918.840873] PM_SCREEN_IS_OFF set to 0
<6>[ 2919.188879] nvrm_notifier_show: blocking
<4>[ 2941.617843] SO340010: gpio_val=0xc0980000, button_val = 0xdbb90004
<4>[ 2941.757539] SO340010: gpio_val=0xc0980000, button_val = 0xdbb90000
<4>[ 2957.037550] SO340010: gpio_val=0xc0980000, button_val = 0xdbb90008
<4>[ 2957.167859] SO340010: gpio_val=0xc0980000, button_val = 0xdbb90000
<4>[ 2976.927540] SO340010: gpio_val=0xc0980000, button_val = 0xdbb90004
<4>[ 2977.039658] SO340010: gpio_val=0xc0980000, button_val = 0xdbb90000
I had to press the power button twice to get it to wake up since the first press didn't seem to do anything. You can see it looks like it woke, tried to suspend again, then woke again (if not even a bit more glitchy than that). There's the false wakeup, the error -11 failed to suspend - I don't think those are part of a normal, healthy wakeup procedure.
While not crystal clear to me, I suspect that something visible here, possibly the pm_noirq_op(): platform_pm_suspend_noirq+0x0/0x40 returns -11 is at the heart of the lag issue.
It would be very helpful is somebody else would try taking a dmesg snapshot after a laggy wake-up and see if you see any of the same stuff (from the terminal emulator type dmesg > /sdcard/dmesg.out and then copy the dmesg.out file from your /sdcard area to your desktop).
I'll reboot, re-sleep and see if a second dmesg snapshot looks similar, then compare to a healthy wake-up.
I built this kernel yesterday just before we left for vacation. It worked fine when I mixed it with vegan4 but had issues with making the market fix work. Tried a few times but I can't get full market functionality. It seems to fix the lag when turning it on but I forgot my tablet for further testing. If anyone is interested, just unzip and put this boot.img under vegan's zip file to replace the boot.img.
Please let me know how it goes. BTW, clockwork installation is a must.
Replicated lag-on-wake again, again the schizo suspending-and-resuming resulting in an error -11 (see time==513):
Code:
<4>[ 426.333956] Enabling non-boot CPUs ...
<4>[ 426.397867] CPU1: Booted secondary processor
<7>[ 426.398040] CPU0 attaching NULL sched-domain.
<7>[ 426.577293] CPU0 attaching sched-domain:
<7>[ 426.577335] domain 0: span 0-1 level CPU
<7>[ 426.577375] groups: 0 1
<7>[ 426.577438] CPU1 attaching sched-domain:
<7>[ 426.577471] domain 0: span 0-1 level CPU
<7>[ 426.577506] groups: 1 0
<4>[ 426.578097] CPU1 is up
<4>[ 426.585199] *** Wakeup from LP1 ***
<6>[ 426.595087] tegra_uart tegra_uart.1: tegra_uart_resume called
<6>[ 426.601029] tegra_uart tegra_uart.2: tegra_uart_resume called
<6>[ 426.606945] tegra_uart tegra_uart.3: tegra_uart_resume called
<6>[ 426.612815] tegra_uart tegra_uart.4: tegra_uart_resume called
<6>[ 426.618916] wakeup wake lock: mmc_delayed_work
<4>[ 426.624301] Resume SDIO2Resume SDIO3switch-dock: dock_switch_work_func
<4>[ 426.715163] switch-dock: desktop_dock = 0switch-dock: state = 0
<4>[ 426.721348] h2w: offRestarting tasks ...
<6>[ 426.899672] nvrm_notifier_show: blocking
<4>[ 426.918553] done.
<6>[ 426.920495] tegra_pm_notifier: start processing event=4
<6>[ 426.926471] nvrm_notifier_show: returning with 'PM_POST_SUSPEND'
<6>[ 426.932745] notify_daemon: wait for nvrm_daemon
<6>[ 426.940765] nvrm_notifier_show: blocking
<6>[ 426.940789] tegra_pm_notifier: finished processing event=4
<6>[ 426.959554] suspend: exit suspend, ret = 0 (2010-12-25 18:20:05.571657007 UTC)
<6>[ 427.005290] usb 1-1: reset high speed USB device using tegra-ehci and address 2
<4>[ 429.134609] STA connect received 1
<6>[ 448.012941] PM: Syncing filesystems ... done.
<6>[ 448.426906] tegra_pm_notifier: start processing event=3
<6>[ 448.432159] nvrm_notifier_show: returning with 'PM_SUSPEND_PREPARE'
<6>[ 448.438468] notify_daemon: wait for nvrm_daemon
<6>[ 448.446870] tegra_pm_notifier: finished processing event=3
<6>[ 448.446936] nvrm_notifier_show: blocking
<4>[ 448.458098] Freezing user space processes ...
<6>[ 448.464042] nvrm_notifier_show: false wakeup, returning with '\n'
<4>[ 448.472020] (elapsed 0.00 seconds) done.
<4>[ 448.475979] Freezing remaining freezable tasks ... (elapsed 0.00 seconds) done.
<6>[ 448.505007] tegra_grhost tegra_grhost: suspending
<6>[ 448.509716] tegra_grhost tegra_grhost: suspended
<4>[ 448.514562] Suspend SDIO3Suspend SDIO2
<6>[ 448.518248] tegra_uart tegra_uart.4: tegra_uart_suspend called
<6>[ 448.524417] tegra_uart tegra_uart.3: tegra_uart_suspend called
<6>[ 448.530374] tegra_uart tegra_uart.2: tegra_uart_suspend called
<6>[ 448.536324] tegra_uart tegra_uart.1: tegra_uart_suspend called
<4>[ 448.544509] DVFS set core at 1200mV
<4>[ 448.558549] RM power state before suspend: Active (2)
<4>[ 448.563627] Active Module: 0x16
<4>[ 448.575870] Disabling non-boot CPUs ...
<7>[ 448.579787] CPU0 attaching NULL sched-domain.
<7>[ 448.579834] CPU1 attaching NULL sched-domain.
<7>[ 448.684904] CPU0 attaching NULL sched-domain.
<5>[ 448.685686] CPU1: clean shutdown
<4>[ 480.508813] Enabling non-boot CPUs ...
<4>[ 480.568298] CPU1: Booted secondary processor
<7>[ 480.568476] CPU0 attaching NULL sched-domain.
<7>[ 480.676031] CPU0 attaching sched-domain:
<7>[ 480.676072] domain 0: span 0-1 level CPU
<7>[ 480.676113] groups: 0 1
<7>[ 480.676177] CPU1 attaching sched-domain:
<7>[ 480.676210] domain 0: span 0-1 level CPU
<7>[ 480.676245] groups: 1 0
<4>[ 480.676837] CPU1 is up
<4>[ 480.683941] *** Wakeup from LP1 ***
<4>[ 480.688019] gpio_keys_isr
<6>[ 480.692014] wakeup wake lock: event0-913
<6>[ 480.698689] tegra_uart tegra_uart.1: tegra_uart_resume called
<6>[ 480.704567] tegra_uart tegra_uart.2: tegra_uart_resume called
<6>[ 480.710438] tegra_uart tegra_uart.3: tegra_uart_resume called
<6>[ 480.716372] tegra_uart tegra_uart.4: tegra_uart_resume called
<4>[ 480.723324] Resume SDIO2Resume SDIO3switch-dock: dock_switch_work_func
<4>[ 480.823245] switch-dock: desktop_dock = 0switch-dock: state = 0
<4>[ 480.829430] h2w: ongpio_keys_isr
<4>[ 480.878910] Restarting tasks ...
<6>[ 480.891029] nvrm_notifier_show: blocking
<4>[ 480.907919] done.
<6>[ 480.909857] tegra_pm_notifier: start processing event=4
<6>[ 480.915203] nvrm_notifier_show: returning with 'PM_POST_SUSPEND'
<6>[ 480.921261] notify_daemon: wait for nvrm_daemon
<6>[ 480.932125] nvrm_notifier_show: blocking
<6>[ 480.936834] tegra_pm_notifier: finished processing event=4
<6>[ 480.951908] suspend: exit suspend, ret = 0 (2010-12-25 18:20:59.573952008 UTC)
<6>[ 481.001596] usb 1-1: reset high speed USB device using tegra-ehci and address 2
<4>[ 481.347112] gpio_keys_isr
<6>[ 481.401784] PM: Syncing filesystems ... gpio_keys_isr
<4>[ 484.216910] PMU Resume Irq. In 1, 1 --> Send First KEY_F4(LP1) -->Send a simulate KEY_F4 ****
<6>[ 484.232979] request_suspend_state: wakeup (3->0) at 160183913324 (2010-12-25 18:21:02.855013324 UTC)
<4>[ 484.378285] Left2Light(noflag)-->Out.
<6>[ 484.959180] request_suspend_state: sleep (0->3) at 160910114397 (2010-12-25 18:21:03.581215397 UTC)
<4>[ 485.631786] done.
<6>[ 485.646998] tegra_pm_notifier: start processing event=3
<6>[ 485.652282] notify_daemon: wait for nvrm_daemon
<6>[ 485.652297] nvrm_notifier_show: returning with 'PM_SUSPEND_PREPARE'
<6>[ 485.666729] tegra_pm_notifier: finished processing event=3
<6>[ 485.666802] nvrm_notifier_show: blocking
<4>[ 485.678182] Freezing user space processes ...
<6>[ 485.684152] nvrm_notifier_show: false wakeup, returning with '\n'
<4>[ 485.688473]
<3>[ 485.688490] Freezing of tasks aborted after 0.00 seconds (304 tasks refusing to freeze):
<4>[ 485.688938]
<4>[ 485.688946] Restarting tasks ... done.
<6>[ 485.693044] tegra_pm_notifier: start processing event=4
<6>[ 485.693058] notify_daemon: wait for nvrm_daemon
<6>[ 485.715126] nvrm_notifier_show: returning with 'PM_POST_SUSPEND'
<6>[ 485.722917] tegra_pm_notifier: finished processing event=4
<6>[ 485.722975] nvrm_notifier_show: blocking
<6>[ 485.734571] suspend: exit suspend, ret = -16 (2010-12-25 18:21:04.356609470 UTC)
<6>[ 489.559256] PM: Syncing filesystems ... done.
<6>[ 489.853201] tegra_pm_notifier: start processing event=3
<6>[ 489.858473] notify_daemon: wait for nvrm_daemon
<6>[ 489.858495] nvrm_notifier_show: returning with 'PM_SUSPEND_PREPARE'
<6>[ 489.872985] tegra_pm_notifier: finished processing event=3
<6>[ 489.873054] nvrm_notifier_show: blocking
<4>[ 489.884355] Freezing user space processes ...
<6>[ 489.890324] nvrm_notifier_show: false wakeup, returning with '\n'
<4>[ 489.896842] (elapsed 0.00 seconds) done.
<4>[ 489.900805] Freezing remaining freezable tasks ... (elapsed 0.00 seconds) done.
<6>[ 489.931573] tegra_grhost tegra_grhost: suspending
<6>[ 489.936283] tegra_grhost tegra_grhost: suspended
<4>[ 489.941162] Suspend SDIO3Suspend SDIO2
<6>[ 489.944851] tegra_uart tegra_uart.4: tegra_uart_suspend called
<6>[ 489.951029] tegra_uart tegra_uart.3: tegra_uart_suspend called
<6>[ 489.956991] tegra_uart tegra_uart.2: tegra_uart_suspend called
<6>[ 489.962944] tegra_uart tegra_uart.1: tegra_uart_suspend called
<4>[ 489.971227] DVFS set core at 1200mV
<4>[ 489.984757] RM power state before suspend: Active (2)
<4>[ 489.989834] Active Module: 0x16
<4>[ 490.002059] Disabling non-boot CPUs ...
<7>[ 490.005968] CPU0 attaching NULL sched-domain.
<7>[ 490.006015] CPU1 attaching NULL sched-domain.
<7>[ 490.113730] CPU0 attaching NULL sched-domain.
<5>[ 490.114511] CPU1: clean shutdown
<4>[ 494.398795] Enabling non-boot CPUs ...
<4>[ 494.461892] CPU1: Booted secondary processor
<7>[ 494.462069] CPU0 attaching NULL sched-domain.
<7>[ 494.641461] CPU0 attaching sched-domain:
<7>[ 494.641503] domain 0: span 0-1 level CPU
<7>[ 494.641543] groups: 0 1
<7>[ 494.641607] CPU1 attaching sched-domain:
<7>[ 494.641640] domain 0: span 0-1 level CPU
<7>[ 494.641674] groups: 1 0
<4>[ 494.642262] CPU1 is up
<4>[ 494.649369] *** Wakeup from LP1 ***
<4>[ 494.653384] gpio_keys_isr
<6>[ 494.661558] tegra_uart tegra_uart.1: tegra_uart_resume called
<6>[ 494.667440] tegra_uart tegra_uart.2: tegra_uart_resume called
<6>[ 494.673312] tegra_uart tegra_uart.3: tegra_uart_resume called
<6>[ 494.679239] tegra_uart tegra_uart.4: tegra_uart_resume called
<4>[ 494.685965] Resume SDIO2
<6>[ 494.688420] wakeup wake lock: mmc_delayed_work
<4>[ 494.693859] Resume SDIO3switch-dock: dock_switch_work_func
<4>[ 494.770970] switch-dock: desktop_dock = 0gpio_keys_isr
<4>[ 494.776252] switch-dock: state = 0
<4>[ 494.779811] h2w: onRestarting tasks ...
<6>[ 494.823447] nvrm_notifier_show: blocking
<4>[ 494.847457] done.
<6>[ 494.849538] tegra_pm_notifier: start processing event=4
<6>[ 494.854787] notify_daemon: wait for nvrm_daemon
<6>[ 494.854807] nvrm_notifier_show: returning with 'PM_POST_SUSPEND'
<6>[ 494.870807] nvrm_notifier_show: blocking
<6>[ 494.886154] tegra_pm_notifier: finished processing event=4
<6>[ 494.939900] usb 1-1: reset high speed USB device using tegra-ehci and address 2
<6>[ 494.951799] suspend: exit suspend, ret = 0 (2010-12-25 18:21:13.632966013 UTC)
<4>[ 495.095388] gpio_keys_isr
<4>[ 495.171339] gpio_keys_isr
<4>[ 495.265635] gpio_keys_isr
<4>[ 495.324107] gpio_keys_isr
<6>[ 495.380095] PM: Syncing filesystems ... gpio_keys_isr
<4>[ 495.512617] gpio_keys_isr
<4>[ 495.661902] gpio_keys_isr
<4>[ 495.710074] done.
<6>[ 495.720079] tegra_pm_notifier: start processing event=3
<6>[ 495.720116] nvrm_notifier_show: returning with 'PM_SUSPEND_PREPARE'
<6>[ 495.720293] notify_daemon: wait for nvrm_daemon
<6>[ 495.743127] nvrm_notifier_show: blocking
<6>[ 495.747069] tegra_pm_notifier: finished processing event=3
<4>[ 495.752748] Freezing user space processes ...
<6>[ 495.760286] nvrm_notifier_show: false wakeup, returning with '\n'
<4>[ 495.766643] (elapsed 0.00 seconds) done.
<4>[ 495.770600] Freezing remaining freezable tasks ... (elapsed 0.00 seconds) done.
<6>[ 495.819838] tegra_grhost tegra_grhost: suspending
<6>[ 495.959112] tegra_grhost tegra_grhost: suspended
<4>[ 495.963913] Suspend SDIO3Suspend SDIO2
<6>[ 495.967663] tegra_uart tegra_uart.4: tegra_uart_suspend called
<6>[ 495.973800] tegra_uart tegra_uart.3: tegra_uart_suspend called
<6>[ 495.979747] tegra_uart tegra_uart.2: tegra_uart_suspend called
<6>[ 495.985694] tegra_uart tegra_uart.1: tegra_uart_suspend called
<4>[ 495.993784] DVFS set core at 1200mV
<4>[ 496.005585] RM power state before suspend: Active (2)
<4>[ 496.010662] Active Module: 0x16
<4>[ 496.022866] Disabling non-boot CPUs ...
<7>[ 496.026837] CPU0 attaching NULL sched-domain.
<7>[ 496.026886] CPU1 attaching NULL sched-domain.
<7>[ 496.172300] CPU0 attaching NULL sched-domain.
<5>[ 496.173074] CPU1: clean shutdown
<4>[ 498.222010] Enabling non-boot CPUs ...
<4>[ 498.263490] CPU1: Booted secondary processor
<7>[ 498.263670] CPU0 attaching NULL sched-domain.
<7>[ 498.386579] CPU0 attaching sched-domain:
<7>[ 498.386621] domain 0: span 0-1 level CPU
<7>[ 498.386660] groups: 0 1
<7>[ 498.386725] CPU1 attaching sched-domain:
<7>[ 498.386757] domain 0: span 0-1 level CPU
<7>[ 498.386791] groups: 1 0
<4>[ 498.387380] CPU1 is up
<4>[ 498.394485] *** Wakeup from LP1 ***
<4>[ 498.398594] PMU Resume Irq. In 1, 0 --> Send First KEY_F4(LP1) -->
<6>[ 498.404650] wakeup wake lock: gpio_f4_wake
<4>[ 498.415495] Send a simulate KEY_F4 ****
<6>[ 498.421622] tegra_uart tegra_uart.1: tegra_uart_resume called
<6>[ 498.436757] tegra_uart tegra_uart.2: tegra_uart_resume called
<6>[ 498.451684] tegra_uart tegra_uart.3: tegra_uart_resume called
<6>[ 498.467021] tegra_uart tegra_uart.4: tegra_uart_resume called
<4>[ 498.561443] Release quickly(LP1) -->Out.
<4>[ 498.566280] Resume SDIO2Resume SDIO3h2w: onswitch-dock: dock_switch_work_func
<4>[ 499.198942] switch-dock: desktop_dock = 0switch-dock: state = 0
<6>[ 499.393196] usb 1-1: reset high speed USB device using tegra-ehci and address 2
<4>[ 500.415072] Restarting tasks ...
<6>[ 500.420086] nvrm_notifier_show: blocking
<6>[ 500.432446] request_suspend_state: wakeup (3->0) at 170061520136 (2010-12-25 18:21:18.720073021 UTC)
<4>[ 500.444020] done.
<6>[ 500.447932] tegra_pm_notifier: start processing event=4
<6>[ 500.454058] nvrm_notifier_show: returning with 'PM_POST_SUSPEND'
<6>[ 500.461749] notify_daemon: wait for nvrm_daemon
<6>[ 500.468825] nvrm_notifier_show: blocking
<6>[ 500.474256] tegra_pm_notifier: finished processing event=4
<6>[ 500.481222] suspend: exit suspend, ret = 0 (2010-12-25 18:21:18.768889026 UTC)
<6>[ 500.488483] nvrm_notifier_show: returning with 'PM_DISPLAY_ON'
<6>[ 500.490920] notify_daemon: wait for nvrm_daemon
<4>[ 500.500234] PM_SCREEN_IS_OFF set to 0
<6>[ 500.821240] nvrm_notifier_show: blocking
<6>[ 501.114867] request_suspend_state: sleep (0->3) at 170743970205 (2010-12-25 18:21:19.402526090 UTC)
<4>[ 502.131509] stop_drawing_early_suspend: timeout waiting for userspace to stop drawing
<4>[ 502.139372] SO340010: so340010_kbd_early_suspend() IN
<4>[ 502.145236] SO340010: so340010_kbd_early_suspend() OUT
<6>[ 502.150508] notify_daemon: wait for nvrm_daemon
<6>[ 502.150523] nvrm_notifier_show: returning with 'PM_DISPLAY_OFF'
<4>[ 502.150538] PM_SCREEN_IS_OFF set to 1
<6>[ 502.215332] nvrm_notifier_show: blocking
<6>[ 503.791096] PM: Syncing filesystems ... done.
<6>[ 504.193553] tegra_pm_notifier: start processing event=3
<6>[ 504.193579] notify_daemon: wait for nvrm_daemon
<6>[ 504.193604] nvrm_notifier_show: returning with 'PM_SUSPEND_PREPARE'
<6>[ 504.215560] tegra_pm_notifier: finished processing event=3
<4>[ 504.222117] Freezing user space processes ...
<6>[ 504.226511] nvrm_notifier_show: blocking
<6>[ 504.230637] nvrm_notifier_show: false wakeup, returning with '\n'
<4>[ 504.237318] (elapsed 0.01 seconds) done.
<4>[ 504.241256] Freezing remaining freezable tasks ... (elapsed 0.00 seconds) done.
<6>[ 504.265702] tegra_grhost tegra_grhost: suspending
<6>[ 505.163335] tegra_grhost tegra_grhost: suspended
<4>[ 505.168142] Suspend SDIO3Suspend SDIO2
<6>[ 505.171913] tegra_uart tegra_uart.4: tegra_uart_suspend called
<6>[ 505.178063] tegra_uart tegra_uart.3: tegra_uart_suspend called
<6>[ 505.184043] tegra_uart tegra_uart.2: tegra_uart_suspend called
<6>[ 505.190000] tegra_uart tegra_uart.1: tegra_uart_suspend called
<4>[ 505.198231] DVFS set core at 1200mV
<4>[ 505.208426] RM power state before suspend: Active (2)
<4>[ 505.213503] Active Module: 0x16
<4>[ 505.225777] Disabling non-boot CPUs ...
<7>[ 505.229807] CPU0 attaching NULL sched-domain.
<7>[ 505.229854] CPU1 attaching NULL sched-domain.
<7>[ 505.371149] CPU0 attaching NULL sched-domain.
<5>[ 505.371924] CPU1: clean shutdown
<4>[ 510.490962] Enabling non-boot CPUs ...
<4>[ 510.537206] CPU1: Booted secondary processor
<7>[ 510.537383] CPU0 attaching NULL sched-domain.
<4>[ 510.611430] dhdsdio_htclk: HT Avail request error: -35
<6>[ 510.632664] wakeup wake lock: dhd_watchdog_thread
<7>[ 510.695049] CPU0 attaching sched-domain:
<7>[ 510.695090] domain 0: span 0-1 level CPU
<7>[ 510.695131] groups: 0 1
<7>[ 510.695195] CPU1 attaching sched-domain:
<7>[ 510.695228] domain 0: span 0-1 level CPU
<7>[ 510.695263] groups: 1 0
<4>[ 510.695853] CPU1 is up
<4>[ 510.702960] *** Wakeup from LP1 ***
<4>[ 510.707069] gpio_keys_isr
<6>[ 510.715736] tegra_uart tegra_uart.1: tegra_uart_resume called
<6>[ 510.721722] tegra_uart tegra_uart.2: tegra_uart_resume called
<4>[ 510.727677] SO340010: gpio_val=0xc0980000, button_val = 0xdba40000
<6>[ 510.734010] tegra_uart tegra_uart.3: tegra_uart_resume called
<6>[ 510.739951] tegra_uart tegra_uart.4: tegra_uart_resume called
<4>[ 510.746657] Resume SDIO2Resume SDIO3gpio_keys_isr
<4>[ 510.821256] switch-dock: dock_switch_work_func
<4>[ 510.825815] switch-dock: desktop_dock = 0switch-dock: state = 0
<4>[ 510.831997] h2w: offRestarting tasks ... gpio_keys_isr
<6>[ 510.888704] nvrm_notifier_show: blocking
<4>[ 510.928414] done.
<6>[ 510.930350] tegra_pm_notifier: start processing event=4
<6>[ 510.949863] nvrm_notifier_show: returning with 'PM_POST_SUSPEND'
<6>[ 510.955922] notify_daemon: wait for nvrm_daemon
<6>[ 510.961800] nvrm_notifier_show: blocking
<6>[ 510.967375] tegra_pm_notifier: finished processing event=4
<6>[ 510.992735] usb 1-1: reset high speed USB device using tegra-ehci and address 2
<6>[ 511.023651] suspend: exit suspend, ret = 0 (2010-12-25 18:21:29.648418015 UTC)
<4>[ 511.050324] gpio_keys_isr
<4>[ 511.182853] gpio_keys_isr
<4>[ 511.383731] gpio_keys_isr
<4>[ 511.468647] gpio_keys_isr
<4>[ 511.623606] gpio_keys_isr
<4>[ 511.772148] gpio_keys_isr
<4>[ 511.965776] gpio_keys_isr
<6>[ 512.102903] PM: Syncing filesystems ... done.
<6>[ 512.312248] tegra_pm_notifier: start processing event=3
<6>[ 512.312289] nvrm_notifier_show: returning with 'PM_SUSPEND_PREPARE'
<6>[ 512.312477] notify_daemon: wait for nvrm_daemon
<6>[ 512.336440] nvrm_notifier_show: blocking
<6>[ 512.340379] tegra_pm_notifier: finished processing event=3
<4>[ 512.345892] Freezing user space processes ...
<6>[ 512.353673] nvrm_notifier_show: false wakeup, returning with '\n'
<4>[ 512.360104] (elapsed 0.00 seconds) done.
<4>[ 512.364062] Freezing remaining freezable tasks ... (elapsed 0.00 seconds) done.
<4>[ 512.413839] PMU Resume Irq. In 1, 1 --> Send First KEY_F4(LP1) -->Send a simulate KEY_F4 ****
<4>[ 512.824978] Release quickly(LP1) -->Out.
<6>[ 512.830109] tegra_grhost tegra_grhost: suspending
<6>[ 512.834975] tegra_grhost tegra_grhost: suspended
<4>[ 512.975485] Suspend SDIO3Suspend SDIO2
<6>[ 512.979177] tegra_uart tegra_uart.4: tegra_uart_suspend called
<6>[ 512.985291] tegra_uart tegra_uart.3: tegra_uart_suspend called
<6>[ 512.991262] tegra_uart tegra_uart.2: tegra_uart_suspend called
<6>[ 512.997212] tegra_uart tegra_uart.1: tegra_uart_suspend called
<4>[ 513.005350] DVFS set core at 1200mV
<3>[ 513.009606] pm_noirq_op(): platform_pm_suspend_noirq+0x0/0x40 returns -11
<3>[ 513.016425] PM: Device power.0 failed to suspend late: error -11
<3>[ 513.022654] PM: Some devices failed to power down
<6>[ 513.032678] tegra_uart tegra_uart.1: tegra_uart_resume called
<6>[ 513.038553] tegra_uart tegra_uart.2: tegra_uart_resume called
<6>[ 513.044418] tegra_uart tegra_uart.3: tegra_uart_resume called
<6>[ 513.050333] tegra_uart tegra_uart.4: tegra_uart_resume called
<4>[ 513.057018] Resume SDIO2
<6>[ 513.059476] wakeup wake lock: mmc_delayed_work
<4>[ 513.064946] Resume SDIO3switch-dock: dock_switch_work_func
<4>[ 513.155124] switch-dock: desktop_dock = 0switch-dock: state = 0
<4>[ 513.161310] h2w: off
<6>[ 513.303637] usb 1-1: reset high speed USB device using tegra-ehci and address 2
<4>[ 514.210503] Restarting tasks ...
<6>[ 514.215401] nvrm_notifier_show: blocking
<6>[ 514.224630] request_suspend_state: wakeup (3->0) at 178741913895 (2010-12-25 18:21:32.849360251 UTC)
<4>[ 514.238668] done.
<6>[ 514.243026] tegra_pm_notifier: start processing event=4
<6>[ 514.259163] nvrm_notifier_show: returning with 'PM_POST_SUSPEND'
<6>[ 514.268324] notify_daemon: wait for nvrm_daemon
<6>[ 514.277032] nvrm_notifier_show: blocking
<6>[ 514.282184] tegra_pm_notifier: finished processing event=4
<6>[ 514.308845] suspend: exit suspend, ret = 0 (2010-12-25 18:21:32.933580259 UTC)
<6>[ 514.340146] nvrm_notifier_show: returning with 'PM_DISPLAY_ON'
<6>[ 514.347391] notify_daemon: wait for nvrm_daemon
<4>[ 514.353767] PM_SCREEN_IS_OFF set to 0
<6>[ 514.796232] nvrm_notifier_show: blocking
<4>[ 521.222850] h2w: h2w_switch_irq_isrh2w: onSO340010: gpio_val=0xc0980000, button_val = 0xdba40004
<4>[ 533.359945] SO340010: gpio_val=0xc0980000, button_val = 0xdba40000
Going to go peek through the source and try to trace through platform_pm_suspend_noirq and see if I can figure anything out...
Oh, and @clemsyn, I already am using my own build from source of the kernel, and the issue is still there. So unless you rolled some patches into the power management/cpufreq/suspend-resume code, I bet the issue is still there in your kernel, just hasn't happened yet on your tablet since updating your kernel.
EDIT: hmm, I've found other references to that error -11 issue with other Android devices. Seems to be a symptom of rapid suspend/resume cycling. I can't tell if the suspend-resume cycle is a symptom of the slowdown or the cause though. I am now suspecting more likely a symptom than a cause, i.e. the tablet is stuck on slow CPU mode so attempts to wake take forever to go through, thus the system takes a couple button presses before it finally wakes.
rcgabriel said:
Replicated lag-on-wake again, again the schizo suspending-and-resuming resulting in an error -11 (see time==513):
Code:
<4>[ 426.333956] Enabling non-boot CPUs ...
<4>[ 426.397867] CPU1: Booted secondary processor
<7>[ 426.398040] CPU0 attaching NULL sched-domain.
<7>[ 426.577293] CPU0 attaching sched-domain:
<7>[ 426.577335] domain 0: span 0-1 level CPU
<7>[ 426.577375] groups: 0 1
<7>[ 426.577438] CPU1 attaching sched-domain:
<7>[ 426.577471] domain 0: span 0-1 level CPU
<7>[ 426.577506] groups: 1 0
<4>[ 426.578097] CPU1 is up
<4>[ 426.585199] *** Wakeup from LP1 ***
<6>[ 426.595087] tegra_uart tegra_uart.1: tegra_uart_resume called
<6>[ 426.601029] tegra_uart tegra_uart.2: tegra_uart_resume called
<6>[ 426.606945] tegra_uart tegra_uart.3: tegra_uart_resume called
<6>[ 426.612815] tegra_uart tegra_uart.4: tegra_uart_resume called
<6>[ 426.618916] wakeup wake lock: mmc_delayed_work
<4>[ 426.624301] Resume SDIO2Resume SDIO3switch-dock: dock_switch_work_func
<4>[ 426.715163] switch-dock: desktop_dock = 0switch-dock: state = 0
<4>[ 426.721348] h2w: offRestarting tasks ...
<6>[ 426.899672] nvrm_notifier_show: blocking
<4>[ 426.918553] done.
<6>[ 426.920495] tegra_pm_notifier: start processing event=4
<6>[ 426.926471] nvrm_notifier_show: returning with 'PM_POST_SUSPEND'
<6>[ 426.932745] notify_daemon: wait for nvrm_daemon
<6>[ 426.940765] nvrm_notifier_show: blocking
<6>[ 426.940789] tegra_pm_notifier: finished processing event=4
<6>[ 426.959554] suspend: exit suspend, ret = 0 (2010-12-25 18:20:05.571657007 UTC)
<6>[ 427.005290] usb 1-1: reset high speed USB device using tegra-ehci and address 2
<4>[ 429.134609] STA connect received 1
<6>[ 448.012941] PM: Syncing filesystems ... done.
<6>[ 448.426906] tegra_pm_notifier: start processing event=3
<6>[ 448.432159] nvrm_notifier_show: returning with 'PM_SUSPEND_PREPARE'
<6>[ 448.438468] notify_daemon: wait for nvrm_daemon
<6>[ 448.446870] tegra_pm_notifier: finished processing event=3
<6>[ 448.446936] nvrm_notifier_show: blocking
<4>[ 448.458098] Freezing user space processes ...
<6>[ 448.464042] nvrm_notifier_show: false wakeup, returning with '\n'
<4>[ 448.472020] (elapsed 0.00 seconds) done.
<4>[ 448.475979] Freezing remaining freezable tasks ... (elapsed 0.00 seconds) done.
<6>[ 448.505007] tegra_grhost tegra_grhost: suspending
<6>[ 448.509716] tegra_grhost tegra_grhost: suspended
<4>[ 448.514562] Suspend SDIO3Suspend SDIO2
<6>[ 448.518248] tegra_uart tegra_uart.4: tegra_uart_suspend called
<6>[ 448.524417] tegra_uart tegra_uart.3: tegra_uart_suspend called
<6>[ 448.530374] tegra_uart tegra_uart.2: tegra_uart_suspend called
<6>[ 448.536324] tegra_uart tegra_uart.1: tegra_uart_suspend called
<4>[ 448.544509] DVFS set core at 1200mV
<4>[ 448.558549] RM power state before suspend: Active (2)
<4>[ 448.563627] Active Module: 0x16
<4>[ 448.575870] Disabling non-boot CPUs ...
<7>[ 448.579787] CPU0 attaching NULL sched-domain.
<7>[ 448.579834] CPU1 attaching NULL sched-domain.
<7>[ 448.684904] CPU0 attaching NULL sched-domain.
<5>[ 448.685686] CPU1: clean shutdown
<4>[ 480.508813] Enabling non-boot CPUs ...
<4>[ 480.568298] CPU1: Booted secondary processor
<7>[ 480.568476] CPU0 attaching NULL sched-domain.
<7>[ 480.676031] CPU0 attaching sched-domain:
<7>[ 480.676072] domain 0: span 0-1 level CPU
<7>[ 480.676113] groups: 0 1
<7>[ 480.676177] CPU1 attaching sched-domain:
<7>[ 480.676210] domain 0: span 0-1 level CPU
<7>[ 480.676245] groups: 1 0
<4>[ 480.676837] CPU1 is up
<4>[ 480.683941] *** Wakeup from LP1 ***
<4>[ 480.688019] gpio_keys_isr
<6>[ 480.692014] wakeup wake lock: event0-913
<6>[ 480.698689] tegra_uart tegra_uart.1: tegra_uart_resume called
<6>[ 480.704567] tegra_uart tegra_uart.2: tegra_uart_resume called
<6>[ 480.710438] tegra_uart tegra_uart.3: tegra_uart_resume called
<6>[ 480.716372] tegra_uart tegra_uart.4: tegra_uart_resume called
<4>[ 480.723324] Resume SDIO2Resume SDIO3switch-dock: dock_switch_work_func
<4>[ 480.823245] switch-dock: desktop_dock = 0switch-dock: state = 0
<4>[ 480.829430] h2w: ongpio_keys_isr
<4>[ 480.878910] Restarting tasks ...
<6>[ 480.891029] nvrm_notifier_show: blocking
<4>[ 480.907919] done.
<6>[ 480.909857] tegra_pm_notifier: start processing event=4
<6>[ 480.915203] nvrm_notifier_show: returning with 'PM_POST_SUSPEND'
<6>[ 480.921261] notify_daemon: wait for nvrm_daemon
<6>[ 480.932125] nvrm_notifier_show: blocking
<6>[ 480.936834] tegra_pm_notifier: finished processing event=4
<6>[ 480.951908] suspend: exit suspend, ret = 0 (2010-12-25 18:20:59.573952008 UTC)
<6>[ 481.001596] usb 1-1: reset high speed USB device using tegra-ehci and address 2
<4>[ 481.347112] gpio_keys_isr
<6>[ 481.401784] PM: Syncing filesystems ... gpio_keys_isr
<4>[ 484.216910] PMU Resume Irq. In 1, 1 --> Send First KEY_F4(LP1) -->Send a simulate KEY_F4 ****
<6>[ 484.232979] request_suspend_state: wakeup (3->0) at 160183913324 (2010-12-25 18:21:02.855013324 UTC)
<4>[ 484.378285] Left2Light(noflag)-->Out.
<6>[ 484.959180] request_suspend_state: sleep (0->3) at 160910114397 (2010-12-25 18:21:03.581215397 UTC)
<4>[ 485.631786] done.
<6>[ 485.646998] tegra_pm_notifier: start processing event=3
<6>[ 485.652282] notify_daemon: wait for nvrm_daemon
<6>[ 485.652297] nvrm_notifier_show: returning with 'PM_SUSPEND_PREPARE'
<6>[ 485.666729] tegra_pm_notifier: finished processing event=3
<6>[ 485.666802] nvrm_notifier_show: blocking
<4>[ 485.678182] Freezing user space processes ...
<6>[ 485.684152] nvrm_notifier_show: false wakeup, returning with '\n'
<4>[ 485.688473]
<3>[ 485.688490] Freezing of tasks aborted after 0.00 seconds (304 tasks refusing to freeze):
<4>[ 485.688938]
<4>[ 485.688946] Restarting tasks ... done.
<6>[ 485.693044] tegra_pm_notifier: start processing event=4
<6>[ 485.693058] notify_daemon: wait for nvrm_daemon
<6>[ 485.715126] nvrm_notifier_show: returning with 'PM_POST_SUSPEND'
<6>[ 485.722917] tegra_pm_notifier: finished processing event=4
<6>[ 485.722975] nvrm_notifier_show: blocking
<6>[ 485.734571] suspend: exit suspend, ret = -16 (2010-12-25 18:21:04.356609470 UTC)
<6>[ 489.559256] PM: Syncing filesystems ... done.
<6>[ 489.853201] tegra_pm_notifier: start processing event=3
<6>[ 489.858473] notify_daemon: wait for nvrm_daemon
<6>[ 489.858495] nvrm_notifier_show: returning with 'PM_SUSPEND_PREPARE'
<6>[ 489.872985] tegra_pm_notifier: finished processing event=3
<6>[ 489.873054] nvrm_notifier_show: blocking
<4>[ 489.884355] Freezing user space processes ...
<6>[ 489.890324] nvrm_notifier_show: false wakeup, returning with '\n'
<4>[ 489.896842] (elapsed 0.00 seconds) done.
<4>[ 489.900805] Freezing remaining freezable tasks ... (elapsed 0.00 seconds) done.
<6>[ 489.931573] tegra_grhost tegra_grhost: suspending
<6>[ 489.936283] tegra_grhost tegra_grhost: suspended
<4>[ 489.941162] Suspend SDIO3Suspend SDIO2
<6>[ 489.944851] tegra_uart tegra_uart.4: tegra_uart_suspend called
<6>[ 489.951029] tegra_uart tegra_uart.3: tegra_uart_suspend called
<6>[ 489.956991] tegra_uart tegra_uart.2: tegra_uart_suspend called
<6>[ 489.962944] tegra_uart tegra_uart.1: tegra_uart_suspend called
<4>[ 489.971227] DVFS set core at 1200mV
<4>[ 489.984757] RM power state before suspend: Active (2)
<4>[ 489.989834] Active Module: 0x16
<4>[ 490.002059] Disabling non-boot CPUs ...
<7>[ 490.005968] CPU0 attaching NULL sched-domain.
<7>[ 490.006015] CPU1 attaching NULL sched-domain.
<7>[ 490.113730] CPU0 attaching NULL sched-domain.
<5>[ 490.114511] CPU1: clean shutdown
<4>[ 494.398795] Enabling non-boot CPUs ...
<4>[ 494.461892] CPU1: Booted secondary processor
<7>[ 494.462069] CPU0 attaching NULL sched-domain.
<7>[ 494.641461] CPU0 attaching sched-domain:
<7>[ 494.641503] domain 0: span 0-1 level CPU
<7>[ 494.641543] groups: 0 1
<7>[ 494.641607] CPU1 attaching sched-domain:
<7>[ 494.641640] domain 0: span 0-1 level CPU
<7>[ 494.641674] groups: 1 0
<4>[ 494.642262] CPU1 is up
<4>[ 494.649369] *** Wakeup from LP1 ***
<4>[ 494.653384] gpio_keys_isr
<6>[ 494.661558] tegra_uart tegra_uart.1: tegra_uart_resume called
<6>[ 494.667440] tegra_uart tegra_uart.2: tegra_uart_resume called
<6>[ 494.673312] tegra_uart tegra_uart.3: tegra_uart_resume called
<6>[ 494.679239] tegra_uart tegra_uart.4: tegra_uart_resume called
<4>[ 494.685965] Resume SDIO2
<6>[ 494.688420] wakeup wake lock: mmc_delayed_work
<4>[ 494.693859] Resume SDIO3switch-dock: dock_switch_work_func
<4>[ 494.770970] switch-dock: desktop_dock = 0gpio_keys_isr
<4>[ 494.776252] switch-dock: state = 0
<4>[ 494.779811] h2w: onRestarting tasks ...
<6>[ 494.823447] nvrm_notifier_show: blocking
<4>[ 494.847457] done.
<6>[ 494.849538] tegra_pm_notifier: start processing event=4
<6>[ 494.854787] notify_daemon: wait for nvrm_daemon
<6>[ 494.854807] nvrm_notifier_show: returning with 'PM_POST_SUSPEND'
<6>[ 494.870807] nvrm_notifier_show: blocking
<6>[ 494.886154] tegra_pm_notifier: finished processing event=4
<6>[ 494.939900] usb 1-1: reset high speed USB device using tegra-ehci and address 2
<6>[ 494.951799] suspend: exit suspend, ret = 0 (2010-12-25 18:21:13.632966013 UTC)
<4>[ 495.095388] gpio_keys_isr
<4>[ 495.171339] gpio_keys_isr
<4>[ 495.265635] gpio_keys_isr
<4>[ 495.324107] gpio_keys_isr
<6>[ 495.380095] PM: Syncing filesystems ... gpio_keys_isr
<4>[ 495.512617] gpio_keys_isr
<4>[ 495.661902] gpio_keys_isr
<4>[ 495.710074] done.
<6>[ 495.720079] tegra_pm_notifier: start processing event=3
<6>[ 495.720116] nvrm_notifier_show: returning with 'PM_SUSPEND_PREPARE'
<6>[ 495.720293] notify_daemon: wait for nvrm_daemon
<6>[ 495.743127] nvrm_notifier_show: blocking
<6>[ 495.747069] tegra_pm_notifier: finished processing event=3
<4>[ 495.752748] Freezing user space processes ...
<6>[ 495.760286] nvrm_notifier_show: false wakeup, returning with '\n'
<4>[ 495.766643] (elapsed 0.00 seconds) done.
<4>[ 495.770600] Freezing remaining freezable tasks ... (elapsed 0.00 seconds) done.
<6>[ 495.819838] tegra_grhost tegra_grhost: suspending
<6>[ 495.959112] tegra_grhost tegra_grhost: suspended
<4>[ 495.963913] Suspend SDIO3Suspend SDIO2
<6>[ 495.967663] tegra_uart tegra_uart.4: tegra_uart_suspend called
<6>[ 495.973800] tegra_uart tegra_uart.3: tegra_uart_suspend called
<6>[ 495.979747] tegra_uart tegra_uart.2: tegra_uart_suspend called
<6>[ 495.985694] tegra_uart tegra_uart.1: tegra_uart_suspend called
<4>[ 495.993784] DVFS set core at 1200mV
<4>[ 496.005585] RM power state before suspend: Active (2)
<4>[ 496.010662] Active Module: 0x16
<4>[ 496.022866] Disabling non-boot CPUs ...
<7>[ 496.026837] CPU0 attaching NULL sched-domain.
<7>[ 496.026886] CPU1 attaching NULL sched-domain.
<7>[ 496.172300] CPU0 attaching NULL sched-domain.
<5>[ 496.173074] CPU1: clean shutdown
<4>[ 498.222010] Enabling non-boot CPUs ...
<4>[ 498.263490] CPU1: Booted secondary processor
<7>[ 498.263670] CPU0 attaching NULL sched-domain.
<7>[ 498.386579] CPU0 attaching sched-domain:
<7>[ 498.386621] domain 0: span 0-1 level CPU
<7>[ 498.386660] groups: 0 1
<7>[ 498.386725] CPU1 attaching sched-domain:
<7>[ 498.386757] domain 0: span 0-1 level CPU
<7>[ 498.386791] groups: 1 0
<4>[ 498.387380] CPU1 is up
<4>[ 498.394485] *** Wakeup from LP1 ***
<4>[ 498.398594] PMU Resume Irq. In 1, 0 --> Send First KEY_F4(LP1) -->
<6>[ 498.404650] wakeup wake lock: gpio_f4_wake
<4>[ 498.415495] Send a simulate KEY_F4 ****
<6>[ 498.421622] tegra_uart tegra_uart.1: tegra_uart_resume called
<6>[ 498.436757] tegra_uart tegra_uart.2: tegra_uart_resume called
<6>[ 498.451684] tegra_uart tegra_uart.3: tegra_uart_resume called
<6>[ 498.467021] tegra_uart tegra_uart.4: tegra_uart_resume called
<4>[ 498.561443] Release quickly(LP1) -->Out.
<4>[ 498.566280] Resume SDIO2Resume SDIO3h2w: onswitch-dock: dock_switch_work_func
<4>[ 499.198942] switch-dock: desktop_dock = 0switch-dock: state = 0
<6>[ 499.393196] usb 1-1: reset high speed USB device using tegra-ehci and address 2
<4>[ 500.415072] Restarting tasks ...
<6>[ 500.420086] nvrm_notifier_show: blocking
<6>[ 500.432446] request_suspend_state: wakeup (3->0) at 170061520136 (2010-12-25 18:21:18.720073021 UTC)
<4>[ 500.444020] done.
<6>[ 500.447932] tegra_pm_notifier: start processing event=4
<6>[ 500.454058] nvrm_notifier_show: returning with 'PM_POST_SUSPEND'
<6>[ 500.461749] notify_daemon: wait for nvrm_daemon
<6>[ 500.468825] nvrm_notifier_show: blocking
<6>[ 500.474256] tegra_pm_notifier: finished processing event=4
<6>[ 500.481222] suspend: exit suspend, ret = 0 (2010-12-25 18:21:18.768889026 UTC)
<6>[ 500.488483] nvrm_notifier_show: returning with 'PM_DISPLAY_ON'
<6>[ 500.490920] notify_daemon: wait for nvrm_daemon
<4>[ 500.500234] PM_SCREEN_IS_OFF set to 0
<6>[ 500.821240] nvrm_notifier_show: blocking
<6>[ 501.114867] request_suspend_state: sleep (0->3) at 170743970205 (2010-12-25 18:21:19.402526090 UTC)
<4>[ 502.131509] stop_drawing_early_suspend: timeout waiting for userspace to stop drawing
<4>[ 502.139372] SO340010: so340010_kbd_early_suspend() IN
<4>[ 502.145236] SO340010: so340010_kbd_early_suspend() OUT
<6>[ 502.150508] notify_daemon: wait for nvrm_daemon
<6>[ 502.150523] nvrm_notifier_show: returning with 'PM_DISPLAY_OFF'
<4>[ 502.150538] PM_SCREEN_IS_OFF set to 1
<6>[ 502.215332] nvrm_notifier_show: blocking
<6>[ 503.791096] PM: Syncing filesystems ... done.
<6>[ 504.193553] tegra_pm_notifier: start processing event=3
<6>[ 504.193579] notify_daemon: wait for nvrm_daemon
<6>[ 504.193604] nvrm_notifier_show: returning with 'PM_SUSPEND_PREPARE'
<6>[ 504.215560] tegra_pm_notifier: finished processing event=3
<4>[ 504.222117] Freezing user space processes ...
<6>[ 504.226511] nvrm_notifier_show: blocking
<6>[ 504.230637] nvrm_notifier_show: false wakeup, returning with '\n'
<4>[ 504.237318] (elapsed 0.01 seconds) done.
<4>[ 504.241256] Freezing remaining freezable tasks ... (elapsed 0.00 seconds) done.
<6>[ 504.265702] tegra_grhost tegra_grhost: suspending
<6>[ 505.163335] tegra_grhost tegra_grhost: suspended
<4>[ 505.168142] Suspend SDIO3Suspend SDIO2
<6>[ 505.171913] tegra_uart tegra_uart.4: tegra_uart_suspend called
<6>[ 505.178063] tegra_uart tegra_uart.3: tegra_uart_suspend called
<6>[ 505.184043] tegra_uart tegra_uart.2: tegra_uart_suspend called
<6>[ 505.190000] tegra_uart tegra_uart.1: tegra_uart_suspend called
<4>[ 505.198231] DVFS set core at 1200mV
<4>[ 505.208426] RM power state before suspend: Active (2)
<4>[ 505.213503] Active Module: 0x16
<4>[ 505.225777] Disabling non-boot CPUs ...
<7>[ 505.229807] CPU0 attaching NULL sched-domain.
<7>[ 505.229854] CPU1 attaching NULL sched-domain.
<7>[ 505.371149] CPU0 attaching NULL sched-domain.
<5>[ 505.371924] CPU1: clean shutdown
<4>[ 510.490962] Enabling non-boot CPUs ...
<4>[ 510.537206] CPU1: Booted secondary processor
<7>[ 510.537383] CPU0 attaching NULL sched-domain.
<4>[ 510.611430] dhdsdio_htclk: HT Avail request error: -35
<6>[ 510.632664] wakeup wake lock: dhd_watchdog_thread
<7>[ 510.695049] CPU0 attaching sched-domain:
<7>[ 510.695090] domain 0: span 0-1 level CPU
<7>[ 510.695131] groups: 0 1
<7>[ 510.695195] CPU1 attaching sched-domain:
<7>[ 510.695228] domain 0: span 0-1 level CPU
<7>[ 510.695263] groups: 1 0
<4>[ 510.695853] CPU1 is up
<4>[ 510.702960] *** Wakeup from LP1 ***
<4>[ 510.707069] gpio_keys_isr
<6>[ 510.715736] tegra_uart tegra_uart.1: tegra_uart_resume called
<6>[ 510.721722] tegra_uart tegra_uart.2: tegra_uart_resume called
<4>[ 510.727677] SO340010: gpio_val=0xc0980000, button_val = 0xdba40000
<6>[ 510.734010] tegra_uart tegra_uart.3: tegra_uart_resume called
<6>[ 510.739951] tegra_uart tegra_uart.4: tegra_uart_resume called
<4>[ 510.746657] Resume SDIO2Resume SDIO3gpio_keys_isr
<4>[ 510.821256] switch-dock: dock_switch_work_func
<4>[ 510.825815] switch-dock: desktop_dock = 0switch-dock: state = 0
<4>[ 510.831997] h2w: offRestarting tasks ... gpio_keys_isr
<6>[ 510.888704] nvrm_notifier_show: blocking
<4>[ 510.928414] done.
<6>[ 510.930350] tegra_pm_notifier: start processing event=4
<6>[ 510.949863] nvrm_notifier_show: returning with 'PM_POST_SUSPEND'
<6>[ 510.955922] notify_daemon: wait for nvrm_daemon
<6>[ 510.961800] nvrm_notifier_show: blocking
<6>[ 510.967375] tegra_pm_notifier: finished processing event=4
<6>[ 510.992735] usb 1-1: reset high speed USB device using tegra-ehci and address 2
<6>[ 511.023651] suspend: exit suspend, ret = 0 (2010-12-25 18:21:29.648418015 UTC)
<4>[ 511.050324] gpio_keys_isr
<4>[ 511.182853] gpio_keys_isr
<4>[ 511.383731] gpio_keys_isr
<4>[ 511.468647] gpio_keys_isr
<4>[ 511.623606] gpio_keys_isr
<4>[ 511.772148] gpio_keys_isr
<4>[ 511.965776] gpio_keys_isr
<6>[ 512.102903] PM: Syncing filesystems ... done.
<6>[ 512.312248] tegra_pm_notifier: start processing event=3
<6>[ 512.312289] nvrm_notifier_show: returning with 'PM_SUSPEND_PREPARE'
<6>[ 512.312477] notify_daemon: wait for nvrm_daemon
<6>[ 512.336440] nvrm_notifier_show: blocking
<6>[ 512.340379] tegra_pm_notifier: finished processing event=3
<4>[ 512.345892] Freezing user space processes ...
<6>[ 512.353673] nvrm_notifier_show: false wakeup, returning with '\n'
<4>[ 512.360104] (elapsed 0.00 seconds) done.
<4>[ 512.364062] Freezing remaining freezable tasks ... (elapsed 0.00 seconds) done.
<4>[ 512.413839] PMU Resume Irq. In 1, 1 --> Send First KEY_F4(LP1) -->Send a simulate KEY_F4 ****
<4>[ 512.824978] Release quickly(LP1) -->Out.
<6>[ 512.830109] tegra_grhost tegra_grhost: suspending
<6>[ 512.834975] tegra_grhost tegra_grhost: suspended
<4>[ 512.975485] Suspend SDIO3Suspend SDIO2
<6>[ 512.979177] tegra_uart tegra_uart.4: tegra_uart_suspend called
<6>[ 512.985291] tegra_uart tegra_uart.3: tegra_uart_suspend called
<6>[ 512.991262] tegra_uart tegra_uart.2: tegra_uart_suspend called
<6>[ 512.997212] tegra_uart tegra_uart.1: tegra_uart_suspend called
<4>[ 513.005350] DVFS set core at 1200mV
<3>[ 513.009606] pm_noirq_op(): platform_pm_suspend_noirq+0x0/0x40 returns -11
<3>[ 513.016425] PM: Device power.0 failed to suspend late: error -11
<3>[ 513.022654] PM: Some devices failed to power down
<6>[ 513.032678] tegra_uart tegra_uart.1: tegra_uart_resume called
<6>[ 513.038553] tegra_uart tegra_uart.2: tegra_uart_resume called
<6>[ 513.044418] tegra_uart tegra_uart.3: tegra_uart_resume called
<6>[ 513.050333] tegra_uart tegra_uart.4: tegra_uart_resume called
<4>[ 513.057018] Resume SDIO2
<6>[ 513.059476] wakeup wake lock: mmc_delayed_work
<4>[ 513.064946] Resume SDIO3switch-dock: dock_switch_work_func
<4>[ 513.155124] switch-dock: desktop_dock = 0switch-dock: state = 0
<4>[ 513.161310] h2w: off
<6>[ 513.303637] usb 1-1: reset high speed USB device using tegra-ehci and address 2
<4>[ 514.210503] Restarting tasks ...
<6>[ 514.215401] nvrm_notifier_show: blocking
<6>[ 514.224630] request_suspend_state: wakeup (3->0) at 178741913895 (2010-12-25 18:21:32.849360251 UTC)
<4>[ 514.238668] done.
<6>[ 514.243026] tegra_pm_notifier: start processing event=4
<6>[ 514.259163] nvrm_notifier_show: returning with 'PM_POST_SUSPEND'
<6>[ 514.268324] notify_daemon: wait for nvrm_daemon
<6>[ 514.277032] nvrm_notifier_show: blocking
<6>[ 514.282184] tegra_pm_notifier: finished processing event=4
<6>[ 514.308845] suspend: exit suspend, ret = 0 (2010-12-25 18:21:32.933580259 UTC)
<6>[ 514.340146] nvrm_notifier_show: returning with 'PM_DISPLAY_ON'
<6>[ 514.347391] notify_daemon: wait for nvrm_daemon
<4>[ 514.353767] PM_SCREEN_IS_OFF set to 0
<6>[ 514.796232] nvrm_notifier_show: blocking
<4>[ 521.222850] h2w: h2w_switch_irq_isrh2w: onSO340010: gpio_val=0xc0980000, button_val = 0xdba40004
<4>[ 533.359945] SO340010: gpio_val=0xc0980000, button_val = 0xdba40000
Going to go peek through the source and try to trace through platform_pm_suspend_noirq and see if I can figure anything out...
Oh, and @clemsyn, I already am using my own build from source of the kernel, and the issue is still there. So unless you rolled some patches into the power management/cpufreq/suspend-resume code, I bet the issue is still there in your kernel, just hasn't happened yet on your tablet since updating your kernel.
EDIT: hmm, I've found other references to that error -11 issue with other Android devices. Seems to be a symptom of rapid suspend/resume cycling. I can't tell if the suspend-resume cycle is a symptom of the slowdown or the cause though. I am now suspecting more likely a symptom than a cause, i.e. the tablet is stuck on slow CPU mode so attempts to wake take forever to go through, thus the system takes a couple button presses before it finally wakes.
Click to expand...
Click to collapse
I made a few changes in the CPU power management which IMO would help with how CPU is adjusted and also a few in yaffs: )
Still no slowdown. Come out of sleep about 20 times now. I might reflash beta 4 later to test. My power button doesn't work with beta 4, though.
anlog,
You need testers for a slow down workaround? I am volunteering. Running update 3389 with tegra performance pack right now
Testers needed....
Please test the following commands on your tablet and see if the slowdown problem still occurs...
1.) Download and install android terminal emulator (free) from the Market.
2.) Uninstall ALL overclock and cpu scaling utilities such as Overclock Widget, etc.
3.) Power cycle your tablet to reset the CPU to full speed.
4.) Open a terminal and run the following commands:
4a.) su
4b.) tegrastats -max
4c.) echo performance > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
4d.) echo performance > /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor
4e.) echo 1000000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
4f.) echo 1000000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
4g.) echo 1000000 > /sys/devices/system/cpu/cpu1/cpufreq/scaling_min_freq
4h.) echo 1000000 > /sys/devices/system/cpu/cpu1/cpufreq/scaling_max_freq
4i.) tegrastats -max (yes, run it again)
5.) After the commands in step 4 have been completed, run the following terminal commands to verify that the CPU clock has been changed:
5a.) cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq (should be 1000000)
5b.) cat /sys/devices/system/cpu/cpu1/cpufreq/cpuinfo_cur_freq (should be 1000000)
After the above steps have been completed, use your tab regularly over next 24 hours. Don't ever power it off. Just keep it in sleep mode, use it any way you like, plug it in to power when needed. Just don't power it off. If you power it off, the settings above will be wiped out.
Once we confirm that this is working for multiple people, we should be able to add it as a startup script to any build.
Thanks....pecking at screen right now
Giving it a try right now. I have definitely seen the slowdown on TNT Lite 3.1.1
Either I've gone brain dead or something is wrong with the script because I get an error "cannot create performance: directory nonexistant"
EDIT: echo "performance" > /sys....needed quotes to work for me
anlog said:
Please test the following commands on your tablet and see if the slowdown problem still occurs...
1.) Download and install android terminal emulator (free) from the Market.
2.) Uninstall ALL overclock and cpu scaling utilities such as Overclock Widget, etc.
3.) Power cycle your tablet to reset the CPU to full speed.
4.) Open a terminal and run the following commands:
4a.) su
4b.) tegrastats -max
4c.) echo performance > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
4d.) echo performance > /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor
4e.) echo 1000000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
4f.) echo 1000000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
4g.) echo 1000000 > /sys/devices/system/cpu/cpu1/cpufreq/scaling_min_freq
4h.) echo 1000000 > /sys/devices/system/cpu/cpu1/cpufreq/scaling_max_freq
4i.) tegrastats -max (yes, run it again)
5.) After the commands in step 4 have been completed, run the following terminal commands to verify that the CPU clock has been changed:
5a.) cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq (should be 1000000)
5b.) cat /sys/devices/system/cpu/cpu1/cpufreq/cpuinfo_cur_freq (should be 1000000)
After the above steps have been completed, use your tab regularly over next 24 hours. Don't ever power it off. Just keep it in sleep mode, use it any way you like, plug it in to power when needed. Just don't power it off. If you power it off, the settings above will be wiped out.
Once we confirm that this is working for multiple people, we should be able to add it as a startup script to any build.
Click to expand...
Click to collapse
I am going to test it out, and will report.
All,
If you notice the slowdown coming back after running the commands above, repeat steps 5a and 5b (after running su) to see what the cpu speed is. If it drops to 216000, you know the slowdown is back. If it is still 1000000, then something else might be slowing the system down (try closing apps, etc).
Here are the steps:
1.) su
2.) cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq (will probably be 216000 if slowdown is back)
3.) cat /sys/devices/system/cpu/cpu1/cpufreq/cpuinfo_cur_freq (will probably be 216000 if slowdown is back)
-EDIT-
Depending on the build you are running, you may notice that your sound stops working (as mine just did). This is not related to the CPU tweaks. I've had this problem happen randomly on several builds. Unfortuately, the only way to fix it is to restart the tab, so I guess I'm not going to have sound for awhile. I'm planning on keeping this thing going until I get a slowdown (still none yet) or one week (whichever happens first). I'm cool with rebooting once a week.

[Q] How to decrease sensitivity of touchscreen?

Am i mad or what?
Actually it's for very simple reason. As i like to dip my phone into water to end endless discussions about iPhone 4 vs SGS II , drops of water that stay on touchscreen make false presses and touchscreen becomes unresponsive. It can be reset with power button (sleep/wake up) but that's not nice solution.
After some thinking about how Sony Ericsson Xperia Active manages to work with moist touchscreen i sticked clear foil onto my Defy and it worked! After first test i added another layer and it improved result, just very big drops of water caused "press" but they are easily shaked off. But i really don't like screen protectors.
There is an app for SGS, SGS Screen Booster and it doesen't work on defy but it's a good starting point for solving sensitivity problem
Increase the multi touch points
Btw wrong section
Sent from my MB526 using Tapatalk 2
Questions go in the Q&A section
That isn't solution. It only makes it worse because more points generate more false presses. One touch point (no multitouch) would be better solution in terms of determining which press is real and which is caused bu water drops.
I posted this in development because this isn't supported by android system itself, so it isn't question for "users". Someone of ROM developers may know or may be interested to modify system configuration in touch driver or touch configuration of system
I searched kernel source and found that board-mapphone.c contains data for touch behavior:
static struct qtouch_ts_platform_data mapphone_ts_platform_data = {
.flags = (QTOUCH_SWAP_XY |
QTOUCH_USE_MULTITOUCH |
QTOUCH_CFG_BACKUPNV |
QTOUCH_EEPROM_CHECKSUM),
.irqflags = (IRQF_TRIGGER_FALLING | IRQF_TRIGGER_LOW),
.abs_min_x = 20,
.abs_max_x = 1004,
.abs_min_y = 0,
.abs_max_y = 960,
.abs_min_p = 0,
.abs_max_p = 255,
.abs_min_w = 0,
.abs_max_w = 15,
.x_delta = 400,
.y_delta = 250,
.nv_checksum = 0xb834,
.fuzz_x = 0,
.fuzz_y = 0,
.fuzz_p = 2,
.fuzz_w = 2,
.boot_i2c_addr = 0x5f,
.hw_reset = mapphone_touch_reset,
.key_array = {
.cfg = mapphone_key_array_data,
.keys = NULL,
.num_keys = 0,
},
.power_cfg = {
.idle_acq_int = 0xff,
.active_acq_int = 0xff,
.active_idle_to = 0x01,
},
.acquire_cfg = {
.charge_time = 12,
.atouch_drift = 5,
.touch_drift = 20,
.drift_susp = 20,
.touch_autocal = 0x96,
.sync = 0,
.atch_cal_suspend_time = 0,
.atch_cal_suspend_thres = 0,
},
.multi_touch_cfg = {
.ctrl = 0x0b,
.x_origin = 0,
.y_origin = 0,
.x_size = 12,
.y_size = 7,
.aks_cfg = 0,
.burst_len = 0x40,
.tch_det_thr = 0x12,
.tch_det_int = 0x2,
.orient = 0x00,
.mrg_to = 25,
.mov_hyst_init = 5,
.mov_hyst_next = 5,
.mov_filter = 0,
.num_touch = 4,
.merge_hyst = 0,
.merge_thresh = 3,
.amp_hyst = 0,
.x_res = 0x0000,
.y_res = 0x0000,
.x_low_clip = 0x00,
.x_high_clip = 0x00,
.y_low_clip = 0x00,
.y_high_clip = 0x00,
.x_edge_ctrl = 0,
.x_edge_dist = 0,
.y_edge_ctrl = 0,
.y_edge_dist = 0,
},
.linear_tbl_cfg = {
.ctrl = 0x01,
.x_offset = 0x0000,
.x_segment = {
0x48, 0x3f, 0x3c, 0x3E,
0x3f, 0x3e, 0x3e, 0x3e,
0x3f, 0x42, 0x41, 0x3f,
0x41, 0x40, 0x41, 0x46
},
.y_offset = 0x0000,
.y_segment = {
0x44, 0x38, 0x37, 0x3e,
0x3e, 0x41, 0x41, 0x3f,
0x42, 0x41, 0x42, 0x42,
0x41, 0x3f, 0x41, 0x45
},
},
.comms_config_cfg = {
.ctrl = 0,
.command = 0,
},
.gpio_pwm_cfg = {
.ctrl = 0,
.report_mask = 0,
.pin_direction = 0,
.internal_pullup = 0,
.output_value = 0,
.wake_on_change = 0,
.pwm_enable = 0,
.pwm_period = 0,
.duty_cycle_0 = 0,
.duty_cycle_1 = 0,
.duty_cycle_2 = 0,
.duty_cycle_3 = 0,
.trigger_0 = 0,
.trigger_1 = 0,
.trigger_2 = 0,
.trigger_3 = 0,
},
.grip_suppression_cfg = {
.ctrl = 0x00,
.xlogrip = 0x00,
.xhigrip = 0x00,
.ylogrip = 0x00,
.yhigrip = 0x00,
.maxtchs = 0x00,
.reserve0 = 0x00,
.szthr1 = 0x00,
.szthr2 = 0x00,
.shpthr1 = 0x00,
.shpthr2 = 0x00,
.supextto = 0x00,
},
.noise_suppression_cfg = {
.ctrl = 0,
.outlier_filter_len = 0,
.reserve0 = 0,
.gcaf_upper_limit = 0,
.gcaf_lower_limit = 0,
.gcaf_low_count = 0,
.noise_threshold = 0,
.reserve1 = 0,
.freq_hop_scale = 0,
.burst_freq_0 = 0,
.burst_freq_1 = 0,
.burst_freq_2 = 0,
.burst_freq_3 = 0,
.burst_freq_4 = 0,
.idle_gcaf_valid = 0,
},
.touch_proximity_cfg = {
.ctrl = 0,
.x_origin = 0,
.y_origin = 0,
.x_size = 0,
.y_size = 0,
.reserve0 = 0,
.blen = 0,
.tch_thresh = 0,
.tch_detect_int = 0,
.average = 0,
.rate = 0,
},
.one_touch_gesture_proc_cfg = {
.ctrl = 0,
.reserve0 = 0,
.gesture_enable = 0,
.pres_proc = 0,
.tap_time_out = 0,
.flick_time_out = 0,
.drag_time_out = 0,
.short_press_time_out = 0,
.long_press_time_out = 0,
.repeat_press_time_out = 0,
.flick_threshold = 0,
.drag_threshold = 0,
.tap_threshold = 0,
.throw_threshold = 0,
},
.self_test_cfg = {
.ctrl = 0,
.command = 0,
.high_signal_limit_0 = 0,
.low_signal_limit_0 = 0,
.high_signal_limit_1 = 0,
.low_signal_limit_1 = 0,
.high_signal_limit_2 = 0,
.low_signal_limit_2 = 0,
},
.two_touch_gesture_proc_cfg = {
.ctrl = 0,
.reserved0 = 0,
.reserved1 = 0,
.gesture_enable = 0,
.rotate_threshold = 0,
.zoom_threshold = 0,
},
.cte_config_cfg = {
.ctrl = 1,
.command = 0,
.mode = 3,
.idle_gcaf_depth = 4,
.active_gcaf_depth = 8,
.voltage = 0,
},
.noise1_suppression_cfg = {
.ctrl = 0x01,
.version = 0x01,
.atch_thr = 0x64,
.duty_cycle = 0x08,
.drift_thr = 0x00,
.clamp_thr = 0x00,
.diff_thr = 0x00,
.adjustment = 0x00,
.average = 0x0000,
.temp = 0x00,
.offset = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
},
.bad_chan = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00
},
.x_short = 0x00,
},
.vkeys = {
.count = ARRAY_SIZE(mapphone_touch_vkeys),
.keys = mapphone_touch_vkeys,
},
};
Click to expand...
Click to collapse
Do anyone have idea how this can be altered on device itself? And what value is for sensitivity, I suspect that is .atch_thr = 0x64, under .noise1_suppression_cfg?
GoranNSW said:
I searched kernel source and found that board-mapphone.c contains data for touch behavior:
Do anyone have idea how this can be altered on device itself? And what value is for sensitivity, I suspect that is .atch_thr = 0x64, under .noise1_suppression_cfg?
Click to expand...
Click to collapse
Presumably a kernel dev could make a kernel with altered values. This wouldn't be a great solution though, as it would be permanently like that for as long as you used the kernel. Something toggle-able would be far better, for times that you know your phone is going to get wet (e.g. if you're using it as a gps on a bike mount). Additionally, I'm not sure how many devs would be interested in a relatively niche requirement.
I'd personally be satisfied with something which temporarily disabled the touchscreen - when my map is running, I generally don't need to zoom or pan - it tracks via gps. Having said that, I cycled through what felt like a monsoon, and it was relatively rare for my screen to register false presses.
flibbble said:
Presumably a kernel dev could make a kernel with altered values. This wouldn't be a great solution though, as it would be permanently like that for as long as you used the kernel. Something toggle-able would be far better, for times that you know your phone is going to get wet (e.g. if you're using it as a gps on a bike mount). Additionally, I'm not sure how many devs would be interested in a relatively niche requirement.
I'd personally be satisfied with something which temporarily disabled the touchscreen - when my map is running, I generally don't need to zoom or pan - it tracks via gps. Having said that, I cycled through what felt like a monsoon, and it was relatively rare for my screen to register false presses.
Click to expand...
Click to collapse
And there is a catch, locked bootloader. I could compile it myself but can't boot it. Now I'm left hoping that Kexec hack would be released for Defy http://forum.xda-developers.com/showthread.php?t=1819496 . I'm just hoping that someone have idea for making something toggle-able as you said
All summer I knew when my phone is going to be wet, when I'm outside, unlock phone with (just little) sweaty finger, screen get unresponsive. Then when I finish talking, sweat from head get to the phone touch start to jitter, and that's the moment when I lock my phone with lighting speed preventing it from calling random person from dialed list
When I'm cycling my phone is in my pocket, it tracks satelites from the dark
Probably my phone isn't properly factory calibrated as electronics have tolerances and when they meet you got this.
If someone (anyone here? ) wants to read about touch technology and wet finger tracking I attached pdf below
GoranNSW said:
And there is a catch, locked bootloader. I could compile it myself but can't boot it. Now I'm left hoping that Kexec hack would be released for Defy http://forum.xda-developers.com/showthread.php?t=1819496 . I'm just hoping that someone have idea for making something toggle-able as you said
All summer I knew when my phone is going to be wet, when I'm outside, unlock phone with (just little) sweaty finger, screen get unresponsive. Then when I finish talking, sweat from head get to the phone touch start to jitter, and that's the moment when I lock my phone with lighting speed preventing it from calling random person from dialed list
When I'm cycling my phone is in my pocket, it tracks satelites from the dark
Probably my phone isn't properly factory calibrated as electronics have tolerances and when they meet you got this.
If someone (anyone here? ) wants to read about touch technology and wet finger tracking I attached pdf below
Click to expand...
Click to collapse
Ah, I use my phone for navigation, not just tracking. It does sound like your ts is way more responsive than mine; I don't have any of those problems.
I had no idea that it wasn't possible to flash a custom kernel on the Defy; I've not quite got that far, given that I only use it for outdoor use, and stock is mostly ok for that. Well, I suspect we're out of luck then :/
By the way, you mentioned that a screen protector reduced the issue; any particular brand? Previous screen protectors I've tried on different phones haven't changed the screen's sensitivity, but I imagine water might be more affected differently...
You aren't out of luck yet
See this Link
It wasn't really screen protector, it was security film for windows, glass windows, not Microsoft
It is thicker than normal screen protectors (0.2mm Technical Data) and it helped just a little bit, not as much as I hoped. Let's say sensitivity is normal with it. Without it I have first case on page 11 of qtan0062.pdf, just hovering finger is enough for "touch". Now I made protector, again (which I hate, again).
In electrical language (refering to qtan0062.pdf page 8), I stepped down capacitance, but voltage and resistance (Rsmp) are same. I think there is no way to alter voltage of touch panel. Changing resistor is out of question because I don't know where it is and don't want to compromise waterproofness.
hsrars-d said:
You aren't out of luck yet
See this Link
Click to expand...
Click to collapse
Thanks for the info! Now I'm very excited and can't wait!
P.S. Sorry for so much detailing, I got a little obsessed with it

[INFO] All things to do with battery (life)

Battery current file (for some reason, battery monitor widget doesn't read it properly even though this file looks accurate (~251mAh on idle low brightness, 400 on high brighness, 800 on gaming)
Code:
/sys/class/power_supply/battery/current_now
looks like this is the mapping between voltage, temperature and battery % reporting by the system...
(basically, take your temperature and voltage mapping... look at the column(temperature) that contains your voltage. the row corresponds to the % left...)
eg at a temperature of 30deg, voltage of 3900, it's roughly 55% left
Code:
static struct pc_temp_ocv_lut pc_temp_ocv = {
.rows = 29,
.cols = 5,
.temp = {-20, 0, 25, 40, 60},
.percent = {100, 95, 90, 85, 80, 75, 70, 65, 60, 55, 50, 45, 40, 35, 30, 25, 20, 15, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0},
.ocv = {
{4330, 4329, 4303, 4281, 4301},
{4233, 4251, 4237, 4219, 4239},
{4161, 4189, 4181, 4164, 4183},
{4100, 4132, 4127, 4113, 4129},
{4027, 4082, 4077, 4063, 4078},
{3968, 4028, 4027, 4017, 4030},
{3924, 3968, 3981, 3975, 3986},
{3886, 3923, 3944, 3938, 3946},
{3855, 3882, 3897, 3896, 3909},
{3829, 3848, 3855, 3853, 3860},
{3807, 3821, 3827, 3825, 3830},
{3789, 3801, 3805, 3803, 3807},
{3774, 3787, 3789, 3786, 3789},
{3760, 3775, 3776, 3773, 3774},
{3746, 3764, 3767, 3762, 3755},
{3732, 3750, 3754, 3747, 3735},
{3715, 3729, 3729, 3721, 3711},
{3690, 3704, 3695, 3687, 3673},
{3656, 3683, 3678, 3669, 3661},
{3646, 3678, 3675, 3662, 3659},
{3634, 3672, 3671, 3654, 3656},
{3621, 3663, 3662, 3644, 3645},
{3602, 3648, 3639, 3626, 3616},
{3577, 3620, 3597, 3594, 3574},
{3544, 3576, 3542, 3544, 3525},
{3493, 3515, 3473, 3485, 3464},
{3419, 3429, 3391, 3409, 3381},
{3292, 3299, 3271, 3295, 3251},
{3000, 3000, 3000, 3000, 3000}
}
};
TODO: Map the wattage usage to cpu frequency to find sweet spot for power efficiency(i.e. 500mhz requires 100mW, 250mhz requires 40mW -> 250mhz is more power efficient)
this way, we can use the governor to be more greedy on particular frequencies
Current discharge usage per hour in mAh
Code:
Experiment
384mhz 1 core idle, wifi on, brightness lowest: ~180mAh
384mhz 1 core idle, wifi on, brightness highest: ~380mAh
benchmark (i.e. all 4 cores), wifi on, brightness lowest: max ~ 1500
intellidemand governor, brightness lowest, GPS ON: ~260<->350 (lock<->searching for lock)
intellidemand governor, brightness highest, GPS ON: ~460<->550 (lock<->searching for lock)
Code:
Extrapolating results
difference between lowest brightness & highest brightness - 200mAh
GPS usage: 80-150mAh, plus whatever CPU cycles your GPS app uses
idle CPU <-> full CPU:
Nice it looks like development is off to a great start! I originally posted information here but it is now in your kernel thread. I don't know if the information that I posted in your kernel thread, will be of any help to you but I figured it was worth a shot.

nexus 6p gets slow after a few days, logd memory seems high?

My Nexus 6P lately has been getting really slow after being on for a few days. I ran:
Code:
adb shell
top -m 20 -s rss
And I think it looks unusual that my 'logd' is spinning out of control like this:
Code:
User 6%, System 48%, IOW 10%, IRQ 1%
User 90 + Nice 28 + Sys 928 + Idle 641 + IOW 193 + IRQ 17 + SIRQ 17 = 1914
PID PR CPU% S #THR VSS RSS PCY UID Name
348 3 0% S 7 1263224K 947564K bg logd /system/bin/logd
4866 3 1% S 110 2439336K 131284K fg system system_server
16227 0 0% S 20 1698620K 124780K fg system com.android.settings
6114 2 0% S 47 1725224K 115604K fg u0_a27 com.android.systemui
19588 0 0% S 33 2253364K 89148K bg u0_a29 com.google.android.googlequicksearchbox
7176 0 0% S 238 1826080K 82560K fg u0_a280 com.fitbit.FitbitMobile
14869 1 0% S 100 1723796K 74144K fg u0_a12 com.google.android.gms.persistent
22388 0 1% S 53 1692288K 64760K bg u0_a175 com.facebook.orca
23633 0 2% S 66 1824088K 61444K bg u0_a79 com.facebook.katana
13291 1 0% S 59 1773460K 57124K fg u0_a12 com.google.android.gms
Code:
logcat -g
main: ring buffer is 256Kb (556Mb consumed), max entry is 5120b, max payload is 4076b
system: ring buffer is 256Kb (33Mb consumed), max entry is 5120b, max payload is 4076b
crash: ring buffer is 256Kb (36Kb consumed), max entry is 5120b, max payload is 4076b
Does anyone knows what this means and how I can stop it from happening? It is ruining an otherwise great phone.

Screen Mirroring's Effects on CPU Usage

After Android 5.0 update Screen Mirroring started causing serious input lag and temperature rise on the phone. Phone screen is mirrored to one of Samsung's 2015 Tizen-based TVs.
Here are the results of my benchmark showing top processes and CPU usage:
IDLE
SCREEN MIRRORING OFF
Code:
User 6%, System 9%, IOW 0%, IRQ 0%
User 30 + Nice 7 + Sys 58 + Idle 511 + IOW 0 + IRQ 0 + SIRQ 5 = 611
PID PR CPU% S #THR VSS RSS PCY UID Name
776 0 6% S 252 2227568K 134500K fg system system_server
21289 3 2% R 1 3672K 1240K shell top
187 3 1% S 1 0K 0K root irq/626-SSP_Int
151 0 1% S 1 0K 0K root spi32765
1838 0 1% S 66 1209048K 60508K fg u0_a14 com.google.android.gms.persistent
1370 0 0% S 47 1933000K 87768K fg u0_a21 com.android.systemui
2375 0 0% S 6 8480K 556K root /system/bin/mpdecision
2286 3 0% S 1 0K 0K root irq/33-cpubw_hw
8102 3 0% S 1 0K 0K root kworker/u:3
7 0 0% D 1 0K 0K root kworker/u:0H
SCREEN MIRRORING ON
Code:
User 12%, System 17%, IOW 0%, IRQ 4%
User 80 + Nice 6 + Sys 117 + Idle 429 + IOW 5 + IRQ 0 + SIRQ 27 = 664
PID PR CPU% S #THR VSS RSS PCY UID Name
316 0 18% S 60 284820K 14976K fg media /system/bin/mediaserver
776 0 4% S 253 2229172K 134908K fg system system_server
20881 3 1% R 1 3672K 1424K shell top
482 0 1% S 1 0K 0K root dhd_dpc
11622 0 1% S 16 1634280K 33112K bg u0_a22 android.process.acore
74 2 1% S 1 0K 0K root kswapd0
187 0 0% S 1 0K 0K root irq/626-SSP_Int
151 0 0% S 1 0K 0K root spi32765
1838 0 0% S 67 1210112K 60828K fg u0_a14 com.google.android.gms.persistent
18747 0 0% S 1 0K 0K root kworker/u:1
PLAYING MOVIE
SCREEN MIRRORING OFF
Code:
User 8%, System 13%, IOW 0%, IRQ 1%
User 53 + Nice 1 + Sys 82 + Idle 461 + IOW 0 + IRQ 0 + SIRQ 7 = 604
PID PR CPU% S #THR VSS RSS PCY UID Name
316 0 8% S 55 334012K 19324K fg media /system/bin/mediaserver
292 0 6% S 17 131540K 4808K fg system /system/bin/surfaceflinger
776 0 2% S 248 2213124K 143412K fg system system_server
15589 3 2% R 1 3672K 1432K shell top
1370 0 0% S 47 1909488K 83184K fg u0_a21 com.android.systemui
12494 3 0% S 1 0K 0K root kworker/u:4
2375 0 0% S 6 8480K 568K root /system/bin/mpdecision
3 0 0% S 1 0K 0K root ksoftirqd/0
553 3 0% D 1 0K 0K root mdss_fb0
15334 3 0% S 1 0K 0K root ksoftirqd/3
SCREEN MIRRORING ON
Code:
User 18%, System 19%, IOW 0%, IRQ 4%
User 134 + Nice 5 + Sys 141 + Idle 425 + IOW 1 + IRQ 0 + SIRQ 35 = 741
PID PR CPU% S #THR VSS RSS PCY UID Name
316 0 26% S 72 362844K 23872K fg media /system/bin/mediaserver
776 3 5% S 252 2215564K 144548K fg system system_server
292 0 2% S 18 157016K 5048K fg system /system/bin/surfaceflinger
482 0 2% S 1 0K 0K root dhd_dpc
16444 3 1% R 1 3672K 1432K shell top
1370 0 0% R 47 1909576K 88600K fg u0_a21 com.android.systemui
2375 0 0% S 6 8480K 568K root /system/bin/mpdecision
6 0 0% D 1 0K 0K root kworker/u:0
12987 0 0% S 1 0K 0K root kworker/u:6
1671 0 0% S 44 1089704K 38472K fg radio com.android.phone
To sum up:
When idle at home non-mirrored, /system/bin/mediaserver don't use or use little CPU. But uses 18% when mirrored to TV.
When playing video in default player non-mirrored, mediaserver use 8%, but uses 26% when mirrored to TV.
I don't know if this was the case before the update, but now videos started to be choppy when mirrored unlike when I first got my S5.
What do you guys think?
So...
No one uses Screen Mirroring on this phone or what? I'd love if someone with older versions tried SM and write down CPU usage.
The phone lags like hell and no one experienced it except me?
nfsk said:
No one uses Screen Mirroring on this phone or what? I'd love if someone with older versions tried SM and write down CPU usage.
The phone lags like hell and no one experienced it except me?
Click to expand...
Click to collapse
It doest not
fahad√√hacker said:
It doest not
Click to expand...
Click to collapse
How much CPU used by mediaserver? Can you please look?

Categories

Resources