Lines Matching refs:sensor

507 	struct rmi_2d_sensor sensor;  member
524 struct rmi_2d_sensor *sensor = &f11->sensor; in rmi_f11_rel_pos_report() local
531 rmi_2d_sensor_rel_report(sensor, x, y); in rmi_f11_rel_pos_report()
535 struct rmi_2d_sensor *sensor, in rmi_f11_abs_pos_process() argument
559 rmi_2d_sensor_abs_process(sensor, obj, n_finger); in rmi_f11_abs_pos_process()
569 struct rmi_2d_sensor *sensor, int size) in rmi_f11_finger_handler() argument
576 int abs_size = sensor->nbr_fingers * RMI_F11_ABS_BYTES; in rmi_f11_finger_handler()
578 if (sensor->report_abs) { in rmi_f11_finger_handler()
582 abs_fingers = sensor->nbr_fingers; in rmi_f11_finger_handler()
593 rmi_f11_abs_pos_process(f11, sensor, &sensor->objs[i], in rmi_f11_finger_handler()
601 if (sensor->kernel_tracking) in rmi_f11_finger_handler()
602 input_mt_assign_slots(sensor->input, in rmi_f11_finger_handler()
603 sensor->tracking_slots, in rmi_f11_finger_handler()
604 sensor->tracking_pos, in rmi_f11_finger_handler()
605 sensor->nbr_fingers, in rmi_f11_finger_handler()
606 sensor->dmax); in rmi_f11_finger_handler()
614 rmi_2d_sensor_abs_report(sensor, &sensor->objs[i], i); in rmi_f11_finger_handler()
617 input_mt_sync_frame(sensor->input); in rmi_f11_finger_handler()
618 } else if (sensor->report_rel) { in rmi_f11_finger_handler()
619 if ((abs_size + sensor->nbr_fingers * RMI_F11_REL_BYTES) > size) in rmi_f11_finger_handler()
622 rel_fingers = sensor->nbr_fingers; in rmi_f11_finger_handler()
632 struct rmi_2d_sensor *sensor = &f11->sensor; in f11_2d_construct_data() local
637 sensor->nbr_fingers = (query->nr_fingers == 5 ? 10 : in f11_2d_construct_data()
640 sensor->pkt_size = DIV_ROUND_UP(sensor->nbr_fingers, 4); in f11_2d_construct_data()
643 sensor->pkt_size += (sensor->nbr_fingers * 5); in f11_2d_construct_data()
644 sensor->attn_size = sensor->pkt_size; in f11_2d_construct_data()
648 sensor->pkt_size += (sensor->nbr_fingers * 2); in f11_2d_construct_data()
652 sensor->pkt_size += sizeof(u8); in f11_2d_construct_data()
656 sensor->pkt_size += sizeof(u8); in f11_2d_construct_data()
659 sensor->pkt_size += 3; in f11_2d_construct_data()
661 sensor->pkt_size--; in f11_2d_construct_data()
663 sensor->pkt_size--; in f11_2d_construct_data()
667 sensor->pkt_size += in f11_2d_construct_data()
670 sensor->data_pkt = devm_kzalloc(&sensor->fn->dev, sensor->pkt_size, in f11_2d_construct_data()
672 if (!sensor->data_pkt) in f11_2d_construct_data()
675 data->f_state = sensor->data_pkt; in f11_2d_construct_data()
676 i = DIV_ROUND_UP(sensor->nbr_fingers, 4); in f11_2d_construct_data()
679 data->abs_pos = &sensor->data_pkt[i]; in f11_2d_construct_data()
680 i += (sensor->nbr_fingers * RMI_F11_ABS_BYTES); in f11_2d_construct_data()
684 data->rel_pos = &sensor->data_pkt[i]; in f11_2d_construct_data()
685 i += (sensor->nbr_fingers * RMI_F11_REL_BYTES); in f11_2d_construct_data()
689 data->gest_1 = &sensor->data_pkt[i]; in f11_2d_construct_data()
694 data->gest_2 = &sensor->data_pkt[i]; in f11_2d_construct_data()
699 data->pinch = &sensor->data_pkt[i]; in f11_2d_construct_data()
708 data->flick = &sensor->data_pkt[i]; in f11_2d_construct_data()
717 data->rotate = &sensor->data_pkt[i]; in f11_2d_construct_data()
723 data->shapes = &sensor->data_pkt[i]; in f11_2d_construct_data()
1048 struct rmi_2d_sensor *sensor; in rmi_f11_initialize() local
1096 sensor = &f11->sensor; in rmi_f11_initialize()
1097 sensor->fn = fn; 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()
1122 sensor->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()
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()
1139 if (sensor->sensor_type == rmi_sensor_default) in rmi_f11_initialize()
1140 sensor->sensor_type = in rmi_f11_initialize()
1143 sensor->report_abs = sensor->report_abs in rmi_f11_initialize()
1147 if (!sensor->report_abs) in rmi_f11_initialize()
1152 sensor->report_rel = f11->sens_query.has_rel; in rmi_f11_initialize()
1166 sensor->max_x = max_x_pos; in rmi_f11_initialize()
1167 sensor->max_y = max_y_pos; in rmi_f11_initialize()
1174 f11->sensor.attn_size += f11->sensor.nbr_fingers * 2; in rmi_f11_initialize()
1177 sensor->tracking_pos = devm_kcalloc(&fn->dev, in rmi_f11_initialize()
1178 sensor->nbr_fingers, sizeof(struct input_mt_pos), in rmi_f11_initialize()
1180 sensor->tracking_slots = devm_kcalloc(&fn->dev, in rmi_f11_initialize()
1181 sensor->nbr_fingers, sizeof(int), GFP_KERNEL); in rmi_f11_initialize()
1182 sensor->objs = devm_kcalloc(&fn->dev, in rmi_f11_initialize()
1183 sensor->nbr_fingers, in rmi_f11_initialize()
1186 if (!sensor->tracking_pos || !sensor->tracking_slots || !sensor->objs) in rmi_f11_initialize()
1190 if (sensor->axis_align.delta_x_threshold) in rmi_f11_initialize()
1192 sensor->axis_align.delta_x_threshold; in rmi_f11_initialize()
1194 if (sensor->axis_align.delta_y_threshold) in rmi_f11_initialize()
1196 sensor->axis_align.delta_y_threshold; in rmi_f11_initialize()
1199 switch (sensor->dribble) { in rmi_f11_initialize()
1213 switch (sensor->palm_detect) { in rmi_f11_initialize()
1242 struct rmi_2d_sensor *sensor = &f11->sensor; in rmi_f11_config() local
1245 if (!sensor->report_abs) in rmi_f11_config()
1250 if (!sensor->report_rel) in rmi_f11_config()
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()
1332 error = rmi_2d_sensor_configure_input(fn, &f11->sensor); in rmi_f11_probe()