Lines Matching refs:etd

27 		if (etd->debug)						\
72 struct elantech_data *etd = psmouse->private; in elantech_ps2_command() local
98 struct elantech_data *etd = psmouse->private; in elantech_read_reg() local
108 switch (etd->hw_version) { in elantech_read_reg()
140 else if (etd->hw_version != 4) in elantech_read_reg()
154 struct elantech_data *etd = psmouse->private; in elantech_write_reg() local
163 switch (etd->hw_version) { in elantech_write_reg()
240 struct elantech_data *etd = psmouse->private; in elantech_report_absolute_v1() local
244 if (etd->fw_version < 0x020000) { in elantech_report_absolute_v1()
259 if (etd->jumpy_cursor) { in elantech_report_absolute_v1()
261 etd->single_finger_reports = 0; in elantech_report_absolute_v1()
262 } else if (etd->single_finger_reports < 2) { in elantech_report_absolute_v1()
264 etd->single_finger_reports++; in elantech_report_absolute_v1()
280 etd->y_max - (((packet[1] & 0x03) << 8) | packet[3])); in elantech_report_absolute_v1()
289 if (etd->fw_version < 0x020000 && in elantech_report_absolute_v1()
290 (etd->capabilities[0] & ETP_CAP_HAS_ROCKER)) { in elantech_report_absolute_v1()
327 struct elantech_data *etd = psmouse->private; in elantech_report_absolute_v2() local
355 y1 = etd->y_max - (((packet[4] & 0x0f) << 8) | packet[5]); in elantech_report_absolute_v2()
370 y1 = etd->y_max - in elantech_report_absolute_v2()
378 y2 = etd->y_max - in elantech_report_absolute_v2()
399 if (etd->reports_pressure) { in elantech_report_absolute_v2()
425 struct elantech_data *etd = psmouse->private; in elantech_report_trackpoint() local
426 struct input_dev *tp_dev = etd->tp_dev; in elantech_report_trackpoint()
454 if (etd->debug == 1) in elantech_report_trackpoint()
469 struct elantech_data *etd = psmouse->private; in elantech_report_absolute_v3() local
489 y1 = etd->y_max - (((packet[4] & 0x0f) << 8) | packet[5]); in elantech_report_absolute_v3()
498 etd->mt[0].x = ((packet[1] & 0x0f) << 8) | packet[2]; in elantech_report_absolute_v3()
503 etd->mt[0].y = etd->y_max - in elantech_report_absolute_v3()
512 x1 = etd->mt[0].x; in elantech_report_absolute_v3()
513 y1 = etd->mt[0].y; in elantech_report_absolute_v3()
515 y2 = etd->y_max - (((packet[4] & 0x0f) << 8) | packet[5]); in elantech_report_absolute_v3()
533 if (etd->fw_version & 0x001000) { in elantech_report_absolute_v3()
549 struct elantech_data *etd = psmouse->private; in elantech_input_sync_v4() local
553 if (etd->fw_version & 0x001000) { in elantech_input_sync_v4()
587 struct elantech_data *etd = psmouse->private; in process_packet_head_v4() local
595 etd->mt[id].x = ((packet[1] & 0x0f) << 8) | packet[2]; in process_packet_head_v4()
596 etd->mt[id].y = etd->y_max - (((packet[4] & 0x0f) << 8) | packet[5]); in process_packet_head_v4()
603 input_report_abs(dev, ABS_MT_POSITION_X, etd->mt[id].x); in process_packet_head_v4()
604 input_report_abs(dev, ABS_MT_POSITION_Y, etd->mt[id].y); in process_packet_head_v4()
606 input_report_abs(dev, ABS_MT_TOUCH_MAJOR, traces * etd->width); in process_packet_head_v4()
616 struct elantech_data *etd = psmouse->private; in process_packet_motion_v4() local
637 etd->mt[id].x += delta_x1 * weight; in process_packet_motion_v4()
638 etd->mt[id].y -= delta_y1 * weight; in process_packet_motion_v4()
640 input_report_abs(dev, ABS_MT_POSITION_X, etd->mt[id].x); in process_packet_motion_v4()
641 input_report_abs(dev, ABS_MT_POSITION_Y, etd->mt[id].y); in process_packet_motion_v4()
644 etd->mt[sid].x += delta_x2 * weight; in process_packet_motion_v4()
645 etd->mt[sid].y -= delta_y2 * weight; in process_packet_motion_v4()
647 input_report_abs(dev, ABS_MT_POSITION_X, etd->mt[sid].x); in process_packet_motion_v4()
648 input_report_abs(dev, ABS_MT_POSITION_Y, etd->mt[sid].y); in process_packet_motion_v4()
679 struct elantech_data *etd = psmouse->private; in elantech_packet_check_v1() local
684 if (etd->fw_version < 0x020000) { in elantech_packet_check_v1()
696 return etd->parity[packet[1]] == p1 && in elantech_packet_check_v1()
697 etd->parity[packet[2]] == p2 && in elantech_packet_check_v1()
698 etd->parity[packet[3]] == p3; in elantech_packet_check_v1()
715 struct elantech_data *etd = psmouse->private; in elantech_packet_check_v2() local
727 if (etd->reports_pressure) in elantech_packet_check_v2()
747 struct elantech_data *etd = psmouse->private; in elantech_packet_check_v3() local
762 if (etd->crc_enabled) { in elantech_packet_check_v3()
783 struct elantech_data *etd = psmouse->private; in elantech_packet_check_v4() local
788 if (etd->tp_dev && (packet[3] & 0x0f) == 0x06) in elantech_packet_check_v4()
797 if (etd->crc_enabled) in elantech_packet_check_v4()
825 struct elantech_data *etd = psmouse->private; in elantech_process_byte() local
831 if (etd->debug > 1) in elantech_process_byte()
834 switch (etd->hw_version) { in elantech_process_byte()
836 if (etd->paritycheck && !elantech_packet_check_v1(psmouse)) in elantech_process_byte()
847 if (etd->paritycheck && !elantech_packet_check_v2(psmouse)) in elantech_process_byte()
903 struct elantech_data *etd = psmouse->private; in elantech_set_rate_restore_reg_07() local
905 etd->original_set_rate(psmouse, rate); in elantech_set_rate_restore_reg_07()
906 if (elantech_write_reg(psmouse, 0x07, etd->reg_07)) in elantech_set_rate_restore_reg_07()
915 struct elantech_data *etd = psmouse->private; in elantech_set_absolute_mode() local
920 switch (etd->hw_version) { in elantech_set_absolute_mode()
922 etd->reg_10 = 0x16; in elantech_set_absolute_mode()
923 etd->reg_11 = 0x8f; in elantech_set_absolute_mode()
924 if (elantech_write_reg(psmouse, 0x10, etd->reg_10) || in elantech_set_absolute_mode()
925 elantech_write_reg(psmouse, 0x11, etd->reg_11)) { in elantech_set_absolute_mode()
932 etd->reg_10 = 0x54; in elantech_set_absolute_mode()
933 etd->reg_11 = 0x88; /* 0x8a */ in elantech_set_absolute_mode()
934 etd->reg_21 = 0x60; /* 0x00 */ in elantech_set_absolute_mode()
935 if (elantech_write_reg(psmouse, 0x10, etd->reg_10) || in elantech_set_absolute_mode()
936 elantech_write_reg(psmouse, 0x11, etd->reg_11) || in elantech_set_absolute_mode()
937 elantech_write_reg(psmouse, 0x21, etd->reg_21)) { in elantech_set_absolute_mode()
943 if (etd->set_hw_resolution) in elantech_set_absolute_mode()
944 etd->reg_10 = 0x0b; in elantech_set_absolute_mode()
946 etd->reg_10 = 0x01; in elantech_set_absolute_mode()
948 if (elantech_write_reg(psmouse, 0x10, etd->reg_10)) in elantech_set_absolute_mode()
954 etd->reg_07 = 0x01; in elantech_set_absolute_mode()
955 if (elantech_write_reg(psmouse, 0x07, etd->reg_07)) in elantech_set_absolute_mode()
980 } else if (etd->hw_version == 1 && in elantech_set_absolute_mode()
1000 struct elantech_data *etd = psmouse->private; in elantech_set_range() local
1004 switch (etd->hw_version) { in elantech_set_range()
1013 if (etd->fw_version == 0x020800 || in elantech_set_range()
1014 etd->fw_version == 0x020b00 || in elantech_set_range()
1015 etd->fw_version == 0x020030) { in elantech_set_range()
1024 i = (etd->fw_version > 0x020800 && in elantech_set_range()
1025 etd->fw_version < 0x020900) ? 1 : 2; in elantech_set_range()
1027 if (etd->send_cmd(psmouse, ETP_FW_ID_QUERY, param)) in elantech_set_range()
1032 if (((etd->fw_version >> 16) == 0x14) && fixed_dpi) { in elantech_set_range()
1033 if (etd->send_cmd(psmouse, ETP_SAMPLE_QUERY, param)) in elantech_set_range()
1036 *x_max = (etd->capabilities[1] - i) * param[1] / 2; in elantech_set_range()
1037 *y_max = (etd->capabilities[2] - i) * param[2] / 2; in elantech_set_range()
1038 } else if (etd->fw_version == 0x040216) { in elantech_set_range()
1041 } else if (etd->fw_version == 0x040219 || etd->fw_version == 0x040215) { in elantech_set_range()
1045 *x_max = (etd->capabilities[1] - i) * 64; in elantech_set_range()
1046 *y_max = (etd->capabilities[2] - i) * 64; in elantech_set_range()
1052 if (etd->send_cmd(psmouse, ETP_FW_ID_QUERY, param)) in elantech_set_range()
1060 if (etd->send_cmd(psmouse, ETP_FW_ID_QUERY, param)) in elantech_set_range()
1065 traces = etd->capabilities[1]; in elantech_set_range()
1138 struct elantech_data *etd = psmouse->private; in elantech_set_buttonpad_prop() local
1140 if (etd->fw_version & 0x001000) { in elantech_set_buttonpad_prop()
1168 struct elantech_data *etd = psmouse->private; in elantech_set_input_params() local
1190 switch (etd->hw_version) { in elantech_set_input_params()
1193 if (etd->fw_version < 0x020000 && in elantech_set_input_params()
1194 (etd->capabilities[0] & ETP_CAP_HAS_ROCKER)) { in elantech_set_input_params()
1207 if (etd->hw_version == 3) in elantech_set_input_params()
1211 if (etd->reports_pressure) { in elantech_set_input_params()
1262 etd->y_max = y_max; in elantech_set_input_params()
1263 etd->width = width; in elantech_set_input_params()
1279 struct elantech_data *etd = psmouse->private; in elantech_show_int_attr() local
1281 unsigned char *reg = (unsigned char *) etd + attr->field_offset; in elantech_show_int_attr()
1296 struct elantech_data *etd = psmouse->private; in elantech_set_int_attr() local
1298 unsigned char *reg = (unsigned char *) etd + attr->field_offset; in elantech_set_int_attr()
1307 if (etd->hw_version == 1) { in elantech_set_int_attr()
1457 struct elantech_data *etd = psmouse->private; in elantech_disconnect() local
1459 if (etd->tp_dev) in elantech_disconnect()
1460 input_unregister_device(etd->tp_dev); in elantech_disconnect()
1536 static int elantech_set_properties(struct elantech_data *etd) in elantech_set_properties() argument
1539 int ver = (etd->fw_version & 0x0f0000) >> 16; in elantech_set_properties()
1542 if (etd->fw_version < 0x020030 || etd->fw_version == 0x020600) in elantech_set_properties()
1543 etd->hw_version = 1; in elantech_set_properties()
1548 etd->hw_version = 2; in elantech_set_properties()
1551 etd->hw_version = 3; in elantech_set_properties()
1560 etd->hw_version = 4; in elantech_set_properties()
1568 etd->send_cmd = etd->hw_version >= 3 ? elantech_send_cmd : in elantech_set_properties()
1572 etd->paritycheck = 1; in elantech_set_properties()
1579 etd->jumpy_cursor = in elantech_set_properties()
1580 (etd->fw_version == 0x020022 || etd->fw_version == 0x020600); in elantech_set_properties()
1582 if (etd->hw_version > 1) { in elantech_set_properties()
1584 etd->debug = 1; in elantech_set_properties()
1586 if (etd->fw_version >= 0x020800) in elantech_set_properties()
1587 etd->reports_pressure = true; in elantech_set_properties()
1594 etd->crc_enabled = (etd->fw_version & 0x4000) == 0x4000 || in elantech_set_properties()
1598 etd->set_hw_resolution = !dmi_check_system(no_hw_res_dmi_table); in elantech_set_properties()
1608 struct elantech_data *etd; in elantech_init() local
1614 psmouse->private = etd = kzalloc(sizeof(struct elantech_data), GFP_KERNEL); in elantech_init()
1615 if (!etd) in elantech_init()
1620 etd->parity[0] = 1; in elantech_init()
1622 etd->parity[i] = etd->parity[i & (i - 1)] ^ 1; in elantech_init()
1631 etd->fw_version = (param[0] << 16) | (param[1] << 8) | param[2]; in elantech_init()
1633 if (elantech_set_properties(etd)) { in elantech_init()
1639 etd->hw_version, param[0], param[1], param[2]); in elantech_init()
1641 if (etd->send_cmd(psmouse, ETP_CAPABILITIES_QUERY, in elantech_init()
1642 etd->capabilities)) { in elantech_init()
1648 etd->capabilities[0], etd->capabilities[1], in elantech_init()
1649 etd->capabilities[2]); in elantech_init()
1657 if (etd->fw_version == 0x381f17) { in elantech_init()
1658 etd->original_set_rate = psmouse->set_rate; in elantech_init()
1677 if ((etd->capabilities[0] & 0x80) == 0x80) { in elantech_init()
1685 etd->tp_dev = tp_dev; in elantech_init()
1686 snprintf(etd->tp_phys, sizeof(etd->tp_phys), "%s/input1", in elantech_init()
1688 tp_dev->phys = etd->tp_phys; in elantech_init()
1705 error = input_register_device(etd->tp_dev); in elantech_init()
1713 psmouse->pktsize = etd->hw_version > 1 ? 6 : 4; in elantech_init()
1723 kfree(etd); in elantech_init()