[Bug 3519] hx4700: ts-adc and high cpu load

bugzilla-daemon at amethyst.openembedded.net bugzilla-daemon at amethyst.openembedded.net
Tue May 13 15:25:33 UTC 2008


http://bugs.openembedded.net/show_bug.cgi?id=3519





--- Comment #3 from Dmitry Krasnov <dek at amur.dti.ru>  2008-05-13 17:25:33 ---
Perhaps jitter has no effect to the issue. I've upgraded to 2007.12 recently
and problem persist. It's annoyed me a lot. Then I've decided to explore the
issue deeply. 

dkrasnov at hx4700:~$ uname -a
Linux hx4700 2.6.21-hh20 #1 PREEMPT Fri Dec 28 18:08:26 CET 2007 armv5tel
unknown

dkrasnov at hx4700:~$ cat /etc/angstrom-version
Angstrom 2007.12-r13

I'd login thru ssh. I have turned ts-adc driver debug mode on and found
interesting things.

Following is normal behaviour with low or even no load.

dkrasnov at hx4700:~$ uptime
 23:01:53 up  3:15,  2 users,  load average: 0.64, 1.06, 2.04
root at hx4700:/home/dkrasnov$ uptime
 23:03:52 up  3:17,  2 users,  load average: 0.14, 0.74, 1.80

root at hx4700:/home/dkrasnov$ dmesg|tail -20
<4>[11705.460000] ts-adc: Sample with too much jitter - ignored
<4>[11705.480000] ts-adc: Sample with too much jitter - ignored
<4>[11706.590000] ts-adc: Sample with too much jitter - ignored
<4>[11707.080000] ts-adc: Sample with too much jitter - ignored
<4>[11707.120000] ts-adc: Sample with too much jitter - ignored
<4>[11707.640000] ts-adc: Sample with too much jitter - ignored
<4>[11708.680000] ts-adc: Sample with too much jitter - ignored
<4>[11709.750000] ts-adc: Sample with too much jitter - ignored
<4>[11710.410000] ts-adc: Sample with too much jitter - ignored
<4>[11711.470000] ts-adc: Sample with too much jitter - ignored
<4>[11713.110000] ts-adc: Sample with too much jitter - ignored
<4>[11713.830000] ts-adc: Sample with too much jitter - ignored
<4>[11715.470000] ts-adc: Sample with too much jitter - ignored
<4>[11716.930000] ts-adc: Sample with too much jitter - ignored
<4>[11717.700000] ts-adc: Sample with too much jitter - ignored
<4>[11717.880000] ts-adc: Sample with too much jitter - ignored
<6>[11720.260000] PPP generic driver version 2.4.2
<4>[11808.030000] ts-adc: Sample with too much jitter - ignored
<4>[11813.460000] ts-adc: Sample with too much jitter - ignored
<4>[11819.070000] ts-adc: Sample with too much jitter - ignored

Now I've touched the screen and saw data is the log. 

<7>[11897.100000] ts-adc: Started to sample
<7>[11897.100000] ts-adc: x=1527 y=2507 z1=467 z2=3196 P=11
<7>[11897.120000] ts-adc: x=1534 y=2515 z1=557 z2=2995 P=14
<7>[11897.140000] ts-adc: x=1534 y=2514 z1=588 z2=2939 P=16
<7>[11897.160000] ts-adc: x=1536 y=2507 z1=598 z2=2925 P=16
<7>[11897.180000] ts-adc: x=1537 y=2509 z1=603 z2=2902 P=17
<7>[11897.200000] ts-adc: x=1534 y=2509 z1=602 z2=2905 P=17
<7>[11897.220000] ts-adc: x=1525 y=2514 z1=535 z2=3036 P=14
<7>[11897.240000] ts-adc: Finished to sample, reason: pen_up=1, pressure=-1 <=
2
<7>[11946.820000] ts-adc: Bouncing TS IRQ

