Picasso-kernel: различия между версиями

Материал из Toshiba AC100 wiki
Перейти к навигации Перейти к поиску
м (move problems to top)
м (→‎Notes: add usb clock)
 
(не показано 11 промежуточных версий 2 участников)
Строка 3: Строка 3:
===Problems left===
===Problems left===


#Slow data/system EXT4 format from recovery
#Slow data/system EXT4 format from recovery with SanDisk eMMC (try to put conditions on picasso quirks)
#UDC usb works only if inserted before poweron
#<strike>UDC usb works only if inserted before poweron</strike>) ([https://github.com/digetx/picasso-kernel/commit/a785109dbaf665c1ad123c6ff50b16dea890a8b3 fixed by digetx])
#Hardware video overlays freezes (Probably memory clock problem)
#Hardware video overlays freezes (Probably memory clock problem)
#<strike>[[No power button and lid events from nvec]]</strike> (Works with Stuw's patches)
#<strike>[[No power button and lid events from nvec]]</strike> (Works with Stuw's patches)
Строка 38: Строка 38:
memory size note
memory size note
<pre>
<pre>
512 megabyte=536 870 912 bytes /* Total RAM */
128 megabyte=134 217 728 bytes
128 megabyte=134 217 728 bytes
64 megabyte=67 108 864 bytes
64 megabyte=67 108 864 bytes
Строка 44: Строка 45:


