で、やってみたことは。
1.同期系をなるべくとめる。
それでもやっぱりとめられないのがあったり、とめたらAndroidのいみねぇよ、というのもあったり。
2.GPUであるMALI-400MPのClockと電圧のUC/UV
2ステップの切り替えのうち、下のclock/volを100/750程度にしてみた。
3.CPUのmin_scalingが200Mhzのところを100に落としてみる。
SetCPUでclock別のプロファイルとってみると、ほとんどの時間が200Mhzでの駆動だったから。
んで、どれもほとんど効かないです。多少変化はあるのですが、CPUの100Mhz駆動は今晩あたりテストしますが、大して変わらんような気がしますな。。
自分の試した100Mhz code。ポイントだけ。
/arch/arm/mach-s5pv310/cpufreq.c
#if 0 {L4, 200*1000}, #else {L4, 100*1000}, #endif
#if 0 /* APLL FOUT L4: 200MHz */ ((200<<16)|(6<<8)|(0x3)), #else /* APLL FOUT L4: 100MHz */ ((200<<16)|(6<<8)|(0x4)), #endif
#if 0 .arm_volt = 975000, #else .arm_volt = 950000, #endif
見落としあんのかもしれないんで、気がついた人はtweetでもしてくださいな。
MALI400のほうは、
drivers/media/video/samsung/mali/platform/orion-m400/mali_platform_dvfs.c
mali_dvfs_table mali_dvfs[MALI_DVFS_STEPS]={ .. .
このあたりで。mali_dvfs_table_updateでasv_numにしたがってstepする部分のvolもわすれずに。自分的にはidle時の設定を100/750000でやってみてる。
あと、この辺もか。
arch/arm/mach-s5pv310/mach-c1.c
static struct regulator_init_data buck3_init_data = { .constraints = { .name = "G3D_1.1V", #if 0 .min_uV = 700000, #else .min_uV = 900000, #endif
このあたりの作業全般、sysfsで確認&printkあたりでチェック忘れずに。じゃないとSetCPUの表示にだまされるかも?
まぁ、この作業はこの辺にしておいて、次はVoodoo sound系かBLNだな。
0 コメント:
コメントを投稿