Lines Matching refs:nr

230 #define IT87_REG_PWM(nr)       (0x15 + (nr))  argument
231 #define IT87_REG_PWM_DUTY(nr) (0x63 + (nr) * 8) argument
233 #define IT87_REG_VIN(nr) (0x20 + (nr)) argument
234 #define IT87_REG_TEMP(nr) (0x29 + (nr)) argument
236 #define IT87_REG_VIN_MAX(nr) (0x30 + (nr) * 2) argument
237 #define IT87_REG_VIN_MIN(nr) (0x31 + (nr) * 2) argument
238 #define IT87_REG_TEMP_HIGH(nr) (0x40 + (nr) * 2) argument
239 #define IT87_REG_TEMP_LOW(nr) (0x41 + (nr) * 2) argument
248 #define IT87_REG_AUTO_TEMP(nr, i) (0x60 + (nr) * 8 + (i)) argument
249 #define IT87_REG_AUTO_PWM(nr, i) (0x65 + (nr) * 8 + (i)) argument
411 #define has_temp_peci(data, nr) (((data)->features & FEAT_TEMP_PECI) && \ argument
412 ((data)->peci_mask & (1 << nr)))
413 #define has_temp_old_peci(data, nr) \ argument
415 ((data)->old_peci_mask & (1 << nr)))
490 static int adc_lsb(const struct it87_data *data, int nr) in adc_lsb() argument
500 if (data->in_scaled & (1 << nr)) in adc_lsb()
505 static u8 in_to_reg(const struct it87_data *data, int nr, long val) in in_to_reg() argument
507 val = DIV_ROUND_CLOSEST(val * 10, adc_lsb(data, nr)); in in_to_reg()
511 static int in_from_reg(const struct it87_data *data, int nr, int val) in in_from_reg() argument
513 return DIV_ROUND_CLOSEST(val * adc_lsb(data, nr), 10); in in_from_reg()
610 int nr = sattr->nr; in show_in() local
614 return sprintf(buf, "%d\n", in_from_reg(data, nr, data->in[nr][index])); in show_in()
621 int nr = sattr->nr; in set_in() local
631 data->in[nr][index] = in_to_reg(data, nr, val); in set_in()
633 index == 1 ? IT87_REG_VIN_MIN(nr) in set_in()
634 : IT87_REG_VIN_MAX(nr), in set_in()
635 data->in[nr][index]); in set_in()
696 int nr = sattr->nr; in show_temp() local
700 return sprintf(buf, "%d\n", TEMP_FROM_REG(data->temp[nr][index])); in show_temp()
707 int nr = sattr->nr; in set_temp() local
721 reg = IT87_REG_TEMP_LOW(nr); in set_temp()
724 reg = IT87_REG_TEMP_HIGH(nr); in set_temp()
733 reg = IT87_REG_TEMP_OFFSET[nr]; in set_temp()
737 data->temp[nr][index] = TEMP_TO_REG(val); in set_temp()
738 it87_write_value(data, reg, data->temp[nr][index]); in set_temp()
769 int nr = sensor_attr->index; in show_temp_type() local
774 if ((has_temp_peci(data, nr) && (reg >> 6 == nr + 1)) in show_temp_type()
775 || (has_temp_old_peci(data, nr) && (extra & 0x80))) in show_temp_type()
777 if (reg & (1 << nr)) in show_temp_type()
779 if (reg & (8 << nr)) in show_temp_type()
788 int nr = sensor_attr->index; in set_temp_type() local
798 reg &= ~(1 << nr); in set_temp_type()
799 reg &= ~(8 << nr); in set_temp_type()
800 if (has_temp_peci(data, nr) && (reg >> 6 == nr + 1 || val == 6)) in set_temp_type()
803 if (has_temp_old_peci(data, nr) && ((extra & 0x80) || val == 6)) in set_temp_type()
812 reg |= 1 << nr; in set_temp_type()
814 reg |= 8 << nr; in set_temp_type()
815 else if (has_temp_peci(data, nr) && val == 6) in set_temp_type()
816 reg |= (nr + 1) << 6; in set_temp_type()
817 else if (has_temp_old_peci(data, nr) && val == 6) in set_temp_type()
826 if (has_temp_old_peci(data, nr)) in set_temp_type()
842 static int pwm_mode(const struct it87_data *data, int nr) in pwm_mode() argument
844 int ctrl = data->fan_main_ctrl & (1 << nr); in pwm_mode()
848 if (data->pwm_ctrl[nr] & 0x80) /* Automatic mode */ in pwm_mode()
858 int nr = sattr->nr; in show_fan() local
864 FAN16_FROM_REG(data->fan[nr][index]) : in show_fan()
865 FAN_FROM_REG(data->fan[nr][index], in show_fan()
866 DIV_FROM_REG(data->fan_div[nr])); in show_fan()
874 int nr = sensor_attr->index; in show_fan_div() local
877 return sprintf(buf, "%d\n", DIV_FROM_REG(data->fan_div[nr])); in show_fan_div()
883 int nr = sensor_attr->index; in show_pwm_enable() local
886 return sprintf(buf, "%d\n", pwm_mode(data, nr)); in show_pwm_enable()
892 int nr = sensor_attr->index; in show_pwm() local
896 pwm_from_reg(data, data->pwm_duty[nr])); in show_pwm()
914 int nr = sattr->nr; in set_fan() local
927 data->fan[nr][index] = FAN16_TO_REG(val); in set_fan()
928 it87_write_value(data, IT87_REG_FAN_MIN[nr], in set_fan()
929 data->fan[nr][index] & 0xff); in set_fan()
930 it87_write_value(data, IT87_REG_FANX_MIN[nr], in set_fan()
931 data->fan[nr][index] >> 8); in set_fan()
934 switch (nr) { in set_fan()
936 data->fan_div[nr] = reg & 0x07; in set_fan()
939 data->fan_div[nr] = (reg >> 3) & 0x07; in set_fan()
942 data->fan_div[nr] = (reg & 0x40) ? 3 : 1; in set_fan()
945 data->fan[nr][index] = in set_fan()
946 FAN_TO_REG(val, DIV_FROM_REG(data->fan_div[nr])); in set_fan()
947 it87_write_value(data, IT87_REG_FAN_MIN[nr], in set_fan()
948 data->fan[nr][index]); in set_fan()
959 int nr = sensor_attr->index; in set_fan_div() local
973 min = FAN_FROM_REG(data->fan[nr][1], DIV_FROM_REG(data->fan_div[nr])); in set_fan_div()
975 switch (nr) { in set_fan_div()
978 data->fan_div[nr] = DIV_TO_REG(val); in set_fan_div()
982 data->fan_div[nr] = 1; in set_fan_div()
984 data->fan_div[nr] = 3; in set_fan_div()
994 data->fan[nr][1] = FAN_TO_REG(min, DIV_FROM_REG(data->fan_div[nr])); in set_fan_div()
995 it87_write_value(data, IT87_REG_FAN_MIN[nr], data->fan[nr][1]); in set_fan_div()
1002 static int check_trip_points(struct device *dev, int nr) in check_trip_points() argument
1009 if (data->auto_temp[nr][i] > data->auto_temp[nr][i + 1]) in check_trip_points()
1013 if (data->auto_pwm[nr][i] > data->auto_pwm[nr][i + 1]) in check_trip_points()
1030 int nr = sensor_attr->index; in set_pwm_enable() local
1040 if (check_trip_points(dev, nr) < 0) in set_pwm_enable()
1054 it87_write_value(data, IT87_REG_FAN_CTL, tmp | (1 << nr)); in set_pwm_enable()
1056 data->fan_main_ctrl &= ~(1 << nr); in set_pwm_enable()
1061 data->pwm_ctrl[nr] = has_newer_autopwm(data) ? in set_pwm_enable()
1062 data->pwm_temp_map[nr] : in set_pwm_enable()
1063 data->pwm_duty[nr]; in set_pwm_enable()
1065 data->pwm_ctrl[nr] = 0x80 | data->pwm_temp_map[nr]; in set_pwm_enable()
1066 it87_write_value(data, IT87_REG_PWM(nr), data->pwm_ctrl[nr]); in set_pwm_enable()
1070 data->fan_main_ctrl |= (1 << nr); in set_pwm_enable()
1083 int nr = sensor_attr->index; in set_pwm() local
1097 if (data->pwm_ctrl[nr] & 0x80) { in set_pwm()
1101 data->pwm_duty[nr] = pwm_to_reg(data, val); in set_pwm()
1102 it87_write_value(data, IT87_REG_PWM_DUTY(nr), in set_pwm()
1103 data->pwm_duty[nr]); in set_pwm()
1105 data->pwm_duty[nr] = pwm_to_reg(data, val); in set_pwm()
1110 if (!(data->pwm_ctrl[nr] & 0x80)) { in set_pwm()
1111 data->pwm_ctrl[nr] = data->pwm_duty[nr]; in set_pwm()
1112 it87_write_value(data, IT87_REG_PWM(nr), in set_pwm()
1113 data->pwm_ctrl[nr]); in set_pwm()
1150 int nr = sensor_attr->index; in show_pwm_temp_map() local
1155 if (data->pwm_temp_map[nr] < 3) in show_pwm_temp_map()
1156 map = 1 << data->pwm_temp_map[nr]; in show_pwm_temp_map()
1165 int nr = sensor_attr->index; in set_pwm_temp_map() local
1198 data->pwm_temp_map[nr] = reg; in set_pwm_temp_map()
1203 if (data->pwm_ctrl[nr] & 0x80) { in set_pwm_temp_map()
1204 data->pwm_ctrl[nr] = 0x80 | data->pwm_temp_map[nr]; in set_pwm_temp_map()
1205 it87_write_value(data, IT87_REG_PWM(nr), data->pwm_ctrl[nr]); in set_pwm_temp_map()
1217 int nr = sensor_attr->nr; in show_auto_pwm() local
1221 pwm_from_reg(data, data->auto_pwm[nr][point])); in show_auto_pwm()
1230 int nr = sensor_attr->nr; in set_auto_pwm() local
1238 data->auto_pwm[nr][point] = pwm_to_reg(data, val); in set_auto_pwm()
1239 it87_write_value(data, IT87_REG_AUTO_PWM(nr, point), in set_auto_pwm()
1240 data->auto_pwm[nr][point]); in set_auto_pwm()
1251 int nr = sensor_attr->nr; in show_auto_temp() local
1254 return sprintf(buf, "%d\n", TEMP_FROM_REG(data->auto_temp[nr][point])); in show_auto_temp()
1263 int nr = sensor_attr->nr; in set_auto_temp() local
1271 data->auto_temp[nr][point] = TEMP_TO_REG(val); in set_auto_temp()
1272 it87_write_value(data, IT87_REG_AUTO_TEMP(nr, point), in set_auto_temp()
1273 data->auto_temp[nr][point]); in set_auto_temp()
1538 int nr = to_sensor_dev_attr(attr)->index; in show_label() local
1542 label = labels_it8721[nr]; in show_label()
1544 label = labels[nr]; in show_label()
2639 static void it87_update_pwm_ctrl(struct it87_data *data, int nr) in it87_update_pwm_ctrl() argument
2641 data->pwm_ctrl[nr] = it87_read_value(data, IT87_REG_PWM(nr)); in it87_update_pwm_ctrl()
2643 data->pwm_temp_map[nr] = data->pwm_ctrl[nr] & 0x03; in it87_update_pwm_ctrl()
2644 data->pwm_duty[nr] = it87_read_value(data, in it87_update_pwm_ctrl()
2645 IT87_REG_PWM_DUTY(nr)); in it87_update_pwm_ctrl()
2647 if (data->pwm_ctrl[nr] & 0x80) /* Automatic mode */ in it87_update_pwm_ctrl()
2648 data->pwm_temp_map[nr] = data->pwm_ctrl[nr] & 0x03; in it87_update_pwm_ctrl()
2650 data->pwm_duty[nr] = data->pwm_ctrl[nr] & 0x7f; in it87_update_pwm_ctrl()
2657 data->auto_temp[nr][i] = it87_read_value(data, in it87_update_pwm_ctrl()
2658 IT87_REG_AUTO_TEMP(nr, i)); in it87_update_pwm_ctrl()
2660 data->auto_pwm[nr][i] = it87_read_value(data, in it87_update_pwm_ctrl()
2661 IT87_REG_AUTO_PWM(nr, i)); in it87_update_pwm_ctrl()