<7>[12024.130000] ts-adc: Started to sample
<7>[12024.140000] ts-adc: x=3143 y=1340 z1=831 z2=2670 P=14
<7>[12024.160000] ts-adc: x=3181 y=1340 z1=885 z2=2638 P=15
<7>[12024.180000] ts-adc: x=3084 y=4095 z1=0 z2=4091 P=0
<7>[12024.180000] ts-adc: Finished to sample, reason: pen_up=0, pressure=0 <= 2
<7>[12024.190000] ts-adc: Bouncing TS IRQ
<7>[12024.310000] ts-adc: Started to sample
<7>[12024.310000] ts-adc: x=2047 y=1330 z1=577 z2=2538 P=14
<7>[12024.330000] ts-adc: x=2052 y=1313 z1=627 z2=2465 P=16
<7>[12024.350000] ts-adc: x=2044 y=1336 z1=622 z2=2491 P=16
<7>[12024.370000] ts-adc: x=2014 y=1378 z1=581 z2=2698 P=13
<7>[12024.390000] ts-adc: Finished to sample, reason: pen_up=1, pressure=-1 <=
2
<7>[12024.400000] ts-adc: Bouncing TS IRQ
<7>[12024.500000] ts-adc: Started to sample
<7>[12024.510000] ts-adc: x=2407 y=1970 z1=743 z2=2858 P=14
<7>[12024.530000] ts-adc: x=2558 y=2018 z1=832 z2=2817 P=16
<7>[12024.550000] ts-adc: x=2597 y=2053 z1=839 z2=2838 P=16
<7>[12024.570000] ts-adc: x=2576 y=2066 z1=796 z2=2891 P=14
<7>[12024.590000] ts-adc: Finished to sample, reason: pen_up=1, pressure=-1 <=
2
<7>[12024.600000] ts-adc: Bouncing TS IRQ
<7>[12024.710000] ts-adc: Started to sample
<7>[12024.710000] ts-adc: x=1968 y=1539 z1=632 z2=2642 P=15
<7>[12024.730000] ts-adc: x=1991 y=1513 z1=618 z2=2563 P=15
<7>[12024.750000] ts-adc: x=1990 y=2193 z1=6 z2=4091 P=0
<7>[12024.750000] ts-adc: Finished to sample, reason: pen_up=0, pressure=0 <= 2
<7>[12024.760000] ts-adc: Bouncing TS IRQ
<7>[12025.040000] ts-adc: Started to sample
<7>[12025.040000] ts-adc: x=1556 y=2067 z1=456 z2=2959 P=11
<7>[12025.060000] ts-adc: x=1606 y=2079 z1=530 z2=2829 P=14
<7>[12025.080000] ts-adc: Finished to sample, reason: pen_up=1, pressure=-1 <=
2
<7>[12025.090000] ts-adc: Bouncing TS IRQ
<7>[12025.230000] ts-adc: Started to sample
<7>[12025.230000] ts-adc: x=2336 y=2223 z1=758 z2=2937 P=14
<7>[12025.250000] ts-adc: x=2466 y=2249 z1=841 z2=2895 P=16
<7>[12025.270000] ts-adc: x=2495 y=2266 z1=864 z2=2912 P=16
<7>[12025.290000] ts-adc: Finished to sample, reason: pen_up=1, pressure=-1 <=
2
<7>[12025.300000] ts-adc: Bouncing TS IRQ
<7>[12025.430000] ts-adc: Started to sample
<7>[12025.440000] ts-adc: x=2019 y=1464 z1=520 z2=2821 P=11
<7>[12025.460000] ts-adc: x=2047 y=1961 z1=0 z2=4093 P=0
<7>[12025.460000] ts-adc: Finished to sample, reason: pen_up=0, pressure=0 <= 2
<7>[12025.470000] ts-adc: Bouncing TS IRQ
<7>[12025.630000] ts-adc: Started to sample
<7>[12025.640000] ts-adc: x=1292 y=1442 z1=419 z2=2460 P=15
<7>[12025.660000] ts-adc: x=1368 y=1407 z1=452 z2=2399 P=16
<7>[12025.680000] ts-adc: x=1361 y=1424 z1=420 z2=2530 P=14
<4>[12025.680000] ts-adc: Sample with too much jitter - ignored
<7>[12025.700000] ts-adc: Finished to sample, reason: pen_up=1, pressure=-1 <=
2
<7>[12025.710000] ts-adc: Bouncing TS IRQ
<7>[12064.360000] ts-adc: Started to sample
<7>[12064.360000] ts-adc: x=1735 y=3103 z1=545 z2=3475 P=10
<7>[12064.380000] ts-adc: x=1740 y=3099 z1=700 z2=3328 P=15
<7>[12064.400000] ts-adc: x=1744 y=3102 z1=728 z2=3307 P=16
<7>[12064.420000] ts-adc: x=1750 y=3111 z1=719 z2=3323 P=15
<7>[12064.440000] ts-adc: Finished to sample, reason: pen_up=1, pressure=-1 <=
2
<7>[12064.450000] ts-adc: Bouncing TS IRQ
<7>[12064.560000] ts-adc: Started to sample
<7>[12064.560000] ts-adc: x=1939 y=3151 z1=767 z2=3388 P=15
<7>[12064.580000] ts-adc: x=1970 y=3145 z1=818 z2=3343 P=16
<7>[12064.600000] ts-adc: x=1980 y=3144 z1=831 z2=3330 P=16
<7>[12064.620000] ts-adc: x=1985 y=3139 z1=829 z2=3334 P=16
<7>[12064.640000] ts-adc: x=2000 y=3144 z1=805 z2=3355 P=15
<7>[12064.660000] ts-adc: Finished to sample, reason: pen_up=1, pressure=-1 <=
2
<7>[12064.670000] ts-adc: Bouncing TS IRQ
<7>[12064.810000] ts-adc: Started to sample
<7>[12064.810000] ts-adc: x=2034 y=3103 z1=716 z2=3425 P=12
<7>[12064.830000] ts-adc: x=2047 y=3098 z1=815 z2=3340 P=15
<7>[12064.850000] ts-adc: x=2054 y=3094 z1=833 z2=3321 P=16
<7>[12064.870000] ts-adc: x=2061 y=3099 z1=852 z2=3307 P=16
<7>[12064.890000] ts-adc: x=2065 y=3110 z1=784 z2=3399 P=14
<7>[12064.910000] ts-adc: Finished to sample, reason: pen_up=1, pressure=-1 <=
2
<7>[12065.390000] ts-adc: Bouncing TS IRQ
<7>[12065.520000] ts-adc: Started to sample
<7>[12065.520000] ts-adc: x=2315 y=3114 z1=875 z2=3389 P=15
<7>[12065.540000] ts-adc: x=2352 y=3112 z1=933 z2=3347 P=16
<7>[12065.560000] ts-adc: x=2366 y=3113 z1=964 z2=3323 P=17
<7>[12065.580000] ts-adc: x=2372 y=3122 z1=962 z2=3335 P=17
<7>[12065.600000] ts-adc: x=2367 y=3136 z1=935 z2=3371 P=16
<7>[12065.620000] ts-adc: Finished to sample, reason: pen_up=1, pressure=-1 <=
2
<7>[12100.700000] ts-adc: Bouncing TS IRQ
<7>[12417.810000] ts-adc: Started to sample
<7>[12417.810000] ts-adc: x=455 y=2914 z1=187 z2=3169 P=13
<7>[12417.830000] ts-adc: x=492 y=2899 z1=207 z2=3082 P=14
<7>[12417.850000] ts-adc: x=496 y=2898 z1=220 z2=3071 P=15
<7>[12417.890000] ts-adc: x=479 y=2881 z1=201 z2=3151 P=14
<7>[12417.930000] ts-adc: Finished to sample, reason: pen_up=1, pressure=-1 <=
2
<7>[12417.930000] ts-adc: Bouncing TS IRQ
<7>[12429.180000] ts-adc: Started to sample
<7>[12429.180000] ts-adc: x=451 y=2901 z1=131 z2=3448 P=8
<7>[12429.200000] ts-adc: x=458 y=2926 z1=191 z2=3164 P=14
<4>[12429.200000] ts-adc: Sample with too much jitter - ignored
<7>[12429.220000] ts-adc: x=461 y=2907 z1=199 z2=3110 P=14
<7>[12429.240000] ts-adc: x=459 y=2911 z1=194 z2=3091 P=14
<7>[12429.260000] ts-adc: x=460 y=2891 z1=208 z2=3078 P=15
<4>[12429.260000] ts-adc: Sample with too much jitter - ignored
<7>[12429.280000] ts-adc: x=460 y=2909 z1=208 z2=3067 P=15
<7>[12429.300000] ts-adc: x=460 y=2913 z1=210 z2=3064 P=15
<7>[12429.320000] ts-adc: x=460 y=2907 z1=218 z2=3055 P=16
<7>[12429.340000] ts-adc: x=461 y=2909 z1=188 z2=3049 P=14
<7>[12429.360000] ts-adc: x=460 y=2913 z1=211 z2=3038 P=16
<7>[12429.380000] ts-adc: x=461 y=2909 z1=214 z2=3039 P=16
<7>[12429.400000] ts-adc: x=460 y=2920 z1=222 z2=3037 P=17
<7>[12429.420000] ts-adc: x=460 y=2910 z1=243 z2=3034 P=18
<7>[12429.440000] ts-adc: x=460 y=2907 z1=182 z2=3030 P=13
<7>[12429.460000] ts-adc: x=460 y=2910 z1=217 z2=3032 P=16
<7>[12429.480000] ts-adc: x=460 y=2910 z1=217 z2=3023 P=16
<7>[12429.500000] ts-adc: x=461 y=2912 z1=217 z2=3020 P=16
<7>[12429.520000] ts-adc: x=459 y=2906 z1=206 z2=3026 P=15
<7>[12429.540000] ts-adc: x=460 y=2912 z1=240 z2=3023 P=18
<4>[12429.540000] ts-adc: Sample with too much jitter - ignored
<7>[12429.560000] ts-adc: x=460 y=2920 z1=218 z2=3019 P=16
<7>[12429.580000] ts-adc: x=460 y=2907 z1=218 z2=3019 P=16
<7>[12429.600000] ts-adc: x=458 y=2904 z1=218 z2=3020 P=16
<7>[12429.620000] ts-adc: x=459 y=2909 z1=215 z2=3015 P=16
<7>[12429.640000] ts-adc: x=458 y=2909 z1=216 z2=3019 P=16
<7>[12429.660000] ts-adc: x=459 y=2910 z1=211 z2=3017 P=16
<7>[12429.680000] ts-adc: x=460 y=2910 z1=269 z2=3014 P=21
<7>[12429.700000] ts-adc: x=458 y=2908 z1=215 z2=3017 P=16
<7>[12429.720000] ts-adc: x=460 y=2912 z1=219 z2=3017 P=17
<7>[12429.740000] ts-adc: x=463 y=2906 z1=217 z2=3012 P=16
<7>[12429.760000] ts-adc: x=458 y=2698 z1=219 z2=3010 P=17
<4>[12429.760000] ts-adc: Sample with too much jitter - ignored
<7>[12429.780000] ts-adc: x=461 y=2908 z1=220 z2=3017 P=17
<7>[12429.800000] ts-adc: x=461 y=2910 z1=116 z2=3014 P=8
<7>[12429.820000] ts-adc: x=461 y=2910 z1=219 z2=3016 P=16
<7>[12429.840000] ts-adc: x=459 y=2901 z1=214 z2=3045 P=16
<4>[12429.840000] ts-adc: Sample with too much jitter - ignored
<7>[12429.860000] ts-adc: Finished to sample, reason: pen_up=1, pressure=-1 <=
2
<7>[12429.870000] ts-adc: Bouncing TS IRQ

root at hx4700:/home/dkrasnov$ uptime
 23:08:57 up  3:22,  2 users,  load average: 0.00, 0.28, 1.30

<7>[13247.500000] ts-adc: Started to sample
<7>[13247.500000] ts-adc: x=1969 y=2413 z1=296 z2=3548 P=4
<4>[13247.500000] ts-adc: Sample with too much jitter - ignored
<7>[13247.520000] ts-adc: x=1973 y=2431 z1=523 z2=3233 P=9
<7>[13247.540000] ts-adc: x=1980 y=2434 z1=491 z2=3315 P=8
<4>[13247.540000] ts-adc: Sample with too much jitter - ignored
<7>[13247.560000] ts-adc: Finished to sample, reason: pen_up=1, pressure=-1 <=
2
<7>[13247.570000] ts-adc: Bouncing TS IRQ

And if I don't touch the screen then I don't get the data. Perfect. 

Next. Driver is going mad. I haven't touched anything at this time.

dkrasnov at hx4700:~$ uptime
 23:26:54 up  1:12,  2 users,  load average: 4.60, 5.70, 4.32

top - 23:27:48 up  1:13,  2 users,  load average: 3.79, 5.29, 4.26
Tasks:  74 total,   3 running,  71 sleeping,   0 stopped,   0 zombie
Cpu(s):  2.7%us, 74.4%sy,  0.0%ni,  0.0%id,  0.0%wa,  0.2%hi, 22.6%si,  0.0%st
Mem:     62116k total,    56004k used,     6112k free,        0k buffers
Swap:        0k total,        0k used,        0k free,    26168k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
  262 root      10  -5     0    0    0 S 68.5  0.0   6:37.95 ts-adc/0
 1369 root      25   0  2820  616  532 R 12.0  1.0   1:03.08 syslogd
 1371 root      15   0  2824  596  516 S 10.1  1.0   0:51.95 klogd
 3071 dkrasnov  16   0  2136 1072  848 R  7.1  1.7   0:01.17 top
 1419 root      15   0  313m 4676 2036 S  1.4  7.5   2:54.25 Xw100
 2571 dkrasnov  15   0  4976 1336 1080 S  1.1  2.2   0:05.65 mb-applet-syste
    1 root      15   0  1408  528  468 S  0.0  0.9   0:01.92 init
    2 root      35  19     0    0    0 R  0.0  0.0   0:01.96 ksoftirqd/0
    3 root      RT   0     0    0    0 S  0.0  0.0   0:00.00 watchdog/0
    4 root      10  -5     0    0    0 S  0.0  0.0   0:01.04 events/0
    5 root      10  -5     0    0    0 S  0.0  0.0   0:00.04 khelper
    6 root      10  -5     0    0    0 S  0.0  0.0   0:00.01 kthread
   51 root      10  -5     0    0    0 S  0.0  0.0   0:00.00 kblockd/0
   83 root      15   0     0    0    0 S  0.0  0.0   0:00.72 hx4700_navptd
   86 root      10  -5     0    0    0 S  0.0  0.0   0:00.00 pccardd
   96 root      10  -5     0    0    0 S  0.0  0.0   0:00.11 kswapd0
   97 root      18  -5     0    0    0 S  0.0  0.0   0:00.00 aio/0

