Lines Matching refs:nr

327 #define NCT6775_AUTO_TEMP(data, nr, p)	((data)->REG_AUTO_TEMP[nr] + (p))  argument
328 #define NCT6775_AUTO_PWM(data, nr, p) ((data)->REG_AUTO_PWM[nr] + (p)) argument
823 static inline long in_from_reg(u8 reg, u8 nr) in in_from_reg() argument
825 return DIV_ROUND_CLOSEST(reg * scale_in[nr], 100); in in_from_reg()
828 static inline u8 in_to_reg(u32 val, u8 nr) in in_to_reg() argument
830 return clamp_val(DIV_ROUND_CLOSEST(val * 100, scale_in[nr]), 0, 255); in in_to_reg()
996 u8 nr; member
1027 .u.s.nr = _nr, \
1095 a2->nr = (*t)->u.s.nr + i; in nct6775_create_attr_group()
1233 static void nct6775_write_fan_div(struct nct6775_data *data, int nr) in nct6775_write_fan_div() argument
1237 switch (nr) { in nct6775_write_fan_div()
1261 static void nct6775_write_fan_div_common(struct nct6775_data *data, int nr) in nct6775_write_fan_div_common() argument
1264 nct6775_write_fan_div(data, nr); in nct6775_write_fan_div_common()
1332 struct nct6775_data *data, int nr, u16 reg) in nct6775_select_fan_div() argument
1334 u8 fan_div = data->fan_div[nr]; in nct6775_select_fan_div()
1350 if (fan_div != data->fan_div[nr]) { in nct6775_select_fan_div()
1352 nr + 1, div_from_reg(data->fan_div[nr]), in nct6775_select_fan_div()
1356 if (data->has_fan_min & (1 << nr)) { in nct6775_select_fan_div()
1357 fan_min = data->fan_min[nr]; in nct6775_select_fan_div()
1358 if (fan_div > data->fan_div[nr]) { in nct6775_select_fan_div()
1368 if (fan_min != data->fan_min[nr]) { in nct6775_select_fan_div()
1369 data->fan_min[nr] = fan_min; in nct6775_select_fan_div()
1370 nct6775_write_value(data, data->REG_FAN_MIN[nr], in nct6775_select_fan_div()
1374 data->fan_div[nr] = fan_div; in nct6775_select_fan_div()
1375 nct6775_write_fan_div_common(data, nr); in nct6775_select_fan_div()
1623 int nr = sattr->nr; in show_in_reg() local
1625 return sprintf(buf, "%ld\n", in_from_reg(data->in[nr][index], nr)); in show_in_reg()
1635 int nr = sattr->nr; in store_in_reg() local
1643 data->in[nr][index] = in_to_reg(val, nr); in store_in_reg()
1644 nct6775_write_value(data, data->REG_IN_MINMAX[index - 1][nr], in store_in_reg()
1645 data->in[nr][index]); in store_in_reg()
1655 int nr = data->ALARM_BITS[sattr->index]; in show_alarm() local
1658 (unsigned int)((data->alarms >> nr) & 0x01)); in show_alarm()
1664 int nr; in find_temp_source() local
1666 for (nr = 0; nr < count; nr++) { in find_temp_source()
1670 data->REG_TEMP_SOURCE[nr]) & 0x1f; in find_temp_source()
1672 return nr; in find_temp_source()
1683 int nr; in show_temp_alarm() local
1689 nr = find_temp_source(data, sattr->index, data->num_temp_alarms); in show_temp_alarm()
1690 if (nr >= 0) { in show_temp_alarm()
1691 int bit = data->ALARM_BITS[nr + TEMP_ALARM_BASE]; in show_temp_alarm()
1703 int nr = data->BEEP_BITS[sattr->index]; in show_beep() local
1706 (unsigned int)((data->beeps >> nr) & 0x01)); in show_beep()
1715 int nr = data->BEEP_BITS[sattr->index]; in store_beep() local
1716 int regindex = nr >> 3; in store_beep()
1728 data->beeps |= (1ULL << nr); in store_beep()
1730 data->beeps &= ~(1ULL << nr); in store_beep()
1743 int nr; in show_temp_beep() local
1750 nr = find_temp_source(data, sattr->index, data->num_temp_beeps); in show_temp_beep()
1751 if (nr >= 0) { in show_temp_beep()
1752 int bit = data->BEEP_BITS[nr + TEMP_ALARM_BASE]; in show_temp_beep()
1765 int nr, bit, regindex; in store_temp_beep() local
1775 nr = find_temp_source(data, sattr->index, data->num_temp_beeps); in store_temp_beep()
1776 if (nr < 0) in store_temp_beep()
1777 return nr; in store_temp_beep()
1779 bit = data->BEEP_BITS[nr + TEMP_ALARM_BASE]; in store_temp_beep()
1840 int nr = sattr->index; in show_fan() local
1842 return sprintf(buf, "%d\n", data->rpm[nr]); in show_fan()
1850 int nr = sattr->index; in show_fan_min() local
1853 data->fan_from_reg_min(data->fan_min[nr], in show_fan_min()
1854 data->fan_div[nr])); in show_fan_min()
1862 int nr = sattr->index; in show_fan_div() local
1864 return sprintf(buf, "%u\n", div_from_reg(data->fan_div[nr])); in show_fan_div()
1873 int nr = sattr->index; in store_fan_min() local
1894 data->fan_min[nr] = val; in store_fan_min()
1899 data->fan_min[nr] = 255; in store_fan_min()
1900 new_div = data->fan_div[nr]; /* No change */ in store_fan_min()
1901 dev_info(dev, "fan%u low limit and alarm disabled\n", nr + 1); in store_fan_min()
1910 data->fan_min[nr] = 254; in store_fan_min()
1914 nr + 1, val, data->fan_from_reg_min(254, 7)); in store_fan_min()
1920 data->fan_min[nr] = 1; in store_fan_min()
1924 nr + 1, val, data->fan_from_reg_min(1, 0)); in store_fan_min()
1936 data->fan_min[nr] = reg; in store_fan_min()
1944 if (new_div != data->fan_div[nr]) { in store_fan_min()
1946 nr + 1, div_from_reg(data->fan_div[nr]), in store_fan_min()
1948 data->fan_div[nr] = new_div; in store_fan_min()
1949 nct6775_write_fan_div_common(data, nr); in store_fan_min()
1955 nct6775_write_value(data, data->REG_FAN_MIN[nr], data->fan_min[nr]); in store_fan_min()
1977 int nr = sattr->index; in store_fan_pulses() local
1990 data->fan_pulses[nr] = val & 3; in store_fan_pulses()
1991 reg = nct6775_read_value(data, data->REG_FAN_PULSES[nr]); in store_fan_pulses()
1992 reg &= ~(0x03 << data->FAN_PULSE_SHIFT[nr]); in store_fan_pulses()
1993 reg |= (val & 3) << data->FAN_PULSE_SHIFT[nr]; in store_fan_pulses()
1994 nct6775_write_value(data, data->REG_FAN_PULSES[nr], reg); in store_fan_pulses()
2006 int nr = index % 6; /* attribute index */ in nct6775_fan_is_visible() local
2011 if (nr == 1 && data->ALARM_BITS[FAN_ALARM_BASE + fan] == -1) in nct6775_fan_is_visible()
2013 if (nr == 2 && data->BEEP_BITS[FAN_ALARM_BASE + fan] == -1) in nct6775_fan_is_visible()
2015 if (nr == 4 && !(data->has_fan_min & (1 << fan))) in nct6775_fan_is_visible()
2017 if (nr == 5 && data->kind != nct6775) in nct6775_fan_is_visible()
2060 int nr = sattr->index; in show_temp_label() local
2062 return sprintf(buf, "%s\n", data->temp_label[data->temp_src[nr]]); in show_temp_label()
2070 int nr = sattr->nr; in show_temp() local
2073 return sprintf(buf, "%d\n", LM75_TEMP_FROM_REG(data->temp[index][nr])); in show_temp()
2082 int nr = sattr->nr; in store_temp() local
2092 data->temp[index][nr] = LM75_TEMP_TO_REG(val); in store_temp()
2093 nct6775_write_temp(data, data->reg_temp[index][nr], in store_temp()
2094 data->temp[index][nr]); in store_temp()
2114 int nr = sattr->index; in store_temp_offset() local
2125 data->temp_offset[nr] = val; in store_temp_offset()
2126 nct6775_write_value(data, data->REG_TEMP_OFFSET[nr], val); in store_temp_offset()
2137 int nr = sattr->index; in show_temp_type() local
2139 return sprintf(buf, "%d\n", (int)data->temp_type[nr]); in show_temp_type()
2148 int nr = sattr->index; in store_temp_type() local
2162 data->temp_type[nr] = val; in store_temp_type()
2163 vbit = 0x02 << nr; in store_temp_type()
2164 dbit = data->DIODE_MASK << nr; in store_temp_type()
2191 int nr = index % 10; /* attribute index */ in nct6775_temp_is_visible() local
2196 if (nr == 2 && find_temp_source(data, temp, data->num_temp_alarms) < 0) in nct6775_temp_is_visible()
2199 if (nr == 3 && find_temp_source(data, temp, data->num_temp_beeps) < 0) in nct6775_temp_is_visible()
2202 if (nr == 4 && !data->reg_temp[1][temp]) /* max */ in nct6775_temp_is_visible()
2205 if (nr == 5 && !data->reg_temp[2][temp]) /* max_hyst */ in nct6775_temp_is_visible()
2208 if (nr == 6 && !data->reg_temp[3][temp]) /* crit */ in nct6775_temp_is_visible()
2211 if (nr == 7 && !data->reg_temp[4][temp]) /* lcrit */ in nct6775_temp_is_visible()
2215 if (nr > 7 && !(data->have_temp_fixed & (1 << temp))) in nct6775_temp_is_visible()
2279 int nr = sattr->index; in store_pwm_mode() local
2292 if (data->REG_PWM_MODE[nr] == 0) { in store_pwm_mode()
2299 data->pwm_mode[nr] = val; in store_pwm_mode()
2300 reg = nct6775_read_value(data, data->REG_PWM_MODE[nr]); in store_pwm_mode()
2301 reg &= ~data->PWM_MODE_MASK[nr]; in store_pwm_mode()
2303 reg |= data->PWM_MODE_MASK[nr]; in store_pwm_mode()
2304 nct6775_write_value(data, data->REG_PWM_MODE[nr], reg); in store_pwm_mode()
2314 int nr = sattr->nr; in show_pwm() local
2322 if (index == 0 && data->pwm_enable[nr] > manual) in show_pwm()
2323 pwm = nct6775_read_value(data, data->REG_PWM_READ[nr]); in show_pwm()
2325 pwm = data->pwm[index][nr]; in show_pwm()
2336 int nr = sattr->nr; in store_pwm() local
2339 int minval[7] = { 0, 1, 1, data->pwm[2][nr], 0, 0, 0 }; in store_pwm()
2341 = { 255, 255, data->pwm[3][nr] ? : 255, 255, 255, 255, 255 }; in store_pwm()
2351 data->pwm[index][nr] = val; in store_pwm()
2352 nct6775_write_value(data, data->REG_PWM[index][nr], val); in store_pwm()
2354 reg = nct6775_read_value(data, data->REG_TEMP_SEL[nr]); in store_pwm()
2358 nct6775_write_value(data, data->REG_TEMP_SEL[nr], reg); in store_pwm()
2365 static int check_trip_points(struct nct6775_data *data, int nr) in check_trip_points() argument
2370 if (data->auto_temp[nr][i] > data->auto_temp[nr][i + 1]) in check_trip_points()
2374 if (data->auto_pwm[nr][i] > data->auto_pwm[nr][i + 1]) in check_trip_points()
2378 if (data->auto_pwm[nr][data->auto_pwm_num]) { in check_trip_points()
2379 if (data->auto_temp[nr][data->auto_pwm_num - 1] > in check_trip_points()
2380 data->auto_temp[nr][data->auto_pwm_num] || in check_trip_points()
2381 data->auto_pwm[nr][data->auto_pwm_num - 1] > in check_trip_points()
2382 data->auto_pwm[nr][data->auto_pwm_num]) in check_trip_points()
2388 static void pwm_update_registers(struct nct6775_data *data, int nr) in pwm_update_registers() argument
2392 switch (data->pwm_enable[nr]) { in pwm_update_registers()
2397 reg = nct6775_read_value(data, data->REG_FAN_MODE[nr]); in pwm_update_registers()
2399 (data->target_speed_tolerance[nr] & data->tolerance_mask); in pwm_update_registers()
2400 nct6775_write_value(data, data->REG_FAN_MODE[nr], reg); in pwm_update_registers()
2401 nct6775_write_value(data, data->REG_TARGET[nr], in pwm_update_registers()
2402 data->target_speed[nr] & 0xff); in pwm_update_registers()
2404 reg = (data->target_speed[nr] >> 8) & 0x0f; in pwm_update_registers()
2405 reg |= (data->target_speed_tolerance[nr] & 0x38) << 1; in pwm_update_registers()
2407 data->REG_TOLERANCE_H[nr], in pwm_update_registers()
2412 nct6775_write_value(data, data->REG_TARGET[nr], in pwm_update_registers()
2413 data->target_temp[nr]); in pwm_update_registers()
2416 reg = nct6775_read_value(data, data->REG_FAN_MODE[nr]); in pwm_update_registers()
2418 data->temp_tolerance[0][nr]; in pwm_update_registers()
2419 nct6775_write_value(data, data->REG_FAN_MODE[nr], reg); in pwm_update_registers()
2439 int nr = sattr->index; in store_pwm_enable() local
2454 if (val == sf4 && check_trip_points(data, nr)) { in store_pwm_enable()
2461 data->pwm_enable[nr] = val; in store_pwm_enable()
2466 data->pwm[0][nr] = 255; in store_pwm_enable()
2467 nct6775_write_value(data, data->REG_PWM[0][nr], 255); in store_pwm_enable()
2469 pwm_update_registers(data, nr); in store_pwm_enable()
2470 reg = nct6775_read_value(data, data->REG_FAN_MODE[nr]); in store_pwm_enable()
2473 nct6775_write_value(data, data->REG_FAN_MODE[nr], reg); in store_pwm_enable()
2511 int nr = sattr->index; in store_pwm_temp_sel() local
2525 data->pwm_temp_sel[nr] = src; in store_pwm_temp_sel()
2526 reg = nct6775_read_value(data, data->REG_TEMP_SEL[nr]); in store_pwm_temp_sel()
2529 nct6775_write_value(data, data->REG_TEMP_SEL[nr], reg); in store_pwm_temp_sel()
2553 int nr = sattr->index; in store_pwm_weight_temp_sel() local
2569 data->pwm_weight_temp_sel[nr] = src; in store_pwm_weight_temp_sel()
2570 reg = nct6775_read_value(data, data->REG_WEIGHT_TEMP_SEL[nr]); in store_pwm_weight_temp_sel()
2573 nct6775_write_value(data, data->REG_WEIGHT_TEMP_SEL[nr], reg); in store_pwm_weight_temp_sel()
2575 data->pwm_weight_temp_sel[nr] = 0; in store_pwm_weight_temp_sel()
2576 reg = nct6775_read_value(data, data->REG_WEIGHT_TEMP_SEL[nr]); in store_pwm_weight_temp_sel()
2578 nct6775_write_value(data, data->REG_WEIGHT_TEMP_SEL[nr], reg); in store_pwm_weight_temp_sel()
2600 int nr = sattr->index; in store_target_temp() local
2612 data->target_temp[nr] = val; in store_target_temp()
2613 pwm_update_registers(data, nr); in store_target_temp()
2623 int nr = sattr->index; in show_target_speed() local
2626 fan_from_reg16(data->target_speed[nr], in show_target_speed()
2627 data->fan_div[nr])); in show_target_speed()
2636 int nr = sattr->index; in store_target_speed() local
2646 speed = fan_to_reg(val, data->fan_div[nr]); in store_target_speed()
2649 data->target_speed[nr] = speed; in store_target_speed()
2650 pwm_update_registers(data, nr); in store_target_speed()
2661 int nr = sattr->nr; in show_temp_tolerance() local
2664 return sprintf(buf, "%d\n", data->temp_tolerance[index][nr] * 1000); in show_temp_tolerance()
2673 int nr = sattr->nr; in store_temp_tolerance() local
2686 data->temp_tolerance[index][nr] = val; in store_temp_tolerance()
2688 pwm_update_registers(data, nr); in store_temp_tolerance()
2691 data->REG_CRITICAL_TEMP_TOLERANCE[nr], in store_temp_tolerance()
2708 int nr = sattr->index; in show_speed_tolerance() local
2709 int low = data->target_speed[nr] - data->target_speed_tolerance[nr]; in show_speed_tolerance()
2710 int high = data->target_speed[nr] + data->target_speed_tolerance[nr]; in show_speed_tolerance()
2720 tolerance = (fan_from_reg16(low, data->fan_div[nr]) in show_speed_tolerance()
2721 - fan_from_reg16(high, data->fan_div[nr])) / 2; in show_speed_tolerance()
2732 int nr = sattr->index; in store_speed_tolerance() local
2741 high = fan_from_reg16(data->target_speed[nr], in store_speed_tolerance()
2742 data->fan_div[nr]) + val; in store_speed_tolerance()
2743 low = fan_from_reg16(data->target_speed[nr], in store_speed_tolerance()
2744 data->fan_div[nr]) - val; in store_speed_tolerance()
2750 val = (fan_to_reg(low, data->fan_div[nr]) - in store_speed_tolerance()
2751 fan_to_reg(high, data->fan_div[nr])) / 2; in store_speed_tolerance()
2757 data->target_speed_tolerance[nr] = val; in store_speed_tolerance()
2758 pwm_update_registers(data, nr); in store_speed_tolerance()
2784 int nr = sattr->nr; in show_weight_temp() local
2787 return sprintf(buf, "%d\n", data->weight_temp[index][nr] * 1000); in show_weight_temp()
2796 int nr = sattr->nr; in store_weight_temp() local
2808 data->weight_temp[index][nr] = val; in store_weight_temp()
2809 nct6775_write_value(data, data->REG_WEIGHT_TEMP[index][nr], val); in store_weight_temp()
2832 int nr = sattr->nr; in show_fan_time() local
2836 step_time_from_reg(data->fan_time[index][nr], in show_fan_time()
2837 data->pwm_mode[nr])); in show_fan_time()
2846 int nr = sattr->nr; in store_fan_time() local
2855 val = step_time_to_reg(val, data->pwm_mode[nr]); in store_fan_time()
2857 data->fan_time[index][nr] = val; in store_fan_time()
2858 nct6775_write_value(data, data->REG_FAN_TIME[index][nr], val); in store_fan_time()
2869 return sprintf(buf, "%d\n", data->auto_pwm[sattr->nr][sattr->index]); in show_auto_pwm()
2878 int nr = sattr->nr; in store_auto_pwm() local
2898 data->auto_pwm[nr][point] = val; in store_auto_pwm()
2901 NCT6775_AUTO_PWM(data, nr, point), in store_auto_pwm()
2902 data->auto_pwm[nr][point]); in store_auto_pwm()
2908 NCT6775_REG_CRITICAL_ENAB[nr]); in store_auto_pwm()
2913 nct6775_write_value(data, NCT6775_REG_CRITICAL_ENAB[nr], in store_auto_pwm()
2923 nct6775_write_value(data, data->REG_CRITICAL_PWM[nr], in store_auto_pwm()
2926 data->REG_CRITICAL_PWM_ENABLE[nr]); in store_auto_pwm()
2932 data->REG_CRITICAL_PWM_ENABLE[nr], in store_auto_pwm()
2946 int nr = sattr->nr; in show_auto_temp() local
2953 return sprintf(buf, "%d\n", data->auto_temp[nr][point] * 1000); in show_auto_temp()
2962 int nr = sattr->nr; in store_auto_temp() local
2974 data->auto_temp[nr][point] = DIV_ROUND_CLOSEST(val, 1000); in store_auto_temp()
2977 NCT6775_AUTO_TEMP(data, nr, point), in store_auto_temp()
2978 data->auto_temp[nr][point]); in store_auto_temp()
2980 nct6775_write_value(data, data->REG_CRITICAL_TEMP[nr], in store_auto_temp()
2981 data->auto_temp[nr][point]); in store_auto_temp()
2993 int nr = index % 36; /* attribute index */ in nct6775_pwm_is_visible() local
2998 if ((nr >= 14 && nr <= 18) || nr == 21) /* weight */ in nct6775_pwm_is_visible()
3001 if (nr == 19 && data->REG_PWM[3] == NULL) /* pwm_max */ in nct6775_pwm_is_visible()
3003 if (nr == 20 && data->REG_PWM[4] == NULL) /* pwm_step */ in nct6775_pwm_is_visible()
3005 if (nr == 21 && data->REG_PWM[6] == NULL) /* weight_duty_base */ in nct6775_pwm_is_visible()
3008 if (nr >= 22 && nr <= 35) { /* auto point */ in nct6775_pwm_is_visible()
3009 int api = (nr - 22) / 2; /* auto point index */ in nct6775_pwm_is_visible()
3143 int nr = to_sensor_dev_attr(attr)->index - INTRUSION_ALARM_BASE; in clear_caseopen() local
3165 reg = superio_inb(data->sioreg, NCT6775_REG_CR_CASEOPEN_CLR[nr]); in clear_caseopen()
3166 reg |= NCT6775_CR_CASEOPEN_CLR_MASK[nr]; in clear_caseopen()
3167 superio_outb(data->sioreg, NCT6775_REG_CR_CASEOPEN_CLR[nr], reg); in clear_caseopen()
3168 reg &= ~NCT6775_CR_CASEOPEN_CLR_MASK[nr]; in clear_caseopen()
3169 superio_outb(data->sioreg, NCT6775_REG_CR_CASEOPEN_CLR[nr], reg); in clear_caseopen()