Difference between revisions of "Linux Dynamic Frequency Scaling"
From ArmadeusWiki
m (→Links) |
(→Linux configuration) |
||
Line 13: | Line 13: | ||
Default CPUFreq governor (performance) ---> | Default CPUFreq governor (performance) ---> | ||
-*- 'performance' governor | -*- 'performance' governor | ||
− | < | + | <*> 'powersave' governor |
− | < | + | <*> 'userspace' governor for userspace frequency scaling |
− | < | + | <*> 'ondemand' cpufreq policy governor |
− | < | + | <*> 'conservative' cpufreq governor |
− | < | + | <*> CPUfreq driver for i.MX CPUs or <*> i.MX27 frequency driver |
</pre> | </pre> | ||
Revision as of 11:41, 24 November 2011
Page under construction...
Informations on this page are not guaranteed !!
Contents
[hide]Introduction
Dynamic Frequency Scaling aka DFS is only available on APF27 and APF51 based systems.
Linux configuration
CPU Power Management ---> [*] CPU Frequency scaling [*] Enable CPUfreq debugging <*> CPU frequency translation statistics [ ] CPU frequency translation statistics details Default CPUFreq governor (performance) ---> -*- 'performance' governor <*> 'powersave' governor <*> 'userspace' governor for userspace frequency scaling <*> 'ondemand' cpufreq policy governor <*> 'conservative' cpufreq governor <*> CPUfreq driver for i.MX CPUs or <*> i.MX27 frequency driver
frequency scaling handling is done in arch/arm/plat-mxc/cpufreq.c or arch/arm/mach-mx2/cpufreq_imx27.c
To know if driver is launched
# dmesg | grep freq i.MXC CPU frequency driver
Usage (sysfs)
- all is here:
# cd /sys/devices/system/cpu/cpu0/cpufreq/ # ls
- get current governor:
# cat scaling_governor performance
- list available governors:
# cat scaling_available_governors performance
- eventually load some more:
# modprobe cpufreq_powersave # modprobe cpufreq_conservative # cat scaling_available_governors conservative powersave performance
- change governor:
# echo powersave > scaling_governor
- change frequency manually (here 133MHz). Requires userspace governor ! :
# echo 133000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed
- To know current CPU frequency (here 160MHz):
# cat cpuinfo_cur_freq 160000
- To know how much time CPU has spent in its different state (here 160MHz and 800MHz):
# cat stats/time_in_state 160000 243595 800000 585
- To Be Continued...