Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

Merge back cpufreq material for 6.12

+13 -29
+4 -23
drivers/cpufreq/cpufreq.c
··· 575 575 return policy->transition_delay_us; 576 576 577 577 latency = policy->cpuinfo.transition_latency / NSEC_PER_USEC; 578 - if (latency) { 579 - unsigned int max_delay_us = 2 * MSEC_PER_SEC; 578 + if (latency) 579 + /* Give a 50% breathing room between updates */ 580 + return latency + (latency >> 1); 580 581 581 - /* 582 - * If the platform already has high transition_latency, use it 583 - * as-is. 584 - */ 585 - if (latency > max_delay_us) 586 - return latency; 587 - 588 - /* 589 - * For platforms that can change the frequency very fast (< 2 590 - * us), the above formula gives a decent transition delay. But 591 - * for platforms where transition_latency is in milliseconds, it 592 - * ends up giving unrealistic values. 593 - * 594 - * Cap the default transition delay to 2 ms, which seems to be 595 - * a reasonable amount of time after which we should reevaluate 596 - * the frequency. 597 - */ 598 - return min(latency * LATENCY_MULTIPLIER, max_delay_us); 599 - } 600 - 601 - return LATENCY_MULTIPLIER; 582 + return USEC_PER_MSEC; 602 583 } 603 584 EXPORT_SYMBOL_GPL(cpufreq_policy_transition_delay_us); 604 585
+4
drivers/cpufreq/intel_pstate.c
··· 2425 2425 X86_MATCH(INTEL_ICELAKE_X, core_funcs), 2426 2426 X86_MATCH(INTEL_SAPPHIRERAPIDS_X, core_funcs), 2427 2427 X86_MATCH(INTEL_EMERALDRAPIDS_X, core_funcs), 2428 + X86_MATCH(INTEL_GRANITERAPIDS_D, core_funcs), 2429 + X86_MATCH(INTEL_GRANITERAPIDS_X, core_funcs), 2430 + X86_MATCH(INTEL_ATOM_CRESTMONT, core_funcs), 2431 + X86_MATCH(INTEL_ATOM_CRESTMONT_X, core_funcs), 2428 2432 {} 2429 2433 }; 2430 2434 #endif
+1
drivers/cpufreq/maple-cpufreq.c
··· 238 238 module_init(maple_cpufreq_init); 239 239 240 240 241 + MODULE_DESCRIPTION("cpufreq driver for Maple 970FX/970MP boards"); 241 242 MODULE_LICENSE("GPL");
+1
drivers/cpufreq/pasemi-cpufreq.c
··· 269 269 module_init(pas_cpufreq_init); 270 270 module_exit(pas_cpufreq_exit); 271 271 272 + MODULE_DESCRIPTION("cpufreq driver for PA Semi PWRficient"); 272 273 MODULE_LICENSE("GPL"); 273 274 MODULE_AUTHOR("Egor Martovetsky <egor@pasemi.com>, Olof Johansson <olof@lixom.net>");
+1
drivers/cpufreq/pmac64-cpufreq.c
··· 671 671 module_init(g5_cpufreq_init); 672 672 673 673 674 + MODULE_DESCRIPTION("cpufreq driver for SMU & 970FX based G5 Macs"); 674 675 MODULE_LICENSE("GPL");
+1
drivers/cpufreq/powernv-cpufreq.c
··· 1160 1160 } 1161 1161 module_exit(powernv_cpufreq_exit); 1162 1162 1163 + MODULE_DESCRIPTION("cpufreq driver for IBM/OpenPOWER powernv systems"); 1163 1164 MODULE_LICENSE("GPL"); 1164 1165 MODULE_AUTHOR("Vaidyanathan Srinivasan <svaidy at linux.vnet.ibm.com>");
+1
drivers/cpufreq/ppc_cbe_cpufreq.c
··· 168 168 module_init(cbe_cpufreq_init); 169 169 module_exit(cbe_cpufreq_exit); 170 170 171 + MODULE_DESCRIPTION("cpufreq driver for Cell BE processors"); 171 172 MODULE_LICENSE("GPL"); 172 173 MODULE_AUTHOR("Christian Krafft <krafft@de.ibm.com>");
-6
include/linux/cpufreq.h
··· 577 577 #define CPUFREQ_POLICY_POWERSAVE (1) 578 578 #define CPUFREQ_POLICY_PERFORMANCE (2) 579 579 580 - /* 581 - * The polling frequency depends on the capability of the processor. Default 582 - * polling frequency is 1000 times the transition latency of the processor. 583 - */ 584 - #define LATENCY_MULTIPLIER (1000) 585 - 586 580 struct cpufreq_governor { 587 581 char name[CPUFREQ_NAME_LEN]; 588 582 int (*init)(struct cpufreq_policy *policy);