Changeset 2865
- Timestamp:
- 01/23/05 10:10:34 (4 years ago)
- Files:
-
- lm-sensors/trunk/etc/sensors.conf.eg (modified) (1 diff)
- lm-sensors/trunk/kernel/chips/w83781d.c (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
lm-sensors/trunk/etc/sensors.conf.eg
r2855 r2865 751 751 # compute in6 (3.14 * @) - 7.71 , (@ + 7.71) / 3.14 752 752 753 # Depending on your motherboard, you have to choose between three formulae 754 # for temp2. Quoting Artur Gawryszczak: 755 # "I guess, that the formula "temp2 (@*30/43)+25, (@-25)*43/30" is correct 753 # Depending on your motherboard, you may have to use any of two formulae 754 # for temp2. Quoting Artur Gawryszczak (edited to reflect subsequent fixes 755 # to the driver): 756 # "I guess, that the formula "(@*15/43)+25, (@-25)*43/15" is correct 756 757 # for those Asus motherboards, which get CPU temperature from internal 757 # thermal diode (Pentium Coppermine, and above), and "temp2 @*2.0, @/2.0" 758 # is correct for Athlon/Duron boards, which use a thermistor in the 759 # socket." 760 # The third formula was found and reported by Victor G. Marimon. 758 # thermal diode (Pentium Coppermine, and above), while no formula is needed 759 # for Athlon/Duron boards, which use a thermistor in the socket." 760 # An alternative formula was then found and reported by Victor G. Marimon. 761 762 # Asus A7V133, Asus A7M266 763 # No compute line is needed 761 764 # Asus CUV4X, Asus A7V8X 765 # compute temp2 (@*15/43)+25, (@-25)*43/15 766 # Asus CUSL2, Asus CUV266-DLS 762 767 # compute temp2 (@*30/43)+25, (@-25)*43/30 763 # Asus A7V133, Asus A7M266764 compute temp2 @*2.0, @/2.0765 # Asus CUSL2, Asus CUV266-DLS766 # compute temp2 (@*60/43)+25, (@-25)*43/60767 768 768 769 # See comments above if temp3 looks bad. What works for temp2 is likely 769 # to work for temp3. 770 compute temp3 @*2.0, @/2.0 770 # to work for temp3 for dual-CPU boards. 771 771 772 772 # Most Asus boards have temperatures settled like that: lm-sensors/trunk/kernel/chips/w83781d.c
r2837 r2865 200 200 ((val)+5)/10),0,255)) 201 201 #define TEMP_FROM_REG(val) (((val)>0x80?(val)-0x100:(val))*10) 202 203 #define AS99127_TEMP_ADD_TO_REG(val) (SENSORS_LIMIT((((((val) + 2)*4)/10) \204 << 7),0,0xffff))205 #define AS99127_TEMP_ADD_FROM_REG(val) ((((val) >> 7) * 10) / 4)206 202 207 203 #define ALARMS_FROM_REG(val) (val) … … 1589 1585 else if (operation == SENSORS_PROC_REAL_READ) { 1590 1586 w83781d_update_client(client); 1591 if (data->type == as99127f) { 1592 results[0] = 1593 AS99127_TEMP_ADD_FROM_REG(data-> 1594 temp_add_over[nr]); 1595 results[1] = 1596 AS99127_TEMP_ADD_FROM_REG(data-> 1597 temp_add_hyst[nr]); 1598 results[2] = 1599 AS99127_TEMP_ADD_FROM_REG(data->temp_add[nr]); 1600 } else { 1601 results[0] = 1602 LM75_TEMP_FROM_REG(data->temp_add_over[nr]); 1603 results[1] = 1604 LM75_TEMP_FROM_REG(data->temp_add_hyst[nr]); 1605 results[2] = LM75_TEMP_FROM_REG(data->temp_add[nr]); 1606 } 1587 results[0] = LM75_TEMP_FROM_REG(data->temp_add_over[nr]); 1588 results[1] = LM75_TEMP_FROM_REG(data->temp_add_hyst[nr]); 1589 results[2] = LM75_TEMP_FROM_REG(data->temp_add[nr]); 1607 1590 *nrels_mag = 3; 1608 1591 } else if (operation == SENSORS_PROC_REAL_WRITE) { 1609 1592 if (*nrels_mag >= 1) { 1610 if (data->type == as99127f) 1611 data->temp_add_over[nr] = 1612 AS99127_TEMP_ADD_TO_REG(results[0]); 1613 else 1614 data->temp_add_over[nr] = 1615 LM75_TEMP_TO_REG(results[0]); 1593 data->temp_add_over[nr] = 1594 LM75_TEMP_TO_REG(results[0]); 1616 1595 w83781d_write_value(client, 1617 1596 nr ? W83781D_REG_TEMP3_OVER : … … 1620 1599 } 1621 1600 if (*nrels_mag >= 2) { 1622 if (data->type == as99127f) 1623 data->temp_add_hyst[nr] = 1624 AS99127_TEMP_ADD_TO_REG(results[1]); 1625 else 1626 data->temp_add_hyst[nr] = 1627 LM75_TEMP_TO_REG(results[1]); 1601 data->temp_add_hyst[nr] = 1602 LM75_TEMP_TO_REG(results[1]); 1628 1603 w83781d_write_value(client, 1629 1604 nr ? W83781D_REG_TEMP3_HYST :
