[Lucid] SRU: powernow-k8: Fix frequency reporting
Stefan Bader
stefan.bader at canonical.com
Fri Apr 30 14:12:47 UTC 2010
SRU justification:
Impact: This has been reported through AMD. There is a bug in the
frequency governor which prevents the P-states to be correctly set
(no boost).
Fix: This fix has been queued up to linux-next and will be included in
stable as well. To improve performance sooner we would be carrying this
patch as pre-stable.
Testcase: Checking CPU frequencies the boost state without the patch
will never be reached.
-Stefan
>From 679370641e3675633cad222449262abbe93a4a2a Mon Sep 17 00:00:00 2001
From: Mark Langsdorf <mark.langsdorf at amd.com>
Date: Wed, 31 Mar 2010 21:56:45 +0200
Subject: [PATCH] powernow-k8: Fix frequency reporting
BugLink: http://bugs.launchpad.net/bugs/572348
With F10, model 10, all valid frequencies are in the ACPI _PST table.
Cc: <stable at kernel.org> # 33.x 32.x
Signed-off-by: Mark Langsdorf <mark.langsdorf at amd.com>
LKML-Reference: <1270065406-1814-6-git-send-email-bp at amd64.org>
Signed-off-by: Borislav Petkov <borislav.petkov at amd.com>
Reviewed-by: Thomas Renninger <trenn at suse.de>
Signed-off-by: H. Peter Anvin <hpa at zytor.com>
Signed-off-by: Stefan Bader <stefan.bader at canonical.com>
---
arch/x86/kernel/cpu/cpufreq/powernow-k8.c | 3 ++-
1 files changed, 2 insertions(+), 1 deletions(-)
diff --git a/arch/x86/kernel/cpu/cpufreq/powernow-k8.c b/arch/x86/kernel/cpu/cpufreq/powernow-k8.c
index 52fce63..6f3dc8f 100644
--- a/arch/x86/kernel/cpu/cpufreq/powernow-k8.c
+++ b/arch/x86/kernel/cpu/cpufreq/powernow-k8.c
@@ -935,7 +935,8 @@ static int fill_powernow_table_pstate(struct powernow_k8_data *data,
powernow_table[i].index = index;
/* Frequency may be rounded for these */
- if (boot_cpu_data.x86 == 0x10 || boot_cpu_data.x86 == 0x11) {
+ if ((boot_cpu_data.x86 == 0x10 && boot_cpu_data.x86_model < 10)
+ || boot_cpu_data.x86 == 0x11) {
powernow_table[i].frequency =
freq_from_fid_did(lo & 0x3f, (lo >> 6) & 7);
} else
--
1.6.3.3
More information about the kernel-team
mailing list