[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