]> git.sur5r.net Git - groeck-k10temp/blobdiff - k10temp.c
Add optional 49 degrees C temperature offset
[groeck-k10temp] / k10temp.c
index 4c6594a4661d777e3ea29b66e8e0c7aca1f0e0f8..e4a179d491bed6da66eb36a8c1efed2eec1a15b1 100644 (file)
--- a/k10temp.c
+++ b/k10temp.c
@@ -84,6 +84,7 @@ static const struct tctl_offset tctl_offset_table[] = {
        { 0x17, "AMD Ryzen 5 1600X", 20000 },
        { 0x17, "AMD Ryzen 7 1700X", 20000 },
        { 0x17, "AMD Ryzen 7 1800X", 20000 },
+       { 0x17, "AMD Ryzen 7 2700X", 10000 },
        { 0x17, "AMD Ryzen Threadripper 1950X", 27000 },
        { 0x17, "AMD Ryzen Threadripper 1920X", 27000 },
        { 0x17, "AMD Ryzen Threadripper 1900X", 27000 },
@@ -129,6 +130,9 @@ static ssize_t temp1_input_show(struct device *dev,
 
        data->read_tempreg(data->pdev, &regval);
        temp = (regval >> 21) * 125;
+       /* bit 20 indicates an additional temp offset of 49 degrees C */
+       if (regval & 0x80000)
+               temp -= 49000;
        if (temp > data->temp_offset)
                temp -= data->temp_offset;
        else