root at hx4700:~$ dmesg| tail -20
<7>[ 4456.650000] ts-adc: x=2508 y=1428 z1=10 z2=4059 P=0
<7>[ 4456.650000] ts-adc: Finished to sample, reason: pen_up=0, pressure=0 <= 2
<7>[ 4456.650000] ts-adc: Started to sample
<7>[ 4456.650000] ts-adc: Finished to sample, reason: pen_up=1, pressure=-1 <=
2
<7>[ 4456.650000] ts-adc: Started to sample
<7>[ 4456.650000] ts-adc: Finished to sample, reason: pen_up=1, pressure=-1 <=
2
<7>[ 4456.650000] ts-adc: Started to sample
<7>[ 4456.650000] ts-adc: Finished to sample, reason: pen_up=1, pressure=-1 <=
2
<7>[ 4456.650000] ts-adc: Started to sample
<7>[ 4456.650000] ts-adc: x=2513 y=1094 z1=11 z2=4061 P=0
<7>[ 4456.650000] ts-adc: Finished to sample, reason: pen_up=0, pressure=0 <= 2
<7>[ 4456.650000] ts-adc: Started to sample
<7>[ 4456.650000] ts-adc: Finished to sample, reason: pen_up=1, pressure=-1 <=
2
<7>[ 4456.650000] ts-adc: Started to sample
<7>[ 4456.650000] ts-adc: Finished to sample, reason: pen_up=1, pressure=-1 <=
2
<7>[ 4456.650000] ts-adc: Started to sample
<7>[ 4456.650000] ts-adc: Finished to sample, reason: pen_up=1, pressure=-1 <=
2
<7>[ 4456.650000] ts-adc: Started to sample
<7>[ 4456.650000] ts-adc: x=2501 y=1417 z1=331 z2=4062 P=3
<4>[ 4456.650000] ts-adc: Sample with too much jitter - ignored

