Lines Matching defs:data

37 /* set in first byte of touch data packets */
48 /* length of data packets in bytes, depends on device. */
81 * Per-touchscreen data.
93 unsigned char data[W8001_MAX_LENGTH];
107 static void parse_pen_data(u8 *data, struct w8001_coord *coord)
111 coord->rdy = data[0] & 0x20;
112 coord->tsw = data[0] & 0x01;
113 coord->f1 = data[0] & 0x02;
114 coord->f2 = data[0] & 0x04;
116 coord->x = (data[1] & 0x7F) << 9;
117 coord->x |= (data[2] & 0x7F) << 2;
118 coord->x |= (data[6] & 0x60) >> 5;
120 coord->y = (data[3] & 0x7F) << 9;
121 coord->y |= (data[4] & 0x7F) << 2;
122 coord->y |= (data[6] & 0x18) >> 3;
124 coord->pen_pressure = data[5] & 0x7F;
125 coord->pen_pressure |= (data[6] & 0x07) << 7 ;
127 coord->tilt_x = data[7] & 0x7F;
128 coord->tilt_y = data[8] & 0x7F;
131 static void parse_single_touch(u8 *data, struct w8001_coord *coord)
133 coord->x = (data[1] << 7) | data[2];
134 coord->y = (data[3] << 7) | data[4];
135 coord->tsw = data[0] & 0x01;
151 unsigned char *data = w8001->data;
157 bool touch = data[0] & (1 << i);
162 x = (data[6 * i + 1] << 7) | data[6 * i + 2];
163 y = (data[6 * i + 3] << 7) | data[6 * i + 4];
164 /* data[5,6] and [11,12] is finger capacity */
188 static void parse_touchquery(u8 *data, struct w8001_touch_query *query)
192 query->panel_res = data[1];
193 query->sensor_id = data[2] & 0x7;
194 query->capacity_res = data[7];
196 query->x = data[3] << 9;
197 query->x |= data[4] << 2;
198 query->x |= (data[2] >> 5) & 0x3;
200 query->y = data[5] << 9;
201 query->y |= data[6] << 2;
202 query->y |= (data[2] >> 3) & 0x3;
282 unsigned char data, unsigned int flags)
288 w8001->data[w8001->idx] = data;
291 if ((data & W8001_LEAD_MASK) != W8001_LEAD_BYTE) {
292 pr_debug("w8001: unsynchronized data: 0x%02x\n", data);
299 tmp = w8001->data[0] & W8001_TOUCH_BYTE;
307 parse_single_touch(w8001->data, &coord);
315 tmp = w8001->data[0] & W8001_TAB_MASK;
319 tmp = w8001->data[0] & W8001_TOUCH_BYTE;
324 parse_pen_data(w8001->data, &coord);
330 tmp = w8001->data[0] & W8001_TOUCH_MASK;
335 memcpy(w8001->response, w8001->data, W8001_MAX_LENGTH);
349 * sends invalid data packets that are larger than