Lines Matching +full:2 +full:gb

39 #define SW_BAD		2	/* Number of packet read errors to switch off 3d Pro optimization */
55 #define SW_ID_PP 2
191 * sw_get_bits() and GB() compose bits from the triplet buffer into a __u64.
197 #define GB(pos,num) sw_get_bits(buf, pos, num, sw->bits) macro
254 x ^= x >> 2; in sw_parity()
292 if (sw_check(GB(0,64)) || (hat = (GB(6,1) << 3) | GB(60,3)) > 8) in sw_parse()
297 input_report_abs(dev, ABS_X, (GB( 3,3) << 7) | GB(16,7)); in sw_parse()
298 input_report_abs(dev, ABS_Y, (GB( 0,3) << 7) | GB(24,7)); in sw_parse()
299 input_report_abs(dev, ABS_RZ, (GB(35,2) << 7) | GB(40,7)); in sw_parse()
300 input_report_abs(dev, ABS_THROTTLE, (GB(32,3) << 7) | GB(48,7)); in sw_parse()
306 input_report_key(dev, sw_btn[SW_ID_3DP][j], !GB(j+8,1)); in sw_parse()
308 input_report_key(dev, BTN_BASE4, !GB(38,1)); in sw_parse()
309 input_report_key(dev, BTN_BASE5, !GB(37,1)); in sw_parse()
319 if (sw_parity(GB(i*15,15))) in sw_parse()
322 input_report_abs(sw->dev[i], ABS_X, GB(i*15+3,1) - GB(i*15+2,1)); in sw_parse()
323 input_report_abs(sw->dev[i], ABS_Y, GB(i*15+0,1) - GB(i*15+1,1)); in sw_parse()
326 input_report_key(sw->dev[i], sw_btn[SW_ID_GP][j], !GB(i*15+j+4,1)); in sw_parse()
336 if (!sw_parity(GB(0,48)) || (hat = GB(42,4)) > 8) in sw_parse()
340 input_report_abs(dev, ABS_X, GB( 9,10)); in sw_parse()
341 input_report_abs(dev, ABS_Y, GB(19,10)); in sw_parse()
342 input_report_abs(dev, ABS_RZ, GB(36, 6)); in sw_parse()
343 input_report_abs(dev, ABS_THROTTLE, GB(29, 7)); in sw_parse()
349 input_report_key(dev, sw_btn[SW_ID_PP][j], !GB(j,1)); in sw_parse()
357 if (!sw_parity(GB(0,43)) || (hat = GB(28,4)) > 8) in sw_parse()
361 input_report_abs(dev, ABS_X, GB( 0,10)); in sw_parse()
362 input_report_abs(dev, ABS_Y, GB(16,10)); in sw_parse()
363 input_report_abs(dev, ABS_THROTTLE, GB(32, 6)); in sw_parse()
369 input_report_key(dev, sw_btn[SW_ID_FSP][j], !GB(j+10,1)); in sw_parse()
371 input_report_key(dev, BTN_TR, !GB(26,1)); in sw_parse()
372 input_report_key(dev, BTN_START, !GB(27,1)); in sw_parse()
373 input_report_key(dev, BTN_MODE, !GB(38,1)); in sw_parse()
374 input_report_key(dev, BTN_SELECT, !GB(39,1)); in sw_parse()
382 if (!sw_parity(GB(0,33))) in sw_parse()
386 input_report_abs(dev, ABS_RX, GB( 0,10)); in sw_parse()
387 input_report_abs(dev, ABS_RUDDER, GB(10, 6)); in sw_parse()
388 input_report_abs(dev, ABS_THROTTLE, GB(16, 6)); in sw_parse()
391 input_report_key(dev, sw_btn[SW_ID_FFW][j], !GB(j+22,1)); in sw_parse()
423 if (i < 66 && GB(0,64) == GB(i*3-66,64)) /* 1 == 3 */ in sw_read()
426 if (i < 66 && GB(0,64) == GB(66,64)) /* 1 == 2 */ in sw_read()
429 if (i < 66 && GB(i*3-132,64) == GB(i*3-66,64)) { /* 2 == 3 */ in sw_read()
515 for (i = (((length + 3) >> 2) - 1); i >= 0; i--) in sw_print_packet()
516 printk("%x", (int)sw_get_bits(buf, i << 2, 4, bits)); in sw_print_packet()
561 return !!xor * 2 + 1; in sw_guess_mode()
618 dbg("Init 2: Mode %d. ID Length %d.", m, j); in sw_connect()
624 dbg("Init 2b: Mode %d. Length %d.", m, i); in sw_connect()
631 dbg("Init 2c: ID Length %d.", j); in sw_connect()
756 fuzz = (bits >> 1) >= 2 ? 1 << ((bits >> 1) - 2) : 0; in sw_connect()