root at hx4700:~$ dmesg| tail -20
<7>[ 4476.310000] ts-adc: Finished to sample, reason: pen_up=1, pressure=-1 <=
2
<7>[ 4476.310000] ts-adc: Bouncing TS IRQ
<7>[ 4476.310000] ts-adc: Started to sample
<7>[ 4476.310000] ts-adc: Finished to sample, reason: pen_up=1, pressure=-1 <=
2
<7>[ 4476.310000] ts-adc: Bouncing TS IRQ
<7>[ 4476.310000] ts-adc: Started to sample
<7>[ 4476.310000] ts-adc: Finished to sample, reason: pen_up=1, pressure=-1 <=
2
<7>[ 4476.310000] ts-adc: Bouncing TS IRQ
<7>[ 4476.310000] ts-adc: Started to sample
<7>[ 4476.310000] ts-adc: Finished to sample, reason: pen_up=1, pressure=-1 <=
2
<7>[ 4476.310000] ts-adc: Bouncing TS IRQ
<7>[ 4476.310000] ts-adc: Started to sample
<7>[ 4476.310000] ts-adc: x=2390 y=875 z1=11 z2=4069 P=0
<7>[ 4476.310000] ts-adc: Finished to sample, reason: pen_up=0, pressure=0 <= 2
<7>[ 4476.310000] ts-adc: Started to sample
<7>[ 4476.310000] ts-adc: x=2549 y=1846 z1=0 z2=4072 P=0
<7>[ 4476.310000] ts-adc: Finished to sample, reason: pen_up=0, pressure=0 <= 2
<7>[ 4476.310000] ts-adc: Started to sample
<7>[ 4476.310000] ts-adc: x=2487 y=451 z1=436 z2=4072 P=4
<4>[ 4476.310000] ts-adc: Sample with too much jitter - ignored

root at hx4700:~$ dmesg| tail -20
<7>[ 4484.380000] ts-adc: Finished to sample, reason: pen_up=1, pressure=-1 <=
2
<7>[ 4484.380000] ts-adc: Started to sample
<7>[ 4484.380000] ts-adc: Finished to sample, reason: pen_up=1, pressure=-1 <=
2
<7>[ 4484.380000] ts-adc: Started to sample
<7>[ 4484.380000] ts-adc: Finished to sample, reason: pen_up=1, pressure=-1 <=
2
<7>[ 4484.380000] ts-adc: Started to sample
<7>[ 4484.380000] ts-adc: Finished to sample, reason: pen_up=1, pressure=-1 <=
2
<7>[ 4484.380000] ts-adc: Started to sample
<7>[ 4484.380000] ts-adc: Finished to sample, reason: pen_up=1, pressure=-1 <=
2
<7>[ 4484.380000] ts-adc: Started to sample
<7>[ 4484.380000] ts-adc: Finished to sample, reason: pen_up=1, pressure=-1 <=
2
<7>[ 4484.380000] ts-adc: Started to sample
<7>[ 4484.380000] ts-adc: Finished to sample, reason: pen_up=1, pressure=-1 <=
2
<7>[ 4484.380000] ts-adc: Started to sample
<7>[ 4484.380000] ts-adc: Finished to sample, reason: pen_up=1, pressure=-1 <=
2
<7>[ 4484.380000] ts-adc: Started to sample
<7>[ 4484.380000] ts-adc: Finished to sample, reason: pen_up=1, pressure=-1 <=
2
<7>[ 4484.380000] ts-adc: Started to sample
<7>[ 4484.380000] ts-adc: Finished to sample, reason: pen_up=1, pressure=-1 <=
2
<7>[ 4484.380000] ts-adc: Started to sample

