Symbol: kb8042
usr/src/uts/common/io/kb8042/at_keyprocess.c
1008
kb8042->parse_scan_state = STATE_E1_14_77;
usr/src/uts/common/io/kb8042/at_keyprocess.c
1017
kb8042->parse_scan_state = STATE_E1_14_77_E1;
usr/src/uts/common/io/kb8042/at_keyprocess.c
1026
kb8042->parse_scan_state = STATE_E1_14_77_E1_F0;
usr/src/uts/common/io/kb8042/at_keyprocess.c
1035
kb8042->parse_scan_state = STATE_E1_14_77_E1_F0_14;
usr/src/uts/common/io/kb8042/at_keyprocess.c
1044
kb8042->parse_scan_state = STATE_E1_14_77_E1_F0_14_F0;
usr/src/uts/common/io/kb8042/at_keyprocess.c
1067
if (kb8042->break_received) {
usr/src/uts/common/io/kb8042/at_keyprocess.c
1069
kb8042->break_received = 0;
usr/src/uts/common/io/kb8042/at_keyprocess.c
1072
kb8042->parse_scan_state = STATE_IDLE;
usr/src/uts/common/io/kb8042/at_keyprocess.c
65
static boolean_t KeyboardConvertScan_set1(struct kb8042 *, unsigned char, int *,
usr/src/uts/common/io/kb8042/at_keyprocess.c
67
static boolean_t KeyboardConvertScan_set2(struct kb8042 *, unsigned char, int *,
usr/src/uts/common/io/kb8042/at_keyprocess.c
675
KeyboardConvertScan_init(struct kb8042 *kb8042, int scanset)
usr/src/uts/common/io/kb8042/at_keyprocess.c
677
kb8042->parse_scan_state = STATE_IDLE;
usr/src/uts/common/io/kb8042/at_keyprocess.c
678
kb8042->break_received = 0;
usr/src/uts/common/io/kb8042/at_keyprocess.c
714
struct kb8042 *kb8042,
usr/src/uts/common/io/kb8042/at_keyprocess.c
722
return ((*KeyboardConvertScan_fn)(kb8042, scan, keynum, state,
usr/src/uts/common/io/kb8042/at_keyprocess.c
728
struct kb8042 *kb8042,
usr/src/uts/common/io/kb8042/at_keyprocess.c
74
static boolean_t (*KeyboardConvertScan_fn)(struct kb8042 *, unsigned char,
usr/src/uts/common/io/kb8042/at_keyprocess.c
758
kb8042->parse_scan_state = STATE_IDLE;
usr/src/uts/common/io/kb8042/at_keyprocess.c
781
if (kb8042->break_received) {
usr/src/uts/common/io/kb8042/at_keyprocess.c
783
kb8042->break_received = 0;
usr/src/uts/common/io/kb8042/at_keyprocess.c
786
switch (kb8042->parse_scan_state) {
usr/src/uts/common/io/kb8042/at_keyprocess.c
790
kb8042->parse_scan_state = STATE_E0;
usr/src/uts/common/io/kb8042/at_keyprocess.c
794
kb8042->parse_scan_state = STATE_E1;
usr/src/uts/common/io/kb8042/at_keyprocess.c
836
kb8042->parse_scan_state = STATE_E1_1D;
usr/src/uts/common/io/kb8042/at_keyprocess.c
863
kb8042->parse_scan_state = STATE_IDLE;
usr/src/uts/common/io/kb8042/at_keyprocess.c
896
struct kb8042 *kb8042,
usr/src/uts/common/io/kb8042/at_keyprocess.c
918
kb8042->break_received = 1;
usr/src/uts/common/io/kb8042/at_keyprocess.c
939
kb8042->parse_scan_state = STATE_IDLE;
usr/src/uts/common/io/kb8042/at_keyprocess.c
943
if (kb8042->break_received) {
usr/src/uts/common/io/kb8042/at_keyprocess.c
945
kb8042->break_received = 0;
usr/src/uts/common/io/kb8042/at_keyprocess.c
948
switch (kb8042->parse_scan_state) {
usr/src/uts/common/io/kb8042/at_keyprocess.c
952
kb8042->parse_scan_state = STATE_E0;
usr/src/uts/common/io/kb8042/at_keyprocess.c
956
kb8042->parse_scan_state = STATE_E1;
usr/src/uts/common/io/kb8042/at_keyprocess.c
998
kb8042->parse_scan_state = STATE_E1_14;
usr/src/uts/common/io/kb8042/kb8042.c
1000
kb8042->w_kblayout = *(intptr_t *)mp->b_cont->b_rptr;
usr/src/uts/common/io/kb8042/kb8042.c
1011
kb8042_type4_cmd(kb8042, *(int *)mp->b_cont->b_rptr);
usr/src/uts/common/io/kb8042/kb8042.c
1056
struct kb8042 *kb8042,
usr/src/uts/common/io/kb8042/kb8042.c
1064
if (!kb8042->w_init) /* can't do anything anyway */
usr/src/uts/common/io/kb8042/kb8042.c
1067
legit = KeyboardConvertScan(kb8042, scancode, &key_pos, &state,
usr/src/uts/common/io/kb8042/kb8042.c
1079
if (key_pos == kb8042->debugger.mod1) {
usr/src/uts/common/io/kb8042/kb8042.c
1080
kb8042->debugger.mod1_down = (state == KEY_PRESSED);
usr/src/uts/common/io/kb8042/kb8042.c
1082
if (key_pos == kb8042->debugger.mod2) {
usr/src/uts/common/io/kb8042/kb8042.c
1083
kb8042->debugger.mod2_down = (state == KEY_PRESSED);
usr/src/uts/common/io/kb8042/kb8042.c
1085
if (kb8042->debugger.enabled &&
usr/src/uts/common/io/kb8042/kb8042.c
1086
key_pos == kb8042->debugger.trigger &&
usr/src/uts/common/io/kb8042/kb8042.c
1087
kb8042->debugger.mod1_down &&
usr/src/uts/common/io/kb8042/kb8042.c
1088
kb8042->debugger.mod2_down) {
usr/src/uts/common/io/kb8042/kb8042.c
1092
kb8042->debugger.mod1_down = B_FALSE;
usr/src/uts/common/io/kb8042/kb8042.c
1093
kb8042->debugger.mod2_down = B_FALSE;
usr/src/uts/common/io/kb8042/kb8042.c
1104
if (kb8042->w_qp == NULL) {
usr/src/uts/common/io/kb8042/kb8042.c
1114
if (kb8042_autorepeat_detect(kb8042, key_pos, state)) {
usr/src/uts/common/io/kb8042/kb8042.c
1119
kb8042_process_key(kb8042, key_pos, state);
usr/src/uts/common/io/kb8042/kb8042.c
1127
(void) kb8042_autorepeat_detect(kb8042, key_pos, KEY_RELEASED);
usr/src/uts/common/io/kb8042/kb8042.c
1128
kb8042_process_key(kb8042, key_pos, state);
usr/src/uts/common/io/kb8042/kb8042.c
1134
kb8042_process_key(struct kb8042 *kb8042, kbtrans_key_t key_pos,
usr/src/uts/common/io/kb8042/kb8042.c
1140
if (kb8042->simulated_kbd_type == KB_PC) {
usr/src/uts/common/io/kb8042/kb8042.c
1141
kbtrans_streams_key(kb8042->hw_kbtrans, key_pos, state);
usr/src/uts/common/io/kb8042/kb8042.c
1142
} else if (kb8042->simulated_kbd_type == KB_USB) {
usr/src/uts/common/io/kb8042/kb8042.c
1145
kbtrans_streams_key(kb8042->hw_kbtrans, key, state);
usr/src/uts/common/io/kb8042/kb8042.c
1158
struct kb8042 *kb8042 = (struct kb8042 *)arg;
usr/src/uts/common/io/kb8042/kb8042.c
1162
if (kb8042->init_state == KB8042_UNINITIALIZED)
usr/src/uts/common/io/kb8042/kb8042.c
1168
while (ddi_get8(kb8042->handle, kb8042->addr + I8042_INT_INPUT_AVAIL)
usr/src/uts/common/io/kb8042/kb8042.c
1174
scancode = ddi_get8(kb8042->handle,
usr/src/uts/common/io/kb8042/kb8042.c
1175
kb8042->addr + I8042_INT_INPUT_DATA);
usr/src/uts/common/io/kb8042/kb8042.c
1183
mutex_enter(&kb8042->w_hw_mutex);
usr/src/uts/common/io/kb8042/kb8042.c
1184
kb8042->acked = 1;
usr/src/uts/common/io/kb8042/kb8042.c
1185
cv_signal(&kb8042->cmd_cv);
usr/src/uts/common/io/kb8042/kb8042.c
1186
mutex_exit(&kb8042->w_hw_mutex);
usr/src/uts/common/io/kb8042/kb8042.c
1189
mutex_enter(&kb8042->w_hw_mutex);
usr/src/uts/common/io/kb8042/kb8042.c
1190
kb8042->need_retry = 1;
usr/src/uts/common/io/kb8042/kb8042.c
1191
cv_signal(&kb8042->cmd_cv);
usr/src/uts/common/io/kb8042/kb8042.c
1192
mutex_exit(&kb8042->w_hw_mutex);
usr/src/uts/common/io/kb8042/kb8042.c
1201
if (putq(RD(kb8042->w_qp), mp) == 0)
usr/src/uts/common/io/kb8042/kb8042.c
122
static void kb8042_init(struct kb8042 *kb8042, boolean_t from_resume);
usr/src/uts/common/io/kb8042/kb8042.c
1232
struct kb8042 *kb8042 = (struct kb8042 *)hw;
usr/src/uts/common/io/kb8042/kb8042.c
1237
if (kb8042->polled_synthetic_release_pending) {
usr/src/uts/common/io/kb8042/kb8042.c
1238
*key = kb8042->polled_synthetic_release_key;
usr/src/uts/common/io/kb8042/kb8042.c
124
static void kb8042_wait_poweron(struct kb8042 *kb8042);
usr/src/uts/common/io/kb8042/kb8042.c
1240
kb8042->polled_synthetic_release_pending = B_FALSE;
usr/src/uts/common/io/kb8042/kb8042.c
1241
(void) kb8042_autorepeat_detect(kb8042, *key, *state);
usr/src/uts/common/io/kb8042/kb8042.c
1246
if (ddi_get8(kb8042->handle,
usr/src/uts/common/io/kb8042/kb8042.c
1247
kb8042->addr + I8042_POLL_INPUT_AVAIL) == 0) {
usr/src/uts/common/io/kb8042/kb8042.c
125
static void kb8042_send_to_keyboard(struct kb8042 *, int, boolean_t);
usr/src/uts/common/io/kb8042/kb8042.c
1251
scancode = ddi_get8(kb8042->handle,
usr/src/uts/common/io/kb8042/kb8042.c
1252
kb8042->addr + I8042_POLL_INPUT_DATA);
usr/src/uts/common/io/kb8042/kb8042.c
1254
legit = KeyboardConvertScan(kb8042, scancode, key, state,
usr/src/uts/common/io/kb8042/kb8042.c
1265
(void) kb8042_autorepeat_detect(kb8042, *key, *state);
usr/src/uts/common/io/kb8042/kb8042.c
127
static void kb8042_setled(struct kb8042 *, int led_state, boolean_t polled);
usr/src/uts/common/io/kb8042/kb8042.c
1275
kb8042->polled_synthetic_release_pending = B_TRUE;
usr/src/uts/common/io/kb8042/kb8042.c
1276
kb8042->polled_synthetic_release_key = *key;
usr/src/uts/common/io/kb8042/kb8042.c
1279
if (kb8042->simulated_kbd_type == KB_USB) {
usr/src/uts/common/io/kb8042/kb8042.c
1287
kb8042_setled(struct kb8042 *kb8042, int led_state, boolean_t polled)
usr/src/uts/common/io/kb8042/kb8042.c
1289
kb8042->leds.desired = led_state;
usr/src/uts/common/io/kb8042/kb8042.c
1292
mutex_enter(&kb8042->w_hw_mutex);
usr/src/uts/common/io/kb8042/kb8042.c
1294
if (kb8042->leds.desired != kb8042->leds.commanded) {
usr/src/uts/common/io/kb8042/kb8042.c
1295
kb8042_send_to_keyboard(kb8042, KB_SET_LED, polled);
usr/src/uts/common/io/kb8042/kb8042.c
1299
mutex_exit(&kb8042->w_hw_mutex);
usr/src/uts/common/io/kb8042/kb8042.c
1305
struct kb8042 *kb8042 = (struct kb8042 *)hw;
usr/src/uts/common/io/kb8042/kb8042.c
1306
kb8042_setled(kb8042, led_state, B_TRUE);
usr/src/uts/common/io/kb8042/kb8042.c
1312
struct kb8042 *kb8042 = (struct kb8042 *)hw;
usr/src/uts/common/io/kb8042/kb8042.c
1313
kb8042_setled(kb8042, led_state, B_FALSE);
usr/src/uts/common/io/kb8042/kb8042.c
1318
kb8042_send_and_wait(struct kb8042 *kb8042, uint8_t u8, boolean_t polled)
usr/src/uts/common/io/kb8042/kb8042.c
1320
uint8_t *outp = kb8042->addr +
usr/src/uts/common/io/kb8042/kb8042.c
1322
uint8_t *inavp = kb8042->addr +
usr/src/uts/common/io/kb8042/kb8042.c
1324
uint8_t *inp = kb8042->addr +
usr/src/uts/common/io/kb8042/kb8042.c
133
static void kb8042_get_initial_leds(struct kb8042 *, int *, int *);
usr/src/uts/common/io/kb8042/kb8042.c
1333
kb8042->acked = 0;
usr/src/uts/common/io/kb8042/kb8042.c
1334
kb8042->need_retry = 0;
usr/src/uts/common/io/kb8042/kb8042.c
1338
ddi_put8(kb8042->handle, outp, u8);
usr/src/uts/common/io/kb8042/kb8042.c
134
static boolean_t kb8042_autorepeat_detect(struct kb8042 *kb8042, int key_pos,
usr/src/uts/common/io/kb8042/kb8042.c
1340
while (!kb8042->acked && !kb8042->need_retry && !timedout) {
usr/src/uts/common/io/kb8042/kb8042.c
1343
if (ddi_get8(kb8042->handle, inavp)) {
usr/src/uts/common/io/kb8042/kb8042.c
1344
b = ddi_get8(kb8042->handle, inp);
usr/src/uts/common/io/kb8042/kb8042.c
1347
kb8042->acked = 1;
usr/src/uts/common/io/kb8042/kb8042.c
1350
kb8042->need_retry = 1;
usr/src/uts/common/io/kb8042/kb8042.c
136
static void kb8042_type4_cmd(struct kb8042 *kb8042, int cmd);
usr/src/uts/common/io/kb8042/kb8042.c
137
static void kb8042_ioctlmsg(struct kb8042 *kb8042, queue_t *, mblk_t *);
usr/src/uts/common/io/kb8042/kb8042.c
1370
if (!kb8042->acked) {
usr/src/uts/common/io/kb8042/kb8042.c
1386
if (cv_timedwait(&kb8042->cmd_cv,
usr/src/uts/common/io/kb8042/kb8042.c
1387
&kb8042->w_hw_mutex, expire) == -1 &&
usr/src/uts/common/io/kb8042/kb8042.c
1388
!kb8042->acked && !kb8042->need_retry) {
usr/src/uts/common/io/kb8042/kb8042.c
139
static void kb8042_process_key(struct kb8042 *, kbtrans_key_t, enum keystate);
usr/src/uts/common/io/kb8042/kb8042.c
1394
} while ((kb8042->need_retry || timedout) &&
usr/src/uts/common/io/kb8042/kb8042.c
1397
return (kb8042->acked);
usr/src/uts/common/io/kb8042/kb8042.c
1405
kb8042_send_to_keyboard(struct kb8042 *kb8042, int byte, boolean_t polled)
usr/src/uts/common/io/kb8042/kb8042.c
1418
(void) ddi_get8(kb8042->handle, kb8042->addr +
usr/src/uts/common/io/kb8042/kb8042.c
142
static void kb8042_cleanup(struct kb8042 *kb8042);
usr/src/uts/common/io/kb8042/kb8042.c
1422
if (kb8042_send_and_wait(kb8042, KB_SET_LED, polled)) {
usr/src/uts/common/io/kb8042/kb8042.c
1427
(void) kb8042_send_and_wait(kb8042,
usr/src/uts/common/io/kb8042/kb8042.c
1428
kb8042_xlate_leds(kb8042->leds.desired), polled);
usr/src/uts/common/io/kb8042/kb8042.c
143
static void kb8042_received_byte(struct kb8042 *, int);
usr/src/uts/common/io/kb8042/kb8042.c
1432
(void) ddi_get8(kb8042->handle, kb8042->addr +
usr/src/uts/common/io/kb8042/kb8042.c
1435
kb8042->leds.commanded = kb8042->leds.desired;
usr/src/uts/common/io/kb8042/kb8042.c
1440
(void) ddi_get8(kb8042->handle, kb8042->addr +
usr/src/uts/common/io/kb8042/kb8042.c
1444
(void) kb8042_send_and_wait(kb8042, KB_ENABLE, polled);
usr/src/uts/common/io/kb8042/kb8042.c
1447
(void) ddi_get8(kb8042->handle, kb8042->addr +
usr/src/uts/common/io/kb8042/kb8042.c
1454
ddi_put8(kb8042->handle,
usr/src/uts/common/io/kb8042/kb8042.c
1455
kb8042->addr + I8042_POLL_OUTPUT_DATA, byte);
usr/src/uts/common/io/kb8042/kb8042.c
1457
ddi_put8(kb8042->handle,
usr/src/uts/common/io/kb8042/kb8042.c
1458
kb8042->addr + I8042_INT_OUTPUT_DATA, byte);
usr/src/uts/common/io/kb8042/kb8042.c
1473
kb8042_wait_poweron(struct kb8042 *kb8042)
usr/src/uts/common/io/kb8042/kb8042.c
1480
ready = ddi_get8(kb8042->handle,
usr/src/uts/common/io/kb8042/kb8042.c
1481
kb8042->addr + I8042_INT_INPUT_AVAIL);
usr/src/uts/common/io/kb8042/kb8042.c
1493
(void) ddi_get8(kb8042->handle,
usr/src/uts/common/io/kb8042/kb8042.c
1494
kb8042->addr + I8042_INT_INPUT_DATA);
usr/src/uts/common/io/kb8042/kb8042.c
1518
struct kb8042 *kb8042,
usr/src/uts/common/io/kb8042/kb8042.c
1544
struct kb8042 *kb8042,
usr/src/uts/common/io/kb8042/kb8042.c
1549
if (kb8042->kb_old_key_pos == key_pos)
usr/src/uts/common/io/kb8042/kb8042.c
1550
kb8042->kb_old_key_pos = 0;
usr/src/uts/common/io/kb8042/kb8042.c
1552
if (kb8042->kb_old_key_pos == key_pos) {
usr/src/uts/common/io/kb8042/kb8042.c
1555
kb8042->kb_old_key_pos = key_pos;
usr/src/uts/common/io/kb8042/kb8042.c
1562
kb8042_type4_cmd(struct kb8042 *kb8042, int cmd)
usr/src/uts/common/io/kb8042/kb8042.c
1581
struct kb8042 *kb8042;
usr/src/uts/common/io/kb8042/kb8042.c
1583
kb8042 = (struct kb8042 *)arg;
usr/src/uts/common/io/kb8042/kb8042.c
1585
return (kbtrans_getchar(kb8042->hw_kbtrans));
usr/src/uts/common/io/kb8042/kb8042.c
1594
struct kb8042 *kb8042;
usr/src/uts/common/io/kb8042/kb8042.c
1596
kb8042 = (struct kb8042 *)arg;
usr/src/uts/common/io/kb8042/kb8042.c
1598
return (kbtrans_ischar(kb8042->hw_kbtrans));
usr/src/uts/common/io/kb8042/kb8042.c
205
struct kb8042 Kdws = {0};
usr/src/uts/common/io/kb8042/kb8042.c
293
kb8042_is_input_avail(struct kb8042 *kb8042, int timeout_usec, boolean_t polled)
usr/src/uts/common/io/kb8042/kb8042.c
301
if (ddi_get8(kb8042->handle, kb8042->addr + port) != 0)
usr/src/uts/common/io/kb8042/kb8042.c
311
kb8042_clear_input_buffer(struct kb8042 *kb8042, boolean_t polled)
usr/src/uts/common/io/kb8042/kb8042.c
316
while (kb8042_is_input_avail(kb8042, MIN_DELAY_USECS, polled)) {
usr/src/uts/common/io/kb8042/kb8042.c
317
(void) ddi_get8(kb8042->handle, kb8042->addr + port);
usr/src/uts/common/io/kb8042/kb8042.c
325
kb8042_send_and_expect(struct kb8042 *kb8042, uint8_t send, uint8_t expect,
usr/src/uts/common/io/kb8042/kb8042.c
332
ddi_put8(kb8042->handle,
usr/src/uts/common/io/kb8042/kb8042.c
333
kb8042->addr + I8042_POLL_OUTPUT_DATA, send);
usr/src/uts/common/io/kb8042/kb8042.c
335
if (kb8042_is_input_avail(kb8042, timeout, B_TRUE)) {
usr/src/uts/common/io/kb8042/kb8042.c
337
datab = ddi_get8(kb8042->handle,
usr/src/uts/common/io/kb8042/kb8042.c
338
kb8042->addr + I8042_POLL_INPUT_DATA);
usr/src/uts/common/io/kb8042/kb8042.c
370
kb8042_read_scanset(struct kb8042 *kb8042)
usr/src/uts/common/io/kb8042/kb8042.c
376
kb8042_clear_input_buffer(kb8042, B_TRUE);
usr/src/uts/common/io/kb8042/kb8042.c
382
if (kb8042_send_and_expect(kb8042, KB_SET_SCAN, KB_ACK, MAX_WAIT_USECS,
usr/src/uts/common/io/kb8042/kb8042.c
391
if (kb8042_send_and_expect(kb8042, 0, KB_ACK, MAX_WAIT_USECS, &err,
usr/src/uts/common/io/kb8042/kb8042.c
401
while (kb8042_is_input_avail(kb8042, MAX_WAIT_USECS, B_TRUE) &&
usr/src/uts/common/io/kb8042/kb8042.c
402
(scanset = ddi_get8(kb8042->handle,
usr/src/uts/common/io/kb8042/kb8042.c
403
kb8042->addr + I8042_POLL_INPUT_DATA)) == KB_ACK)
usr/src/uts/common/io/kb8042/kb8042.c
434
struct kb8042 *kb8042 = &Kdws;
usr/src/uts/common/io/kb8042/kb8042.c
443
leds = kb8042->leds.commanded;
usr/src/uts/common/io/kb8042/kb8042.c
444
kb8042->w_init = 0;
usr/src/uts/common/io/kb8042/kb8042.c
445
kb8042_init(kb8042, B_TRUE);
usr/src/uts/common/io/kb8042/kb8042.c
446
kb8042_setled(kb8042, leds, B_FALSE);
usr/src/uts/common/io/kb8042/kb8042.c
447
mutex_enter(&kb8042->w_hw_mutex);
usr/src/uts/common/io/kb8042/kb8042.c
448
kb8042->suspended = B_FALSE;
usr/src/uts/common/io/kb8042/kb8042.c
449
if (kb8042->w_qp != NULL) {
usr/src/uts/common/io/kb8042/kb8042.c
450
enableok(WR(kb8042->w_qp));
usr/src/uts/common/io/kb8042/kb8042.c
451
qenable(WR(kb8042->w_qp));
usr/src/uts/common/io/kb8042/kb8042.c
453
cv_broadcast(&kb8042->suspend_cv);
usr/src/uts/common/io/kb8042/kb8042.c
454
mutex_exit(&kb8042->w_hw_mutex);
usr/src/uts/common/io/kb8042/kb8042.c
467
kb8042->debugger.mod1 = 58; /* Left Ctrl */
usr/src/uts/common/io/kb8042/kb8042.c
468
kb8042->debugger.mod2 = 60; /* Left Alt */
usr/src/uts/common/io/kb8042/kb8042.c
469
kb8042->debugger.trigger = 33; /* D */
usr/src/uts/common/io/kb8042/kb8042.c
470
kb8042->debugger.mod1_down = B_FALSE;
usr/src/uts/common/io/kb8042/kb8042.c
471
kb8042->debugger.mod2_down = B_FALSE;
usr/src/uts/common/io/kb8042/kb8042.c
472
kb8042->debugger.enabled = B_FALSE;
usr/src/uts/common/io/kb8042/kb8042.c
475
kb8042->init_state = KB8042_UNINITIALIZED;
usr/src/uts/common/io/kb8042/kb8042.c
477
kb8042->polled_synthetic_release_pending = B_FALSE;
usr/src/uts/common/io/kb8042/kb8042.c
484
kb8042->init_state |= KB8042_MINOR_NODE_CREATED;
usr/src/uts/common/io/kb8042/kb8042.c
486
rc = ddi_regs_map_setup(devi, 0, (caddr_t *)&kb8042->addr,
usr/src/uts/common/io/kb8042/kb8042.c
487
(offset_t)0, (offset_t)0, &attr, &kb8042->handle);
usr/src/uts/common/io/kb8042/kb8042.c
495
kb8042->init_state |= KB8042_REGS_MAPPED;
usr/src/uts/common/io/kb8042/kb8042.c
497
if (ddi_get_iblock_cookie(devi, 0, &kb8042->w_iblock) !=
usr/src/uts/common/io/kb8042/kb8042.c
503
mutex_init(&kb8042->w_hw_mutex, NULL, MUTEX_DRIVER, kb8042->w_iblock);
usr/src/uts/common/io/kb8042/kb8042.c
504
cv_init(&kb8042->ops_cv, NULL, CV_DRIVER, NULL);
usr/src/uts/common/io/kb8042/kb8042.c
505
cv_init(&kb8042->suspend_cv, NULL, CV_DRIVER, NULL);
usr/src/uts/common/io/kb8042/kb8042.c
506
cv_init(&kb8042->cmd_cv, NULL, CV_DRIVER, NULL);
usr/src/uts/common/io/kb8042/kb8042.c
507
kb8042->init_state |= KB8042_HW_MUTEX_INITTED;
usr/src/uts/common/io/kb8042/kb8042.c
509
kb8042_init(kb8042, B_FALSE);
usr/src/uts/common/io/kb8042/kb8042.c
513
scanset = kb8042_read_scanset(kb8042);
usr/src/uts/common/io/kb8042/kb8042.c
538
if (KeyboardConvertScan_init(kb8042, scanset) != DDI_SUCCESS) {
usr/src/uts/common/io/kb8042/kb8042.c
549
&kb8042->w_iblock, (ddi_idevice_cookie_t *)NULL,
usr/src/uts/common/io/kb8042/kb8042.c
550
kb8042_intr, (caddr_t)kb8042) != DDI_SUCCESS) {
usr/src/uts/common/io/kb8042/kb8042.c
555
kb8042->init_state |= KB8042_INTR_ADDED;
usr/src/uts/common/io/kb8042/kb8042.c
567
kb8042_cleanup(kb8042);
usr/src/uts/common/io/kb8042/kb8042.c
574
struct kb8042 *kb8042 = &Kdws;
usr/src/uts/common/io/kb8042/kb8042.c
578
mutex_enter(&kb8042->w_hw_mutex);
usr/src/uts/common/io/kb8042/kb8042.c
579
ASSERT(kb8042->ops >= 0);
usr/src/uts/common/io/kb8042/kb8042.c
580
while (kb8042->ops > 0)
usr/src/uts/common/io/kb8042/kb8042.c
581
cv_wait(&kb8042->ops_cv, &kb8042->w_hw_mutex);
usr/src/uts/common/io/kb8042/kb8042.c
582
kb8042->suspended = B_TRUE;
usr/src/uts/common/io/kb8042/kb8042.c
583
mutex_exit(&kb8042->w_hw_mutex);
usr/src/uts/common/io/kb8042/kb8042.c
588
if (kb8042->w_qp != NULL)
usr/src/uts/common/io/kb8042/kb8042.c
593
kb8042_cleanup(kb8042);
usr/src/uts/common/io/kb8042/kb8042.c
636
kb8042_cleanup(struct kb8042 *kb8042)
usr/src/uts/common/io/kb8042/kb8042.c
640
if (kb8042->init_state & KB8042_INTR_ADDED)
usr/src/uts/common/io/kb8042/kb8042.c
641
ddi_remove_intr(kb8042_dip, 0, kb8042->w_iblock);
usr/src/uts/common/io/kb8042/kb8042.c
643
if (kb8042->init_state & KB8042_HW_MUTEX_INITTED) {
usr/src/uts/common/io/kb8042/kb8042.c
644
cv_destroy(&kb8042->cmd_cv);
usr/src/uts/common/io/kb8042/kb8042.c
645
cv_destroy(&kb8042->suspend_cv);
usr/src/uts/common/io/kb8042/kb8042.c
646
cv_destroy(&kb8042->ops_cv);
usr/src/uts/common/io/kb8042/kb8042.c
647
mutex_destroy(&kb8042->w_hw_mutex);
usr/src/uts/common/io/kb8042/kb8042.c
650
if (kb8042->init_state & KB8042_REGS_MAPPED)
usr/src/uts/common/io/kb8042/kb8042.c
651
ddi_regs_map_free(&kb8042->handle);
usr/src/uts/common/io/kb8042/kb8042.c
653
if (kb8042->init_state & KB8042_MINOR_NODE_CREATED)
usr/src/uts/common/io/kb8042/kb8042.c
656
kb8042->init_state = KB8042_UNINITIALIZED;
usr/src/uts/common/io/kb8042/kb8042.c
661
kb8042_init(struct kb8042 *kb8042, boolean_t from_resume)
usr/src/uts/common/io/kb8042/kb8042.c
663
if (kb8042->w_init)
usr/src/uts/common/io/kb8042/kb8042.c
667
kb8042->w_kblayout = 0; /* Default to US */
usr/src/uts/common/io/kb8042/kb8042.c
668
kb8042->w_qp = (queue_t *)NULL;
usr/src/uts/common/io/kb8042/kb8042.c
669
kb8042->simulated_kbd_type = KB_PC;
usr/src/uts/common/io/kb8042/kb8042.c
670
kb8042->leds.commanded = -1; /* Unknown initial state */
usr/src/uts/common/io/kb8042/kb8042.c
671
kb8042->leds.desired = -1; /* Unknown initial state */
usr/src/uts/common/io/kb8042/kb8042.c
674
kb8042_wait_poweron(kb8042);
usr/src/uts/common/io/kb8042/kb8042.c
676
kb8042->kb_old_key_pos = 0;
usr/src/uts/common/io/kb8042/kb8042.c
683
(void) ddi_get8(kb8042->handle, kb8042->addr + I8042_LOCK);
usr/src/uts/common/io/kb8042/kb8042.c
685
kb8042_send_to_keyboard(kb8042, KB_ENABLE, B_TRUE);
usr/src/uts/common/io/kb8042/kb8042.c
686
(void) ddi_get8(kb8042->handle, kb8042->addr + I8042_UNLOCK);
usr/src/uts/common/io/kb8042/kb8042.c
688
kb8042->w_init++;
usr/src/uts/common/io/kb8042/kb8042.c
697
struct kb8042 *kb8042;
usr/src/uts/common/io/kb8042/kb8042.c
702
kb8042 = &Kdws;
usr/src/uts/common/io/kb8042/kb8042.c
704
mutex_enter(&kb8042->w_hw_mutex);
usr/src/uts/common/io/kb8042/kb8042.c
706
kb8042->w_dev = *devp;
usr/src/uts/common/io/kb8042/kb8042.c
707
mutex_exit(&kb8042->w_hw_mutex);
usr/src/uts/common/io/kb8042/kb8042.c
712
mutex_exit(&kb8042->w_hw_mutex);
usr/src/uts/common/io/kb8042/kb8042.c
716
while (kb8042->suspended) {
usr/src/uts/common/io/kb8042/kb8042.c
717
if (cv_wait_sig(&kb8042->suspend_cv, &kb8042->w_hw_mutex) ==
usr/src/uts/common/io/kb8042/kb8042.c
719
mutex_exit(&kb8042->w_hw_mutex);
usr/src/uts/common/io/kb8042/kb8042.c
724
kb8042->w_dev = *devp;
usr/src/uts/common/io/kb8042/kb8042.c
725
qp->q_ptr = (caddr_t)kb8042;
usr/src/uts/common/io/kb8042/kb8042.c
727
if (!kb8042->w_qp)
usr/src/uts/common/io/kb8042/kb8042.c
728
kb8042->w_qp = qp;
usr/src/uts/common/io/kb8042/kb8042.c
730
ASSERT(kb8042->ops >= 0);
usr/src/uts/common/io/kb8042/kb8042.c
731
kb8042->ops++;
usr/src/uts/common/io/kb8042/kb8042.c
732
mutex_exit(&kb8042->w_hw_mutex);
usr/src/uts/common/io/kb8042/kb8042.c
734
kb8042_get_initial_leds(kb8042, &initial_leds, &initial_led_mask);
usr/src/uts/common/io/kb8042/kb8042.c
736
(struct kbtrans_hardware *)kb8042, &kb8042_callbacks,
usr/src/uts/common/io/kb8042/kb8042.c
737
&kb8042->hw_kbtrans,
usr/src/uts/common/io/kb8042/kb8042.c
742
kbtrans_streams_set_keyboard(kb8042->hw_kbtrans, KB_PC, &keyindex_pc);
usr/src/uts/common/io/kb8042/kb8042.c
744
kb8042->polledio.cons_polledio_version = CONSPOLLEDIO_V1;
usr/src/uts/common/io/kb8042/kb8042.c
745
kb8042->polledio.cons_polledio_argument =
usr/src/uts/common/io/kb8042/kb8042.c
746
(cons_polledio_arg_t)kb8042;
usr/src/uts/common/io/kb8042/kb8042.c
747
kb8042->polledio.cons_polledio_putchar = NULL;
usr/src/uts/common/io/kb8042/kb8042.c
748
kb8042->polledio.cons_polledio_getchar =
usr/src/uts/common/io/kb8042/kb8042.c
750
kb8042->polledio.cons_polledio_ischar =
usr/src/uts/common/io/kb8042/kb8042.c
752
kb8042->polledio.cons_polledio_enter = NULL;
usr/src/uts/common/io/kb8042/kb8042.c
753
kb8042->polledio.cons_polledio_exit = NULL;
usr/src/uts/common/io/kb8042/kb8042.c
754
kb8042->polledio.cons_polledio_setled =
usr/src/uts/common/io/kb8042/kb8042.c
756
kb8042->polledio.cons_polledio_keycheck =
usr/src/uts/common/io/kb8042/kb8042.c
762
kbtrans_streams_enable(kb8042->hw_kbtrans);
usr/src/uts/common/io/kb8042/kb8042.c
765
mutex_enter(&kb8042->w_hw_mutex);
usr/src/uts/common/io/kb8042/kb8042.c
766
ASSERT(kb8042->ops > 0);
usr/src/uts/common/io/kb8042/kb8042.c
767
kb8042->ops--;
usr/src/uts/common/io/kb8042/kb8042.c
768
if (kb8042->ops == 0)
usr/src/uts/common/io/kb8042/kb8042.c
769
cv_broadcast(&kb8042->ops_cv);
usr/src/uts/common/io/kb8042/kb8042.c
770
mutex_exit(&kb8042->w_hw_mutex);
usr/src/uts/common/io/kb8042/kb8042.c
779
struct kb8042 *kb8042;
usr/src/uts/common/io/kb8042/kb8042.c
784
kb8042 = (struct kb8042 *)qp->q_ptr;
usr/src/uts/common/io/kb8042/kb8042.c
786
mutex_enter(&kb8042->w_hw_mutex);
usr/src/uts/common/io/kb8042/kb8042.c
787
while (kb8042->suspended) {
usr/src/uts/common/io/kb8042/kb8042.c
788
if (cv_wait_sig(&kb8042->suspend_cv, &kb8042->w_hw_mutex) ==
usr/src/uts/common/io/kb8042/kb8042.c
790
mutex_exit(&kb8042->w_hw_mutex);
usr/src/uts/common/io/kb8042/kb8042.c
795
ASSERT(kb8042->ops >= 0);
usr/src/uts/common/io/kb8042/kb8042.c
796
kb8042->ops++;
usr/src/uts/common/io/kb8042/kb8042.c
797
mutex_exit(&kb8042->w_hw_mutex);
usr/src/uts/common/io/kb8042/kb8042.c
799
(void) kbtrans_streams_fini(kb8042->hw_kbtrans);
usr/src/uts/common/io/kb8042/kb8042.c
801
kb8042->w_qp = (queue_t *)NULL;
usr/src/uts/common/io/kb8042/kb8042.c
804
mutex_enter(&kb8042->w_hw_mutex);
usr/src/uts/common/io/kb8042/kb8042.c
805
ASSERT(kb8042->ops > 0);
usr/src/uts/common/io/kb8042/kb8042.c
806
kb8042->ops--;
usr/src/uts/common/io/kb8042/kb8042.c
807
if (kb8042->ops == 0)
usr/src/uts/common/io/kb8042/kb8042.c
808
cv_broadcast(&kb8042->ops_cv);
usr/src/uts/common/io/kb8042/kb8042.c
809
mutex_exit(&kb8042->w_hw_mutex);
usr/src/uts/common/io/kb8042/kb8042.c
818
struct kb8042 *kb8042;
usr/src/uts/common/io/kb8042/kb8042.c
822
kb8042 = (struct kb8042 *)qp->q_ptr;
usr/src/uts/common/io/kb8042/kb8042.c
823
kb8042_received_byte(kb8042, *mp->b_rptr);
usr/src/uts/common/io/kb8042/kb8042.c
833
struct kb8042 *kb8042;
usr/src/uts/common/io/kb8042/kb8042.c
838
kb8042 = (struct kb8042 *)qp->q_ptr;
usr/src/uts/common/io/kb8042/kb8042.c
840
mutex_enter(&kb8042->w_hw_mutex);
usr/src/uts/common/io/kb8042/kb8042.c
841
suspended = kb8042->suspended;
usr/src/uts/common/io/kb8042/kb8042.c
842
ASSERT(kb8042->ops >= 0);
usr/src/uts/common/io/kb8042/kb8042.c
844
kb8042->ops++;
usr/src/uts/common/io/kb8042/kb8042.c
845
mutex_exit(&kb8042->w_hw_mutex);
usr/src/uts/common/io/kb8042/kb8042.c
857
switch (kbtrans_streams_message(kb8042->hw_kbtrans, mp)) {
usr/src/uts/common/io/kb8042/kb8042.c
865
kb8042_ioctlmsg(kb8042, qp, mp);
usr/src/uts/common/io/kb8042/kb8042.c
891
mutex_enter(&kb8042->w_hw_mutex);
usr/src/uts/common/io/kb8042/kb8042.c
893
ASSERT(kb8042->ops > 0);
usr/src/uts/common/io/kb8042/kb8042.c
894
kb8042->ops--;
usr/src/uts/common/io/kb8042/kb8042.c
895
if (kb8042->ops == 0)
usr/src/uts/common/io/kb8042/kb8042.c
896
cv_broadcast(&kb8042->ops_cv);
usr/src/uts/common/io/kb8042/kb8042.c
898
mutex_exit(&kb8042->w_hw_mutex);
usr/src/uts/common/io/kb8042/kb8042.c
904
kb8042_ioctlmsg(struct kb8042 *kb8042, queue_t *qp, mblk_t *mp)
usr/src/uts/common/io/kb8042/kb8042.c
930
&kb8042->polledio;
usr/src/uts/common/io/kb8042/kb8042.c
946
kb8042->debugger.enabled = *(intptr_t *)mp->b_cont->b_rptr;
usr/src/uts/common/io/kb8042/kb8042.c
964
kb8042->simulated_kbd_type = tmp;
usr/src/uts/common/io/kb8042/kb8042.c
969
if (kb8042->w_kblayout == -1) {
usr/src/uts/common/io/kb8042/kb8042.c
979
if (kb8042->simulated_kbd_type == KB_USB)
usr/src/uts/common/io/kb8042/kb8042.c
982
*(int *)datap->b_wptr = kb8042->w_kblayout;
usr/src/uts/common/io/kb8042/kb8042.h
120
extern boolean_t KeyboardConvertScan(struct kb8042 *, unsigned char scan,
usr/src/uts/common/io/kb8042/kb8042.h
122
extern int KeyboardConvertScan_init(struct kb8042 *, int scanset);