]> git.sur5r.net Git - groeck-k10temp/blobdiff - k10temp.c
Fix 1600X model, and don't report negative temperatures
[groeck-k10temp] / k10temp.c
index 46a54ed234105040ecda4644cadeb48d6639aca2..4c6594a4661d777e3ea29b66e8e0c7aca1f0e0f8 100644 (file)
--- a/k10temp.c
+++ b/k10temp.c
@@ -81,11 +81,12 @@ struct tctl_offset {
 };
 
 static const struct tctl_offset tctl_offset_table[] = {
-       { 0x17, "AMD Ryzen 7 1600X", 20000 },
+       { 0x17, "AMD Ryzen 5 1600X", 20000 },
        { 0x17, "AMD Ryzen 7 1700X", 20000 },
        { 0x17, "AMD Ryzen 7 1800X", 20000 },
        { 0x17, "AMD Ryzen Threadripper 1950X", 27000 },
        { 0x17, "AMD Ryzen Threadripper 1920X", 27000 },
+       { 0x17, "AMD Ryzen Threadripper 1900X", 27000 },
        { 0x17, "AMD Ryzen Threadripper 1950", 10000 },
        { 0x17, "AMD Ryzen Threadripper 1920", 10000 },
        { 0x17, "AMD Ryzen Threadripper 1910", 10000 },
@@ -128,7 +129,10 @@ static ssize_t temp1_input_show(struct device *dev,
 
        data->read_tempreg(data->pdev, &regval);
        temp = (regval >> 21) * 125;
-       temp -= data->temp_offset;
+       if (temp > data->temp_offset)
+               temp -= data->temp_offset;
+       else
+               temp = 0;
 
        return sprintf(buf, "%u\n", temp);
 }