root at hx4700:~$ dmesg| tail -20
<7>[ 4547.700000] ts-adc: Bouncing TS IRQ
<7>[ 4547.700000] ts-adc: Started to sample
<7>[ 4547.700000] ts-adc: Finished to sample, reason: pen_up=1, pressure=-1 <=
2
<7>[ 4547.700000] ts-adc: Bouncing TS IRQ
<7>[ 4547.700000] ts-adc: Bouncing TS IRQ
<7>[ 4547.700000] ts-adc: Started to sample
<7>[ 4547.700000] ts-adc: Finished to sample, reason: pen_up=1, pressure=-1 <=
2
<7>[ 4547.700000] ts-adc: Bouncing TS IRQ
<7>[ 4547.700000] ts-adc: Started to sample
<7>[ 4547.700000] ts-adc: x=2182 y=1755 z1=13 z2=4066 P=0
<7>[ 4547.700000] ts-adc: Finished to sample, reason: pen_up=0, pressure=0 <= 2
<7>[ 4547.700000] ts-adc: Bouncing TS IRQ
<7>[ 4547.700000] ts-adc: Started to sample
<7>[ 4547.700000] ts-adc: Finished to sample, reason: pen_up=1, pressure=-1 <=
2
<7>[ 4547.700000] ts-adc: Bouncing TS IRQ
<7>[ 4547.700000] ts-adc: Bouncing TS IRQ
<7>[ 4547.700000] ts-adc: Started to sample
<7>[ 4547.700000] ts-adc: x=2245 y=1727 z1=12 z2=4068 P=0
<7>[ 4547.700000] ts-adc: Finished to sample, reason: pen_up=0, pressure=0 <= 2

Driver is trying to sample something but there is no stylus on the screen. It's
strange. Now I've touched screen and high load disappears...

root at hx4700:~$ dmesg| tail -30
<7>[ 4596.920000] ts-adc: x=1622 y=2247 z1=615 z2=2709 P=18
<7>[ 4596.940000] ts-adc: x=1622 y=2191 z1=620 z2=2706 P=18
<7>[ 4596.960000] ts-adc: x=1623 y=2191 z1=620 z2=2692 P=18
<7>[ 4596.980000] ts-adc: x=1622 y=2197 z1=620 z2=2709 P=18
<7>[ 4597.000000] ts-adc: x=1616 y=2189 z1=616 z2=2705 P=18
<7>[ 4597.020000] ts-adc: x=1618 y=2186 z1=621 z2=2704 P=18
<7>[ 4597.040000] ts-adc: x=1620 y=2194 z1=629 z2=2708 P=18
<7>[ 4597.060000] ts-adc: x=1619 y=2188 z1=621 z2=2708 P=18
<7>[ 4597.080000] ts-adc: x=1617 y=2191 z1=624 z2=2707 P=18
<7>[ 4597.100000] ts-adc: x=1620 y=2192 z1=621 z2=2704 P=18
<7>[ 4597.120000] ts-adc: x=1619 y=2190 z1=612 z2=2712 P=18
<7>[ 4597.140000] ts-adc: x=1622 y=2194 z1=618 z2=2706 P=18
<7>[ 4597.160000] ts-adc: x=1616 y=2194 z1=631 z2=2709 P=18
<7>[ 4597.180000] ts-adc: x=1619 y=2189 z1=622 z2=2709 P=18
<7>[ 4597.200000] ts-adc: x=1620 y=2191 z1=620 z2=2706 P=18
<7>[ 4597.220000] ts-adc: x=1620 y=2190 z1=618 z2=2707 P=18
<7>[ 4597.240000] ts-adc: x=1619 y=2191 z1=620 z2=2707 P=18
<7>[ 4597.260000] ts-adc: x=1619 y=2188 z1=617 z2=2708 P=18
<7>[ 4597.280000] ts-adc: x=1615 y=2183 z1=624 z2=2709 P=18
<7>[ 4597.300000] ts-adc: x=1619 y=2189 z1=619 z2=2709 P=18
<7>[ 4597.320000] ts-adc: x=1619 y=2191 z1=618 z2=2713 P=18
<7>[ 4597.340000] ts-adc: x=1616 y=2188 z1=620 z2=2710 P=18
<7>[ 4597.360000] ts-adc: x=1619 y=2189 z1=622 z2=2707 P=18
<7>[ 4597.380000] ts-adc: x=1616 y=2189 z1=619 z2=2711 P=18
<7>[ 4597.400000] ts-adc: x=1622 y=2191 z1=619 z2=2709 P=18
<7>[ 4597.420000] ts-adc: x=1620 y=2185 z1=620 z2=2710 P=18
<7>[ 4597.440000] ts-adc: x=1623 y=2191 z1=589 z2=2710 P=17
<7>[ 4597.460000] ts-adc: x=1619 y=2192 z1=615 z2=2713 P=18
<7>[ 4597.480000] ts-adc: x=1610 y=1592 z1=617 z2=2714 P=18
<4>[ 4597.480000] ts-adc: Sample with too much jitter - ignored

...release and driver goes mad again.

