Lines Matching refs:f11

522 static void rmi_f11_rel_pos_report(struct f11_data *f11, u8 n_finger)  in rmi_f11_rel_pos_report()  argument
524 struct rmi_2d_sensor *sensor = &f11->sensor; in rmi_f11_rel_pos_report()
525 struct f11_2d_data *data = &f11->data; in rmi_f11_rel_pos_report()
534 static void rmi_f11_abs_pos_process(struct f11_data *f11, in rmi_f11_abs_pos_process() argument
540 struct f11_2d_data *data = &f11->data; in rmi_f11_abs_pos_process()
568 static void rmi_f11_finger_handler(struct f11_data *f11, in rmi_f11_finger_handler() argument
571 const u8 *f_state = f11->data.f_state; in rmi_f11_finger_handler()
593 rmi_f11_abs_pos_process(f11, sensor, &sensor->objs[i], in rmi_f11_finger_handler()
625 rmi_f11_rel_pos_report(f11, i); in rmi_f11_finger_handler()
630 static int f11_2d_construct_data(struct f11_data *f11) in f11_2d_construct_data() argument
632 struct rmi_2d_sensor *sensor = &f11->sensor; in f11_2d_construct_data()
633 struct f11_2d_sensor_queries *query = &f11->sens_query; in f11_2d_construct_data()
634 struct f11_2d_data *data = &f11->data; in f11_2d_construct_data()
761 struct f11_data *f11, in rmi_f11_get_query_parameters() argument
869 if (f11->has_query9) { in rmi_f11_get_query_parameters()
905 if (f11->has_query11) { in rmi_f11_get_query_parameters()
931 if (f11->has_query12) { in rmi_f11_get_query_parameters()
1009 if (f11->has_query27) in rmi_f11_get_query_parameters()
1012 if (f11->has_query28) { in rmi_f11_get_query_parameters()
1029 f11->has_acm = true; in rmi_f11_get_query_parameters()
1038 struct f11_data *f11; in rmi_f11_initialize() local
1059 f11 = devm_kzalloc(&fn->dev, sizeof(struct f11_data) + mask_size * 2, in rmi_f11_initialize()
1061 if (!f11) in rmi_f11_initialize()
1065 rc = rmi_2d_sensor_of_probe(&fn->dev, &f11->sensor_pdata); in rmi_f11_initialize()
1069 f11->sensor_pdata = pdata->sensor_pdata; in rmi_f11_initialize()
1072 f11->rezero_wait_ms = f11->sensor_pdata.rezero_wait; in rmi_f11_initialize()
1074 f11->abs_mask = (unsigned long *)((char *)f11 in rmi_f11_initialize()
1076 f11->rel_mask = (unsigned long *)((char *)f11 in rmi_f11_initialize()
1079 set_bit(fn->irq_pos, f11->abs_mask); in rmi_f11_initialize()
1080 set_bit(fn->irq_pos + 1, f11->rel_mask); in rmi_f11_initialize()
1089 f11->has_query9 = !!(buf & RMI_F11_HAS_QUERY9); in rmi_f11_initialize()
1090 f11->has_query11 = !!(buf & RMI_F11_HAS_QUERY11); in rmi_f11_initialize()
1091 f11->has_query12 = !!(buf & RMI_F11_HAS_QUERY12); in rmi_f11_initialize()
1092 f11->has_query27 = !!(buf & RMI_F11_HAS_QUERY27); in rmi_f11_initialize()
1093 f11->has_query28 = !!(buf & RMI_F11_HAS_QUERY28); in rmi_f11_initialize()
1096 sensor = &f11->sensor; in rmi_f11_initialize()
1099 rc = rmi_f11_get_query_parameters(rmi_dev, f11, in rmi_f11_initialize()
1100 &f11->sens_query, query_offset); in rmi_f11_initialize()
1105 rc = f11_read_control_regs(fn, &f11->dev_controls, in rmi_f11_initialize()
1113 if (f11->sens_query.has_info2) { in rmi_f11_initialize()
1114 if (f11->sens_query.is_clear) in rmi_f11_initialize()
1115 f11->sensor.sensor_type = rmi_sensor_touchscreen; in rmi_f11_initialize()
1117 f11->sensor.sensor_type = rmi_sensor_touchpad; in rmi_f11_initialize()
1120 sensor->report_abs = f11->sens_query.has_abs; in rmi_f11_initialize()
1123 f11->sensor_pdata.axis_align; in rmi_f11_initialize()
1125 sensor->topbuttonpad = f11->sensor_pdata.topbuttonpad; in rmi_f11_initialize()
1126 sensor->kernel_tracking = f11->sensor_pdata.kernel_tracking; in rmi_f11_initialize()
1127 sensor->dmax = f11->sensor_pdata.dmax; in rmi_f11_initialize()
1128 sensor->dribble = f11->sensor_pdata.dribble; in rmi_f11_initialize()
1129 sensor->palm_detect = f11->sensor_pdata.palm_detect; in rmi_f11_initialize()
1131 if (f11->sens_query.has_physical_props) { in rmi_f11_initialize()
1132 sensor->x_mm = f11->sens_query.x_sensor_size_mm; in rmi_f11_initialize()
1133 sensor->y_mm = f11->sens_query.y_sensor_size_mm; in rmi_f11_initialize()
1135 sensor->x_mm = f11->sensor_pdata.x_mm; in rmi_f11_initialize()
1136 sensor->y_mm = f11->sensor_pdata.y_mm; in rmi_f11_initialize()
1141 f11->sensor_pdata.sensor_type; in rmi_f11_initialize()
1144 && !(f11->sensor_pdata.disable_report_mask in rmi_f11_initialize()
1152 sensor->report_rel = f11->sens_query.has_rel; in rmi_f11_initialize()
1169 rc = f11_2d_construct_data(f11); in rmi_f11_initialize()
1173 if (f11->has_acm) in rmi_f11_initialize()
1174 f11->sensor.attn_size += f11->sensor.nbr_fingers * 2; in rmi_f11_initialize()
1189 ctrl = &f11->dev_controls; in rmi_f11_initialize()
1198 if (f11->sens_query.has_dribble) { in rmi_f11_initialize()
1212 if (f11->sens_query.has_palm_det) { in rmi_f11_initialize()
1226 rc = f11_write_control_regs(fn, &f11->sens_query, in rmi_f11_initialize()
1227 &f11->dev_controls, fn->fd.control_base_addr); in rmi_f11_initialize()
1231 mutex_init(&f11->dev_controls_mutex); in rmi_f11_initialize()
1233 dev_set_drvdata(&fn->dev, f11); in rmi_f11_initialize()
1240 struct f11_data *f11 = dev_get_drvdata(&fn->dev); in rmi_f11_config() local
1242 struct rmi_2d_sensor *sensor = &f11->sensor; in rmi_f11_config()
1246 drv->clear_irq_bits(fn->rmi_dev, f11->abs_mask); in rmi_f11_config()
1248 drv->set_irq_bits(fn->rmi_dev, f11->abs_mask); in rmi_f11_config()
1251 drv->clear_irq_bits(fn->rmi_dev, f11->rel_mask); in rmi_f11_config()
1253 drv->set_irq_bits(fn->rmi_dev, f11->rel_mask); in rmi_f11_config()
1255 rc = f11_write_control_regs(fn, &f11->sens_query, in rmi_f11_config()
1256 &f11->dev_controls, fn->fd.query_base_addr); in rmi_f11_config()
1268 struct f11_data *f11 = dev_get_drvdata(&fn->dev); in rmi_f11_attention() local
1271 int valid_bytes = f11->sensor.pkt_size; in rmi_f11_attention()
1278 if (f11->sensor.attn_size > drvdata->attn_data.size) in rmi_f11_attention()
1281 valid_bytes = f11->sensor.attn_size; in rmi_f11_attention()
1282 memcpy(f11->sensor.data_pkt, drvdata->attn_data.data, in rmi_f11_attention()
1288 data_base_addr, f11->sensor.data_pkt, in rmi_f11_attention()
1289 f11->sensor.pkt_size); in rmi_f11_attention()
1294 rmi_f11_finger_handler(f11, &f11->sensor, valid_bytes); in rmi_f11_attention()
1301 struct f11_data *f11 = dev_get_drvdata(&fn->dev); in rmi_f11_resume() local
1305 if (!f11->rezero_wait_ms) in rmi_f11_resume()
1308 mdelay(f11->rezero_wait_ms); in rmi_f11_resume()
1325 struct f11_data *f11; in rmi_f11_probe() local
1331 f11 = dev_get_drvdata(&fn->dev); in rmi_f11_probe()
1332 error = rmi_2d_sensor_configure_input(fn, &f11->sensor); in rmi_f11_probe()