• Home
  • Raw
  • Download

Lines Matching +full:0 +full:x259

6  * Aquacomputer devices send HID reports (with ID 0x01) every second to report
26 #define USB_VENDOR_ID_AQUACOMPUTER 0x0c70
27 #define USB_PRODUCT_ID_AQUAERO 0xf001
28 #define USB_PRODUCT_ID_FARBWERK 0xf00a
29 #define USB_PRODUCT_ID_QUADRO 0xf00d
30 #define USB_PRODUCT_ID_D5NEXT 0xf00e
31 #define USB_PRODUCT_ID_FARBWERK360 0xf010
32 #define USB_PRODUCT_ID_OCTO 0xf011
33 #define USB_PRODUCT_ID_HIGHFLOWNEXT 0xf012
34 #define USB_PRODUCT_ID_LEAKSHIELD 0xf014
35 #define USB_PRODUCT_ID_AQUASTREAMXT 0xf0b6
36 #define USB_PRODUCT_ID_AQUASTREAMULT 0xf00b
37 #define USB_PRODUCT_ID_POWERADJUST3 0xf0bd
61 #define STATUS_REPORT_ID 0x01
65 #define CTRL_REPORT_ID 0x03
66 #define AQUAERO_CTRL_REPORT_ID 0x0b
73 #define SECONDARY_CTRL_REPORT_ID 0x02
74 #define SECONDARY_CTRL_REPORT_SIZE 0x0B
77 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x34, 0xC6
81 #define AQUAERO_SECONDARY_CTRL_REPORT_ID 0x06
82 #define AQUAERO_SECONDARY_CTRL_REPORT_SIZE 0x07
85 0x06, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00
89 #define AQUASTREAMXT_STATUS_REPORT_ID 0x04
91 #define POWERADJUST3_STATUS_REPORT_ID 0x03
94 #define AQC_8 0
98 #define AQC_SERIAL_START 0x3
99 #define AQC_FIRMWARE_VERSION 0xD
101 #define AQC_SENSOR_SIZE 0x02
102 #define AQC_SENSOR_NA 0x7FFF
103 #define AQC_FAN_PERCENT_OFFSET 0x00
104 #define AQC_FAN_VOLTAGE_OFFSET 0x02
105 #define AQC_FAN_CURRENT_OFFSET 0x04
106 #define AQC_FAN_POWER_OFFSET 0x06
107 #define AQC_FAN_SPEED_OFFSET 0x08
110 #define AQUAERO_SERIAL_START 0x07
111 #define AQUAERO_FIRMWARE_VERSION 0x0B
117 #define AQUAERO_CTRL_REPORT_SIZE 0xa93
118 #define AQUAERO_CTRL_PRESET_ID 0x5c
119 #define AQUAERO_CTRL_PRESET_SIZE 0x02
120 #define AQUAERO_CTRL_PRESET_START 0x55c
123 #define AQUAERO_SENSOR_START 0x65
124 #define AQUAERO_VIRTUAL_SENSOR_START 0x85
125 #define AQUAERO_CALC_VIRTUAL_SENSOR_START 0x95
126 #define AQUAERO_FLOW_SENSORS_START 0xF9
127 #define AQUAERO_FAN_VOLTAGE_OFFSET 0x04
128 #define AQUAERO_FAN_CURRENT_OFFSET 0x06
129 #define AQUAERO_FAN_POWER_OFFSET 0x08
130 #define AQUAERO_FAN_SPEED_OFFSET 0x00
131 static u16 aquaero_sensor_fan_offsets[] = { 0x167, 0x173, 0x17f, 0x18B };
134 #define AQUAERO_TEMP_CTRL_OFFSET 0xdb
135 #define AQUAERO_FAN_CTRL_MIN_PWR_OFFSET 0x04
136 #define AQUAERO_FAN_CTRL_MAX_PWR_OFFSET 0x06
137 #define AQUAERO_FAN_CTRL_SRC_OFFSET 0x10
138 static u16 aquaero_ctrl_fan_offsets[] = { 0x20c, 0x220, 0x234, 0x248 };
144 #define D5NEXT_CTRL_REPORT_SIZE 0x329
147 #define D5NEXT_POWER_CYCLES 0x18
148 #define D5NEXT_COOLANT_TEMP 0x57
149 #define D5NEXT_PUMP_OFFSET 0x6c
150 #define D5NEXT_FAN_OFFSET 0x5f
151 #define D5NEXT_5V_VOLTAGE 0x39
152 #define D5NEXT_12V_VOLTAGE 0x37
153 #define D5NEXT_VIRTUAL_SENSORS_START 0x3f
157 #define D5NEXT_TEMP_CTRL_OFFSET 0x2D /* Temperature sensor offsets location */
158 static u16 d5next_ctrl_fan_offsets[] = { 0x97, 0x42 }; /* Pump and fan speed (from 0-100%) */
166 #define AQUASTREAMULT_SENSOR_START 0x2D
167 #define AQUASTREAMULT_PUMP_OFFSET 0x51
168 #define AQUASTREAMULT_PUMP_VOLTAGE 0x3D
169 #define AQUASTREAMULT_PUMP_CURRENT 0x53
170 #define AQUASTREAMULT_PUMP_POWER 0x55
171 #define AQUASTREAMULT_FAN_OFFSET 0x41
172 #define AQUASTREAMULT_PRESSURE_OFFSET 0x57
173 #define AQUASTREAMULT_FLOW_SENSOR_OFFSET 0x37
174 #define AQUASTREAMULT_FAN_VOLTAGE_OFFSET 0x02
175 #define AQUASTREAMULT_FAN_CURRENT_OFFSET 0x00
176 #define AQUASTREAMULT_FAN_POWER_OFFSET 0x04
177 #define AQUASTREAMULT_FAN_SPEED_OFFSET 0x06
182 #define FARBWERK_SENSOR_START 0x2f
187 #define FARBWERK360_CTRL_REPORT_SIZE 0x682
190 #define FARBWERK360_SENSOR_START 0x32
191 #define FARBWERK360_VIRTUAL_SENSORS_START 0x3a
194 #define FARBWERK360_TEMP_CTRL_OFFSET 0x8
200 #define OCTO_CTRL_REPORT_SIZE 0x65F
203 #define OCTO_POWER_CYCLES 0x18
204 #define OCTO_SENSOR_START 0x3D
205 #define OCTO_VIRTUAL_SENSORS_START 0x45
206 static u16 octo_sensor_fan_offsets[] = { 0x7D, 0x8A, 0x97, 0xA4, 0xB1, 0xBE, 0xCB, 0xD8 };
209 #define OCTO_TEMP_CTRL_OFFSET 0xA
210 /* Fan speed offsets (0-100%) */
211 static u16 octo_ctrl_fan_offsets[] = { 0x5B, 0xB0, 0x105, 0x15A, 0x1AF, 0x204, 0x259, 0x2AE };
218 #define QUADRO_CTRL_REPORT_SIZE 0x3c1
221 #define QUADRO_POWER_CYCLES 0x18
222 #define QUADRO_SENSOR_START 0x34
223 #define QUADRO_VIRTUAL_SENSORS_START 0x3c
224 #define QUADRO_FLOW_SENSOR_OFFSET 0x6e
225 static u16 quadro_sensor_fan_offsets[] = { 0x70, 0x7D, 0x8A, 0x97 };
228 #define QUADRO_TEMP_CTRL_OFFSET 0xA
229 #define QUADRO_FLOW_PULSES_CTRL_OFFSET 0x6
230 static u16 quadro_ctrl_fan_offsets[] = { 0x37, 0x8c, 0xe1, 0x136 }; /* Fan speed offsets (0-100%) */
261 #define AQUASTREAMXT_SERIAL_START 0x3a
262 #define AQUASTREAMXT_FIRMWARE_VERSION 0x32
265 #define AQUASTREAMXT_FAN_STOPPED 0x4
268 #define AQUASTREAMXT_SENSOR_REPORT_SIZE 0x42
271 #define AQUASTREAMXT_SENSOR_START 0xd
272 #define AQUASTREAMXT_FAN_VOLTAGE_OFFSET 0x7
273 #define AQUASTREAMXT_FAN_STATUS_OFFSET 0x1d
274 #define AQUASTREAMXT_PUMP_VOLTAGE_OFFSET 0x9
275 #define AQUASTREAMXT_PUMP_CURR_OFFSET 0xb
276 static u16 aquastreamxt_sensor_fan_offsets[] = { 0x13, 0x1b };
280 #define POWERADJUST3_SENSOR_REPORT_SIZE 0x32
283 #define POWERADJUST3_SENSOR_START 0x03
599 if (val < 0 || val > 255) in aqc_pwm_to_percent()
608 if (val > 0) in aqc_aquastreamxt_convert_pump_rpm()
610 return 0; in aqc_aquastreamxt_convert_pump_rpm()
616 if (val > 0) in aqc_aquastreamxt_convert_fan_rpm()
618 return 0; in aqc_aquastreamxt_convert_fan_rpm()
642 memset(priv->buffer, 0x00, priv->buffer_size); in aqc_get_ctrl_data()
645 if (ret < 0) in aqc_get_ctrl_data()
663 /* Init and xorout value for CRC-16/USB is 0xffff */ in aqc_send_ctrl_data()
664 checksum = crc16(0xffff, priv->buffer + priv->checksum_start, in aqc_send_ctrl_data()
666 checksum ^= 0xffff; in aqc_send_ctrl_data()
675 if (ret < 0) in aqc_send_ctrl_data()
697 if (ret < 0) in aqc_get_ctrl_val()
723 if (ret < 0) in aqc_set_ctrl_vals()
726 for (i = 0; i < len; i++) { in aqc_set_ctrl_vals()
739 if (ret < 0) in aqc_set_ctrl_vals()
766 if (priv->temp_ctrl_offset != 0) in aqc_is_visible()
841 if (priv->kind == leakshield && channel == 0) in aqc_is_visible()
857 if (channel == 0) in aqc_is_visible()
877 if (channel == 0) in aqc_is_visible()
909 return 0; in aqc_is_visible()
919 memset(priv->buffer, 0x00, priv->buffer_size); in aqc_legacy_read()
922 if (ret < 0) in aqc_legacy_read()
926 for (i = 0; i < priv->num_temp_sensors; i++) { in aqc_legacy_read()
936 priv->serial_number[0] = get_unaligned_le16(priv->buffer + in aqc_legacy_read()
942 sensor_value = get_unaligned_le16(priv->buffer + priv->fan_sensor_offsets[0]); in aqc_legacy_read()
943 priv->speed_input[0] = aqc_aquastreamxt_convert_pump_rpm(sensor_value); in aqc_legacy_read()
948 priv->speed_input[1] = 0; in aqc_legacy_read()
957 priv->current_input[0] = DIV_ROUND_CLOSEST(sensor_value * 176, 100) - 52; in aqc_legacy_read()
960 priv->voltage_input[0] = DIV_ROUND_CLOSEST(sensor_value * 1000, 61); in aqc_legacy_read()
983 if (priv->status_report_id != 0) { in aqc_read()
986 if (ret < 0) in aqc_read()
1006 if (ret < 0) in aqc_read()
1035 if (ret < 0) in aqc_read()
1051 if (ret < 0) in aqc_read()
1058 if (ret < 0) in aqc_read()
1075 return 0; in aqc_read()
1114 return 0; in aqc_read_string()
1136 if (ret < 0) in aqc_write()
1149 if (ret < 0) in aqc_write()
1160 if (pwm_value < 0) in aqc_write()
1166 ctrl_values_offsets[0] = AQUAERO_CTRL_PRESET_START + in aqc_write()
1168 ctrl_values[0] = pwm_value; in aqc_write()
1169 ctrl_values_types[0] = AQC_BE16; in aqc_write()
1177 /* Set minimum power to 0 to allow the fan to turn off */ in aqc_write()
1180 ctrl_values[2] = 0; in aqc_write()
1191 if (ret < 0) in aqc_write()
1197 if (ret < 0) in aqc_write()
1210 return 0; in aqc_write()
1302 return 0; in aqc_raw_event()
1307 priv->serial_number[0] = get_unaligned_be16(data + priv->serial_number_start_offset); in aqc_raw_event()
1313 for (i = 0; i < priv->num_temp_sensors; i++) { in aqc_raw_event()
1324 for (j = 0; j < priv->num_virtual_temp_sensors; j++) { in aqc_raw_event()
1336 for (i = 0; i < priv->num_fans; i++) { in aqc_raw_event()
1352 for (j = 0; j < priv->num_flow_sensors; j++) { in aqc_raw_event()
1358 if (priv->power_cycle_count_offset != 0) in aqc_raw_event()
1366 for (j = 0; j < priv->num_calc_virt_temp_sensors; j++) { in aqc_raw_event()
1395 priv->power_input[0] = -ENODATA; in aqc_raw_event()
1397 priv->power_input[0] = in aqc_raw_event()
1400 priv->voltage_input[0] = get_unaligned_be16(data + HIGHFLOWNEXT_5V_VOLTAGE) * 10; in aqc_raw_event()
1408 priv->speed_input[0] = in aqc_raw_event()
1410 priv->speed_input_min[0] = get_unaligned_be16(data + LEAKSHIELD_PRESSURE_MIN) * 100; in aqc_raw_event()
1411 priv->speed_input_target[0] = in aqc_raw_event()
1413 priv->speed_input_max[0] = get_unaligned_be16(data + LEAKSHIELD_PRESSURE_MAX) * 100; in aqc_raw_event()
1435 return 0; in aqc_raw_event()
1444 seq_printf(seqf, "%05u-%05u\n", priv->serial_number[0], priv->serial_number[1]); in serial_number_show()
1446 return 0; in serial_number_show()
1456 return 0; in firmware_version_show()
1466 return 0; in power_cycles_show()
1479 if (priv->serial_number_start_offset != 0) in aqc_debugfs_init()
1482 if (priv->firmware_version_offset != 0) in aqc_debugfs_init()
1485 if (priv->power_cycle_count_offset != 0) in aqc_debugfs_init()
1534 * their respective collections set to 1, while the real device has it set to 0. in aqc_probe()
1536 if (hdev->collection[1].type != 0) { in aqc_probe()
1596 priv->num_fans = 0; in aqc_probe()
1606 priv->num_fans = 0; in aqc_probe()
1676 priv->num_fans = 0; in aqc_probe()
1702 priv->num_fans = 0; in aqc_probe()
1742 priv->num_fans = 0; in aqc_probe()
1791 if (priv->buffer_size != 0) { in aqc_probe()
1792 priv->checksum_start = 0x01; in aqc_probe()
1817 return 0; in aqc_probe()