[CPUFREQ] powernow-k8: Set transition latency to 1 if ACPI tables export 0
authorThomas Renninger <trenn@suse.de>
Wed, 22 Apr 2009 11:48:30 +0000 (13:48 +0200)
committerDave Jones <davej@redhat.com>
Mon, 15 Jun 2009 15:49:41 +0000 (11:49 -0400)
This doesn't fix anything, but it's expected that a transition latency of 0
could cause trouble in the future.

Signed-off-by: Thomas Renninger <trenn@suse.de>
Cc: Langsdorf, Mark <mark.langsdorf@amd.com>
Signed-off-by: Dave Jones <davej@redhat.com>
arch/x86/kernel/cpu/cpufreq/powernow-k8.c

index cf52215..9359896 100644 (file)
@@ -1046,6 +1046,19 @@ static int get_transition_latency(struct powernow_k8_data *data)
                if (cur_latency > max_latency)
                        max_latency = cur_latency;
        }
+       if (max_latency == 0) {
+               /*
+                * Fam 11h always returns 0 as transition latency.
+                * This is intended and means "very fast". While cpufreq core
+                * and governors currently can handle that gracefully, better
+                * set it to 1 to avoid problems in the future.
+                * For all others it's a BIOS bug.
+                */
+               if (!boot_cpu_data.x86 == 0x11)
+                       printk(KERN_ERR FW_WARN PFX "Invalid zero transition "
+                               "latency\n");
+               max_latency = 1;
+       }
        /* value in usecs, needs to be in nanoseconds */
        return 1000 * max_latency;
 }