I'm not real familiar with the kernel side but I can tell you what I see through the device tree. "autoparts" just sets a string for cpu mode (0, 1 or 2) and the specifics are defined in "init.cardhu.cpu.rc". I suppose the rest is kernel side.
Thx, I'll take a closer look. I know the kernel side well, but not how the custom ROMs are handling the modes. In the the stock ROM, the ROM played role in what it changed when switching between the modes. It would run a script for each mode. For example, when you clicked performance, it would run a script somewhat like what I have pasted below. I have taken the system_mode out of the picture now, so now I need to know what else it is doing. The system mode is what keeps your CPU max at a certain speed, but the other settings still come into play. It is annoying though because your max will be seen to be at 1700, but you can't go past whatever the frequency is set by the mode. I have a love/hate relationship with this setup LOL. The 3 modes are neat, but you can only choose one freq for performance. It would be cool to have 6 modes, something like (power save, balanced 1.3, performance stock 1.4, OC slot 1 1.6, OC slot 2 1.7, OC slot 3 1.8). However, if the ROM's don't allow for this, then I would rather just build a generic kernel that works like a Nexus device and cut out the Asus mode BS. Users can then set their max frequency as they wish and play with whatever other settings they like. We might be in OK shape as we have it now though, I just need to understand what else is happening when you click those modes from the ROM's, and if all the ROMs are doing the same thing. I'll study the Java code to find out.
#!/bin/sh -x
echo 0 > /sys/module/cpu_tegra/parameters/system_mode
echo 1300 /sys/kernel/tegra_cap/core_cap_level
echo 0 > /sys/kernel/tegra_cap/core_cap_state
echo 0 > /sys/devices/platform/tegra_grhost/enable_3d_scaling
echo 10 > /sys/module/cpu_tegra3/parameters/mp_overhead
echo 9999999 > /sys/module/cpu_tegra/parameters/pwr_cap_limit_1
echo 9999999 > /sys/module/cpu_tegra/parameters/pwr_cap_limit_2
echo 9999999 > /sys/module/cpu_tegra/parameters/pwr_cap_limit_3
echo 9999999 > /sys/module/cpu_tegra/parameters/pwr_cap_limit_4
setprop power.saving.mode 1
setprop persist.tegra.NV_FPSLIMIT 0
setprop persist.sys.NV_FPSLIMIT 0
setprop persist.sys.NV_POWERMODE 0
ROM: Cm10.1 build Feb26th
Kernel: motley b24 CM blob "as is"
Few things I noticed - Install was a breeze. Wiped cache&dalik just because.
1) On 1st boot, lock screen wallpaper was "cut in half" (ie, lower half of screen was black, upper half had the wallpaper). After unlock, same thing. Swiped to the left and wallpaper was back to normal.
2) ext microSD card notification that my "card was corrupt" and needed formatting. Ejected it and put it back in. everything back to normal.
3) screened timed out (as usual after 30s) but impossible to power screen on again by pressing "power" button for 1s or 2-3seconds. I know the Prime is "on" because when plugged to the computer, i get the usb prompt and am able to explore the prime. Had to hard reboot it.
After reboot, prime seemed to function normally. able to power off/on as before.
Smoother transition b/t screens when in perf mode vs balance mode. Might just leave it on perf mode 24h/7 for a better experience!
Performance mode w/ 1400Mhz (enabled in CM settings & performance governor):
Nenamark2 score- 61.5fps
Quadrant Std- 1st run:5465 / 2nd run: 5290
Antutu v3.1.2- 1400 MHz (x4) [800x1232]
Total score: 14057
CPU: 7596 / GPU: 3079
RAM: 2588 / I/O: 794
Balance mode w/ 1700Mhz (interactive governor)
Nenamark2:
Quadrant: 1st run: 5894 / 2nd run: 6090
Antutu v3.1.2- 1700 MHz (x4) [800x1232]
Total score: 15907
CPU: 9227 / GPU: 2884
RAM: 2970 / I/O: 826
Performance mode w/1700Mhz (interactive gov)
Nenamark2: 63.1fps
Quadrant: 1st run: 6143 / 2nd run: 6231
Antutu v3.1.2- 1700 MHz (x4) [800x1232]
Total score: 16395
CPU: 9291 / GPU: 3289
RAM: 2998 / I/O: 817
At this point I'm not sure if i should O/C to 1700Mhz with balance mode & interactive gov OR Keep 1400 MHz with performance mode & interactive gov...
Thanks for the feedback!