[CPUFREQ] correct powernow-k8 fid/vid masks for extended parts
authorLangsdorf, Mark <mark.langsdorf@amd.com>
Thu, 8 Jun 2006 15:33:19 +0000 (10:33 -0500)
committerDave Jones <davej@redhat.com>
Tue, 20 Jun 2006 05:46:04 +0000 (01:46 -0400)
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>
arch/i386/kernel/cpu/cpufreq/powernow-k8.c
arch/i386/kernel/cpu/cpufreq/powernow-k8.h

index d8be4b01488dd38ee65a744d58835ad8f63299e9..756d0a333ed6f8afd680d020dff7d9e4045d8791 100644 (file)
@@ -885,8 +885,8 @@ static int fill_powernow_table_fidvid(struct powernow_k8_data *data, struct cpuf
                u32 vid;
 
                if (data->exttype) {
-                       fid = data->acpi_data.states[i].status & FID_MASK;
-                       vid = (data->acpi_data.states[i].status >> VID_SHIFT) & VID_MASK;
+                       fid = data->acpi_data.states[i].status & EXT_FID_MASK;
+                       vid = (data->acpi_data.states[i].status >> VID_SHIFT) & EXT_VID_MASK;
                } else {
                        fid = data->acpi_data.states[i].control & FID_MASK;
                        vid = (data->acpi_data.states[i].control >> VID_SHIFT) & VID_MASK;
index bf8ad9e43da3e4a006f5720c30c900bfa5e97a5c..0fb2a3001ba5505c8dbf743bc290f87d1b888641 100644 (file)
@@ -169,7 +169,9 @@ struct powernow_k8_data {
 #define MVS_MASK        3
 #define VST_MASK     0x7f
 #define VID_MASK     0x1f
-#define FID_MASK     0x3f
+#define FID_MASK     0x1f
+#define EXT_VID_MASK 0x3f
+#define EXT_FID_MASK 0x3f
 
 
 /*