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 129101be53SMike Frysinger To compile this driver as a module, choose M here: the 139101be53SMike Frysinger module will be called cpufreq. 149101be53SMike Frysinger 151da177e4SLinus Torvalds For details, take a look at <file:Documentation/cpu-freq>. 161da177e4SLinus Torvalds 171da177e4SLinus Torvalds If in doubt, say N. 181da177e4SLinus Torvalds 191da177e4SLinus Torvaldsif CPU_FREQ 201da177e4SLinus Torvalds 211da177e4SLinus Torvaldsconfig CPU_FREQ_TABLE 22f0ec313aSAdrian Bunk tristate 231da177e4SLinus Torvalds 241da177e4SLinus Torvaldsconfig CPU_FREQ_DEBUG 251da177e4SLinus Torvalds bool "Enable CPUfreq debugging" 261da177e4SLinus Torvalds help 271da177e4SLinus Torvalds Say Y here to enable CPUfreq subsystem (including drivers) 281da177e4SLinus Torvalds debugging. You will need to activate it via the kernel 291da177e4SLinus Torvalds command line by passing 301da177e4SLinus Torvalds cpufreq.debug=<value> 311da177e4SLinus Torvalds 321da177e4SLinus Torvalds To get <value>, add 331da177e4SLinus Torvalds 1 to activate CPUfreq core debugging, 341da177e4SLinus Torvalds 2 to activate CPUfreq drivers debugging, and 351da177e4SLinus Torvalds 4 to activate CPUfreq governor debugging 361da177e4SLinus Torvalds 371da177e4SLinus Torvaldsconfig CPU_FREQ_STAT 381da177e4SLinus Torvalds tristate "CPU frequency translation statistics" 391da177e4SLinus Torvalds select CPU_FREQ_TABLE 401da177e4SLinus Torvalds default y 411da177e4SLinus Torvalds help 421da177e4SLinus Torvalds This driver exports CPU frequency statistics information through sysfs 439101be53SMike Frysinger file system. 449101be53SMike Frysinger 459101be53SMike Frysinger To compile this driver as a module, choose M here: the 469101be53SMike Frysinger module will be called cpufreq_stats. 479101be53SMike Frysinger 489101be53SMike Frysinger If in doubt, say N. 491da177e4SLinus Torvalds 501da177e4SLinus Torvaldsconfig CPU_FREQ_STAT_DETAILS 511da177e4SLinus Torvalds bool "CPU frequency translation statistics details" 521da177e4SLinus Torvalds depends on CPU_FREQ_STAT 531da177e4SLinus Torvalds help 541da177e4SLinus Torvalds This will show detail CPU frequency translation table in sysfs file 559101be53SMike Frysinger system. 569101be53SMike Frysinger 579101be53SMike Frysinger If in doubt, say N. 581da177e4SLinus Torvalds 591da177e4SLinus Torvaldschoice 601da177e4SLinus Torvalds prompt "Default CPUFreq governor" 611da177e4SLinus Torvalds default CPU_FREQ_DEFAULT_GOV_USERSPACE if CPU_FREQ_SA1100 || CPU_FREQ_SA1110 621da177e4SLinus Torvalds default CPU_FREQ_DEFAULT_GOV_PERFORMANCE 631da177e4SLinus Torvalds help 641da177e4SLinus Torvalds This option sets which CPUFreq governor shall be loaded at 651da177e4SLinus Torvalds startup. If in doubt, select 'performance'. 661da177e4SLinus Torvalds 671da177e4SLinus Torvaldsconfig CPU_FREQ_DEFAULT_GOV_PERFORMANCE 681da177e4SLinus Torvalds bool "performance" 691da177e4SLinus Torvalds select CPU_FREQ_GOV_PERFORMANCE 701da177e4SLinus Torvalds help 711da177e4SLinus Torvalds Use the CPUFreq governor 'performance' as default. This sets 721da177e4SLinus Torvalds the frequency statically to the highest frequency supported by 731da177e4SLinus Torvalds the CPU. 741da177e4SLinus Torvalds 751da177e4SLinus Torvaldsconfig CPU_FREQ_DEFAULT_GOV_USERSPACE 761da177e4SLinus Torvalds bool "userspace" 771da177e4SLinus Torvalds select CPU_FREQ_GOV_USERSPACE 781da177e4SLinus Torvalds help 791da177e4SLinus Torvalds Use the CPUFreq governor 'userspace' as default. This allows 801da177e4SLinus Torvalds you to set the CPU frequency manually or when an userspace 811da177e4SLinus Torvalds program shall be able to set the CPU dynamically without having 821da177e4SLinus Torvalds to enable the userspace governor manually. 831da177e4SLinus Torvalds 84*1c256245SThomas Renningerconfig CPU_FREQ_DEFAULT_GOV_ONDEMAND 85*1c256245SThomas Renninger bool "ondemand" 86*1c256245SThomas Renninger select CPU_FREQ_GOV_ONDEMAND 87*1c256245SThomas Renninger select CPU_FREQ_GOV_PERFORMANCE 88*1c256245SThomas Renninger help 89*1c256245SThomas Renninger Use the CPUFreq governor 'ondemand' as default. This allows 90*1c256245SThomas Renninger you to get a full dynamic frequency capable system by simply 91*1c256245SThomas Renninger loading your cpufreq low-level hardware driver. 92*1c256245SThomas Renninger Be aware that not all cpufreq drivers support the ondemand 93*1c256245SThomas Renninger governor. If unsure have a look at the help section of the 94*1c256245SThomas Renninger driver. Fallback governor will be the performance governor. 95*1c256245SThomas Renninger 96*1c256245SThomas Renningerconfig CPU_FREQ_DEFAULT_GOV_CONSERVATIVE 97*1c256245SThomas Renninger bool "conservative" 98*1c256245SThomas Renninger select CPU_FREQ_GOV_CONSERVATIVE 99*1c256245SThomas Renninger select CPU_FREQ_GOV_PERFORMANCE 100*1c256245SThomas Renninger help 101*1c256245SThomas Renninger Use the CPUFreq governor 'conservative' as default. This allows 102*1c256245SThomas Renninger you to get a full dynamic frequency capable system by simply 103*1c256245SThomas Renninger loading your cpufreq low-level hardware driver. 104*1c256245SThomas Renninger Be aware that not all cpufreq drivers support the conservative 105*1c256245SThomas Renninger governor. If unsure have a look at the help section of the 106*1c256245SThomas Renninger driver. Fallback governor will be the performance governor. 1071da177e4SLinus Torvaldsendchoice 1081da177e4SLinus Torvalds 1091da177e4SLinus Torvaldsconfig CPU_FREQ_GOV_PERFORMANCE 1101da177e4SLinus Torvalds tristate "'performance' governor" 1111da177e4SLinus Torvalds help 1121da177e4SLinus Torvalds This cpufreq governor sets the frequency statically to the 1131da177e4SLinus Torvalds highest available CPU frequency. 1141da177e4SLinus Torvalds 1159101be53SMike Frysinger To compile this driver as a module, choose M here: the 1169101be53SMike Frysinger module will be called cpufreq_performance. 1179101be53SMike Frysinger 1181da177e4SLinus Torvalds If in doubt, say Y. 1191da177e4SLinus Torvalds 1201da177e4SLinus Torvaldsconfig CPU_FREQ_GOV_POWERSAVE 1211da177e4SLinus Torvalds tristate "'powersave' governor" 1221da177e4SLinus Torvalds help 1231da177e4SLinus Torvalds This cpufreq governor sets the frequency statically to the 1241da177e4SLinus Torvalds lowest available CPU frequency. 1251da177e4SLinus Torvalds 1269101be53SMike Frysinger To compile this driver as a module, choose M here: the 1279101be53SMike Frysinger module will be called cpufreq_powersave. 1289101be53SMike Frysinger 1291da177e4SLinus Torvalds If in doubt, say Y. 1301da177e4SLinus Torvalds 1311da177e4SLinus Torvaldsconfig CPU_FREQ_GOV_USERSPACE 1321da177e4SLinus Torvalds tristate "'userspace' governor for userspace frequency scaling" 1331da177e4SLinus Torvalds help 1341da177e4SLinus Torvalds Enable this cpufreq governor when you either want to set the 1351da177e4SLinus Torvalds CPU frequency manually or when an userspace program shall 1361da177e4SLinus Torvalds be able to set the CPU dynamically, like on LART 1374c41251eSErik Mouw <http://www.lartmaker.nl/>. 1381da177e4SLinus Torvalds 1399101be53SMike Frysinger To compile this driver as a module, choose M here: the 1409101be53SMike Frysinger module will be called cpufreq_userspace. 1419101be53SMike Frysinger 1421da177e4SLinus Torvalds For details, take a look at <file:Documentation/cpu-freq/>. 1431da177e4SLinus Torvalds 1441da177e4SLinus Torvalds If in doubt, say Y. 1451da177e4SLinus Torvalds 1461da177e4SLinus Torvaldsconfig CPU_FREQ_GOV_ONDEMAND 1471da177e4SLinus Torvalds tristate "'ondemand' cpufreq policy governor" 1486af6e1efSDave Jones select CPU_FREQ_TABLE 1491da177e4SLinus Torvalds help 1501da177e4SLinus Torvalds 'ondemand' - This driver adds a dynamic cpufreq policy governor. 1511da177e4SLinus Torvalds The governor does a periodic polling and 1521da177e4SLinus Torvalds changes frequency based on the CPU utilization. 1531da177e4SLinus Torvalds The support for this governor depends on CPU capability to 1541da177e4SLinus Torvalds do fast frequency switching (i.e, very low latency frequency 1551da177e4SLinus Torvalds transitions). 1561da177e4SLinus Torvalds 1579101be53SMike Frysinger To compile this driver as a module, choose M here: the 1589101be53SMike Frysinger module will be called cpufreq_ondemand. 1599101be53SMike Frysinger 1601da177e4SLinus Torvalds For details, take a look at linux/Documentation/cpu-freq. 1611da177e4SLinus Torvalds 1621da177e4SLinus Torvalds If in doubt, say N. 1631da177e4SLinus Torvalds 164b9170836SDave Jonesconfig CPU_FREQ_GOV_CONSERVATIVE 165b9170836SDave Jones tristate "'conservative' cpufreq governor" 166b9170836SDave Jones depends on CPU_FREQ 167b9170836SDave Jones help 168b9170836SDave Jones 'conservative' - this driver is rather similar to the 'ondemand' 169b9170836SDave Jones governor both in its source code and its purpose, the difference is 170b9170836SDave Jones its optimisation for better suitability in a battery powered 171b9170836SDave Jones environment. The frequency is gracefully increased and decreased 172b9170836SDave Jones rather than jumping to 100% when speed is required. 173b9170836SDave Jones 174b9170836SDave Jones If you have a desktop machine then you should really be considering 175b9170836SDave Jones the 'ondemand' governor instead, however if you are using a laptop, 176b9170836SDave Jones PDA or even an AMD64 based computer (due to the unacceptable 177b9170836SDave Jones step-by-step latency issues between the minimum and maximum frequency 178b9170836SDave Jones transitions in the CPU) you will probably want to use this governor. 179b9170836SDave Jones 1809101be53SMike Frysinger To compile this driver as a module, choose M here: the 1819101be53SMike Frysinger module will be called cpufreq_conservative. 1829101be53SMike Frysinger 183b9170836SDave Jones For details, take a look at linux/Documentation/cpu-freq. 184b9170836SDave Jones 185b9170836SDave Jones If in doubt, say N. 186b9170836SDave Jones 1871da177e4SLinus Torvaldsendif # CPU_FREQ 188