#!/system/bin/sh

# ZRAM allocate 10% of device memory
# credit Imoseyon

if [ -e /data/user_de/0/com.android.settings/app_kk/zram_on_boot ]; then
    RAMSIZE=`grep MemTotal /proc/meminfo | awk '{ print \$2 }'`
    ZRAMSIZE=$(($RAMSIZE*100))

    echo $ZRAMSIZE > /sys/block/zram0/disksize && \
    /system/xbin/mkswap /dev/block/zram0 && \
    /system/xbin/swapon /dev/block/zram0 && \
    echo "500,1000,20000,20000,20000,25000" > /sys/module/lowmemorykiller/parameters/minfree
    /system/bin/sysctl -w vm.swappiness=40
fi

# frequency control

base="/sys/devices/system/cpu/cpu" 
files="cpufreq/scaling_min_freq \
       cpufreq/scaling_max_freq \
       cpufreq/scaling_governor"

for cpu in 0 1 2 3; do
 for x in $files; do
    file=$base$cpu/$x
    chmod 664 $file
    chgrp system $file
 done
done


if [ -e /data/user_de/0/com.android.settings/app_kk/clocks_on_boot ]; then
    thtt /data/local/kk_clocking
    TEST_VALUE=$?

    if [ ! $TEST_VALUE -eq 0 ]; then
        setprop kk.overclocking.failed 1
	log -t overclocking 'values not applied due to recent reboot'
    else

        if [ -e /data/user_de/0/com.android.settings/app_kk/clocks_max ]; then
	for cpu in 0 1 2 3; do
                cat /data/user_de/0/com.android.settings/app_kk/clocks_max > /sys/devices/system/cpu/cpu$cpu/cpufreq/scaling_max_freq
	done
        fi

	if [ -e /data/user_de/0/com.android.settings/app_kk/clocks_min ]; then
	for cpu in 0 1 2 3; do
		cat /data/user_de/0/com.android.settings/app_kk/clocks_min > /sys/devices/system/cpu/cpu$cpu/cpufreq/scaling_min_freq
	done
	fi

        if [ -e /data/user_de/0/com.android.settings/app_kk/clocks_gov ]; then
	for cpu in 0 1 2 3; do
                cat /data/user_de/0/com.android.settings/app_kk/clocks_gov > /sys/devices/system/cpu/cpu$cpu/cpufreq/scaling_governor
	done
        fi

        
    fi;
fi

# I/O scheduler
chgrp system /sys/block/mmcblk0/queue/scheduler
chmod 664 /sys/block/mmcblk0/queue/scheduler

# Sweep2Wake if kernel supports it
chgrp system /sys/android_touch/sweep2wake
chmod 664 /sys/android_touch/sweep2wake

# USB fast charge, we just set perms. This is likely
# not something we want to set on boot
chgrp system /sys/kernel/fast_charge/force_fast_charge
chmod 664 /sys/kernel/fast_charge/force_fast_charge


