Lines Matching refs:kbdc

305 	KBDC		kbdc;		/* handle to access kbd controller */
555 enable_aux_dev(KBDC kbdc)
559 res = send_aux_command(kbdc, PSMC_ENABLE_DEV);
566 disable_aux_dev(KBDC kbdc)
570 res = send_aux_command(kbdc, PSMC_DISABLE_DEV);
577 get_mouse_status(KBDC kbdc, int *status, int flag, int len)
592 empty_aux_buffer(kbdc, 5);
593 res = send_aux_command(kbdc, cmd);
600 status[i] = read_aux_data(kbdc);
612 get_aux_id(KBDC kbdc)
617 empty_aux_buffer(kbdc, 5);
618 res = send_aux_command(kbdc, PSMC_SEND_DEV_ID);
626 id = read_aux_data(kbdc);
633 set_mouse_sampling_rate(KBDC kbdc, int rate)
637 res = send_aux_command_and_data(kbdc, PSMC_SET_SAMPLING_RATE, rate);
644 set_mouse_scaling(KBDC kbdc, int scale)
657 res = send_aux_command(kbdc, scale);
666 set_mouse_resolution(KBDC kbdc, int val)
670 res = send_aux_command_and_data(kbdc, PSMC_SET_RESOLUTION, val);
681 set_mouse_mode(KBDC kbdc)
685 res = send_aux_command(kbdc, PSMC_SET_STREAM_MODE);
692 get_mouse_buttons(KBDC kbdc)
704 if (set_mouse_resolution(kbdc, PSMD_RES_LOW) != PSMD_RES_LOW)
706 if (set_mouse_scaling(kbdc, 1) && set_mouse_scaling(kbdc, 1) &&
707 set_mouse_scaling(kbdc, 1) &&
708 get_mouse_status(kbdc, status, 0, 3) >= 3 && status[1] != 0)
771 recover_from_error(KBDC kbdc)
774 empty_both_buffers(kbdc, 10);
781 reset_kbd(kbdc);
787 if (!test_controller(kbdc))
790 if (test_kbd_port(kbdc) != 0)
796 restore_controller(KBDC kbdc, int command_byte)
798 empty_both_buffers(kbdc, 10);
800 if (!set_controller_command_byte(kbdc, 0xff, command_byte)) {
803 empty_both_buffers(kbdc, 10);
806 empty_both_buffers(kbdc, 10);
821 KBDC kbdc = sc->kbdc;
825 switch((i = test_aux_port(kbdc))) {
839 recover_from_error(kbdc);
857 if (!reset_aux_dev(kbdc)) {
858 recover_from_error(kbdc);
869 if (!enable_aux_dev(kbdc) || !disable_aux_dev(kbdc)) {
874 empty_both_buffers(kbdc, 10); /* remove stray data if any */
879 (*vendortype[i].probefunc)(sc->kbdc, NULL);
884 mode->rate = set_mouse_sampling_rate(kbdc, mode->rate);
887 set_mouse_resolution(kbdc, mode->resolution);
888 set_mouse_scaling(kbdc, 1);
889 set_mouse_mode(kbdc);
903 if (get_mouse_status(kbdc, stat, 0, 3) < 3)
928 mouse_ext_command(sc->kbdc, 1);
929 get_mouse_status(sc->kbdc, stat, 0, 3);
936 mouse_ext_command(sc->kbdc, 0xc1);
938 mouse_ext_command(sc->kbdc, 0xc0);
939 set_mouse_sampling_rate(sc->kbdc, 20);
960 mouse_ext_command(sc->kbdc, 0x00);
961 set_mouse_sampling_rate(sc->kbdc, 20);
971 mouse_ext_command(sc->kbdc, 0x04);
972 set_mouse_sampling_rate(sc->kbdc, 20);
977 if (!enable_aux_dev(sc->kbdc)) {
984 recover_from_error(sc->kbdc);
990 if (!doinitialize(sc, &sc->mode) || !enable_aux_dev(sc->kbdc)) {
991 recover_from_error(sc->kbdc);
995 restore_controller(sc->kbdc, command_byte);
1005 if (get_mouse_status(sc->kbdc, stat, 0, 3) < 3)
1010 if (!set_controller_command_byte(sc->kbdc,
1011 kbdc_get_device_mask(sc->kbdc),
1015 disable_aux_dev(sc->kbdc);
1016 restore_controller(sc->kbdc, command_byte);
1038 if (!kbdc_lock(sc->kbdc, TRUE))
1047 empty_both_buffers(sc->kbdc, 10);
1048 c = get_controller_command_byte(sc->kbdc);
1054 if ((c == -1) || !set_controller_command_byte(sc->kbdc,
1055 kbdc_get_device_mask(sc->kbdc),
1060 kbdc_lock(sc->kbdc, FALSE);
1070 disable_aux_dev(sc->kbdc);
1071 empty_aux_buffer(sc->kbdc, 10);
1086 restore_controller(sc->kbdc, c);
1105 if (!set_controller_command_byte(sc->kbdc,
1106 kbdc_get_device_mask(sc->kbdc),
1116 kbdc_lock(sc->kbdc, FALSE);
1160 kbdc_set_device_mask(sc->kbdc, mask); \
1161 kbdc_lock(sc->kbdc, FALSE); \
1191 sc->kbdc = atkbdc_open(device_get_unit(device_get_parent(dev)));
1208 if (!kbdc_lock(sc->kbdc, TRUE)) {
1222 empty_both_buffers(sc->kbdc, 10);
1225 mask = kbdc_get_device_mask(sc->kbdc) & ~KBD_AUX_CONTROL_BITS;
1226 command_byte = get_controller_command_byte(sc->kbdc);
1241 if (!set_controller_command_byte(sc->kbdc,
1249 restore_controller(sc->kbdc, command_byte);
1253 write_controller_command(sc->kbdc, KBDC_ENABLE_AUX_PORT);
1272 switch ((i = test_aux_port(sc->kbdc))) {
1285 recover_from_error(sc->kbdc);
1288 restore_controller(sc->kbdc, command_byte);
1309 if (!reset_aux_dev(sc->kbdc)) {
1310 recover_from_error(sc->kbdc);
1311 restore_controller(sc->kbdc, command_byte);
1316 } else if (!reset_aux_dev(sc->kbdc)) {
1317 recover_from_error(sc->kbdc);
1330 if (!enable_aux_dev(sc->kbdc) || !disable_aux_dev(sc->kbdc)) {
1332 recover_from_error(sc->kbdc);
1333 restore_controller(sc->kbdc, command_byte);
1341 if (get_mouse_status(sc->kbdc, stat, 0, 3) >= 3) {
1353 sc->hw.hwid = get_aux_id(sc->kbdc);
1355 restore_controller(sc->kbdc, command_byte);
1382 sc->hw.buttons = get_mouse_buttons(sc->kbdc);
1386 if ((*vendortype[i].probefunc)(sc->kbdc, sc)) {
1416 i = send_aux_command(sc->kbdc, PSMC_SET_DEFAULTS);
1422 set_mouse_resolution(sc->kbdc,
1426 set_mouse_resolution(sc->kbdc, sc->dflt_mode.resolution);
1429 set_mouse_sampling_rate(sc->kbdc, sc->dflt_mode.rate);
1430 set_mouse_scaling(sc->kbdc, 1);
1441 if (get_mouse_status(sc->kbdc, stat, 0, 3) < 3)
1453 if (!set_controller_command_byte(sc->kbdc,
1461 restore_controller(sc->kbdc, command_byte);
1467 kbdc_set_device_mask(sc->kbdc, mask | KBD_AUX_CONTROL_BITS);
1468 kbdc_lock(sc->kbdc, FALSE);
1604 /* don't let timeout routines in the keyboard driver to poll the kbdc */
1605 if (!kbdc_lock(sc->kbdc, TRUE))
1610 command_byte = get_controller_command_byte(sc->kbdc);
1613 if (command_byte == -1 || !set_controller_command_byte(sc->kbdc,
1614 kbdc_get_device_mask(sc->kbdc),
1618 kbdc_lock(sc->kbdc, FALSE);
1640 kbdc_lock(sc->kbdc, FALSE);
1652 /* don't let timeout routines in the keyboard driver to poll the kbdc */
1653 if (!kbdc_lock(sc->kbdc, TRUE))
1658 command_byte = get_controller_command_byte(sc->kbdc);
1660 kbdc_lock(sc->kbdc, FALSE);
1666 if (!set_controller_command_byte(sc->kbdc,
1667 kbdc_get_device_mask(sc->kbdc),
1686 empty_aux_buffer(sc->kbdc, 10);
1690 if (!disable_aux_dev(sc->kbdc)) {
1702 if (get_mouse_status(sc->kbdc, stat, 0, 3) < 3)
1708 if (!set_controller_command_byte(sc->kbdc,
1709 kbdc_get_device_mask(sc->kbdc),
1722 empty_aux_buffer(sc->kbdc, 10);
1732 kbdc_lock(sc->kbdc, FALSE);
1862 if (!kbdc_lock(sc->kbdc, TRUE))
1866 *c = get_controller_command_byte(sc->kbdc);
1867 if ((*c == -1) || !set_controller_command_byte(sc->kbdc,
1868 kbdc_get_device_mask(sc->kbdc),
1873 kbdc_lock(sc->kbdc, FALSE);
1889 empty_aux_buffer(sc->kbdc, 0); /* flush the queue */
1890 read_aux_data_no_wait(sc->kbdc); /* throw away data if any */
1928 empty_aux_buffer(sc->kbdc, 0);
1931 if (!set_controller_command_byte(sc->kbdc,
1932 kbdc_get_device_mask(sc->kbdc),
1942 kbdc_lock(sc->kbdc, FALSE);
1967 if (!write_aux_command(sc->kbdc, buf[i])) {
2142 mode.rate = set_mouse_sampling_rate(sc->kbdc,
2146 set_mouse_resolution(sc->kbdc, mode.resolution);
2147 set_mouse_scaling(sc->kbdc, 1);
2148 get_mouse_status(sc->kbdc, stat, 0, 3);
2208 if ((data->len = get_mouse_status(sc->kbdc, data->buf,
2238 set_mouse_resolution(sc->kbdc, mode.resolution);
2258 sc->mode.rate = set_mouse_sampling_rate(sc->kbdc, mode.rate);
2273 if (!set_mouse_scaling(sc->kbdc, *(int *)addr))
2285 sc->hw.hwid |= get_aux_id(sc->kbdc);
2315 if (sc->watchdog && kbdc_lock(sc->kbdc, TRUE)) {
2318 kbdc_lock(sc->kbdc, FALSE);
2370 while((c = read_aux_data_no_wait(sc->kbdc)) != -1) {
2454 disable_aux_dev(sc->kbdc);
2455 enable_aux_dev(sc->kbdc);
3678 static int mouse_id_proc1(KBDC kbdc, int res, int scale, int *status)
3680 if (set_mouse_resolution(kbdc, res) != res)
3682 if (set_mouse_scaling(kbdc, scale) &&
3683 set_mouse_scaling(kbdc, scale) &&
3684 set_mouse_scaling(kbdc, scale) &&
3685 (get_mouse_status(kbdc, status, 0, 3) >= 3))
3691 mouse_ext_command(KBDC kbdc, int command)
3696 if (set_mouse_resolution(kbdc, c) != c)
3699 if (set_mouse_resolution(kbdc, c) != c)
3702 if (set_mouse_resolution(kbdc, c) != c)
3705 if (set_mouse_resolution(kbdc, c) != c)
3713 enable_lcordless(KDBC kbdc, struct psm_softc *sc)
3718 if (!mouse_id_proc1(kbdc, PSMD_RES_HIGH, 2, status))
3735 enable_groller(KBDC kbdc, struct psm_softc *sc)
3760 if (!mouse_id_proc1(kbdc, PSMD_RES_HIGH, 1, status))
3772 enable_gmouse(KBDC kbdc, struct psm_softc *sc)
3786 if (!mouse_id_proc1(kbdc, PSMD_RES_HIGH, 1, status))
3795 enable_aglide(KBDC kbdc, struct psm_softc *sc)
3806 if (set_mouse_sampling_rate(kbdc, 100) != 100)
3808 if (!mouse_id_proc1(kbdc, PSMD_RES_LOW, 2, status))
3817 enable_kmouse(KBDC kbdc, struct psm_softc *sc)
3825 id1 = get_aux_id(kbdc);
3826 if (set_mouse_sampling_rate(kbdc, 10) != 10)
3832 id2 = get_aux_id(kbdc);
3836 if (set_mouse_resolution(kbdc, PSMD_RES_LOW) != PSMD_RES_LOW)
3840 if (get_mouse_status(kbdc, status, 0, 3) < 3)
3849 if (set_mouse_sampling_rate(kbdc, rate[i]) != rate[i])
3856 if (get_mouse_status(kbdc, status, 0, 3) < 3)
3862 disable_aux_dev(kbdc);
3863 empty_aux_buffer(kbdc, 5);
3870 enable_mmanplus(KBDC kbdc, struct psm_softc *sc)
3880 if (!set_mouse_scaling(kbdc, 1))
3882 if (!mouse_ext_command(kbdc, 0x39) || !mouse_ext_command(kbdc, 0xdb))
3884 if (get_mouse_status(kbdc, data, 1, 3) < 3)
3928 enable_msexplorer(KBDC kbdc, struct psm_softc *sc)
3940 enable_msintelli(kbdc, sc);
3944 if (set_mouse_sampling_rate(kbdc, rate1[i]) != rate1[i])
3947 id = get_aux_id(kbdc);
3967 if (set_mouse_sampling_rate(kbdc, rate0[i]) != rate0[i])
3969 get_aux_id(kbdc);
3976 enable_msintelli(KBDC kbdc, struct psm_softc *sc)
3989 if (set_mouse_sampling_rate(kbdc, rate[i]) != rate[i])
3992 id = get_aux_id(kbdc);
4006 enable_4dmouse(KBDC kbdc, struct psm_softc *sc)
4017 if (set_mouse_sampling_rate(kbdc, rate[i]) != rate[i])
4019 id = get_aux_id(kbdc);
4038 enable_4dplus(KBDC kbdc, struct psm_softc *sc)
4052 if (set_mouse_sampling_rate(kbdc, rate[i]) != rate[i])
4056 id = get_aux_id(kbdc);
4487 enable_synaptics(KBDC kbdc, struct psm_softc *sc)
4501 set_mouse_scaling(kbdc, 1);
4504 if (mouse_ext_command(kbdc, 0) == 0)
4506 if (get_mouse_status(kbdc, status, 0, 3) != 3)
4525 if (mouse_ext_command(kbdc, 3) == 0)
4527 if (get_mouse_status(kbdc, status, 0, 3) != 3)
4556 if (mouse_ext_command(kbdc, 2) == 0)
4558 if (get_mouse_status(kbdc, status, 0, 3) != 3)
4596 if (mouse_ext_command(kbdc, 0x09) == 0)
4598 if (get_mouse_status(kbdc, status, 0, 3) != 3)
4636 if (mouse_ext_command(kbdc, 0xc) != 0 &&
4637 get_mouse_status(kbdc, status, 0, 3) == 3) {
4684 if (mouse_ext_command(kbdc, 1) == 0)
4686 if (get_mouse_status(kbdc, status, 0, 3) != 3)
4699 mouse_ext_command(kbdc, synhw.capExtended ? 0xc1 : 0xc0);
4702 set_mouse_sampling_rate(kbdc, 20);
4709 enable_trackpoint(kbdc, sc);
4728 mouse_ext_command(sc->kbdc, mode_byte);
4731 set_mouse_sampling_rate(sc->kbdc, 20);
4741 set_mouse_scaling(sc->kbdc, 2);
4742 set_mouse_scaling(sc->kbdc, 1);
4743 mouse_ext_command(sc->kbdc, mode_byte);
4746 set_mouse_sampling_rate(sc->kbdc, 20);
4762 if (send_aux_command(sc->kbdc, 0xe7) != PSM_ACK) {
4766 if (send_aux_command(sc->kbdc, seq[i]) != PSM_ACK) {
4969 enable_trackpoint(KBDC kbdc, struct psm_softc *sc)
4973 if (send_aux_command(kbdc, 0xe1) != PSM_ACK ||
4974 read_aux_data(kbdc) != 0x01)
4976 id = read_aux_data(kbdc);
5003 enable_versapad(KBDC kbdc, struct psm_softc *sc)
5007 set_mouse_resolution(kbdc, PSMD_RES_MEDIUM_HIGH); /* set res. 2 */
5008 set_mouse_sampling_rate(kbdc, 100); /* set rate 100 */
5009 set_mouse_scaling(kbdc, 1); /* set scale 1:1 */
5010 set_mouse_scaling(kbdc, 1); /* set scale 1:1 */
5011 set_mouse_scaling(kbdc, 1); /* set scale 1:1 */
5012 set_mouse_scaling(kbdc, 1); /* set scale 1:1 */
5013 if (get_mouse_status(kbdc, data, 0, 3) < 3) /* get status */
5017 set_mouse_scaling(kbdc, 1); /* set scale 1:1 */