Lines Matching refs:nr
243 #define IT87_REG_TEMP(nr) (0x29 + (nr)) argument
245 #define IT87_REG_VIN_MAX(nr) (0x30 + (nr) * 2) argument
246 #define IT87_REG_VIN_MIN(nr) (0x31 + (nr) * 2) argument
247 #define IT87_REG_TEMP_HIGH(nr) (0x40 + (nr) * 2) argument
248 #define IT87_REG_TEMP_LOW(nr) (0x41 + (nr) * 2) argument
259 #define IT87_REG_AUTO_TEMP(nr, i) (IT87_REG_AUTO_BASE[nr] + (i)) argument
260 #define IT87_REG_AUTO_PWM(nr, i) (IT87_REG_AUTO_BASE[nr] + 5 + (i)) argument
456 #define has_temp_peci(data, nr) (((data)->features & FEAT_TEMP_PECI) && \ argument
457 ((data)->peci_mask & BIT(nr)))
458 #define has_temp_old_peci(data, nr) \ argument
460 ((data)->old_peci_mask & BIT(nr)))
544 static int adc_lsb(const struct it87_data *data, int nr) in adc_lsb() argument
554 if (data->in_scaled & BIT(nr)) in adc_lsb()
559 static u8 in_to_reg(const struct it87_data *data, int nr, long val) in in_to_reg() argument
561 val = DIV_ROUND_CLOSEST(val * 10, adc_lsb(data, nr)); in in_to_reg()
565 static int in_from_reg(const struct it87_data *data, int nr, int val) in in_from_reg() argument
567 return DIV_ROUND_CLOSEST(val * adc_lsb(data, nr), 10); in in_from_reg()
665 static void it87_update_pwm_ctrl(struct it87_data *data, int nr) in it87_update_pwm_ctrl() argument
667 data->pwm_ctrl[nr] = it87_read_value(data, IT87_REG_PWM[nr]); in it87_update_pwm_ctrl()
669 data->pwm_temp_map[nr] = data->pwm_ctrl[nr] & 0x03; in it87_update_pwm_ctrl()
670 data->pwm_duty[nr] = it87_read_value(data, in it87_update_pwm_ctrl()
671 IT87_REG_PWM_DUTY[nr]); in it87_update_pwm_ctrl()
673 if (data->pwm_ctrl[nr] & 0x80) /* Automatic mode */ in it87_update_pwm_ctrl()
674 data->pwm_temp_map[nr] = data->pwm_ctrl[nr] & 0x03; in it87_update_pwm_ctrl()
676 data->pwm_duty[nr] = data->pwm_ctrl[nr] & 0x7f; in it87_update_pwm_ctrl()
683 data->auto_temp[nr][i] = it87_read_value(data, in it87_update_pwm_ctrl()
684 IT87_REG_AUTO_TEMP(nr, i)); in it87_update_pwm_ctrl()
686 data->auto_pwm[nr][i] = it87_read_value(data, in it87_update_pwm_ctrl()
687 IT87_REG_AUTO_PWM(nr, i)); in it87_update_pwm_ctrl()
697 data->auto_temp[nr][0] = in it87_update_pwm_ctrl()
698 it87_read_value(data, IT87_REG_AUTO_TEMP(nr, 5)); in it87_update_pwm_ctrl()
701 data->auto_temp[nr][i + 1] = in it87_update_pwm_ctrl()
703 IT87_REG_AUTO_TEMP(nr, i)); in it87_update_pwm_ctrl()
708 data->auto_pwm[nr][0] = in it87_update_pwm_ctrl()
709 it87_read_value(data, IT87_REG_AUTO_TEMP(nr, 3)); in it87_update_pwm_ctrl()
710 data->auto_pwm[nr][1] = in it87_update_pwm_ctrl()
711 it87_read_value(data, IT87_REG_AUTO_TEMP(nr, 4)); in it87_update_pwm_ctrl()
839 int nr = sattr->nr; in show_in() local
841 return sprintf(buf, "%d\n", in_from_reg(data, nr, data->in[nr][index])); in show_in()
850 int nr = sattr->nr; in set_in() local
857 data->in[nr][index] = in_to_reg(data, nr, val); in set_in()
859 index == 1 ? IT87_REG_VIN_MIN(nr) in set_in()
860 : IT87_REG_VIN_MAX(nr), in set_in()
861 data->in[nr][index]); in set_in()
925 int nr = sattr->nr; in show_temp() local
929 return sprintf(buf, "%d\n", TEMP_FROM_REG(data->temp[nr][index])); in show_temp()
936 int nr = sattr->nr; in set_temp() local
950 reg = IT87_REG_TEMP_LOW(nr); in set_temp()
953 reg = IT87_REG_TEMP_HIGH(nr); in set_temp()
962 reg = IT87_REG_TEMP_OFFSET[nr]; in set_temp()
966 data->temp[nr][index] = TEMP_TO_REG(val); in set_temp()
967 it87_write_value(data, reg, data->temp[nr][index]); in set_temp()
1001 int nr = sensor_attr->index; in show_temp_type() local
1006 if ((has_temp_peci(data, nr) && (reg >> 6 == nr + 1)) || in show_temp_type()
1007 (has_temp_old_peci(data, nr) && (extra & 0x80))) in show_temp_type()
1009 if (reg & (1 << nr)) in show_temp_type()
1011 if (reg & (8 << nr)) in show_temp_type()
1020 int nr = sensor_attr->index; in set_temp_type() local
1030 reg &= ~(1 << nr); in set_temp_type()
1031 reg &= ~(8 << nr); in set_temp_type()
1032 if (has_temp_peci(data, nr) && (reg >> 6 == nr + 1 || val == 6)) in set_temp_type()
1035 if (has_temp_old_peci(data, nr) && ((extra & 0x80) || val == 6)) in set_temp_type()
1044 reg |= 1 << nr; in set_temp_type()
1046 reg |= 8 << nr; in set_temp_type()
1047 else if (has_temp_peci(data, nr) && val == 6) in set_temp_type()
1048 reg |= (nr + 1) << 6; in set_temp_type()
1049 else if (has_temp_old_peci(data, nr) && val == 6) in set_temp_type()
1058 if (has_temp_old_peci(data, nr)) in set_temp_type()
1074 static int pwm_mode(const struct it87_data *data, int nr) in pwm_mode() argument
1076 if (data->type != it8603 && nr < 3 && !(data->fan_main_ctrl & BIT(nr))) in pwm_mode()
1078 if (data->pwm_ctrl[nr] & 0x80) in pwm_mode()
1080 if ((data->type == it8603 || nr >= 3) && in pwm_mode()
1081 data->pwm_duty[nr] == pwm_to_reg(data, 0xff)) in pwm_mode()
1091 int nr = sattr->nr; in show_fan() local
1097 FAN16_FROM_REG(data->fan[nr][index]) : in show_fan()
1098 FAN_FROM_REG(data->fan[nr][index], in show_fan()
1099 DIV_FROM_REG(data->fan_div[nr])); in show_fan()
1108 int nr = sensor_attr->index; in show_fan_div() local
1110 return sprintf(buf, "%lu\n", DIV_FROM_REG(data->fan_div[nr])); in show_fan_div()
1118 int nr = sensor_attr->index; in show_pwm_enable() local
1120 return sprintf(buf, "%d\n", pwm_mode(data, nr)); in show_pwm_enable()
1128 int nr = sensor_attr->index; in show_pwm() local
1131 pwm_from_reg(data, data->pwm_duty[nr])); in show_pwm()
1139 int nr = sensor_attr->index; in show_pwm_freq() local
1143 if (has_pwm_freq2(data) && nr == 1) in show_pwm_freq()
1157 int nr = sattr->nr; in set_fan() local
1170 data->fan[nr][index] = FAN16_TO_REG(val); in set_fan()
1171 it87_write_value(data, IT87_REG_FAN_MIN[nr], in set_fan()
1172 data->fan[nr][index] & 0xff); in set_fan()
1173 it87_write_value(data, IT87_REG_FANX_MIN[nr], in set_fan()
1174 data->fan[nr][index] >> 8); in set_fan()
1177 switch (nr) { in set_fan()
1179 data->fan_div[nr] = reg & 0x07; in set_fan()
1182 data->fan_div[nr] = (reg >> 3) & 0x07; in set_fan()
1185 data->fan_div[nr] = (reg & 0x40) ? 3 : 1; in set_fan()
1188 data->fan[nr][index] = in set_fan()
1189 FAN_TO_REG(val, DIV_FROM_REG(data->fan_div[nr])); in set_fan()
1190 it87_write_value(data, IT87_REG_FAN_MIN[nr], in set_fan()
1191 data->fan[nr][index]); in set_fan()
1203 int nr = sensor_attr->index; in set_fan_div() local
1215 min = FAN_FROM_REG(data->fan[nr][1], DIV_FROM_REG(data->fan_div[nr])); in set_fan_div()
1217 switch (nr) { in set_fan_div()
1220 data->fan_div[nr] = DIV_TO_REG(val); in set_fan_div()
1224 data->fan_div[nr] = 1; in set_fan_div()
1226 data->fan_div[nr] = 3; in set_fan_div()
1236 data->fan[nr][1] = FAN_TO_REG(min, DIV_FROM_REG(data->fan_div[nr])); in set_fan_div()
1237 it87_write_value(data, IT87_REG_FAN_MIN[nr], data->fan[nr][1]); in set_fan_div()
1244 static int check_trip_points(struct device *dev, int nr) in check_trip_points() argument
1251 if (data->auto_temp[nr][i] > data->auto_temp[nr][i + 1]) in check_trip_points()
1255 if (data->auto_pwm[nr][i] > data->auto_pwm[nr][i + 1]) in check_trip_points()
1260 if (data->auto_temp[nr][i] > data->auto_temp[nr][i + 1]) in check_trip_points()
1278 int nr = sensor_attr->index; in set_pwm_enable() local
1286 if (check_trip_points(dev, nr) < 0) in set_pwm_enable()
1293 if (nr < 3 && data->type != it8603) { in set_pwm_enable()
1297 it87_write_value(data, IT87_REG_FAN_CTL, tmp | BIT(nr)); in set_pwm_enable()
1299 data->fan_main_ctrl &= ~BIT(nr); in set_pwm_enable()
1306 data->pwm_duty[nr] = pwm_to_reg(data, 0xff); in set_pwm_enable()
1307 it87_write_value(data, IT87_REG_PWM_DUTY[nr], in set_pwm_enable()
1308 data->pwm_duty[nr]); in set_pwm_enable()
1311 ctrl = (data->pwm_ctrl[nr] & 0x7c) | in set_pwm_enable()
1312 data->pwm_temp_map[nr]; in set_pwm_enable()
1314 ctrl = data->pwm_duty[nr]; in set_pwm_enable()
1316 data->pwm_ctrl[nr] = ctrl; in set_pwm_enable()
1317 it87_write_value(data, IT87_REG_PWM[nr], ctrl); in set_pwm_enable()
1323 ctrl = (data->pwm_ctrl[nr] & 0x7c) | in set_pwm_enable()
1324 data->pwm_temp_map[nr]; in set_pwm_enable()
1328 ctrl = (val == 1 ? data->pwm_duty[nr] : 0x80); in set_pwm_enable()
1330 data->pwm_ctrl[nr] = ctrl; in set_pwm_enable()
1331 it87_write_value(data, IT87_REG_PWM[nr], ctrl); in set_pwm_enable()
1333 if (data->type != it8603 && nr < 3) { in set_pwm_enable()
1335 data->fan_main_ctrl |= BIT(nr); in set_pwm_enable()
1350 int nr = sensor_attr->index; in set_pwm() local
1357 it87_update_pwm_ctrl(data, nr); in set_pwm()
1363 if (data->pwm_ctrl[nr] & 0x80) { in set_pwm()
1367 data->pwm_duty[nr] = pwm_to_reg(data, val); in set_pwm()
1368 it87_write_value(data, IT87_REG_PWM_DUTY[nr], in set_pwm()
1369 data->pwm_duty[nr]); in set_pwm()
1371 data->pwm_duty[nr] = pwm_to_reg(data, val); in set_pwm()
1376 if (!(data->pwm_ctrl[nr] & 0x80)) { in set_pwm()
1377 data->pwm_ctrl[nr] = data->pwm_duty[nr]; in set_pwm()
1378 it87_write_value(data, IT87_REG_PWM[nr], in set_pwm()
1379 data->pwm_ctrl[nr]); in set_pwm()
1391 int nr = sensor_attr->index; in set_pwm_freq() local
1408 if (nr == 0) { in set_pwm_freq()
1427 int nr = sensor_attr->index; in show_pwm_temp_map() local
1430 map = data->pwm_temp_map[nr]; in show_pwm_temp_map()
1433 if (nr >= 3) /* pwm channels 3..6 map to temp4..6 */ in show_pwm_temp_map()
1445 int nr = sensor_attr->index; in set_pwm_temp_map() local
1452 if (nr >= 3) in set_pwm_temp_map()
1470 it87_update_pwm_ctrl(data, nr); in set_pwm_temp_map()
1471 data->pwm_temp_map[nr] = reg; in set_pwm_temp_map()
1476 if (data->pwm_ctrl[nr] & 0x80) { in set_pwm_temp_map()
1477 data->pwm_ctrl[nr] = (data->pwm_ctrl[nr] & 0xfc) | in set_pwm_temp_map()
1478 data->pwm_temp_map[nr]; in set_pwm_temp_map()
1479 it87_write_value(data, IT87_REG_PWM[nr], data->pwm_ctrl[nr]); in set_pwm_temp_map()
1491 int nr = sensor_attr->nr; in show_auto_pwm() local
1495 pwm_from_reg(data, data->auto_pwm[nr][point])); in show_auto_pwm()
1504 int nr = sensor_attr->nr; in set_auto_pwm() local
1513 data->auto_pwm[nr][point] = pwm_to_reg(data, val); in set_auto_pwm()
1515 regaddr = IT87_REG_AUTO_TEMP(nr, 3); in set_auto_pwm()
1517 regaddr = IT87_REG_AUTO_PWM(nr, point); in set_auto_pwm()
1518 it87_write_value(data, regaddr, data->auto_pwm[nr][point]); in set_auto_pwm()
1528 int nr = sensor_attr->index; in show_auto_pwm_slope() local
1530 return sprintf(buf, "%d\n", data->auto_pwm[nr][1] & 0x7f); in show_auto_pwm_slope()
1539 int nr = sensor_attr->index; in set_auto_pwm_slope() local
1546 data->auto_pwm[nr][1] = (data->auto_pwm[nr][1] & 0x80) | val; in set_auto_pwm_slope()
1547 it87_write_value(data, IT87_REG_AUTO_TEMP(nr, 4), in set_auto_pwm_slope()
1548 data->auto_pwm[nr][1]); in set_auto_pwm_slope()
1559 int nr = sensor_attr->nr; in show_auto_temp() local
1564 reg = data->auto_temp[nr][point]; in show_auto_temp()
1566 reg = data->auto_temp[nr][1] - (data->auto_temp[nr][0] & 0x1f); in show_auto_temp()
1577 int nr = sensor_attr->nr; in set_auto_temp() local
1587 reg = data->auto_temp[nr][1] - TEMP_TO_REG(val); in set_auto_temp()
1588 reg = clamp_val(reg, 0, 0x1f) | (data->auto_temp[nr][0] & 0xe0); in set_auto_temp()
1589 data->auto_temp[nr][0] = reg; in set_auto_temp()
1590 it87_write_value(data, IT87_REG_AUTO_TEMP(nr, 5), reg); in set_auto_temp()
1593 data->auto_temp[nr][point] = reg; in set_auto_temp()
1596 it87_write_value(data, IT87_REG_AUTO_TEMP(nr, point), reg); in set_auto_temp()
1939 int nr = to_sensor_dev_attr(attr)->index; in show_label() local
1943 label = labels_it8721[nr]; in show_label()
1945 label = labels[nr]; in show_label()