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 19f0ec313aSAdrian Bunk tristate 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 409101be53SMike Frysinger file system. 419101be53SMike Frysinger 429101be53SMike Frysinger To compile this driver as a module, choose M here: the 439101be53SMike Frysinger module will be called cpufreq_stats. 449101be53SMike Frysinger 459101be53SMike Frysinger If in doubt, say N. 461da177e4SLinus Torvalds 471da177e4SLinus Torvaldsconfig CPU_FREQ_STAT_DETAILS 481da177e4SLinus Torvalds bool "CPU frequency translation statistics details" 491da177e4SLinus Torvalds depends on CPU_FREQ_STAT 501da177e4SLinus Torvalds help 511da177e4SLinus Torvalds This will show detail CPU frequency translation table in sysfs file 529101be53SMike Frysinger system. 539101be53SMike Frysinger 549101be53SMike Frysinger If in doubt, say N. 551da177e4SLinus Torvalds 561da177e4SLinus Torvaldschoice 571da177e4SLinus Torvalds prompt "Default CPUFreq governor" 581da177e4SLinus Torvalds default CPU_FREQ_DEFAULT_GOV_USERSPACE if CPU_FREQ_SA1100 || CPU_FREQ_SA1110 591da177e4SLinus Torvalds default CPU_FREQ_DEFAULT_GOV_PERFORMANCE 601da177e4SLinus Torvalds help 611da177e4SLinus Torvalds This option sets which CPUFreq governor shall be loaded at 621da177e4SLinus Torvalds startup. If in doubt, select 'performance'. 631da177e4SLinus Torvalds 641da177e4SLinus Torvaldsconfig CPU_FREQ_DEFAULT_GOV_PERFORMANCE 651da177e4SLinus Torvalds bool "performance" 661da177e4SLinus Torvalds select CPU_FREQ_GOV_PERFORMANCE 671da177e4SLinus Torvalds help 681da177e4SLinus Torvalds Use the CPUFreq governor 'performance' as default. This sets 691da177e4SLinus Torvalds the frequency statically to the highest frequency supported by 701da177e4SLinus Torvalds the CPU. 711da177e4SLinus Torvalds 7230d221dbSAlessandro Guidoconfig CPU_FREQ_DEFAULT_GOV_POWERSAVE 7330d221dbSAlessandro Guido bool "powersave" 7430d221dbSAlessandro Guido depends on EMBEDDED 7530d221dbSAlessandro Guido select CPU_FREQ_GOV_POWERSAVE 7630d221dbSAlessandro Guido help 7730d221dbSAlessandro Guido Use the CPUFreq governor 'powersave' as default. This sets 7830d221dbSAlessandro Guido the frequency statically to the lowest frequency supported by 7930d221dbSAlessandro Guido the CPU. 8030d221dbSAlessandro Guido 811da177e4SLinus Torvaldsconfig CPU_FREQ_DEFAULT_GOV_USERSPACE 821da177e4SLinus Torvalds bool "userspace" 831da177e4SLinus Torvalds select CPU_FREQ_GOV_USERSPACE 841da177e4SLinus Torvalds help 851da177e4SLinus Torvalds Use the CPUFreq governor 'userspace' as default. This allows 86*0211a9c8SFrederik Schwarzer you to set the CPU frequency manually or when a userspace 871da177e4SLinus Torvalds program shall be able to set the CPU dynamically without having 881da177e4SLinus Torvalds to enable the userspace governor manually. 891da177e4SLinus Torvalds 901c256245SThomas Renningerconfig CPU_FREQ_DEFAULT_GOV_ONDEMAND 911c256245SThomas Renninger bool "ondemand" 921c256245SThomas Renninger select CPU_FREQ_GOV_ONDEMAND 931c256245SThomas Renninger select CPU_FREQ_GOV_PERFORMANCE 941c256245SThomas Renninger help 951c256245SThomas Renninger Use the CPUFreq governor 'ondemand' as default. This allows 961c256245SThomas Renninger you to get a full dynamic frequency capable system by simply 971c256245SThomas Renninger loading your cpufreq low-level hardware driver. 981c256245SThomas Renninger Be aware that not all cpufreq drivers support the ondemand 991c256245SThomas Renninger governor. If unsure have a look at the help section of the 1001c256245SThomas Renninger driver. Fallback governor will be the performance governor. 1011c256245SThomas Renninger 1021c256245SThomas Renningerconfig CPU_FREQ_DEFAULT_GOV_CONSERVATIVE 1031c256245SThomas Renninger bool "conservative" 1041c256245SThomas Renninger select CPU_FREQ_GOV_CONSERVATIVE 1051c256245SThomas Renninger select CPU_FREQ_GOV_PERFORMANCE 1061c256245SThomas Renninger help 1071c256245SThomas Renninger Use the CPUFreq governor 'conservative' as default. This allows 1081c256245SThomas Renninger you to get a full dynamic frequency capable system by simply 1091c256245SThomas Renninger loading your cpufreq low-level hardware driver. 1101c256245SThomas Renninger Be aware that not all cpufreq drivers support the conservative 1111c256245SThomas Renninger governor. If unsure have a look at the help section of the 1121c256245SThomas Renninger driver. Fallback governor will be the performance governor. 1131da177e4SLinus Torvaldsendchoice 1141da177e4SLinus Torvalds 1151da177e4SLinus Torvaldsconfig CPU_FREQ_GOV_PERFORMANCE 1161da177e4SLinus Torvalds tristate "'performance' governor" 1171da177e4SLinus Torvalds help 1181da177e4SLinus Torvalds This cpufreq governor sets the frequency statically to the 1191da177e4SLinus Torvalds highest available CPU frequency. 1201da177e4SLinus Torvalds 1219101be53SMike Frysinger To compile this driver as a module, choose M here: the 1229101be53SMike Frysinger module will be called cpufreq_performance. 1239101be53SMike Frysinger 1241da177e4SLinus Torvalds If in doubt, say Y. 1251da177e4SLinus Torvalds 1261da177e4SLinus Torvaldsconfig CPU_FREQ_GOV_POWERSAVE 1271da177e4SLinus Torvalds tristate "'powersave' governor" 1281da177e4SLinus Torvalds help 1291da177e4SLinus Torvalds This cpufreq governor sets the frequency statically to the 1301da177e4SLinus Torvalds lowest available CPU frequency. 1311da177e4SLinus Torvalds 1329101be53SMike Frysinger To compile this driver as a module, choose M here: the 1339101be53SMike Frysinger module will be called cpufreq_powersave. 1349101be53SMike Frysinger 1351da177e4SLinus Torvalds If in doubt, say Y. 1361da177e4SLinus Torvalds 1371da177e4SLinus Torvaldsconfig CPU_FREQ_GOV_USERSPACE 1381da177e4SLinus Torvalds tristate "'userspace' governor for userspace frequency scaling" 1391da177e4SLinus Torvalds help 1401da177e4SLinus Torvalds Enable this cpufreq governor when you either want to set the 141*0211a9c8SFrederik Schwarzer CPU frequency manually or when a userspace program shall 1421da177e4SLinus Torvalds be able to set the CPU dynamically, like on LART 1434c41251eSErik Mouw <http://www.lartmaker.nl/>. 1441da177e4SLinus Torvalds 1459101be53SMike Frysinger To compile this driver as a module, choose M here: the 1469101be53SMike Frysinger module will be called cpufreq_userspace. 1479101be53SMike Frysinger 1481da177e4SLinus Torvalds For details, take a look at <file:Documentation/cpu-freq/>. 1491da177e4SLinus Torvalds 1501da177e4SLinus Torvalds If in doubt, say Y. 1511da177e4SLinus Torvalds 1521da177e4SLinus Torvaldsconfig CPU_FREQ_GOV_ONDEMAND 1531da177e4SLinus Torvalds tristate "'ondemand' cpufreq policy governor" 1546af6e1efSDave Jones select CPU_FREQ_TABLE 1551da177e4SLinus Torvalds help 1561da177e4SLinus Torvalds 'ondemand' - This driver adds a dynamic cpufreq policy governor. 1571da177e4SLinus Torvalds The governor does a periodic polling and 1581da177e4SLinus Torvalds changes frequency based on the CPU utilization. 1591da177e4SLinus Torvalds The support for this governor depends on CPU capability to 1601da177e4SLinus Torvalds do fast frequency switching (i.e, very low latency frequency 1611da177e4SLinus Torvalds transitions). 1621da177e4SLinus Torvalds 1639101be53SMike Frysinger To compile this driver as a module, choose M here: the 1649101be53SMike Frysinger module will be called cpufreq_ondemand. 1659101be53SMike Frysinger 1661da177e4SLinus Torvalds For details, take a look at linux/Documentation/cpu-freq. 1671da177e4SLinus Torvalds 1681da177e4SLinus Torvalds If in doubt, say N. 1691da177e4SLinus Torvalds 170b9170836SDave Jonesconfig CPU_FREQ_GOV_CONSERVATIVE 171b9170836SDave Jones tristate "'conservative' cpufreq governor" 172b9170836SDave Jones depends on CPU_FREQ 173b9170836SDave Jones help 174b9170836SDave Jones 'conservative' - this driver is rather similar to the 'ondemand' 175b9170836SDave Jones governor both in its source code and its purpose, the difference is 176b9170836SDave Jones its optimisation for better suitability in a battery powered 177b9170836SDave Jones environment. The frequency is gracefully increased and decreased 178b9170836SDave Jones rather than jumping to 100% when speed is required. 179b9170836SDave Jones 180b9170836SDave Jones If you have a desktop machine then you should really be considering 181b9170836SDave Jones the 'ondemand' governor instead, however if you are using a laptop, 182b9170836SDave Jones PDA or even an AMD64 based computer (due to the unacceptable 183b9170836SDave Jones step-by-step latency issues between the minimum and maximum frequency 184b9170836SDave Jones transitions in the CPU) you will probably want to use this governor. 185b9170836SDave Jones 1869101be53SMike Frysinger To compile this driver as a module, choose M here: the 1879101be53SMike Frysinger module will be called cpufreq_conservative. 1889101be53SMike Frysinger 189b9170836SDave Jones For details, take a look at linux/Documentation/cpu-freq. 190b9170836SDave Jones 191b9170836SDave Jones If in doubt, say N. 192b9170836SDave Jones 1931da177e4SLinus Torvaldsendif # CPU_FREQ 194