aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLangsdorf, Mark <mark.langsdorf@amd.com>2006-06-08 11:33:19 -0400
committerDave Jones <davej@redhat.com>2006-06-20 01:46:04 -0400
commit6cad647da228486f36a9794137ad459e39b02590 (patch)
treea2def0c9e2caaa619547581f58dabf8e602eb25d
parente7bdd7a531320eb4a4a8160afbe0c7cc98ac7187 (diff)
[CPUFREQ] correct powernow-k8 fid/vid masks for extended parts
The fid/vid masks for parts using the extended parts are slightly incorrect and can result in incorrect fid/vid codes being applied. No instances of this problem have been reported in the field but it could be a problem with future parts. Signed-off-by: Mark Langsdorf <mark.langsdorf@amd.com> Signed-off-by: Dave Jones <davej@redhat.com>
-rw-r--r--arch/i386/kernel/cpu/cpufreq/powernow-k8.c4
-rw-r--r--arch/i386/kernel/cpu/cpufreq/powernow-k8.h4
2 files changed, 5 insertions, 3 deletions
diff --git a/arch/i386/kernel/cpu/cpufreq/powernow-k8.c b/arch/i386/kernel/cpu/cpufreq/powernow-k8.c
index d8be4b01488d..756d0a333ed6 100644
--- a/arch/i386/kernel/cpu/cpufreq/powernow-k8.c
+++ b/arch/i386/kernel/cpu/cpufreq/powernow-k8.c
@@ -885,8 +885,8 @@ static int fill_powernow_table_fidvid(struct powernow_k8_data *data, struct cpuf
885 u32 vid; 885 u32 vid;
886 886
887 if (data->exttype) { 887 if (data->exttype) {
888 fid = data->acpi_data.states[i].status & FID_MASK; 888 fid = data->acpi_data.states[i].status & EXT_FID_MASK;
889 vid = (data->acpi_data.states[i].status >> VID_SHIFT) & VID_MASK; 889 vid = (data->acpi_data.states[i].status >> VID_SHIFT) & EXT_VID_MASK;
890 } else { 890 } else {
891 fid = data->acpi_data.states[i].control & FID_MASK; 891 fid = data->acpi_data.states[i].control & FID_MASK;
892 vid = (data->acpi_data.states[i].control >> VID_SHIFT) & VID_MASK; 892 vid = (data->acpi_data.states[i].control >> VID_SHIFT) & VID_MASK;
diff --git a/arch/i386/kernel/cpu/cpufreq/powernow-k8.h b/arch/i386/kernel/cpu/cpufreq/powernow-k8.h
index bf8ad9e43da3..0fb2a3001ba5 100644
--- a/arch/i386/kernel/cpu/cpufreq/powernow-k8.h
+++ b/arch/i386/kernel/cpu/cpufreq/powernow-k8.h
@@ -169,7 +169,9 @@ struct powernow_k8_data {
169#define MVS_MASK 3 169#define MVS_MASK 3
170#define VST_MASK 0x7f 170#define VST_MASK 0x7f
171#define VID_MASK 0x1f 171#define VID_MASK 0x1f
172#define FID_MASK 0x3f 172#define FID_MASK 0x1f
173#define EXT_VID_MASK 0x3f
174#define EXT_FID_MASK 0x3f
173 175
174 176
175/* 177/*