Advertisement
Wirbelwind_IF

備忘録)init.setcpu.sh

Jul 15th, 2013
62
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 8.92 KB | None | 0 0
  1. #!/sbin/sh
  2. #
  3. # @(#) init.setcpu.sh for Xperia ver. 1.0.0 2013.07.07
  4. #
  5. # Description:
  6. #   A setup cpu pm and governor.
  7. #
  8. # Author:
  9. #   cray_Doze
  10. #
  11. ###########################################################################
  12.  
  13. # Constant definition
  14. SAVELOGPATH="/data/local/tmp/.recovery"
  15. LOGPATH="/tmp"
  16. LOGFILE="${LOGPATH}/${0##*/}.log"
  17.  
  18. # Environment variable definition
  19. PATH="/sbin"; export PATH
  20.  
  21. # Function definition for logging
  22. ECHOL(){
  23.   _DATETIME=`date +"%Y%m%d %H%M%S"`
  24.   echo "${_DATETIME}: $*" >> ${LOGFILE}
  25.   return 0
  26. }
  27. EXECL(){
  28.   _DATETIME=`date +"%Y%m%d %H%M%S"`
  29.   echo "${_DATETIME}: $*" >> ${LOGFILE}
  30.   $* 2>> ${LOGFILE}
  31.   _RET=$?
  32.   echo "${_DATETIME}: RET=${_RET}" >> ${LOGFILE}
  33.   return ${_RET}
  34. }
  35.  
  36. # Start main routine
  37. ECHOL "### ${0##*/} start..."
  38.  
  39. PLATFORM=$(getprop ro.board.platform)
  40. ECHOL "PLATFORM=${PLATFORM}"
  41. GOVERNOR=$(getprop ro.cpufreq.governor)
  42. ECHOL "GOVERNOR=${GOVERNOR}"
  43.  
  44. case "${PLATFORM}" in
  45.   "msm7x30")
  46.     echo "ondemand" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
  47.     echo 90 > /sys/devices/system/cpu/cpufreq/ondemand/up_threshold
  48.     echo 75000 > /sys/devices/system/cpu/cpufreq/ondemand/sampling_rate
  49.     echo 1 > /sys/module/pm2/parameters/idle_sleep_mode
  50.     echo 245760 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
  51.   ;;
  52.   "msm8660")
  53.        echo 1 > /sys/module/rpm_resources/enable_low_power/L2_cache
  54.        echo 1 > /sys/module/rpm_resources/enable_low_power/pxo
  55.        echo 2 > /sys/module/rpm_resources/enable_low_power/vdd_dig
  56.        echo 2 > /sys/module/rpm_resources/enable_low_power/vdd_mem
  57.        echo 1 > /sys/module/rpm_resources/enable_low_power/rpm_cpu
  58.        echo 1 > /sys/module/pm_8x60/modes/cpu0/power_collapse/suspend_enabled
  59.        echo 1 > /sys/module/pm_8x60/modes/cpu1/power_collapse/suspend_enabled
  60.        echo 1 > /sys/module/pm_8x60/modes/cpu0/standalone_power_collapse/suspend_enabled
  61.        echo 1 > /sys/module/pm_8x60/modes/cpu1/standalone_power_collapse/suspend_enabled
  62.        echo 1 > /sys/module/pm_8x60/modes/cpu0/power_collapse/idle_enabled
  63.        echo 1 > /sys/module/pm_8x60/modes/cpu1/power_collapse/idle_enabled
  64.        echo 1 > /sys/module/pm_8x60/modes/cpu0/standalone_power_collapse/idle_enabled
  65.        echo 1 > /sys/module/pm_8x60/modes/cpu1/standalone_power_collapse/idle_enabled
  66.        echo "ondemand" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
  67.        echo "ondemand" > /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor
  68.        echo 50000 > /sys/devices/system/cpu/cpufreq/ondemand/sampling_rate
  69.        echo 90 > /sys/devices/system/cpu/cpufreq/ondemand/up_threshold
  70.        echo 1 > /sys/devices/system/cpu/cpufreq/ondemand/io_is_busy
  71.        echo 4 > /sys/devices/system/cpu/cpufreq/ondemand/sampling_down_factor
  72.        echo 384000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
  73.        echo 384000 > /sys/devices/system/cpu/cpu1/cpufreq/scaling_min_freq
  74.      ;;
  75.   "msm8960")
  76.     echo 1 > /sys/module/rpm_resources/enable_low_power/L2_cache
  77.     echo 1 > /sys/module/rpm_resources/enable_low_power/pxo
  78.     echo 1 > /sys/module/rpm_resources/enable_low_power/vdd_dig
  79.     echo 1 > /sys/module/rpm_resources/enable_low_power/vdd_mem
  80.     echo 1 > /sys/module/pm_8x60/modes/cpu0/retention/idle_enabled
  81.     echo 1 > /sys/module/pm_8x60/modes/cpu0/power_collapse/suspend_enabled
  82.     echo 1 > /sys/module/pm_8x60/modes/cpu1/power_collapse/suspend_enabled
  83.     echo 1 > /sys/module/pm_8x60/modes/cpu2/power_collapse/suspend_enabled
  84.     echo 1 > /sys/module/pm_8x60/modes/cpu3/power_collapse/suspend_enabled
  85.     echo 1 > /sys/module/pm_8x60/modes/cpu0/standalone_power_collapse/suspend_enabled
  86.     echo 1 > /sys/module/pm_8x60/modes/cpu1/standalone_power_collapse/suspend_enabled
  87.     echo 1 > /sys/module/pm_8x60/modes/cpu2/standalone_power_collapse/suspend_enabled
  88.     echo 1 > /sys/module/pm_8x60/modes/cpu3/standalone_power_collapse/suspend_enabled
  89.     echo 1 > /sys/module/pm_8x60/modes/cpu0/standalone_power_collapse/idle_enabled
  90.     echo 1 > /sys/module/pm_8x60/modes/cpu1/standalone_power_collapse/idle_enabled
  91.     echo 1 > /sys/module/pm_8x60/modes/cpu2/standalone_power_collapse/idle_enabled
  92.     echo 1 > /sys/module/pm_8x60/modes/cpu3/standalone_power_collapse/idle_enabled
  93.     echo 1 > /sys/module/pm_8x60/modes/cpu0/power_collapse/idle_enabled
  94.     if [ "${GOVERNOR}" = "interactive" ]; then
  95.       echo "interactive" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
  96.       echo "interactive" > /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor
  97.       echo "interactive" > /sys/devices/system/cpu/cpu2/cpufreq/scaling_governor
  98.       echo "interactive" > /sys/devices/system/cpu/cpu3/cpufreq/scaling_governor
  99.       echo 1026000 > /sys/devices/system/cpu/cpufreq/interactive/hispeed_freq
  100.       echo 30000 > /sys/devices/system/cpu/cpufreq/interactive/timer_rate
  101.     else
  102.       echo "ondemand" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
  103.       echo "ondemand" > /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor
  104.       echo "ondemand" > /sys/devices/system/cpu/cpu2/cpufreq/scaling_governor
  105.       echo "ondemand" > /sys/devices/system/cpu/cpu3/cpufreq/scaling_governor
  106.       echo 90 > /sys/devices/system/cpu/cpufreq/ondemand/up_threshold
  107.          echo 1 > /sys/devices/system/cpu/cpufreq/ondemand/io_is_busy
  108.          echo 4 > /sys/devices/system/cpu/cpufreq/ondemand/sampling_down_factor
  109.          echo 10 > /sys/devices/system/cpu/cpufreq/ondemand/down_differential
  110.        fi
  111.     echo 384000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
  112.     echo 384000 > /sys/devices/system/cpu/cpu1/cpufreq/scaling_min_freq
  113.     echo 384000 > /sys/devices/system/cpu/cpu2/cpufreq/scaling_min_freq
  114.     echo 384000 > /sys/devices/system/cpu/cpu3/cpufreq/scaling_min_freq
  115.     echo 486000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
  116.     echo 486000 > /sys/devices/system/cpu/cpu1/cpufreq/scaling_max_freq
  117.     echo 486000 > /sys/devices/system/cpu/cpu2/cpufreq/scaling_max_freq
  118.     echo 486000 > /sys/devices/system/cpu/cpu3/cpufreq/scaling_max_freq
  119.   ;;
  120.   "msm8974")
  121.     echo 1 > /sys/module/lpm_resources/enable_low_power/l2
  122.     echo 1 > /sys/module/lpm_resources/enable_low_power/pxo
  123.     echo 1 > /sys/module/lpm_resources/enable_low_power/vdd_dig
  124.     echo 1 > /sys/module/lpm_resources/enable_low_power/vdd_mem
  125.     echo 1 > /sys/module/pm_8x60/modes/cpu0/power_collapse/suspend_enabled
  126.     echo 1 > /sys/module/pm_8x60/modes/cpu1/power_collapse/suspend_enabled
  127.     echo 1 > /sys/module/pm_8x60/modes/cpu2/power_collapse/suspend_enabled
  128.     echo 1 > /sys/module/pm_8x60/modes/cpu3/power_collapse/suspend_enabled
  129.     echo 1 > /sys/module/pm_8x60/modes/cpu0/power_collapse/idle_enabled
  130.     echo 1 > /sys/module/pm_8x60/modes/cpu0/standalone_power_collapse/suspend_enabled
  131.     echo 1 > /sys/module/pm_8x60/modes/cpu1/standalone_power_collapse/suspend_enabled
  132.     echo 1 > /sys/module/pm_8x60/modes/cpu2/standalone_power_collapse/suspend_enabled
  133.     echo 1 > /sys/module/pm_8x60/modes/cpu3/standalone_power_collapse/suspend_enabled
  134.     echo 1 > /sys/module/pm_8x60/modes/cpu0/standalone_power_collapse/idle_enabled
  135.     echo 1 > /sys/module/pm_8x60/modes/cpu1/standalone_power_collapse/idle_enabled
  136.     echo 1 > /sys/module/pm_8x60/modes/cpu2/standalone_power_collapse/idle_enabled
  137.     echo 1 > /sys/module/pm_8x60/modes/cpu3/standalone_power_collapse/idle_enabled
  138.     echo "ondemand" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
  139.     echo "ondemand" > /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor
  140.     echo "ondemand" > /sys/devices/system/cpu/cpu2/cpufreq/scaling_governor
  141.     echo "ondemand" > /sys/devices/system/cpu/cpu3/cpufreq/scaling_governor
  142.     echo 90 > /sys/devices/system/cpu/cpufreq/ondemand/up_threshold
  143.     echo 1 > /sys/devices/system/cpu/cpufreq/ondemand/io_is_busy
  144.     echo 4 > /sys/devices/system/cpu/cpufreq/ondemand/sampling_down_factor
  145.     echo 10 > /sys/devices/system/cpu/cpufreq/ondemand/down_differential
  146.     echo 300000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
  147.     echo 300000 > /sys/devices/system/cpu/cpu1/cpufreq/scaling_min_freq
  148.     echo 300000 > /sys/devices/system/cpu/cpu2/cpufreq/scaling_min_freq
  149.     echo 300000 > /sys/devices/system/cpu/cpu3/cpufreq/scaling_min_freq
  150.   ;;
  151. esac
  152.  
  153. ECHOL "### ${0##*/} end..."
  154.  
  155. # Save logfile
  156. SAVELOGFILE="${SAVELOGPATH}/${LOGFILE##*/}"
  157. MOUNTFLAG="$(cat /proc/mounts | grep -E '/data[[:blank:]]' | awk '{print $4}')"
  158. if [ "${MOUNTFLAG}" = "" ]; then
  159.   FSTYPE="$(cat /etc/recovery.fstab | grep -E '^/data[[:blank:]]' | awk '{print $2}')"
  160.   DEVICE="$(cat /etc/recovery.fstab | grep -E '^/data[[:blank:]]' | awk '{print $3}')"
  161.   mount -o rw -t ${FSTYPE} ${DEVICE} /data
  162. elif [ "${MOUNTFLAG%,*}" = "ro" ]; then
  163.   mount -o remount,rw /data
  164. fi
  165.  
  166. if [ ! -d "${SAVELOGPATH}" ];then
  167.   mkdir ${SAVELOGPATH}
  168.   chmod 775 ${SAVELOGPATH}
  169. else
  170.   if [ -f ${SAVELOGFILE} ];then
  171.     mv ${SAVELOGFILE} ${SAVELOGFILE}.old
  172.   fi
  173. fi
  174. cp -p ${LOGFILE} ${SAVELOGFILE}
  175. chmod 664 ${SAVELOGFILE}
  176. if [ "${MOUNTFLAG}" = "" ]; then
  177.   umount -l /data
  178. elif [ "${MOUNTFLAG}" = "ro" ]; then
  179.   mount -o remount,ro /data
  180. fi
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement