Skip to content

Commit

Permalink
[PATCH] HWMON: Trim VID values to correct number of bits
Browse files Browse the repository at this point in the history
Following patch trims the VID value to correct number of bits
for each VRM.

Signed-off-by: Rudolf Marek <r.marek@sh.cvut.cz>
Signed-off-by: Jean Delvare <khali@linux-fr.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
  • Loading branch information
Rudolf Marek authored and Greg Kroah-Hartman committed Jun 22, 2006
1 parent 0d0001d commit 177d165
Showing 1 changed file with 8 additions and 1 deletion.
9 changes: 8 additions & 1 deletion drivers/hwmon/hwmon-vid.c
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,7 @@ int vid_from_reg(int val, u8 vrm)
switch(vrm) {

case 100: /* VRD 10.0 */
val &= 0x3f;
if((val & 0x1f) == 0x1f)
return 0;
if((val & 0x1f) <= 0x09 || val == 0x0a)
Expand All @@ -82,14 +83,17 @@ int vid_from_reg(int val, u8 vrm)
return vid;

case 24: /* Opteron processor */
val &= 0x1f;
return(val == 0x1f ? 0 : 1550 - val * 25);

case 91: /* VRM 9.1 */
case 90: /* VRM 9.0 */
val &= 0x1f;
return(val == 0x1f ? 0 :
1850 - val * 25);

case 85: /* VRM 8.5 */
val &= 0x1f;
return((val & 0x10 ? 25 : 0) +
((val & 0x0f) > 0x04 ? 2050 : 1250) -
((val & 0x0f) * 50));
Expand All @@ -98,14 +102,17 @@ int vid_from_reg(int val, u8 vrm)
val &= 0x0f;
/* fall through */
case 82: /* VRM 8.2 */
val &= 0x1f;
return(val == 0x1f ? 0 :
val & 0x10 ? 5100 - (val) * 100 :
2050 - (val) * 50);
case 17: /* Intel IMVP-II */
val &= 0x1f;
return(val & 0x10 ? 975 - (val & 0xF) * 25 :
1750 - val * 50);
case 13:
return(1708 - (val & 0x3f) * 16);
val &= 0x3f;
return(1708 - val * 16);
default: /* report 0 for unknown */
printk(KERN_INFO "hwmon-vid: requested unknown VRM version\n");
return 0;
Expand Down

0 comments on commit 177d165

Please sign in to comment.