aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/x86/kernel/cpu/cpufreq/powernow-k8.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/arch/x86/kernel/cpu/cpufreq/powernow-k8.c b/arch/x86/kernel/cpu/cpufreq/powernow-k8.c
index cf52215d9eb1..935989693a64 100644
--- a/arch/x86/kernel/cpu/cpufreq/powernow-k8.c
+++ b/arch/x86/kernel/cpu/cpufreq/powernow-k8.c
@@ -1046,6 +1046,19 @@ static int get_transition_latency(struct powernow_k8_data *data)
1046 if (cur_latency > max_latency) 1046 if (cur_latency > max_latency)
1047 max_latency = cur_latency; 1047 max_latency = cur_latency;
1048 } 1048 }
1049 if (max_latency == 0) {
1050 /*
1051 * Fam 11h always returns 0 as transition latency.
1052 * This is intended and means "very fast". While cpufreq core
1053 * and governors currently can handle that gracefully, better
1054 * set it to 1 to avoid problems in the future.
1055 * For all others it's a BIOS bug.
1056 */
1057 if (!boot_cpu_data.x86 == 0x11)
1058 printk(KERN_ERR FW_WARN PFX "Invalid zero transition "
1059 "latency\n");
1060 max_latency = 1;
1061 }
1049 /* value in usecs, needs to be in nanoseconds */ 1062 /* value in usecs, needs to be in nanoseconds */
1050 return 1000 * max_latency; 1063 return 1000 * max_latency;
1051} 1064}