root at hx4700:~$ dmesg| tail -30
<7>[ 4649.680000] ts-adc: Started to sample
<7>[ 4649.680000] ts-adc: Finished to sample, reason: pen_up=1, pressure=-1 <=
2
<7>[ 4649.680000] ts-adc: Bouncing TS IRQ
<7>[ 4649.680000] ts-adc: Started to sample
<7>[ 4649.680000] ts-adc: Finished to sample, reason: pen_up=1, pressure=-1 <=
2
<7>[ 4649.680000] ts-adc: Bouncing TS IRQ
<7>[ 4649.680000] ts-adc: Started to sample
<7>[ 4649.680000] ts-adc: x=2768 y=1022 z1=7 z2=4073 P=0
<7>[ 4649.680000] ts-adc: Finished to sample, reason: pen_up=0, pressure=0 <= 2
<7>[ 4649.680000] ts-adc: Bouncing TS IRQ
<7>[ 4649.680000] ts-adc: Started to sample
<7>[ 4649.680000] ts-adc: x=3080 y=809 z1=9 z2=4070 P=0
<7>[ 4649.680000] ts-adc: Finished to sample, reason: pen_up=0, pressure=0 <= 2
<7>[ 4649.680000] ts-adc: Bouncing TS IRQ
<7>[ 4649.680000] ts-adc: Started to sample
<7>[ 4649.680000] ts-adc: Finished to sample, reason: pen_up=1, pressure=-1 <=
2
<7>[ 4649.680000] ts-adc: Started to sample
<7>[ 4649.680000] ts-adc: Finished to sample, reason: pen_up=1, pressure=-1 <=
2
<7>[ 4649.680000] ts-adc: Bouncing TS IRQ
<7>[ 4649.680000] ts-adc: Started to sample
<7>[ 4649.680000] ts-adc: Finished to sample, reason: pen_up=1, pressure=-1 <=
2
<7>[ 4649.680000] ts-adc: Started to sample
<7>[ 4649.680000] ts-adc: Finished to sample, reason: pen_up=1, pressure=-1 <=
2
<7>[ 4649.680000] ts-adc: Bouncing TS IRQ
<7>[ 4649.680000] ts-adc: Started to sample
<7>[ 4649.680000] ts-adc: x=2759 y=1120 z1=9 z2=4073 P=0
<7>[ 4649.680000] ts-adc: Finished to sample, reason: pen_up=0, pressure=0 <= 2
<7>[ 4649.680000] ts-adc: Started to sample
<7>[ 4649.680000] ts-adc: x=2717 y=402 z1=468 z2=4076 P=4
<4>[ 4649.680000] ts-adc: Sample with too much jitter - ignored

Then I've got some IRQ stats. First with no screen touched.

dkrasnov at hx4700:~$ date; uptime; cat /proc/interrupts |grep ts-adc
Wed Apr 16 23:44:06 YAKST 2008
 23:44:06 up 16 min, load average: 2.21, 2.45, 2.25
 90:    5023118        GPIO  ts-adc
dkrasnov at hx4700:~$ date; uptime; cat /proc/interrupts |grep ts-adc
Wed Apr 16 23:44:08 YAKST 2008
 23:44:08 up 17 min, load average: 2.21, 2.45, 2.25
 90:    5030374        GPIO  ts-adc
dkrasnov at hx4700:~$ date; uptime; cat /proc/interrupts |grep ts-adc
Wed Apr 16 23:44:10 YAKST 2008
 23:44:11 up 17 min, load average: 2.19, 2.45, 2.25
 90:    5036611        GPIO  ts-adc
dkrasnov at hx4700:~$ date; uptime; cat /proc/interrupts |grep ts-adc
Wed Apr 16 23:44:13 YAKST 2008
 23:44:13 up 17 min, load average: 2.19, 2.45, 2.25
 90:    5090294        GPIO  ts-adc
dkrasnov at hx4700:~$ date; uptime; cat /proc/interrupts |grep ts-adc
Wed Apr 16 23:44:15 YAKST 2008
 23:44:15 up 17 min, load average: 2.17, 2.44, 2.25
 90:    5123117        GPIO  ts-adc
dkrasnov at hx4700:~$ date; uptime; cat /proc/interrupts |grep ts-adc
Wed Apr 16 23:44:18 YAKST 2008
 23:44:18 up 17 min, load average: 2.17, 2.44, 2.25
 90:    5160930        GPIO  ts-adc
dkrasnov at hx4700:~$ date; uptime; cat /proc/interrupts |grep ts-adc
Wed Apr 16 23:44:20 YAKST 2008
 23:44:20 up 17 min, load average: 2.16, 2.43, 2.25
 90:    5197515        GPIO  ts-adc
dkrasnov at hx4700:~$ date; uptime; cat /proc/interrupts |grep ts-adc
Wed Apr 16 23:44:23 YAKST 2008
 23:44:23 up 17 min, load average: 2.16, 2.43, 2.25
 90:    5257309        GPIO  ts-adc
dkrasnov at hx4700:~$ date; uptime; cat /proc/interrupts |grep ts-adc
Wed Apr 16 23:44:28 YAKST 2008
 23:44:28 up 17 min, load average: 2.15, 2.42, 2.25
 90:    5320172        GPIO  ts-adc
