11da177e4SLinus Torvaldsconfig CPU_FREQ 21da177e4SLinus Torvalds bool "CPU Frequency scaling" 31da177e4SLinus Torvalds help 41da177e4SLinus Torvalds CPU Frequency scaling allows you to change the clock speed of 51da177e4SLinus Torvalds CPUs on the fly. This is a nice method to save power, because 61da177e4SLinus Torvalds the lower the CPU clock speed, the less power the CPU consumes. 71da177e4SLinus Torvalds 81da177e4SLinus Torvalds Note that this driver doesn't automatically change the CPU 91da177e4SLinus Torvalds clock speed, you need to either enable a dynamic cpufreq governor 101da177e4SLinus Torvalds (see below) after boot, or use a userspace tool. 111da177e4SLinus Torvalds 121da177e4SLinus Torvalds For details, take a look at <file:Documentation/cpu-freq>. 131da177e4SLinus Torvalds 141da177e4SLinus Torvalds If in doubt, say N. 151da177e4SLinus Torvalds 161da177e4SLinus Torvaldsif CPU_FREQ 171da177e4SLinus Torvalds 181da177e4SLinus Torvaldsconfig CPU_FREQ_TABLE 191da177e4SLinus Torvalds def_tristate m 201da177e4SLinus Torvalds 211da177e4SLinus Torvaldsconfig CPU_FREQ_DEBUG 221da177e4SLinus Torvalds bool "Enable CPUfreq debugging" 231da177e4SLinus Torvalds help 241da177e4SLinus Torvalds Say Y here to enable CPUfreq subsystem (including drivers) 251da177e4SLinus Torvalds debugging. You will need to activate it via the kernel 261da177e4SLinus Torvalds command line by passing 271da177e4SLinus Torvalds cpufreq.debug=<value> 281da177e4SLinus Torvalds 291da177e4SLinus Torvalds To get <value>, add 301da177e4SLinus Torvalds 1 to activate CPUfreq core debugging, 311da177e4SLinus Torvalds 2 to activate CPUfreq drivers debugging, and 321da177e4SLinus Torvalds 4 to activate CPUfreq governor debugging 331da177e4SLinus Torvalds 341da177e4SLinus Torvaldsconfig CPU_FREQ_STAT 351da177e4SLinus Torvalds tristate "CPU frequency translation statistics" 361da177e4SLinus Torvalds select CPU_FREQ_TABLE 371da177e4SLinus Torvalds default y 381da177e4SLinus Torvalds help 391da177e4SLinus Torvalds This driver exports CPU frequency statistics information through sysfs 401da177e4SLinus Torvalds file system 411da177e4SLinus Torvalds 421da177e4SLinus Torvaldsconfig CPU_FREQ_STAT_DETAILS 431da177e4SLinus Torvalds bool "CPU frequency translation statistics details" 441da177e4SLinus Torvalds depends on CPU_FREQ_STAT 451da177e4SLinus Torvalds help 461da177e4SLinus Torvalds This will show detail CPU frequency translation table in sysfs file 471da177e4SLinus Torvalds system 481da177e4SLinus Torvalds 4933100108SDave Jones# Note that it is not currently possible to set the other governors (such as ondemand) 5033100108SDave Jones# as the default, since if they fail to initialise, cpufreq will be 5133100108SDave Jones# left in an undefined state. 5233100108SDave Jones 531da177e4SLinus Torvaldschoice 541da177e4SLinus Torvalds prompt "Default CPUFreq governor" 551da177e4SLinus Torvalds default CPU_FREQ_DEFAULT_GOV_USERSPACE if CPU_FREQ_SA1100 || CPU_FREQ_SA1110 561da177e4SLinus Torvalds default CPU_FREQ_DEFAULT_GOV_PERFORMANCE 571da177e4SLinus Torvalds help 581da177e4SLinus Torvalds This option sets which CPUFreq governor shall be loaded at 591da177e4SLinus Torvalds startup. If in doubt, select 'performance'. 601da177e4SLinus Torvalds 611da177e4SLinus Torvaldsconfig CPU_FREQ_DEFAULT_GOV_PERFORMANCE 621da177e4SLinus Torvalds bool "performance" 631da177e4SLinus Torvalds select CPU_FREQ_GOV_PERFORMANCE 641da177e4SLinus Torvalds help 651da177e4SLinus Torvalds Use the CPUFreq governor 'performance' as default. This sets 661da177e4SLinus Torvalds the frequency statically to the highest frequency supported by 671da177e4SLinus Torvalds the CPU. 681da177e4SLinus Torvalds 691da177e4SLinus Torvaldsconfig CPU_FREQ_DEFAULT_GOV_USERSPACE 701da177e4SLinus Torvalds bool "userspace" 711da177e4SLinus Torvalds select CPU_FREQ_GOV_USERSPACE 721da177e4SLinus Torvalds help 731da177e4SLinus Torvalds Use the CPUFreq governor 'userspace' as default. This allows 741da177e4SLinus Torvalds you to set the CPU frequency manually or when an userspace 751da177e4SLinus Torvalds program shall be able to set the CPU dynamically without having 761da177e4SLinus Torvalds to enable the userspace governor manually. 771da177e4SLinus Torvalds 781da177e4SLinus Torvaldsendchoice 791da177e4SLinus Torvalds 801da177e4SLinus Torvaldsconfig CPU_FREQ_GOV_PERFORMANCE 811da177e4SLinus Torvalds tristate "'performance' governor" 821da177e4SLinus Torvalds help 831da177e4SLinus Torvalds This cpufreq governor sets the frequency statically to the 841da177e4SLinus Torvalds highest available CPU frequency. 851da177e4SLinus Torvalds 861da177e4SLinus Torvalds If in doubt, say Y. 871da177e4SLinus Torvalds 881da177e4SLinus Torvaldsconfig CPU_FREQ_GOV_POWERSAVE 891da177e4SLinus Torvalds tristate "'powersave' governor" 901da177e4SLinus Torvalds help 911da177e4SLinus Torvalds This cpufreq governor sets the frequency statically to the 921da177e4SLinus Torvalds lowest available CPU frequency. 931da177e4SLinus Torvalds 941da177e4SLinus Torvalds If in doubt, say Y. 951da177e4SLinus Torvalds 961da177e4SLinus Torvaldsconfig CPU_FREQ_GOV_USERSPACE 971da177e4SLinus Torvalds tristate "'userspace' governor for userspace frequency scaling" 981da177e4SLinus Torvalds help 991da177e4SLinus Torvalds Enable this cpufreq governor when you either want to set the 1001da177e4SLinus Torvalds CPU frequency manually or when an userspace program shall 1011da177e4SLinus Torvalds be able to set the CPU dynamically, like on LART 1024c41251eSErik Mouw <http://www.lartmaker.nl/>. 1031da177e4SLinus Torvalds 1041da177e4SLinus Torvalds For details, take a look at <file:Documentation/cpu-freq/>. 1051da177e4SLinus Torvalds 1061da177e4SLinus Torvalds If in doubt, say Y. 1071da177e4SLinus Torvalds 1081da177e4SLinus Torvaldsconfig CPU_FREQ_GOV_ONDEMAND 1091da177e4SLinus Torvalds tristate "'ondemand' cpufreq policy governor" 110*6af6e1efSDave Jones select CPU_FREQ_TABLE 1111da177e4SLinus Torvalds help 1121da177e4SLinus Torvalds 'ondemand' - This driver adds a dynamic cpufreq policy governor. 1131da177e4SLinus Torvalds The governor does a periodic polling and 1141da177e4SLinus Torvalds changes frequency based on the CPU utilization. 1151da177e4SLinus Torvalds The support for this governor depends on CPU capability to 1161da177e4SLinus Torvalds do fast frequency switching (i.e, very low latency frequency 1171da177e4SLinus Torvalds transitions). 1181da177e4SLinus Torvalds 1191da177e4SLinus Torvalds For details, take a look at linux/Documentation/cpu-freq. 1201da177e4SLinus Torvalds 1211da177e4SLinus Torvalds If in doubt, say N. 1221da177e4SLinus Torvalds 123b9170836SDave Jonesconfig CPU_FREQ_GOV_CONSERVATIVE 124b9170836SDave Jones tristate "'conservative' cpufreq governor" 125b9170836SDave Jones depends on CPU_FREQ 126b9170836SDave Jones help 127b9170836SDave Jones 'conservative' - this driver is rather similar to the 'ondemand' 128b9170836SDave Jones governor both in its source code and its purpose, the difference is 129b9170836SDave Jones its optimisation for better suitability in a battery powered 130b9170836SDave Jones environment. The frequency is gracefully increased and decreased 131b9170836SDave Jones rather than jumping to 100% when speed is required. 132b9170836SDave Jones 133b9170836SDave Jones If you have a desktop machine then you should really be considering 134b9170836SDave Jones the 'ondemand' governor instead, however if you are using a laptop, 135b9170836SDave Jones PDA or even an AMD64 based computer (due to the unacceptable 136b9170836SDave Jones step-by-step latency issues between the minimum and maximum frequency 137b9170836SDave Jones transitions in the CPU) you will probably want to use this governor. 138b9170836SDave Jones 139b9170836SDave Jones For details, take a look at linux/Documentation/cpu-freq. 140b9170836SDave Jones 141b9170836SDave Jones If in doubt, say N. 142b9170836SDave Jones 1431da177e4SLinus Torvaldsendif # CPU_FREQ 144