Lines Matching refs:f11
526 static void rmi_f11_rel_pos_report(struct f11_data *f11, u8 n_finger)
528 struct rmi_2d_sensor *sensor = &f11->sensor;
529 struct f11_2d_data *data = &f11->data;
538 static void rmi_f11_abs_pos_process(struct f11_data *f11,
544 struct f11_2d_data *data = &f11->data;
572 static void rmi_f11_finger_handler(struct f11_data *f11,
575 const u8 *f_state = f11->data.f_state;
597 rmi_f11_abs_pos_process(f11, sensor, &sensor->objs[i],
629 rmi_f11_rel_pos_report(f11, i);
634 static int f11_2d_construct_data(struct f11_data *f11)
636 struct rmi_2d_sensor *sensor = &f11->sensor;
637 struct f11_2d_sensor_queries *query = &f11->sens_query;
638 struct f11_2d_data *data = &f11->data;
765 struct f11_data *f11,
873 if (f11->has_query9) {
909 if (f11->has_query11) {
935 if (f11->has_query12) {
1013 if (f11->has_query27)
1016 if (f11->has_query28) {
1033 f11->has_acm = true;
1042 struct f11_data *f11;
1063 f11 = devm_kzalloc(&fn->dev, sizeof(struct f11_data) + mask_size * 2,
1065 if (!f11)
1069 rc = rmi_2d_sensor_of_probe(&fn->dev, &f11->sensor_pdata);
1073 f11->sensor_pdata = pdata->sensor_pdata;
1076 f11->rezero_wait_ms = f11->sensor_pdata.rezero_wait;
1078 f11->abs_mask = (unsigned long *)((char *)f11
1080 f11->rel_mask = (unsigned long *)((char *)f11
1083 set_bit(fn->irq_pos, f11->abs_mask);
1084 set_bit(fn->irq_pos + 1, f11->rel_mask);
1093 f11->has_query9 = !!(buf & RMI_F11_HAS_QUERY9);
1094 f11->has_query11 = !!(buf & RMI_F11_HAS_QUERY11);
1095 f11->has_query12 = !!(buf & RMI_F11_HAS_QUERY12);
1096 f11->has_query27 = !!(buf & RMI_F11_HAS_QUERY27);
1097 f11->has_query28 = !!(buf & RMI_F11_HAS_QUERY28);
1100 sensor = &f11->sensor;
1103 rc = rmi_f11_get_query_parameters(rmi_dev, f11,
1104 &f11->sens_query, query_offset);
1109 rc = f11_read_control_regs(fn, &f11->dev_controls,
1117 if (f11->sens_query.has_info2) {
1118 if (f11->sens_query.is_clear)
1119 f11->sensor.sensor_type = rmi_sensor_touchscreen;
1121 f11->sensor.sensor_type = rmi_sensor_touchpad;
1124 sensor->report_abs = f11->sens_query.has_abs;
1127 f11->sensor_pdata.axis_align;
1129 sensor->topbuttonpad = f11->sensor_pdata.topbuttonpad;
1130 sensor->kernel_tracking = f11->sensor_pdata.kernel_tracking;
1131 sensor->dmax = f11->sensor_pdata.dmax;
1132 sensor->dribble = f11->sensor_pdata.dribble;
1133 sensor->palm_detect = f11->sensor_pdata.palm_detect;
1135 if (f11->sens_query.has_physical_props) {
1136 sensor->x_mm = f11->sens_query.x_sensor_size_mm;
1137 sensor->y_mm = f11->sens_query.y_sensor_size_mm;
1139 sensor->x_mm = f11->sensor_pdata.x_mm;
1140 sensor->y_mm = f11->sensor_pdata.y_mm;
1145 f11->sensor_pdata.sensor_type;
1148 && !(f11->sensor_pdata.disable_report_mask
1156 sensor->report_rel = f11->sens_query.has_rel;
1173 rc = f11_2d_construct_data(f11);
1177 if (f11->has_acm)
1178 f11->sensor.attn_size += f11->sensor.nbr_fingers * 2;
1193 ctrl = &f11->dev_controls;
1212 if (f11->sens_query.has_dribble) {
1226 if (f11->sens_query.has_palm_det) {
1240 rc = f11_write_control_regs(fn, &f11->sens_query,
1241 &f11->dev_controls, fn->fd.control_base_addr);
1245 mutex_init(&f11->dev_controls_mutex);
1247 dev_set_drvdata(&fn->dev, f11);
1254 struct f11_data *f11 = dev_get_drvdata(&fn->dev);
1256 struct rmi_2d_sensor *sensor = &f11->sensor;
1260 drv->clear_irq_bits(fn->rmi_dev, f11->abs_mask);
1262 drv->set_irq_bits(fn->rmi_dev, f11->abs_mask);
1265 drv->clear_irq_bits(fn->rmi_dev, f11->rel_mask);
1267 drv->set_irq_bits(fn->rmi_dev, f11->rel_mask);
1269 rc = f11_write_control_regs(fn, &f11->sens_query,
1270 &f11->dev_controls, fn->fd.query_base_addr);
1282 struct f11_data *f11 = dev_get_drvdata(&fn->dev);
1285 int valid_bytes = f11->sensor.pkt_size;
1292 if (f11->sensor.attn_size > drvdata->attn_data.size)
1295 valid_bytes = f11->sensor.attn_size;
1296 memcpy(f11->sensor.data_pkt, drvdata->attn_data.data,
1302 data_base_addr, f11->sensor.data_pkt,
1303 f11->sensor.pkt_size);
1308 rmi_f11_finger_handler(f11, &f11->sensor, valid_bytes);
1315 struct f11_data *f11 = dev_get_drvdata(&fn->dev);
1319 if (!f11->rezero_wait_ms)
1322 mdelay(f11->rezero_wait_ms);
1339 struct f11_data *f11;
1345 f11 = dev_get_drvdata(&fn->dev);
1346 error = rmi_2d_sensor_configure_input(fn, &f11->sensor);