5
5
* Copyright (c) 2009 Clemens Ladisch <[email protected] >
6
6
*/
7
7
8
+ #include <linux/bitops.h>
8
9
#include <linux/err.h>
9
10
#include <linux/hwmon.h>
10
11
#include <linux/hwmon-sysfs.h>
@@ -31,22 +32,22 @@ static DEFINE_MUTEX(nb_smu_ind_mutex);
31
32
#endif
32
33
33
34
/* CPUID function 0x80000001, ebx */
34
- #define CPUID_PKGTYPE_MASK 0xf0000000
35
+ #define CPUID_PKGTYPE_MASK GENMASK(31, 28)
35
36
#define CPUID_PKGTYPE_F 0x00000000
36
37
#define CPUID_PKGTYPE_AM2R2_AM3 0x10000000
37
38
38
39
/* DRAM controller (PCI function 2) */
39
40
#define REG_DCT0_CONFIG_HIGH 0x094
40
- #define DDR3_MODE 0x00000100
41
+ #define DDR3_MODE BIT(8)
41
42
42
43
/* miscellaneous (PCI function 3) */
43
44
#define REG_HARDWARE_THERMAL_CONTROL 0x64
44
- #define HTC_ENABLE 0x00000001
45
+ #define HTC_ENABLE BIT(0)
45
46
46
47
#define REG_REPORTED_TEMPERATURE 0xa4
47
48
48
49
#define REG_NORTHBRIDGE_CAPABILITIES 0xe8
49
- #define NB_CAP_HTC 0x00000400
50
+ #define NB_CAP_HTC BIT(10)
50
51
51
52
/*
52
53
* For F15h M60h and M70h, REG_HARDWARE_THERMAL_CONTROL
@@ -60,6 +61,9 @@ static DEFINE_MUTEX(nb_smu_ind_mutex);
60
61
/* F17h M01h Access througn SMN */
61
62
#define F17H_M01H_REPORTED_TEMP_CTRL_OFFSET 0x00059800
62
63
64
+ #define CUR_TEMP_SHIFT 21
65
+ #define CUR_TEMP_RANGE_SEL_MASK BIT(19)
66
+
63
67
struct k10temp_data {
64
68
struct pci_dev * pdev ;
65
69
void (* read_htcreg )(struct pci_dev * pdev , u32 * regval );
@@ -129,7 +133,7 @@ static unsigned int get_raw_temp(struct k10temp_data *data)
129
133
u32 regval ;
130
134
131
135
data -> read_tempreg (data -> pdev , & regval );
132
- temp = (regval >> 21 ) * 125 ;
136
+ temp = (regval >> CUR_TEMP_SHIFT ) * 125 ;
133
137
if (regval & data -> temp_adjust_mask )
134
138
temp -= 49000 ;
135
139
return temp ;
@@ -312,7 +316,7 @@ static int k10temp_probe(struct pci_dev *pdev,
312
316
data -> read_htcreg = read_htcreg_nb_f15 ;
313
317
data -> read_tempreg = read_tempreg_nb_f15 ;
314
318
} else if (boot_cpu_data .x86 == 0x17 || boot_cpu_data .x86 == 0x18 ) {
315
- data -> temp_adjust_mask = 0x80000 ;
319
+ data -> temp_adjust_mask = CUR_TEMP_RANGE_SEL_MASK ;
316
320
data -> read_tempreg = read_tempreg_nb_f17 ;
317
321
data -> show_tdie = true;
318
322
} else {
0 commit comments