----
----
===UDC===
====Clocks diff====
<pre>
--- picasso-kernel-udc-not-connected-clocks-1  2016-04-27 01:09:48.527156892 +0300
+++ picasso-kernel-udc-power-on-clocks-1        2016-04-27 01:10:08.994148847 +0300
@@ -1,5 +1,5 @@
-Not inserted:
-shell@android:/ # grep -Hsi "" /sys/kernel/debug/clk/*/clk_rate               
+inserted
+shell@android:/ # grep -Hsi "" /sys/kernel/debug/clk/*/clk_rate
/sys/kernel/debug/clk/2d/clk_rate:300000000
/sys/kernel/debug/clk/2d_emc/clk_rate:0
/sys/kernel/debug/clk/3d/clk_rate:300000000
@@ -86,7 +86,7 @@
/sys/kernel/debug/clk/pll_p_out4_div/clk_rate:24000000
/sys/kernel/debug/clk/pll_ref/clk_rate:12000000
/sys/kernel/debug/clk/pll_u/clk_rate:480000000
-/sys/kernel/debug/clk/pll_x/clk_rate:1000000000
+/sys/kernel/debug/clk/pll_x/clk_rate:312000000
/sys/kernel/debug/clk/pwm/clk_rate:32768
/sys/kernel/debug/clk/rtc/clk_rate:32768
/sys/kernel/debug/clk/sbc1/clk_rate:86400000
</pre>
====Kernel logs====
udc before power on connected http://pastebin.com/3d1RLizK <br/>
udc power on not connected http://pastebin.com/vH0tYwbv <br/>
----
===EMC===
Current clocks after power on http://pastebin.com/sZzsyLka <br/>
EMC clock use patch https://github.com/ac100-ru/picasso-kernel/commit/964333b5b4844bea59f05ce4095ba8742bc55f41 <br/>
EMC driver code https://github.com/ac100-ru/picasso-kernel/commit/e068d72acd417d3134ba1d183d7288a8c9be2a70 <br/>
----
===Video overlays===
Current logcat while freezing
<pre>
I/Choreographer(  525): Skipped 34 frames!  The application may be doing too much work on its main thread.
</pre>
https://developer.android.com/training/testing/performance.html
----
===cpufreq===
<pre>
root@android:/sys/devices/system/cpu/cpufreq/interactive # ls -la
-rw-rw-r-- system  system      4096 2016-04-20 01:08 above_hispeed_delay
-rw-rw---- system  system      4096 2016-04-20 01:08 boost
-rw-rw---- system  system      4096 2016-04-20 01:08 boostpulse
-rw-rw---- system  system      4096 2016-04-20 01:08 boostpulse_duration
-rw-rw-r-- system  system      4096 2016-04-20 01:08 go_hispeed_load
-rw-rw-r-- system  system      4096 2016-04-20 01:08 hispeed_freq
-rw-r--r-- root    root        4096 2016-04-20 01:09 io_is_busy
-rw-rw---- system  system      4096 2016-04-20 01:08 min_sample_time
-rw-r--r-- root    root        4096 2016-04-20 01:08 target_loads
-rw-rw-r-- system  system      4096 2016-04-20 01:08 timer_rate
-rw-r--r-- root    root        4096 2016-04-20 01:09 timer_slack
</pre>
<pre>
root@android:/sys/module/tegra2_emc/parameters # cat emc_enable     
Y
</pre>
<pre>
1|root@android:/data # grep -Hsi "" /sys/devices/system/cpu/cpufreq/interactiv>
/sys/devices/system/cpu/cpufreq/interactive/above_hispeed_delay:80000
/sys/devices/system/cpu/cpufreq/interactive/boost:0
/sys/devices/system/cpu/cpufreq/interactive/boostpulse_duration:80000
/sys/devices/system/cpu/cpufreq/interactive/go_hispeed_load:99
/sys/devices/system/cpu/cpufreq/interactive/hispeed_freq:1000000
/sys/devices/system/cpu/cpufreq/interactive/io_is_busy:0
/sys/devices/system/cpu/cpufreq/interactive/min_sample_time:30000
/sys/devices/system/cpu/cpufreq/interactive/target_loads:29 312000:30 456000:45 608000:50 760000:60 816000:70 912000:90 2000000:99
/sys/devices/system/cpu/cpufreq/interactive/timer_rate:20000
/sys/devices/system/cpu/cpufreq/interactive/timer_slack:80000
</pre>
<pre>
root@android:/data # grep -Hsi "" /sys/devices/system/cpu/cpu0/cpufreq/*     
/sys/devices/system/cpu/cpu0/cpufreq/affected_cpus:0 1
/sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq:216000
/sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq:1000000
/sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_min_freq:216000
/sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_transition_latency:300000
/sys/devices/system/cpu/cpu0/cpufreq/related_cpus:0 1
/sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies:216000 312000 456000 608000 760000 816000 912000 1000000
/sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors:conservative ondemand userspace powersave interactive performance
/sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq:216000
/sys/devices/system/cpu/cpu0/cpufreq/scaling_driver:tegra
/sys/devices/system/cpu/cpu0/cpufreq/scaling_governor:interactive
/sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq:1000000
/sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq:216000
/sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed:<unsupported>
</pre>
----
===Notes===
Checkout maybe this patches need to be added somehow to 3.18 <br/>
[https://github.com/zombah/android_kernel_toshiba_ac100/commit/1759db16750a029bfc80a62ab0918b84558dfab3 ARM: tegra: paz00: add clocks required for usb operation] <br/>
[https://github.com/zombah/android_kernel_toshiba_ac100/commit/046a597b9cc3e2bd7b707887530827cbd607b275 ARM: tegra2: clock: Put Tegra2 clocks to known states] <br/>
[https://github.com/zombah/android_kernel_toshiba_ac100/commit/13977b49775e4f86a05b3c311582d39f70432ed6 ARM: tegra: paz00: fix boot with uboot] <br/>

Текущая версия от 14:45, 25 января 2017

Use picasso-kernel on PAZ00

Problems left

  1. Slow data/system EXT4 format from recovery with SanDisk eMMC (try to put conditions on picasso quirks)
  2. UDC usb works only if inserted before poweron) (fixed by digetx)
  3. Hardware video overlays freezes (Probably memory clock problem)
  4. No power button and lid events from nvec (Works with Stuw's patches)
  5. Battare uevents (Patch from 3.1 fits 3.18)

Memreserve calculations

Memory hole like kernel 3.1.10

/*
 * Carveouts for multimedia and ram console
 * 128MB - multimedia
 * 8MB - fb1
 * 16MB - fb2
 * 1MB - ram-console
 */

memory {
        reg = <0x00000000 0x20000000>;
};

/memreserve/ 0x11000000+0x9900000=0x1A900000

nvmap:0x11000000+0x8000000=0x19000000
dc1:0x19000000+0x800000=0x19800000
dc2:0x19800000+0x01000000=0x1A800000
ramconsole:0x1A800000+0x00100000=0x1A900000


memory size note

512 megabyte=536 870 912 bytes /* Total RAM */
128 megabyte=134 217 728 bytes
64 megabyte=67 108 864 bytes
32 megabyte=33 554 432 bytes

UDC

Clocks diff

--- picasso-kernel-udc-not-connected-clocks-1   2016-04-27 01:09:48.527156892 +0300
+++ picasso-kernel-udc-power-on-clocks-1        2016-04-27 01:10:08.994148847 +0300
@@ -1,5 +1,5 @@
-Not inserted:
-shell@android:/ # grep -Hsi "" /sys/kernel/debug/clk/*/clk_rate                
+inserted
+shell@android:/ # grep -Hsi "" /sys/kernel/debug/clk/*/clk_rate
 /sys/kernel/debug/clk/2d/clk_rate:300000000
 /sys/kernel/debug/clk/2d_emc/clk_rate:0
 /sys/kernel/debug/clk/3d/clk_rate:300000000
@@ -86,7 +86,7 @@
 /sys/kernel/debug/clk/pll_p_out4_div/clk_rate:24000000
 /sys/kernel/debug/clk/pll_ref/clk_rate:12000000
 /sys/kernel/debug/clk/pll_u/clk_rate:480000000
-/sys/kernel/debug/clk/pll_x/clk_rate:1000000000
+/sys/kernel/debug/clk/pll_x/clk_rate:312000000
 /sys/kernel/debug/clk/pwm/clk_rate:32768
 /sys/kernel/debug/clk/rtc/clk_rate:32768
 /sys/kernel/debug/clk/sbc1/clk_rate:86400000

Kernel logs

udc before power on connected http://pastebin.com/3d1RLizK
udc power on not connected http://pastebin.com/vH0tYwbv


EMC

Current clocks after power on http://pastebin.com/sZzsyLka
EMC clock use patch https://github.com/ac100-ru/picasso-kernel/commit/964333b5b4844bea59f05ce4095ba8742bc55f41
EMC driver code https://github.com/ac100-ru/picasso-kernel/commit/e068d72acd417d3134ba1d183d7288a8c9be2a70


Video overlays

Current logcat while freezing

I/Choreographer(  525): Skipped 34 frames!  The application may be doing too much work on its main thread.

https://developer.android.com/training/testing/performance.html


cpufreq

root@android:/sys/devices/system/cpu/cpufreq/interactive # ls -la
-rw-rw-r-- system   system       4096 2016-04-20 01:08 above_hispeed_delay
-rw-rw---- system   system       4096 2016-04-20 01:08 boost
-rw-rw---- system   system       4096 2016-04-20 01:08 boostpulse
-rw-rw---- system   system       4096 2016-04-20 01:08 boostpulse_duration
-rw-rw-r-- system   system       4096 2016-04-20 01:08 go_hispeed_load
-rw-rw-r-- system   system       4096 2016-04-20 01:08 hispeed_freq
-rw-r--r-- root     root         4096 2016-04-20 01:09 io_is_busy
-rw-rw---- system   system       4096 2016-04-20 01:08 min_sample_time
-rw-r--r-- root     root         4096 2016-04-20 01:08 target_loads
-rw-rw-r-- system   system       4096 2016-04-20 01:08 timer_rate
-rw-r--r-- root     root         4096 2016-04-20 01:09 timer_slack
root@android:/sys/module/tegra2_emc/parameters # cat emc_enable      
Y
1|root@android:/data # grep -Hsi "" /sys/devices/system/cpu/cpufreq/interactiv>
/sys/devices/system/cpu/cpufreq/interactive/above_hispeed_delay:80000
/sys/devices/system/cpu/cpufreq/interactive/boost:0
/sys/devices/system/cpu/cpufreq/interactive/boostpulse_duration:80000
/sys/devices/system/cpu/cpufreq/interactive/go_hispeed_load:99
/sys/devices/system/cpu/cpufreq/interactive/hispeed_freq:1000000
/sys/devices/system/cpu/cpufreq/interactive/io_is_busy:0
/sys/devices/system/cpu/cpufreq/interactive/min_sample_time:30000
/sys/devices/system/cpu/cpufreq/interactive/target_loads:29 312000:30 456000:45 608000:50 760000:60 816000:70 912000:90 2000000:99
/sys/devices/system/cpu/cpufreq/interactive/timer_rate:20000
/sys/devices/system/cpu/cpufreq/interactive/timer_slack:80000
root@android:/data # grep -Hsi "" /sys/devices/system/cpu/cpu0/cpufreq/*       
/sys/devices/system/cpu/cpu0/cpufreq/affected_cpus:0 1
/sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq:216000
/sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq:1000000
/sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_min_freq:216000
/sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_transition_latency:300000
/sys/devices/system/cpu/cpu0/cpufreq/related_cpus:0 1
/sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies:216000 312000 456000 608000 760000 816000 912000 1000000 
/sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors:conservative ondemand userspace powersave interactive performance 
/sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq:216000
/sys/devices/system/cpu/cpu0/cpufreq/scaling_driver:tegra
/sys/devices/system/cpu/cpu0/cpufreq/scaling_governor:interactive
/sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq:1000000
/sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq:216000
/sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed:<unsupported>

Notes

Checkout maybe this patches need to be added somehow to 3.18
ARM: tegra: paz00: add clocks required for usb operation
ARM: tegra2: clock: Put Tegra2 clocks to known states
ARM: tegra: paz00: fix boot with uboot