Lines Matching defs:usbmsp

126 				usbms_state_t		*usbmsp);
130 usbms_state_t *usbmsp);
136 static void usbms_flush(usbms_state_t *usbmsp);
140 usbms_state_t *usbmsp,
261 usbms_state_t *usbmsp;
276 usbmsp = kmem_zalloc(sizeof (usbms_state_t), KM_SLEEP);
278 q->q_ptr = usbmsp;
279 WR(q)->q_ptr = usbmsp;
281 usbmsp->usbms_rq_ptr = q;
282 usbmsp->usbms_wq_ptr = WR(q);
289 usbmsp->usbms_state = USBMS_WAIT_BUTN;
290 usbmsp->usbms_iocpending = NULL;
291 usbmsp->usbms_jitter_thresh = USBMS_JITTER_THRESH;
292 usbmsp->usbms_speedlimit = USBMS_SPEEDLIMIT;
293 usbmsp->usbms_speedlaw = USBMS_SPEEDLAW;
294 usbmsp->usbms_speed_count = USBMS_SPEED_COUNT;
296 msd_soft = &usbmsp->usbms_softc;
316 usbmsp->usbms_buf = mousebufp;
318 usbmsp->usbms_jittertimeout = JITTER_TIMEOUT;
327 kmem_free(usbmsp->usbms_buf, msd_soft->ms_bufbytes);
328 kmem_free(usbmsp, sizeof (usbms_state_t));
333 usbmsp->usbms_flags |= USBMS_QWAIT;
334 putnext(usbmsp->usbms_wq_ptr, mctl_ptr);
341 while (usbmsp->usbms_flags & USBMS_QWAIT) {
345 kmem_free(usbmsp->usbms_buf, msd_soft->ms_bufbytes);
346 kmem_free(usbmsp, sizeof (usbms_state_t));
352 if (usbmsp->usbms_report_descr_handle != NULL) {
354 usbmsp->usbms_report_descr_handle,
360 (int32_t *)&usbmsp->usbms_num_buttons) ==
362 if (usbmsp->usbms_num_buttons > USB_MS_MAX_BUTTON_NO)
363 usbmsp->usbms_num_buttons =
367 usbmsp->usbms_num_buttons);
374 usbmsp->usbms_num_buttons = USB_MS_DEFAULT_BUTTON_NO;
380 usbmsp->usbms_num_buttons = USB_MS_DEFAULT_BUTTON_NO;
384 if (usbms_check_for_wheels(usbmsp) == USB_FAILURE) {
392 usbms_flush(usbmsp);
395 if (usbms_read_input_data_format(usbmsp) != USB_SUCCESS) {
398 kmem_free(usbmsp->usbms_buf, msd_soft->ms_bufbytes);
399 kmem_free(usbmsp, sizeof (usbms_state_t));
404 usbmsp->usbms_flags |= USBMS_OPEN;
423 usbms_state_t *usbmsp = q->q_ptr;
424 register struct ms_softc *ms = &usbmsp->usbms_softc;
431 if (usbmsp->usbms_jitter) {
433 (timeout_id_t)(long)usbmsp->usbms_timeout_id);
434 usbmsp->usbms_jitter = 0;
436 if (usbmsp->usbms_reioctl_id) {
437 qunbufcall(q, (bufcall_id_t)(long)usbmsp->usbms_reioctl_id);
438 usbmsp->usbms_reioctl_id = 0;
440 if (usbmsp->usbms_resched_id) {
441 qunbufcall(q, (bufcall_id_t)usbmsp->usbms_resched_id);
442 usbmsp->usbms_resched_id = 0;
444 if (usbmsp->usbms_iocpending != NULL) {
451 freemsg(usbmsp->usbms_iocpending);
452 usbmsp->usbms_iocpending = NULL;
457 if (usbmsp->usbms_buf != NULL) {
458 kmem_free(usbmsp->usbms_buf, ms->ms_bufbytes);
461 kmem_free(usbmsp, sizeof (usbms_state_t));
482 usbms_state_t *usbmsp = q->q_ptr;
488 uchar_t nbutt = (uchar_t)usbmsp->usbms_num_buttons;
490 ms = &usbmsp->usbms_softc;
491 b = usbmsp->usbms_buf;
503 if ((usbmsp->usbms_idf).xlen != 1) {
523 if (usbmsp->usbms_resched_id) {
525 (bufcall_id_t)usbmsp->
528 usbmsp->usbms_resched_id = qbufcall(q,
532 (void *) usbmsp);
533 if (usbmsp->usbms_resched_id == 0)
557 loop = (usbmsp->usbms_num_wheels ?
560 if (usbmsp->usbms_num_wheels) {
631 usbms_state_t *usbmsp = (usbms_state_t *)q->q_ptr;
633 if (!(usbmsp->usbms_wheel_state_bf & (1 << id))) {
637 ms = &usbmsp->usbms_softc;
649 if (usbmsp->usbms_resched_id) {
651 (bufcall_id_t)usbmsp->usbms_resched_id);
653 usbmsp->usbms_resched_id =
655 (void (*)())usbms_resched, (void *) usbmsp);
656 if (usbmsp->usbms_resched_id == 0) {
678 usbms_state_t *usbmsp = q->q_ptr;
686 ms = &usbmsp->usbms_softc;
689 nbutt = (uchar_t)usbmsp->usbms_num_buttons;
757 if (usbmsp->usbms_resched_id) {
759 (bufcall_id_t)usbmsp->usbms_resched_id);
761 usbmsp->usbms_resched_id =
766 (void *) usbmsp);
767 if (usbmsp->usbms_resched_id == 0)
789 usbms_state_t *usbmsp = q->q_ptr;
794 ms = &usbmsp->usbms_softc;
802 if (!(((usbmsp->usbms_idf).yattr) & HID_MAIN_ITEM_RELATIVE)) {
804 (mi->mi_y == usbmsp->usbms_logical_Ymax)) {
816 if (((usbmsp->usbms_idf).yattr) &
835 ((usbmsp->usbms_resolution).height) /
836 usbmsp->usbms_logical_Ymax);
838 ((usbmsp->usbms_resolution).height) %
839 usbmsp->usbms_logical_Ymax) >=
840 (usbmsp->usbms_logical_Ymax / 2)) {
846 if (usbmsp->usbms_resched_id) {
848 (bufcall_id_t)usbmsp->usbms_resched_id);
850 usbmsp->usbms_resched_id =
855 (void *)usbmsp);
856 if (usbmsp->usbms_resched_id == 0) {
880 usbms_state_t *usbmsp = q->q_ptr;
885 ms = &usbmsp->usbms_softc;
893 if (!(((usbmsp->usbms_idf).xattr) & HID_MAIN_ITEM_RELATIVE)) {
895 (mi->mi_x == usbmsp->usbms_logical_Xmax)) {
907 if (((usbmsp->usbms_idf).xattr) &
923 ((usbmsp->usbms_resolution).width) /
924 usbmsp->usbms_logical_Xmax);
926 ((usbmsp->usbms_resolution).width) %
927 usbmsp->usbms_logical_Xmax) >=
928 (usbmsp->usbms_logical_Xmax / 2)) {
934 if (usbmsp->usbms_resched_id)
936 (bufcall_id_t)usbmsp->usbms_resched_id);
937 usbmsp->usbms_resched_id =
942 (void *) usbmsp);
943 if (usbmsp->usbms_resched_id == 0)
965 usbms_resched(void * usbmsp)
968 register usbms_state_t *tmp_usbmsp = (usbms_state_t *)usbmsp;
1027 usbms_state_t *usbmsp = (usbms_state_t *)q->q_ptr;
1041 if (usbmsp == NULL) {
1046 ms = &usbmsp->usbms_softc;
1065 usbms_flush(usbmsp);
1102 err = usbms_getparms((Ms_parms *)datap->b_wptr, usbmsp);
1113 err = usbms_setparms((Ms_parms *)mp->b_cont->b_rptr, usbmsp);
1121 *(int *)datap->b_wptr = (int)usbmsp->usbms_num_buttons;
1151 *((int *)datap->b_wptr) = (usbmsp->usbms_num_wheels ? 1 : 0);
1277 if ((!((usbmsp->usbms_idf).xattr & HID_MAIN_ITEM_RELATIVE)) &&
1278 (usbmsp->usbms_rpt_abs == B_FALSE)) {
1301 usbmsp->usbms_rpt_abs = B_TRUE;
1317 freemsg(usbmsp->usbms_iocpending);
1318 usbmsp->usbms_iocpending = mp;
1319 if (usbmsp->usbms_reioctl_id) {
1320 qunbufcall(q, (bufcall_id_t)usbmsp->usbms_reioctl_id);
1322 usbmsp->usbms_reioctl_id = qbufcall(q, ioctlrespsize, BPRI_HI,
1324 (void *)usbmsp);
1469 usbms_state_t *usbmsp = (usbms_state_t *)usbms_addr;
1473 q = usbmsp->usbms_wq_ptr;
1474 if ((mp = usbmsp->usbms_iocpending) != NULL) {
1475 usbmsp->usbms_iocpending = NULL; /* not pending any more */
1488 usbms_state_t *usbmsp)
1490 data->jitter_thresh = usbmsp->usbms_jitter_thresh;
1491 data->speed_law = usbmsp->usbms_speedlaw;
1492 data->speed_limit = usbmsp->usbms_speedlimit;
1506 usbms_state_t *usbmsp)
1508 usbmsp->usbms_jitter_thresh = data->jitter_thresh;
1509 usbmsp->usbms_speedlaw = data->speed_law;
1510 usbmsp->usbms_speedlimit = data->speed_limit;
1521 usbms_flush(usbms_state_t *usbmsp)
1523 register struct ms_softc *ms = &usbmsp->usbms_softc;
1530 ms->ms_eventstate = EVENT_BUT(usbmsp->usbms_num_buttons);
1531 usbmsp->usbms_buf->mb_off = 0;
1533 usbmsp->usbms_oldbutt = ms->ms_prevbuttons;
1534 if ((q = usbmsp->usbms_rq_ptr) != NULL && q->q_next != NULL) {
1551 usbms_state_t *usbmsp = q->q_ptr;
1553 ushort_t limit = (usbmsp->usbms_idf).tlen;
1558 if (usbmsp == 0) {
1586 if (!(usbmsp->usbms_flags & USBMS_OPEN)) {
1599 usbmsp->usbms_protoerr = 1;
1600 usbmsp->usbms_flags &= ~USBMS_QWAIT;
1619 (usbmsp->usbms_rptid != HID_REPORT_ID_UNDEFINED))) {
1624 if (usbmsp->usbms_rptid != HID_REPORT_ID_UNDEFINED) {
1625 if (*(tmp_mp->b_rptr) != usbmsp->usbms_rptid) {
1635 usbms_input(usbmsp, tmp_mp);
1706 usbms_input(usbms_state_t *usbmsp,
1716 nbutt = usbmsp->usbms_num_buttons;
1717 b = usbmsp->usbms_buf;
1732 c = mp->b_rptr[(usbmsp->usbms_idf).bpos];
1767 mi->mi_x += usbms_get_coordinate((usbmsp->usbms_idf).xpos,
1768 (usbmsp->usbms_idf).xlen, mp);
1775 mi->mi_y += usbms_get_coordinate((usbmsp->usbms_idf).ypos,
1776 (usbmsp->usbms_idf).ylen, mp);
1786 if (usbmsp->usbms_num_wheels) {
1787 mi->mi_z += usbms_get_coordinate((usbmsp->usbms_idf).zpos,
1788 (usbmsp->usbms_idf).zlen, mp);
1794 if (usbmsp->usbms_jitter) {
1795 (void) quntimeout(usbmsp->usbms_rq_ptr,
1796 (timeout_id_t)usbmsp->usbms_timeout_id);
1797 usbmsp->usbms_jitter = 0;
1800 if (!usbmsp->usbms_num_wheels) {
1808 if (!(mi->mi_z) && (mi->mi_buttons == usbmsp->usbms_oldbutt)) {
1821 jitter_radius = usbmsp->usbms_jitter_thresh;
1830 usbmsp->usbms_jitter = 1;
1831 usbmsp->usbms_timeout_id =
1832 qtimeout(usbmsp->usbms_rq_ptr,
1834 (void *)usbmsp,
1835 (clock_t)usbmsp->usbms_jittertimeout);
1840 usbmsp->usbms_oldbutt = mi->mi_buttons;
1841 usbms_incr(usbmsp);
1887 usbms_state_t *usbmsp = arg;
1888 register struct ms_softc *ms = &usbmsp->usbms_softc;
1893 register int speedl = usbmsp->usbms_speedlimit;
1899 usbmsp->usbms_jitter = 0;
1901 b = usbmsp->usbms_buf;
1911 if (usbmsp->usbms_speedlaw) {
1915 usbmsp->usbms_speed_count++;
1948 usbms_flush(usbmsp);
1962 qenable(usbmsp->usbms_rq_ptr); /* run the service proc */
1974 usbms_check_for_wheels(usbms_state_t *usbmsp)
1979 if (usbmsp->usbms_report_descr_handle) {
1982 usbmsp->usbms_report_descr_handle,
1988 &usbmsp->usbms_rptid) == HIDPARSER_NOT_FOUND) {
1989 usbmsp->usbms_rptid = HID_REPORT_ID_UNDEFINED;
1992 report_id = usbmsp->usbms_rptid;
1997 usbmsp->usbms_report_descr_handle,
2003 &usbmsp->usbms_num_wheels);
2009 usbmsp->usbms_wheel_state_bf |=
2015 usbmsp->usbms_num_wheels = 0;
2106 usbms_state_t *usbmsp = (usbms_state_t *)q->q_ptr;
2115 if (wi->id > (usbmsp->usbms_num_wheels - 1)) {
2120 wi->format = (usbmsp->usbms_wheel_orient_bf & (1 << wi->id)) ?
2135 usbms_state_t *usbmsp = (usbms_state_t *)q->q_ptr;
2143 if (ws->id > (usbmsp->usbms_num_wheels - 1)) {
2151 ws->stateflags = (usbmsp->usbms_wheel_state_bf >> ws->id) &
2156 usbmsp->usbms_wheel_state_bf = (ws->stateflags << ws->id) |
2157 (~(1 << ws->id) & usbmsp->usbms_wheel_state_bf);
2180 usbms_state_t *usbmsp = (usbms_state_t *)q->q_ptr;
2181 Ms_screen_resolution *res = &(usbmsp->usbms_resolution);
2247 usbms_read_input_data_format(usbms_state_t *usbmsp)
2254 usbms_idf *idf = &(usbmsp->usbms_idf);
2255 Ms_screen_resolution *res = &(usbmsp->usbms_resolution);
2260 usbmsp->usbms_rpt_abs = B_FALSE;
2271 usbmsp->usbms_report_descr_handle,
2272 usbmsp->usbms_rptid,
2338 usbmsp->usbms_report_descr_handle,
2339 usbmsp->usbms_rptid,
2364 usbmsp->usbms_report_descr_handle,
2365 usbmsp->usbms_rptid,
2370 &usbmsp->usbms_logical_Xmax) != HIDPARSER_SUCCESS) {
2378 usbmsp->usbms_report_descr_handle,
2379 usbmsp->usbms_rptid,
2384 &usbmsp->usbms_logical_Ymax) != HIDPARSER_SUCCESS) {
2392 if (usbmsp->usbms_logical_Xmax == 0) {
2400 if (usbmsp->usbms_logical_Ymax == 0) {
2412 usbmsp->usbms_num_wheels = 0;
2413 q = usbmsp->usbms_rq_ptr;