dkrasnov at hx4700:~$ date; uptime; cat /proc/interrupts |grep ts-adc
Wed Apr 16 23:44:32 YAKST 2008
 23:44:32 up 17 min, load average: 2.13, 2.42, 2.25
 90:    5406228        GPIO  ts-adc
dkrasnov at hx4700:~$ date; uptime; cat /proc/interrupts |grep ts-adc
Wed Apr 16 23:44:35 YAKST 2008
 23:44:35 up 17 min, load average: 2.12, 2.41, 2.25
 90:    5475438        GPIO  ts-adc
dkrasnov at hx4700:~$ date; uptime; cat /proc/interrupts |grep ts-adc
Wed Apr 16 23:44:37 YAKST 2008
 23:44:37 up 17 min, load average: 2.12, 2.41, 2.25
 90:    5526983        GPIO  ts-adc
dkrasnov at hx4700:~$ date; uptime; cat /proc/interrupts |grep ts-adc
Wed Apr 16 23:44:40 YAKST 2008
 23:44:40 up 17 min, load average: 2.12, 2.41, 2.25
 90:    5572581        GPIO  ts-adc
dkrasnov at hx4700:~$ date; uptime; cat /proc/interrupts |grep ts-adc
Wed Apr 16 23:44:42 YAKST 2008
 23:44:42 up 17 min, load average: 2.03, 2.39, 2.24
 90:    5605428        GPIO  ts-adc

Wow!! Several thousands of interrupts from TS in one second! May be this is the
problem? Next touch the screen and hold stylus.

dkrasnov at hx4700:~$ date; uptime; cat /proc/interrupts |grep ts-adc
Wed Apr 16 23:45:35 YAKST 2008
 23:45:35 up 18 min, load average: 0.57, 1.21, 2.19
 90:    6199695        GPIO  ts-adc
dkrasnov at hx4700:~$ date; uptime; cat /proc/interrupts |grep ts-adc
Wed Apr 16 23:45:39 YAKST 2008
 23:45:39 up 18 min, load average: 0.57, 1.21, 2.19
 90:    6199695        GPIO  ts-adc
dkrasnov at hx4700:~$ date; uptime; cat /proc/interrupts |grep ts-adc
Wed Apr 16 23:45:42 YAKST 2008
 23:45:42 up 18 min, load average: 0.53, 1.19, 2.18
 90:    6199695        GPIO  ts-adc
dkrasnov at hx4700:~$ date; uptime; cat /proc/interrupts |grep ts-adc
Wed Apr 16 23:45:45 YAKST 2008
 23:45:45 up 18 min, load average: 0.48, 1.17, 2.17
 90:    6199695        GPIO  ts-adc
dkrasnov at hx4700:~$ date; uptime; cat /proc/interrupts |grep ts-adc
Wed Apr 16 23:45:48 YAKST 2008
 23:45:48 up 18 min, load average: 0.48, 1.17, 2.17
 90:    6199695        GPIO  ts-adc
dkrasnov at hx4700:~$ date; uptime; cat /proc/interrupts |grep ts-adc
Wed Apr 16 23:45:52 YAKST 2008
 23:45:52 up 18 min, load average: 0.44, 1.15, 2.17
 90:    6199695        GPIO  ts-adc
dkrasnov at hx4700:~$ date; uptime; cat /proc/interrupts |grep ts-adc
Wed Apr 16 23:46:19 YAKST 2008
 23:46:19 up 19 min, load average: 0.29, 1.05, 2.13
 90:    6199695        GPIO  ts-adc
dkrasnov at hx4700:~$ date; uptime; cat /proc/interrupts |grep ts-adc
Wed Apr 16 23:46:24 YAKST 2008
 23:46:24 up 19 min, load average: 0.27, 1.04, 2.13
 90:    6199695        GPIO  ts-adc
dkrasnov at hx4700:~$ date; uptime; cat /proc/interrupts |grep ts-adc
Wed Apr 16 23:46:57 YAKST 2008
 23:46:57 up 19 min, load average: 0.14, 0.92, 2.08
 90:    6199697        GPIO  ts-adc
dkrasnov at hx4700:~$ date; uptime; cat /proc/interrupts |grep ts-adc
Wed Apr 16 23:47:04 YAKST 2008
 23:47:05 up 19 min, load average: 0.13, 0.90, 2.08
 90:    6199697        GPIO  ts-adc
dkrasnov at hx4700:~$ date; uptime; cat /proc/interrupts |grep ts-adc
Wed Apr 16 23:47:11 YAKST 2008
 23:47:11 up 20 min, load average: 0.11, 0.87, 2.07
 90:    6199697        GPIO  ts-adc

Storm calms down and load disapears. There are two or three TS interrupt per
touch in normal driver state.

-- 
Configure bugmail: http://bugs.openembedded.net/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.




More information about the Openembedded-issues mailing list