usr/src/boot/libsa/dosfs.c
561
uint_t sc, RootDirSectors;
usr/src/boot/libsa/dosfs.c
609
if (!(sc = cv2(bs->bpb.secs)) && !(sc = cv4(bs->bpb.lsecs)))
usr/src/boot/libsa/dosfs.c
611
if (fs->lsndta > sc)
usr/src/boot/libsa/dosfs.c
613
if ((fs->xclus = secblk(fs, sc - fs->lsndta) + 1) < LOCLUS)
usr/src/boot/libsa/dosfs.c
616
sc = (secbyt(fs, fs->spf) << 1) / (fs->fatsz >> 2) - 1;
usr/src/boot/libsa/dosfs.c
617
if (fs->xclus > sc)
usr/src/boot/libsa/dosfs.c
618
fs->xclus = sc;
usr/src/boot/libsa/string/strpbrk.c
45
int c, sc;
usr/src/boot/libsa/string/strpbrk.c
48
for (scanp = s2; (sc = *scanp++) != '\0';)
usr/src/boot/libsa/string/strpbrk.c
49
if (sc == c)
usr/src/boot/libsa/string/strsep.c
55
int c, sc;
usr/src/boot/libsa/string/strsep.c
64
if ((sc = *spanp++) == c) {
usr/src/boot/libsa/string/strsep.c
72
} while (sc != 0);
usr/src/boot/libsa/string/strstr.c
47
char c, sc;
usr/src/boot/libsa/string/strstr.c
54
if ((sc = *s++) == '\0')
usr/src/boot/libsa/string/strstr.c
56
} while (sc != c);
usr/src/boot/libsa/string/strtok.c
55
int c, sc;
usr/src/boot/libsa/string/strtok.c
65
for (spanp = (char *)delim; (sc = *spanp++) != 0;) {
usr/src/boot/libsa/string/strtok.c
66
if (c == sc)
usr/src/boot/libsa/string/strtok.c
84
if ((sc = *spanp++) == c) {
usr/src/boot/libsa/string/strtok.c
92
} while (sc != 0);
usr/src/cmd/awk/lex.c
169
int sc = 0; /* 1 => return a } right now */
usr/src/cmd/awk/lex.c
182
if (sc) {
usr/src/cmd/awk/lex.c
183
sc = 0;
usr/src/cmd/awk/lex.c
372
sc = 1;
usr/src/cmd/bhyve/amd64/atkbdc.c
139
atkbdc_assert_kbd_intr(struct atkbdc_softc *sc)
usr/src/cmd/bhyve/amd64/atkbdc.c
141
if ((sc->ram[0] & KBD_ENABLE_KBD_INT) != 0) {
usr/src/cmd/bhyve/amd64/atkbdc.c
142
sc->kbd.irq_active = true;
usr/src/cmd/bhyve/amd64/atkbdc.c
143
vm_isa_pulse_irq(sc->ctx, sc->kbd.irq, sc->kbd.irq);
usr/src/cmd/bhyve/amd64/atkbdc.c
148
atkbdc_assert_aux_intr(struct atkbdc_softc *sc)
usr/src/cmd/bhyve/amd64/atkbdc.c
150
if ((sc->ram[0] & KBD_ENABLE_AUX_INT) != 0) {
usr/src/cmd/bhyve/amd64/atkbdc.c
151
sc->aux.irq_active = true;
usr/src/cmd/bhyve/amd64/atkbdc.c
152
vm_isa_pulse_irq(sc->ctx, sc->aux.irq, sc->aux.irq);
usr/src/cmd/bhyve/amd64/atkbdc.c
157
atkbdc_kbd_queue_data(struct atkbdc_softc *sc, uint8_t val)
usr/src/cmd/bhyve/amd64/atkbdc.c
159
assert(pthread_mutex_isowned_np(&sc->mtx));
usr/src/cmd/bhyve/amd64/atkbdc.c
161
if (sc->kbd.bcnt < FIFOSZ) {
usr/src/cmd/bhyve/amd64/atkbdc.c
162
sc->kbd.buffer[sc->kbd.bwr] = val;
usr/src/cmd/bhyve/amd64/atkbdc.c
163
sc->kbd.bwr = (sc->kbd.bwr + 1) % FIFOSZ;
usr/src/cmd/bhyve/amd64/atkbdc.c
164
sc->kbd.bcnt++;
usr/src/cmd/bhyve/amd64/atkbdc.c
165
sc->status |= KBDS_KBD_BUFFER_FULL;
usr/src/cmd/bhyve/amd64/atkbdc.c
166
sc->outport |= KBDO_KBD_OUTFULL;
usr/src/cmd/bhyve/amd64/atkbdc.c
171
return (sc->kbd.bcnt < FIFOSZ);
usr/src/cmd/bhyve/amd64/atkbdc.c
175
atkbdc_kbd_read(struct atkbdc_softc *sc)
usr/src/cmd/bhyve/amd64/atkbdc.c
214
assert(pthread_mutex_isowned_np(&sc->mtx));
usr/src/cmd/bhyve/amd64/atkbdc.c
216
if (sc->ram[0] & KBD_TRANSLATION) {
usr/src/cmd/bhyve/amd64/atkbdc.c
217
while (ps2kbd_read(sc->ps2kbd_sc, &val) != -1) {
usr/src/cmd/bhyve/amd64/atkbdc.c
224
atkbdc_kbd_queue_data(sc, val);
usr/src/cmd/bhyve/amd64/atkbdc.c
228
while (sc->kbd.bcnt < FIFOSZ) {
usr/src/cmd/bhyve/amd64/atkbdc.c
229
if (ps2kbd_read(sc->ps2kbd_sc, &val) != -1)
usr/src/cmd/bhyve/amd64/atkbdc.c
230
atkbdc_kbd_queue_data(sc, val);
usr/src/cmd/bhyve/amd64/atkbdc.c
236
if (((sc->ram[0] & KBD_DISABLE_AUX_PORT) ||
usr/src/cmd/bhyve/amd64/atkbdc.c
237
ps2mouse_fifocnt(sc->ps2mouse_sc) == 0) && sc->kbd.bcnt > 0)
usr/src/cmd/bhyve/amd64/atkbdc.c
238
atkbdc_assert_kbd_intr(sc);
usr/src/cmd/bhyve/amd64/atkbdc.c
242
atkbdc_aux_poll(struct atkbdc_softc *sc)
usr/src/cmd/bhyve/amd64/atkbdc.c
244
if (ps2mouse_fifocnt(sc->ps2mouse_sc) > 0) {
usr/src/cmd/bhyve/amd64/atkbdc.c
245
sc->status |= KBDS_AUX_BUFFER_FULL | KBDS_KBD_BUFFER_FULL;
usr/src/cmd/bhyve/amd64/atkbdc.c
246
sc->outport |= KBDO_AUX_OUTFULL;
usr/src/cmd/bhyve/amd64/atkbdc.c
247
atkbdc_assert_aux_intr(sc);
usr/src/cmd/bhyve/amd64/atkbdc.c
252
atkbdc_kbd_poll(struct atkbdc_softc *sc)
usr/src/cmd/bhyve/amd64/atkbdc.c
254
assert(pthread_mutex_isowned_np(&sc->mtx));
usr/src/cmd/bhyve/amd64/atkbdc.c
256
atkbdc_kbd_read(sc);
usr/src/cmd/bhyve/amd64/atkbdc.c
260
atkbdc_poll(struct atkbdc_softc *sc)
usr/src/cmd/bhyve/amd64/atkbdc.c
262
atkbdc_aux_poll(sc);
usr/src/cmd/bhyve/amd64/atkbdc.c
263
atkbdc_kbd_poll(sc);
usr/src/cmd/bhyve/amd64/atkbdc.c
267
atkbdc_dequeue_data(struct atkbdc_softc *sc, uint8_t *buf)
usr/src/cmd/bhyve/amd64/atkbdc.c
269
assert(pthread_mutex_isowned_np(&sc->mtx));
usr/src/cmd/bhyve/amd64/atkbdc.c
271
if (ps2mouse_read(sc->ps2mouse_sc, buf) == 0) {
usr/src/cmd/bhyve/amd64/atkbdc.c
272
if (ps2mouse_fifocnt(sc->ps2mouse_sc) == 0) {
usr/src/cmd/bhyve/amd64/atkbdc.c
273
if (sc->kbd.bcnt == 0)
usr/src/cmd/bhyve/amd64/atkbdc.c
274
sc->status &= ~(KBDS_AUX_BUFFER_FULL |
usr/src/cmd/bhyve/amd64/atkbdc.c
277
sc->status &= ~(KBDS_AUX_BUFFER_FULL);
usr/src/cmd/bhyve/amd64/atkbdc.c
278
sc->outport &= ~KBDO_AUX_OUTFULL;
usr/src/cmd/bhyve/amd64/atkbdc.c
281
atkbdc_poll(sc);
usr/src/cmd/bhyve/amd64/atkbdc.c
285
if (sc->kbd.bcnt > 0) {
usr/src/cmd/bhyve/amd64/atkbdc.c
286
*buf = sc->kbd.buffer[sc->kbd.brd];
usr/src/cmd/bhyve/amd64/atkbdc.c
287
sc->kbd.brd = (sc->kbd.brd + 1) % FIFOSZ;
usr/src/cmd/bhyve/amd64/atkbdc.c
288
sc->kbd.bcnt--;
usr/src/cmd/bhyve/amd64/atkbdc.c
289
if (sc->kbd.bcnt == 0) {
usr/src/cmd/bhyve/amd64/atkbdc.c
290
sc->status &= ~KBDS_KBD_BUFFER_FULL;
usr/src/cmd/bhyve/amd64/atkbdc.c
291
sc->outport &= ~KBDO_KBD_OUTFULL;
usr/src/cmd/bhyve/amd64/atkbdc.c
294
atkbdc_poll(sc);
usr/src/cmd/bhyve/amd64/atkbdc.c
297
if (ps2mouse_fifocnt(sc->ps2mouse_sc) == 0 && sc->kbd.bcnt == 0) {
usr/src/cmd/bhyve/amd64/atkbdc.c
298
sc->status &= ~(KBDS_AUX_BUFFER_FULL | KBDS_KBD_BUFFER_FULL);
usr/src/cmd/bhyve/amd64/atkbdc.c
306
struct atkbdc_softc *sc;
usr/src/cmd/bhyve/amd64/atkbdc.c
312
sc = arg;
usr/src/cmd/bhyve/amd64/atkbdc.c
315
pthread_mutex_lock(&sc->mtx);
usr/src/cmd/bhyve/amd64/atkbdc.c
317
sc->curcmd = 0;
usr/src/cmd/bhyve/amd64/atkbdc.c
318
if (sc->ctrlbyte != 0) {
usr/src/cmd/bhyve/amd64/atkbdc.c
319
*eax = sc->ctrlbyte & 0xff;
usr/src/cmd/bhyve/amd64/atkbdc.c
320
sc->ctrlbyte = 0;
usr/src/cmd/bhyve/amd64/atkbdc.c
323
atkbdc_dequeue_data(sc, &buf);
usr/src/cmd/bhyve/amd64/atkbdc.c
327
sc->status &= ~KBDS_CTRL_FLAG;
usr/src/cmd/bhyve/amd64/atkbdc.c
328
pthread_mutex_unlock(&sc->mtx);
usr/src/cmd/bhyve/amd64/atkbdc.c
332
if (sc->status & KBDS_CTRL_FLAG) {
usr/src/cmd/bhyve/amd64/atkbdc.c
336
switch (sc->curcmd) {
usr/src/cmd/bhyve/amd64/atkbdc.c
338
sc->ram[0] = *eax;
usr/src/cmd/bhyve/amd64/atkbdc.c
339
if (sc->ram[0] & KBD_SYS_FLAG_BIT)
usr/src/cmd/bhyve/amd64/atkbdc.c
340
sc->status |= KBDS_SYS_FLAG;
usr/src/cmd/bhyve/amd64/atkbdc.c
342
sc->status &= ~KBDS_SYS_FLAG;
usr/src/cmd/bhyve/amd64/atkbdc.c
345
sc->outport = *eax;
usr/src/cmd/bhyve/amd64/atkbdc.c
348
ps2mouse_write(sc->ps2mouse_sc, *eax, 0);
usr/src/cmd/bhyve/amd64/atkbdc.c
349
atkbdc_poll(sc);
usr/src/cmd/bhyve/amd64/atkbdc.c
352
atkbdc_kbd_queue_data(sc, *eax);
usr/src/cmd/bhyve/amd64/atkbdc.c
355
ps2mouse_write(sc->ps2mouse_sc, *eax, 1);
usr/src/cmd/bhyve/amd64/atkbdc.c
356
sc->status |= (KBDS_AUX_BUFFER_FULL | KBDS_KBD_BUFFER_FULL);
usr/src/cmd/bhyve/amd64/atkbdc.c
357
atkbdc_aux_poll(sc);
usr/src/cmd/bhyve/amd64/atkbdc.c
361
if (sc->curcmd >= 0x61 && sc->curcmd <= 0x7f) {
usr/src/cmd/bhyve/amd64/atkbdc.c
364
byten = (sc->curcmd - 0x60) & 0x1f;
usr/src/cmd/bhyve/amd64/atkbdc.c
365
sc->ram[byten] = *eax & 0xff;
usr/src/cmd/bhyve/amd64/atkbdc.c
370
sc->curcmd = 0;
usr/src/cmd/bhyve/amd64/atkbdc.c
371
sc->status &= ~KBDS_CTRL_FLAG;
usr/src/cmd/bhyve/amd64/atkbdc.c
373
pthread_mutex_unlock(&sc->mtx);
usr/src/cmd/bhyve/amd64/atkbdc.c
380
ps2kbd_write(sc->ps2kbd_sc, *eax);
usr/src/cmd/bhyve/amd64/atkbdc.c
381
atkbdc_poll(sc);
usr/src/cmd/bhyve/amd64/atkbdc.c
383
pthread_mutex_unlock(&sc->mtx);
usr/src/cmd/bhyve/amd64/atkbdc.c
392
struct atkbdc_softc *sc;
usr/src/cmd/bhyve/amd64/atkbdc.c
398
sc = arg;
usr/src/cmd/bhyve/amd64/atkbdc.c
401
pthread_mutex_lock(&sc->mtx);
usr/src/cmd/bhyve/amd64/atkbdc.c
405
*eax = sc->status;
usr/src/cmd/bhyve/amd64/atkbdc.c
406
pthread_mutex_unlock(&sc->mtx);
usr/src/cmd/bhyve/amd64/atkbdc.c
411
sc->curcmd = 0;
usr/src/cmd/bhyve/amd64/atkbdc.c
412
sc->status |= KBDS_CTRL_FLAG;
usr/src/cmd/bhyve/amd64/atkbdc.c
413
sc->ctrlbyte = 0;
usr/src/cmd/bhyve/amd64/atkbdc.c
417
sc->ctrlbyte = CTRL_CMD_FLAG | sc->ram[0];
usr/src/cmd/bhyve/amd64/atkbdc.c
420
sc->ctrlbyte = CTRL_CMD_FLAG | 0x55;
usr/src/cmd/bhyve/amd64/atkbdc.c
424
sc->ctrlbyte = CTRL_CMD_FLAG | 0;
usr/src/cmd/bhyve/amd64/atkbdc.c
427
sc->ctrlbyte = CTRL_CMD_FLAG | 0;
usr/src/cmd/bhyve/amd64/atkbdc.c
430
sc->ctrlbyte = CTRL_CMD_FLAG | sc->outport;
usr/src/cmd/bhyve/amd64/atkbdc.c
436
sc->curcmd = *eax;
usr/src/cmd/bhyve/amd64/atkbdc.c
439
sc->ram[0] |= KBD_DISABLE_KBD_PORT;
usr/src/cmd/bhyve/amd64/atkbdc.c
442
sc->ram[0] &= ~KBD_DISABLE_KBD_PORT;
usr/src/cmd/bhyve/amd64/atkbdc.c
443
if (sc->kbd.bcnt > 0)
usr/src/cmd/bhyve/amd64/atkbdc.c
444
sc->status |= KBDS_KBD_BUFFER_FULL;
usr/src/cmd/bhyve/amd64/atkbdc.c
445
atkbdc_poll(sc);
usr/src/cmd/bhyve/amd64/atkbdc.c
448
sc->curcmd = *eax;
usr/src/cmd/bhyve/amd64/atkbdc.c
451
sc->ram[0] |= KBD_DISABLE_AUX_PORT;
usr/src/cmd/bhyve/amd64/atkbdc.c
452
ps2mouse_toggle(sc->ps2mouse_sc, 0);
usr/src/cmd/bhyve/amd64/atkbdc.c
453
sc->status &= ~(KBDS_AUX_BUFFER_FULL | KBDS_KBD_BUFFER_FULL);
usr/src/cmd/bhyve/amd64/atkbdc.c
454
sc->outport &= ~KBDS_AUX_BUFFER_FULL;
usr/src/cmd/bhyve/amd64/atkbdc.c
457
sc->ram[0] &= ~KBD_DISABLE_AUX_PORT;
usr/src/cmd/bhyve/amd64/atkbdc.c
458
ps2mouse_toggle(sc->ps2mouse_sc, 1);
usr/src/cmd/bhyve/amd64/atkbdc.c
459
if (ps2mouse_fifocnt(sc->ps2mouse_sc) > 0)
usr/src/cmd/bhyve/amd64/atkbdc.c
460
sc->status |= KBDS_AUX_BUFFER_FULL | KBDS_KBD_BUFFER_FULL;
usr/src/cmd/bhyve/amd64/atkbdc.c
472
sc->ctrlbyte = CTRL_CMD_FLAG | sc->ram[byten];
usr/src/cmd/bhyve/amd64/atkbdc.c
477
pthread_mutex_unlock(&sc->mtx);
usr/src/cmd/bhyve/amd64/atkbdc.c
479
if (sc->ctrlbyte != 0) {
usr/src/cmd/bhyve/amd64/atkbdc.c
480
sc->status |= KBDS_KBD_BUFFER_FULL;
usr/src/cmd/bhyve/amd64/atkbdc.c
481
sc->status &= ~KBDS_AUX_BUFFER_FULL;
usr/src/cmd/bhyve/amd64/atkbdc.c
482
atkbdc_assert_kbd_intr(sc);
usr/src/cmd/bhyve/amd64/atkbdc.c
483
} else if (ps2mouse_fifocnt(sc->ps2mouse_sc) > 0 &&
usr/src/cmd/bhyve/amd64/atkbdc.c
484
(sc->ram[0] & KBD_DISABLE_AUX_PORT) == 0) {
usr/src/cmd/bhyve/amd64/atkbdc.c
485
sc->status |= KBDS_AUX_BUFFER_FULL | KBDS_KBD_BUFFER_FULL;
usr/src/cmd/bhyve/amd64/atkbdc.c
486
atkbdc_assert_aux_intr(sc);
usr/src/cmd/bhyve/amd64/atkbdc.c
487
} else if (sc->kbd.bcnt > 0 && (sc->ram[0] & KBD_DISABLE_KBD_PORT) == 0) {
usr/src/cmd/bhyve/amd64/atkbdc.c
488
sc->status |= KBDS_KBD_BUFFER_FULL;
usr/src/cmd/bhyve/amd64/atkbdc.c
489
atkbdc_assert_kbd_intr(sc);
usr/src/cmd/bhyve/amd64/atkbdc.c
496
atkbdc_event(struct atkbdc_softc *sc, int iskbd)
usr/src/cmd/bhyve/amd64/atkbdc.c
498
pthread_mutex_lock(&sc->mtx);
usr/src/cmd/bhyve/amd64/atkbdc.c
501
atkbdc_kbd_poll(sc);
usr/src/cmd/bhyve/amd64/atkbdc.c
503
atkbdc_aux_poll(sc);
usr/src/cmd/bhyve/amd64/atkbdc.c
504
pthread_mutex_unlock(&sc->mtx);
usr/src/cmd/bhyve/amd64/atkbdc.c
511
struct atkbdc_softc *sc;
usr/src/cmd/bhyve/amd64/atkbdc.c
514
sc = calloc(1, sizeof(struct atkbdc_softc));
usr/src/cmd/bhyve/amd64/atkbdc.c
515
sc->ctx = ctx;
usr/src/cmd/bhyve/amd64/atkbdc.c
517
pthread_mutex_init(&sc->mtx, NULL);
usr/src/cmd/bhyve/amd64/atkbdc.c
525
iop.arg = sc;
usr/src/cmd/bhyve/amd64/atkbdc.c
536
iop.arg = sc;
usr/src/cmd/bhyve/amd64/atkbdc.c
542
sc->kbd.irq = KBD_DEV_IRQ;
usr/src/cmd/bhyve/amd64/atkbdc.c
545
sc->aux.irq = AUX_DEV_IRQ;
usr/src/cmd/bhyve/amd64/atkbdc.c
547
sc->ps2kbd_sc = ps2kbd_init(sc);
usr/src/cmd/bhyve/amd64/atkbdc.c
548
sc->ps2mouse_sc = ps2mouse_init(sc);
usr/src/cmd/bhyve/amd64/atkbdc.h
34
void atkbdc_event(struct atkbdc_softc *sc, int iskbd);
usr/src/cmd/bhyve/amd64/pci_lpc.c
198
struct lpc_uart_softc *sc = arg;
usr/src/cmd/bhyve/amd64/pci_lpc.c
200
assert(sc->irq >= 0);
usr/src/cmd/bhyve/amd64/pci_lpc.c
202
vm_isa_pulse_irq(lpc_bridge->pi_vmctx, sc->irq, sc->irq);
usr/src/cmd/bhyve/amd64/pci_lpc.c
219
struct lpc_uart_softc *sc = arg;
usr/src/cmd/bhyve/amd64/pci_lpc.c
221
offset = port - sc->iobase;
usr/src/cmd/bhyve/amd64/pci_lpc.c
226
*eax = uart_ns16550_read(sc->uart_softc, offset);
usr/src/cmd/bhyve/amd64/pci_lpc.c
228
uart_ns16550_write(sc->uart_softc, offset, *eax);
usr/src/cmd/bhyve/amd64/pci_lpc.c
232
*eax = uart_ns16550_read(sc->uart_softc, offset);
usr/src/cmd/bhyve/amd64/pci_lpc.c
234
uart_ns16550_read(sc->uart_softc, offset + 1) << 8;
usr/src/cmd/bhyve/amd64/pci_lpc.c
236
uart_ns16550_write(sc->uart_softc, offset, *eax);
usr/src/cmd/bhyve/amd64/pci_lpc.c
237
uart_ns16550_write(sc->uart_softc, offset + 1,
usr/src/cmd/bhyve/amd64/pci_lpc.c
244
*eax = uart_ns16550_read(sc->uart_softc, offset);
usr/src/cmd/bhyve/amd64/pci_lpc.c
245
*eax |= uart_ns16550_read(sc->uart_softc,
usr/src/cmd/bhyve/amd64/pci_lpc.c
247
*eax |= uart_ns16550_read(sc->uart_softc,
usr/src/cmd/bhyve/amd64/pci_lpc.c
249
*eax |= uart_ns16550_read(sc->uart_softc,
usr/src/cmd/bhyve/amd64/pci_lpc.c
252
uart_ns16550_write(sc->uart_softc, offset, *eax);
usr/src/cmd/bhyve/amd64/pci_lpc.c
253
uart_ns16550_write(sc->uart_softc,
usr/src/cmd/bhyve/amd64/pci_lpc.c
255
uart_ns16550_write(sc->uart_softc,
usr/src/cmd/bhyve/amd64/pci_lpc.c
257
uart_ns16550_write(sc->uart_softc,
usr/src/cmd/bhyve/amd64/pci_lpc.c
272
struct lpc_uart_softc *sc;
usr/src/cmd/bhyve/amd64/pci_lpc.c
280
sc = &lpc_uart_softc[unit];
usr/src/cmd/bhyve/amd64/pci_lpc.c
283
if (uart_legacy_alloc(unit, &sc->iobase, &sc->irq) != 0) {
usr/src/cmd/bhyve/amd64/pci_lpc.c
288
pci_irq_reserve(sc->irq);
usr/src/cmd/bhyve/amd64/pci_lpc.c
290
sc->uart_softc = uart_ns16550_init(lpc_uart_intr_assert,
usr/src/cmd/bhyve/amd64/pci_lpc.c
291
lpc_uart_intr_deassert, sc);
usr/src/cmd/bhyve/amd64/pci_lpc.c
297
uart_ns16550_tty_open(sc->uart_softc, backend) != 0) {
usr/src/cmd/bhyve/amd64/pci_lpc.c
305
iop.port = sc->iobase;
usr/src/cmd/bhyve/amd64/pci_lpc.c
309
iop.arg = sc;
usr/src/cmd/bhyve/amd64/pci_lpc.c
313
sc->enabled = 1;
usr/src/cmd/bhyve/amd64/pci_lpc.c
424
struct lpc_uart_softc *sc;
usr/src/cmd/bhyve/amd64/pci_lpc.c
428
sc = &lpc_uart_softc[unit];
usr/src/cmd/bhyve/amd64/pci_lpc.c
429
if (!sc->enabled)
usr/src/cmd/bhyve/amd64/pci_lpc.c
439
dsdt_fixed_ioport(sc->iobase, UART_NS16550_IO_BAR_SIZE);
usr/src/cmd/bhyve/amd64/pci_lpc.c
440
dsdt_fixed_irq(sc->irq);
usr/src/cmd/bhyve/amd64/ps2kbd.c
211
fifo_init(struct ps2kbd_softc *sc)
usr/src/cmd/bhyve/amd64/ps2kbd.c
215
fifo = &sc->fifo;
usr/src/cmd/bhyve/amd64/ps2kbd.c
220
fifo_reset(struct ps2kbd_softc *sc)
usr/src/cmd/bhyve/amd64/ps2kbd.c
224
fifo = &sc->fifo;
usr/src/cmd/bhyve/amd64/ps2kbd.c
230
fifo_put(struct ps2kbd_softc *sc, uint8_t val)
usr/src/cmd/bhyve/amd64/ps2kbd.c
234
fifo = &sc->fifo;
usr/src/cmd/bhyve/amd64/ps2kbd.c
243
fifo_get(struct ps2kbd_softc *sc, uint8_t *val)
usr/src/cmd/bhyve/amd64/ps2kbd.c
247
fifo = &sc->fifo;
usr/src/cmd/bhyve/amd64/ps2kbd.c
259
ps2kbd_read(struct ps2kbd_softc *sc, uint8_t *val)
usr/src/cmd/bhyve/amd64/ps2kbd.c
263
pthread_mutex_lock(&sc->mtx);
usr/src/cmd/bhyve/amd64/ps2kbd.c
264
retval = fifo_get(sc, val);
usr/src/cmd/bhyve/amd64/ps2kbd.c
265
pthread_mutex_unlock(&sc->mtx);
usr/src/cmd/bhyve/amd64/ps2kbd.c
271
ps2kbd_write(struct ps2kbd_softc *sc, uint8_t val)
usr/src/cmd/bhyve/amd64/ps2kbd.c
273
pthread_mutex_lock(&sc->mtx);
usr/src/cmd/bhyve/amd64/ps2kbd.c
274
if (sc->curcmd) {
usr/src/cmd/bhyve/amd64/ps2kbd.c
275
switch (sc->curcmd) {
usr/src/cmd/bhyve/amd64/ps2kbd.c
277
fifo_put(sc, PS2KC_ACK);
usr/src/cmd/bhyve/amd64/ps2kbd.c
280
fifo_put(sc, PS2KC_ACK);
usr/src/cmd/bhyve/amd64/ps2kbd.c
283
fifo_put(sc, PS2KC_ACK);
usr/src/cmd/bhyve/amd64/ps2kbd.c
290
sc->curcmd = 0;
usr/src/cmd/bhyve/amd64/ps2kbd.c
294
fifo_put(sc, PS2KC_ACK);
usr/src/cmd/bhyve/amd64/ps2kbd.c
297
fifo_reset(sc);
usr/src/cmd/bhyve/amd64/ps2kbd.c
298
fifo_put(sc, PS2KC_ACK);
usr/src/cmd/bhyve/amd64/ps2kbd.c
299
fifo_put(sc, PS2KC_BAT_SUCCESS);
usr/src/cmd/bhyve/amd64/ps2kbd.c
302
fifo_reset(sc);
usr/src/cmd/bhyve/amd64/ps2kbd.c
303
fifo_put(sc, PS2KC_ACK);
usr/src/cmd/bhyve/amd64/ps2kbd.c
306
sc->enabled = false;
usr/src/cmd/bhyve/amd64/ps2kbd.c
307
fifo_put(sc, PS2KC_ACK);
usr/src/cmd/bhyve/amd64/ps2kbd.c
310
sc->enabled = true;
usr/src/cmd/bhyve/amd64/ps2kbd.c
311
fifo_reset(sc);
usr/src/cmd/bhyve/amd64/ps2kbd.c
312
fifo_put(sc, PS2KC_ACK);
usr/src/cmd/bhyve/amd64/ps2kbd.c
315
sc->curcmd = val;
usr/src/cmd/bhyve/amd64/ps2kbd.c
316
fifo_put(sc, PS2KC_ACK);
usr/src/cmd/bhyve/amd64/ps2kbd.c
319
fifo_put(sc, PS2KC_ACK);
usr/src/cmd/bhyve/amd64/ps2kbd.c
320
fifo_put(sc, 0xab);
usr/src/cmd/bhyve/amd64/ps2kbd.c
321
fifo_put(sc, 0x83);
usr/src/cmd/bhyve/amd64/ps2kbd.c
324
sc->curcmd = val;
usr/src/cmd/bhyve/amd64/ps2kbd.c
325
fifo_put(sc, PS2KC_ACK);
usr/src/cmd/bhyve/amd64/ps2kbd.c
328
fifo_put(sc, PS2KC_ECHO);
usr/src/cmd/bhyve/amd64/ps2kbd.c
331
sc->curcmd = val;
usr/src/cmd/bhyve/amd64/ps2kbd.c
332
fifo_put(sc, PS2KC_ACK);
usr/src/cmd/bhyve/amd64/ps2kbd.c
340
pthread_mutex_unlock(&sc->mtx);
usr/src/cmd/bhyve/amd64/ps2kbd.c
347
ps2kbd_keysym_queue(struct ps2kbd_softc *sc,
usr/src/cmd/bhyve/amd64/ps2kbd.c
354
assert(pthread_mutex_isowned_np(&sc->mtx));
usr/src/cmd/bhyve/amd64/ps2kbd.c
385
fifo_put(sc, 0xe0);
usr/src/cmd/bhyve/amd64/ps2kbd.c
387
fifo_put(sc, 0xf0);
usr/src/cmd/bhyve/amd64/ps2kbd.c
388
fifo_put(sc, code);
usr/src/cmd/bhyve/amd64/ps2kbd.c
394
struct ps2kbd_softc *sc = arg;
usr/src/cmd/bhyve/amd64/ps2kbd.c
397
pthread_mutex_lock(&sc->mtx);
usr/src/cmd/bhyve/amd64/ps2kbd.c
398
if (!sc->enabled) {
usr/src/cmd/bhyve/amd64/ps2kbd.c
399
pthread_mutex_unlock(&sc->mtx);
usr/src/cmd/bhyve/amd64/ps2kbd.c
402
fifo_full = sc->fifo.num == PS2KBD_FIFOSZ;
usr/src/cmd/bhyve/amd64/ps2kbd.c
403
ps2kbd_keysym_queue(sc, down, keysym, keycode);
usr/src/cmd/bhyve/amd64/ps2kbd.c
404
pthread_mutex_unlock(&sc->mtx);
usr/src/cmd/bhyve/amd64/ps2kbd.c
407
atkbdc_event(sc->atkbdc_sc, 1);
usr/src/cmd/bhyve/amd64/ps2kbd.c
490
struct ps2kbd_softc *sc;
usr/src/cmd/bhyve/amd64/ps2kbd.c
495
sc = calloc(1, sizeof (struct ps2kbd_softc));
usr/src/cmd/bhyve/amd64/ps2kbd.c
496
pthread_mutex_init(&sc->mtx, NULL);
usr/src/cmd/bhyve/amd64/ps2kbd.c
497
fifo_init(sc);
usr/src/cmd/bhyve/amd64/ps2kbd.c
498
sc->atkbdc_sc = atkbdc_sc;
usr/src/cmd/bhyve/amd64/ps2kbd.c
500
console_kbd_register(ps2kbd_event, sc, 1);
usr/src/cmd/bhyve/amd64/ps2kbd.c
502
return (sc);
usr/src/cmd/bhyve/amd64/ps2kbd.h
34
struct ps2kbd_softc *ps2kbd_init(struct atkbdc_softc *sc);
usr/src/cmd/bhyve/amd64/ps2kbd.h
36
int ps2kbd_read(struct ps2kbd_softc *sc, uint8_t *val);
usr/src/cmd/bhyve/amd64/ps2kbd.h
37
void ps2kbd_write(struct ps2kbd_softc *sc, uint8_t val);
usr/src/cmd/bhyve/amd64/ps2mouse.c
112
fifo_init(struct ps2mouse_softc *sc)
usr/src/cmd/bhyve/amd64/ps2mouse.c
116
fifo = &sc->fifo;
usr/src/cmd/bhyve/amd64/ps2mouse.c
121
fifo_reset(struct ps2mouse_softc *sc)
usr/src/cmd/bhyve/amd64/ps2mouse.c
125
fifo = &sc->fifo;
usr/src/cmd/bhyve/amd64/ps2mouse.c
131
fifo_put(struct ps2mouse_softc *sc, uint8_t val)
usr/src/cmd/bhyve/amd64/ps2mouse.c
135
fifo = &sc->fifo;
usr/src/cmd/bhyve/amd64/ps2mouse.c
144
fifo_get(struct ps2mouse_softc *sc, uint8_t *val)
usr/src/cmd/bhyve/amd64/ps2mouse.c
148
fifo = &sc->fifo;
usr/src/cmd/bhyve/amd64/ps2mouse.c
160
movement_reset(struct ps2mouse_softc *sc)
usr/src/cmd/bhyve/amd64/ps2mouse.c
162
assert(pthread_mutex_isowned_np(&sc->mtx));
usr/src/cmd/bhyve/amd64/ps2mouse.c
164
sc->delta_x = 0;
usr/src/cmd/bhyve/amd64/ps2mouse.c
165
sc->delta_y = 0;
usr/src/cmd/bhyve/amd64/ps2mouse.c
169
movement_update(struct ps2mouse_softc *sc, int x, int y)
usr/src/cmd/bhyve/amd64/ps2mouse.c
171
sc->delta_x += x - sc->cur_x;
usr/src/cmd/bhyve/amd64/ps2mouse.c
172
sc->delta_y += sc->cur_y - y;
usr/src/cmd/bhyve/amd64/ps2mouse.c
173
sc->cur_x = x;
usr/src/cmd/bhyve/amd64/ps2mouse.c
174
sc->cur_y = y;
usr/src/cmd/bhyve/amd64/ps2mouse.c
178
movement_get(struct ps2mouse_softc *sc)
usr/src/cmd/bhyve/amd64/ps2mouse.c
182
assert(pthread_mutex_isowned_np(&sc->mtx));
usr/src/cmd/bhyve/amd64/ps2mouse.c
185
val0 |= sc->status & (PS2M_DATA_LEFT_BUTTON |
usr/src/cmd/bhyve/amd64/ps2mouse.c
188
if (sc->delta_x >= 0) {
usr/src/cmd/bhyve/amd64/ps2mouse.c
189
if (sc->delta_x > 255) {
usr/src/cmd/bhyve/amd64/ps2mouse.c
193
val1 = sc->delta_x;
usr/src/cmd/bhyve/amd64/ps2mouse.c
196
if (sc->delta_x < -255) {
usr/src/cmd/bhyve/amd64/ps2mouse.c
200
val1 = sc->delta_x;
usr/src/cmd/bhyve/amd64/ps2mouse.c
202
sc->delta_x = 0;
usr/src/cmd/bhyve/amd64/ps2mouse.c
204
if (sc->delta_y >= 0) {
usr/src/cmd/bhyve/amd64/ps2mouse.c
205
if (sc->delta_y > 255) {
usr/src/cmd/bhyve/amd64/ps2mouse.c
209
val2 = sc->delta_y;
usr/src/cmd/bhyve/amd64/ps2mouse.c
212
if (sc->delta_y < -255) {
usr/src/cmd/bhyve/amd64/ps2mouse.c
216
val2 = sc->delta_y;
usr/src/cmd/bhyve/amd64/ps2mouse.c
218
sc->delta_y = 0;
usr/src/cmd/bhyve/amd64/ps2mouse.c
220
if (sc->fifo.num < (sc->fifo.size - 3)) {
usr/src/cmd/bhyve/amd64/ps2mouse.c
221
fifo_put(sc, val0);
usr/src/cmd/bhyve/amd64/ps2mouse.c
222
fifo_put(sc, val1);
usr/src/cmd/bhyve/amd64/ps2mouse.c
223
fifo_put(sc, val2);
usr/src/cmd/bhyve/amd64/ps2mouse.c
228
ps2mouse_reset(struct ps2mouse_softc *sc)
usr/src/cmd/bhyve/amd64/ps2mouse.c
230
assert(pthread_mutex_isowned_np(&sc->mtx));
usr/src/cmd/bhyve/amd64/ps2mouse.c
231
fifo_reset(sc);
usr/src/cmd/bhyve/amd64/ps2mouse.c
232
movement_reset(sc);
usr/src/cmd/bhyve/amd64/ps2mouse.c
233
sc->status = PS2M_STS_ENABLE_DEV;
usr/src/cmd/bhyve/amd64/ps2mouse.c
234
sc->resolution = 4;
usr/src/cmd/bhyve/amd64/ps2mouse.c
235
sc->sampling_rate = 100;
usr/src/cmd/bhyve/amd64/ps2mouse.c
237
sc->cur_x = 0;
usr/src/cmd/bhyve/amd64/ps2mouse.c
238
sc->cur_y = 0;
usr/src/cmd/bhyve/amd64/ps2mouse.c
239
sc->delta_x = 0;
usr/src/cmd/bhyve/amd64/ps2mouse.c
240
sc->delta_y = 0;
usr/src/cmd/bhyve/amd64/ps2mouse.c
244
ps2mouse_read(struct ps2mouse_softc *sc, uint8_t *val)
usr/src/cmd/bhyve/amd64/ps2mouse.c
248
pthread_mutex_lock(&sc->mtx);
usr/src/cmd/bhyve/amd64/ps2mouse.c
249
retval = fifo_get(sc, val);
usr/src/cmd/bhyve/amd64/ps2mouse.c
250
pthread_mutex_unlock(&sc->mtx);
usr/src/cmd/bhyve/amd64/ps2mouse.c
256
ps2mouse_fifocnt(struct ps2mouse_softc *sc)
usr/src/cmd/bhyve/amd64/ps2mouse.c
258
return (sc->fifo.num);
usr/src/cmd/bhyve/amd64/ps2mouse.c
262
ps2mouse_toggle(struct ps2mouse_softc *sc, int enable)
usr/src/cmd/bhyve/amd64/ps2mouse.c
264
pthread_mutex_lock(&sc->mtx);
usr/src/cmd/bhyve/amd64/ps2mouse.c
266
sc->ctrlenable = 1;
usr/src/cmd/bhyve/amd64/ps2mouse.c
268
sc->ctrlenable = 0;
usr/src/cmd/bhyve/amd64/ps2mouse.c
269
sc->fifo.rindex = 0;
usr/src/cmd/bhyve/amd64/ps2mouse.c
270
sc->fifo.windex = 0;
usr/src/cmd/bhyve/amd64/ps2mouse.c
271
sc->fifo.num = 0;
usr/src/cmd/bhyve/amd64/ps2mouse.c
273
pthread_mutex_unlock(&sc->mtx);
usr/src/cmd/bhyve/amd64/ps2mouse.c
277
ps2mouse_write(struct ps2mouse_softc *sc, uint8_t val, int insert)
usr/src/cmd/bhyve/amd64/ps2mouse.c
279
pthread_mutex_lock(&sc->mtx);
usr/src/cmd/bhyve/amd64/ps2mouse.c
280
fifo_reset(sc);
usr/src/cmd/bhyve/amd64/ps2mouse.c
281
if (sc->curcmd) {
usr/src/cmd/bhyve/amd64/ps2mouse.c
282
switch (sc->curcmd) {
usr/src/cmd/bhyve/amd64/ps2mouse.c
284
sc->sampling_rate = val;
usr/src/cmd/bhyve/amd64/ps2mouse.c
285
fifo_put(sc, PS2MC_ACK);
usr/src/cmd/bhyve/amd64/ps2mouse.c
288
sc->resolution = val;
usr/src/cmd/bhyve/amd64/ps2mouse.c
289
fifo_put(sc, PS2MC_ACK);
usr/src/cmd/bhyve/amd64/ps2mouse.c
296
sc->curcmd = 0;
usr/src/cmd/bhyve/amd64/ps2mouse.c
299
fifo_put(sc, val);
usr/src/cmd/bhyve/amd64/ps2mouse.c
303
fifo_put(sc, PS2MC_ACK);
usr/src/cmd/bhyve/amd64/ps2mouse.c
306
ps2mouse_reset(sc);
usr/src/cmd/bhyve/amd64/ps2mouse.c
307
fifo_put(sc, PS2MC_ACK);
usr/src/cmd/bhyve/amd64/ps2mouse.c
308
fifo_put(sc, PS2MC_BAT_SUCCESS);
usr/src/cmd/bhyve/amd64/ps2mouse.c
309
fifo_put(sc, PS2MOUSE_DEV_ID);
usr/src/cmd/bhyve/amd64/ps2mouse.c
312
ps2mouse_reset(sc);
usr/src/cmd/bhyve/amd64/ps2mouse.c
313
fifo_put(sc, PS2MC_ACK);
usr/src/cmd/bhyve/amd64/ps2mouse.c
316
fifo_reset(sc);
usr/src/cmd/bhyve/amd64/ps2mouse.c
317
sc->status &= ~PS2M_STS_ENABLE_DEV;
usr/src/cmd/bhyve/amd64/ps2mouse.c
318
fifo_put(sc, PS2MC_ACK);
usr/src/cmd/bhyve/amd64/ps2mouse.c
321
fifo_reset(sc);
usr/src/cmd/bhyve/amd64/ps2mouse.c
322
sc->status |= PS2M_STS_ENABLE_DEV;
usr/src/cmd/bhyve/amd64/ps2mouse.c
323
fifo_put(sc, PS2MC_ACK);
usr/src/cmd/bhyve/amd64/ps2mouse.c
326
sc->curcmd = val;
usr/src/cmd/bhyve/amd64/ps2mouse.c
327
fifo_put(sc, PS2MC_ACK);
usr/src/cmd/bhyve/amd64/ps2mouse.c
330
fifo_put(sc, PS2MC_ACK);
usr/src/cmd/bhyve/amd64/ps2mouse.c
331
fifo_put(sc, PS2MOUSE_DEV_ID);
usr/src/cmd/bhyve/amd64/ps2mouse.c
334
sc->status |= PS2M_STS_REMOTE_MODE;
usr/src/cmd/bhyve/amd64/ps2mouse.c
335
fifo_put(sc, PS2MC_ACK);
usr/src/cmd/bhyve/amd64/ps2mouse.c
338
fifo_put(sc, PS2MC_ACK);
usr/src/cmd/bhyve/amd64/ps2mouse.c
339
movement_get(sc);
usr/src/cmd/bhyve/amd64/ps2mouse.c
342
sc->status &= ~PS2M_STS_REMOTE_MODE;
usr/src/cmd/bhyve/amd64/ps2mouse.c
343
fifo_put(sc, PS2MC_ACK);
usr/src/cmd/bhyve/amd64/ps2mouse.c
346
fifo_put(sc, PS2MC_ACK);
usr/src/cmd/bhyve/amd64/ps2mouse.c
347
fifo_put(sc, sc->status);
usr/src/cmd/bhyve/amd64/ps2mouse.c
348
fifo_put(sc, sc->resolution);
usr/src/cmd/bhyve/amd64/ps2mouse.c
349
fifo_put(sc, sc->sampling_rate);
usr/src/cmd/bhyve/amd64/ps2mouse.c
352
sc->curcmd = val;
usr/src/cmd/bhyve/amd64/ps2mouse.c
353
fifo_put(sc, PS2MC_ACK);
usr/src/cmd/bhyve/amd64/ps2mouse.c
357
fifo_put(sc, PS2MC_ACK);
usr/src/cmd/bhyve/amd64/ps2mouse.c
360
fifo_put(sc, PS2MC_ACK);
usr/src/cmd/bhyve/amd64/ps2mouse.c
366
pthread_mutex_unlock(&sc->mtx);
usr/src/cmd/bhyve/amd64/ps2mouse.c
372
struct ps2mouse_softc *sc = arg;
usr/src/cmd/bhyve/amd64/ps2mouse.c
374
pthread_mutex_lock(&sc->mtx);
usr/src/cmd/bhyve/amd64/ps2mouse.c
375
movement_update(sc, x, y);
usr/src/cmd/bhyve/amd64/ps2mouse.c
377
sc->status &= ~(PS2M_STS_LEFT_BUTTON |
usr/src/cmd/bhyve/amd64/ps2mouse.c
380
sc->status |= PS2M_STS_LEFT_BUTTON;
usr/src/cmd/bhyve/amd64/ps2mouse.c
382
sc->status |= PS2M_STS_MID_BUTTON;
usr/src/cmd/bhyve/amd64/ps2mouse.c
384
sc->status |= PS2M_STS_RIGHT_BUTTON;
usr/src/cmd/bhyve/amd64/ps2mouse.c
386
if ((sc->status & PS2M_STS_ENABLE_DEV) == 0 || !sc->ctrlenable) {
usr/src/cmd/bhyve/amd64/ps2mouse.c
388
pthread_mutex_unlock(&sc->mtx);
usr/src/cmd/bhyve/amd64/ps2mouse.c
392
movement_get(sc);
usr/src/cmd/bhyve/amd64/ps2mouse.c
393
pthread_mutex_unlock(&sc->mtx);
usr/src/cmd/bhyve/amd64/ps2mouse.c
395
if (sc->fifo.num > 0)
usr/src/cmd/bhyve/amd64/ps2mouse.c
396
atkbdc_event(sc->atkbdc_sc, 0);
usr/src/cmd/bhyve/amd64/ps2mouse.c
402
struct ps2mouse_softc *sc;
usr/src/cmd/bhyve/amd64/ps2mouse.c
404
sc = calloc(1, sizeof (struct ps2mouse_softc));
usr/src/cmd/bhyve/amd64/ps2mouse.c
405
pthread_mutex_init(&sc->mtx, NULL);
usr/src/cmd/bhyve/amd64/ps2mouse.c
406
fifo_init(sc);
usr/src/cmd/bhyve/amd64/ps2mouse.c
407
sc->atkbdc_sc = atkbdc_sc;
usr/src/cmd/bhyve/amd64/ps2mouse.c
409
pthread_mutex_lock(&sc->mtx);
usr/src/cmd/bhyve/amd64/ps2mouse.c
410
ps2mouse_reset(sc);
usr/src/cmd/bhyve/amd64/ps2mouse.c
411
pthread_mutex_unlock(&sc->mtx);
usr/src/cmd/bhyve/amd64/ps2mouse.c
413
console_ptr_register(ps2mouse_event, sc, 1);
usr/src/cmd/bhyve/amd64/ps2mouse.c
415
return (sc);
usr/src/cmd/bhyve/amd64/ps2mouse.h
34
struct ps2mouse_softc *ps2mouse_init(struct atkbdc_softc *sc);
usr/src/cmd/bhyve/amd64/ps2mouse.h
36
int ps2mouse_read(struct ps2mouse_softc *sc, uint8_t *val);
usr/src/cmd/bhyve/amd64/ps2mouse.h
37
void ps2mouse_write(struct ps2mouse_softc *sc, uint8_t val, int insert);
usr/src/cmd/bhyve/amd64/ps2mouse.h
38
void ps2mouse_toggle(struct ps2mouse_softc *sc, int enable);
usr/src/cmd/bhyve/amd64/ps2mouse.h
39
int ps2mouse_fifocnt(struct ps2mouse_softc *sc);
usr/src/cmd/bhyve/amd64/vga.c
1001
sc->vga_crtc.crtc_overflow = val;
usr/src/cmd/bhyve/amd64/vga.c
1004
sc->vga_crtc.crtc_present_row_scan = val;
usr/src/cmd/bhyve/amd64/vga.c
1007
sc->vga_crtc.crtc_max_scan_line = val;
usr/src/cmd/bhyve/amd64/vga.c
1010
sc->vga_crtc.crtc_cursor_start = val;
usr/src/cmd/bhyve/amd64/vga.c
1011
sc->vga_crtc.crtc_cursor_on = (val & CRTC_CS_CO) == 0;
usr/src/cmd/bhyve/amd64/vga.c
1014
sc->vga_crtc.crtc_cursor_end = val;
usr/src/cmd/bhyve/amd64/vga.c
1017
sc->vga_crtc.crtc_start_addr_high = val;
usr/src/cmd/bhyve/amd64/vga.c
1018
sc->vga_crtc.crtc_start_addr &= 0x00ff;
usr/src/cmd/bhyve/amd64/vga.c
1019
sc->vga_crtc.crtc_start_addr |= (val << 8);
usr/src/cmd/bhyve/amd64/vga.c
1022
sc->vga_crtc.crtc_start_addr_low = val;
usr/src/cmd/bhyve/amd64/vga.c
1023
sc->vga_crtc.crtc_start_addr &= 0xff00;
usr/src/cmd/bhyve/amd64/vga.c
1024
sc->vga_crtc.crtc_start_addr |= (val & 0xff);
usr/src/cmd/bhyve/amd64/vga.c
1027
sc->vga_crtc.crtc_cursor_loc_high = val;
usr/src/cmd/bhyve/amd64/vga.c
1028
sc->vga_crtc.crtc_cursor_loc &= 0x00ff;
usr/src/cmd/bhyve/amd64/vga.c
1029
sc->vga_crtc.crtc_cursor_loc |= (val << 8);
usr/src/cmd/bhyve/amd64/vga.c
1032
sc->vga_crtc.crtc_cursor_loc_low = val;
usr/src/cmd/bhyve/amd64/vga.c
1033
sc->vga_crtc.crtc_cursor_loc &= 0xff00;
usr/src/cmd/bhyve/amd64/vga.c
1034
sc->vga_crtc.crtc_cursor_loc |= (val & 0xff);
usr/src/cmd/bhyve/amd64/vga.c
1037
sc->vga_crtc.crtc_vert_retrace_start = val;
usr/src/cmd/bhyve/amd64/vga.c
1040
sc->vga_crtc.crtc_vert_retrace_end = val;
usr/src/cmd/bhyve/amd64/vga.c
1043
sc->vga_crtc.crtc_vert_disp_end = val;
usr/src/cmd/bhyve/amd64/vga.c
1046
sc->vga_crtc.crtc_offset = val;
usr/src/cmd/bhyve/amd64/vga.c
1049
sc->vga_crtc.crtc_underline_loc = val;
usr/src/cmd/bhyve/amd64/vga.c
1052
sc->vga_crtc.crtc_start_vert_blank = val;
usr/src/cmd/bhyve/amd64/vga.c
1055
sc->vga_crtc.crtc_end_vert_blank = val;
usr/src/cmd/bhyve/amd64/vga.c
1058
sc->vga_crtc.crtc_mode_ctrl = val;
usr/src/cmd/bhyve/amd64/vga.c
1061
sc->vga_crtc.crtc_line_compare = val;
usr/src/cmd/bhyve/amd64/vga.c
1070
if (sc->vga_atc.atc_flipflop == 0) {
usr/src/cmd/bhyve/amd64/vga.c
1071
if (sc->vga_atc.atc_index & 0x20)
usr/src/cmd/bhyve/amd64/vga.c
1073
sc->vga_atc.atc_index = val & ATC_IDX_MASK;
usr/src/cmd/bhyve/amd64/vga.c
1075
switch (sc->vga_atc.atc_index) {
usr/src/cmd/bhyve/amd64/vga.c
1077
sc->vga_atc.atc_palette[sc->vga_atc.atc_index] = val & 0x3f;
usr/src/cmd/bhyve/amd64/vga.c
1080
sc->vga_atc.atc_mode = val;
usr/src/cmd/bhyve/amd64/vga.c
1083
sc->vga_atc.atc_overscan_color = val;
usr/src/cmd/bhyve/amd64/vga.c
1086
sc->vga_atc.atc_color_plane_enb = val;
usr/src/cmd/bhyve/amd64/vga.c
1089
sc->vga_atc.atc_horiz_pixel_panning = val;
usr/src/cmd/bhyve/amd64/vga.c
1092
sc->vga_atc.atc_color_select = val;
usr/src/cmd/bhyve/amd64/vga.c
1093
sc->vga_atc.atc_color_select_45 =
usr/src/cmd/bhyve/amd64/vga.c
1095
sc->vga_atc.atc_color_select_67 =
usr/src/cmd/bhyve/amd64/vga.c
1104
sc->vga_atc.atc_flipflop ^= 1;
usr/src/cmd/bhyve/amd64/vga.c
1109
sc->vga_seq.seq_index = val & 0x1f;
usr/src/cmd/bhyve/amd64/vga.c
1112
switch (sc->vga_seq.seq_index) {
usr/src/cmd/bhyve/amd64/vga.c
1114
sc->vga_seq.seq_reset = val;
usr/src/cmd/bhyve/amd64/vga.c
1117
sc->vga_seq.seq_clock_mode = val;
usr/src/cmd/bhyve/amd64/vga.c
1118
sc->vga_seq.seq_cm_dots = (val & SEQ_CM_89) ? 8 : 9;
usr/src/cmd/bhyve/amd64/vga.c
1121
sc->vga_seq.seq_map_mask = val;
usr/src/cmd/bhyve/amd64/vga.c
1124
sc->vga_seq.seq_cmap_sel = val;
usr/src/cmd/bhyve/amd64/vga.c
1126
sc->vga_seq.seq_cmap_pri_off = ((((val & SEQ_CMS_SA) >> SEQ_CMS_SA_SHIFT) * 2) + ((val & SEQ_CMS_SAH) >> SEQ_CMS_SAH_SHIFT)) * 8 * KB;
usr/src/cmd/bhyve/amd64/vga.c
1127
sc->vga_seq.seq_cmap_sec_off = ((((val & SEQ_CMS_SB) >> SEQ_CMS_SB_SHIFT) * 2) + ((val & SEQ_CMS_SBH) >> SEQ_CMS_SBH_SHIFT)) * 8 * KB;
usr/src/cmd/bhyve/amd64/vga.c
1130
sc->vga_seq.seq_mm = val;
usr/src/cmd/bhyve/amd64/vga.c
1143
sc->vga_dac.dac_rd_index = val;
usr/src/cmd/bhyve/amd64/vga.c
1144
sc->vga_dac.dac_rd_subindex = 0;
usr/src/cmd/bhyve/amd64/vga.c
1147
sc->vga_dac.dac_wr_index = val;
usr/src/cmd/bhyve/amd64/vga.c
1148
sc->vga_dac.dac_wr_subindex = 0;
usr/src/cmd/bhyve/amd64/vga.c
1151
sc->vga_dac.dac_palette[3 * sc->vga_dac.dac_wr_index +
usr/src/cmd/bhyve/amd64/vga.c
1152
sc->vga_dac.dac_wr_subindex] = val;
usr/src/cmd/bhyve/amd64/vga.c
1153
sc->vga_dac.dac_wr_subindex++;
usr/src/cmd/bhyve/amd64/vga.c
1154
if (sc->vga_dac.dac_wr_subindex == 3) {
usr/src/cmd/bhyve/amd64/vga.c
1155
sc->vga_dac.dac_palette_rgb[sc->vga_dac.dac_wr_index] =
usr/src/cmd/bhyve/amd64/vga.c
1156
((((sc->vga_dac.dac_palette[3*sc->vga_dac.dac_wr_index + 0] << 2) |
usr/src/cmd/bhyve/amd64/vga.c
1157
((sc->vga_dac.dac_palette[3*sc->vga_dac.dac_wr_index + 0] & 0x1) << 1) |
usr/src/cmd/bhyve/amd64/vga.c
1158
(sc->vga_dac.dac_palette[3*sc->vga_dac.dac_wr_index + 0] & 0x1)) << 16) |
usr/src/cmd/bhyve/amd64/vga.c
1159
(((sc->vga_dac.dac_palette[3*sc->vga_dac.dac_wr_index + 1] << 2) |
usr/src/cmd/bhyve/amd64/vga.c
1160
((sc->vga_dac.dac_palette[3*sc->vga_dac.dac_wr_index + 1] & 0x1) << 1) |
usr/src/cmd/bhyve/amd64/vga.c
1161
(sc->vga_dac.dac_palette[3*sc->vga_dac.dac_wr_index + 1] & 0x1)) << 8) |
usr/src/cmd/bhyve/amd64/vga.c
1162
(((sc->vga_dac.dac_palette[3*sc->vga_dac.dac_wr_index + 2] << 2) |
usr/src/cmd/bhyve/amd64/vga.c
1163
((sc->vga_dac.dac_palette[3*sc->vga_dac.dac_wr_index + 2] & 0x1) << 1) |
usr/src/cmd/bhyve/amd64/vga.c
1164
(sc->vga_dac.dac_palette[3*sc->vga_dac.dac_wr_index + 2] & 0x1)) << 0));
usr/src/cmd/bhyve/amd64/vga.c
1166
sc->vga_dac.dac_wr_index++;
usr/src/cmd/bhyve/amd64/vga.c
1167
sc->vga_dac.dac_wr_subindex = 0;
usr/src/cmd/bhyve/amd64/vga.c
1171
sc->vga_gc.gc_index = val;
usr/src/cmd/bhyve/amd64/vga.c
1174
switch (sc->vga_gc.gc_index) {
usr/src/cmd/bhyve/amd64/vga.c
1176
sc->vga_gc.gc_set_reset = val;
usr/src/cmd/bhyve/amd64/vga.c
1179
sc->vga_gc.gc_enb_set_reset = val;
usr/src/cmd/bhyve/amd64/vga.c
1182
sc->vga_gc.gc_color_compare = val;
usr/src/cmd/bhyve/amd64/vga.c
1185
sc->vga_gc.gc_rotate = val;
usr/src/cmd/bhyve/amd64/vga.c
1186
sc->vga_gc.gc_op = (val >> 3) & 0x3;
usr/src/cmd/bhyve/amd64/vga.c
1189
sc->vga_gc.gc_read_map_sel = val;
usr/src/cmd/bhyve/amd64/vga.c
1192
sc->vga_gc.gc_mode = val;
usr/src/cmd/bhyve/amd64/vga.c
1193
sc->vga_gc.gc_mode_c4 = (val & GC_MODE_C4) != 0;
usr/src/cmd/bhyve/amd64/vga.c
1194
assert(!sc->vga_gc.gc_mode_c4);
usr/src/cmd/bhyve/amd64/vga.c
1195
sc->vga_gc.gc_mode_oe = (val & GC_MODE_OE) != 0;
usr/src/cmd/bhyve/amd64/vga.c
1196
sc->vga_gc.gc_mode_rm = (val >> 3) & 0x1;
usr/src/cmd/bhyve/amd64/vga.c
1197
sc->vga_gc.gc_mode_wm = val & 0x3;
usr/src/cmd/bhyve/amd64/vga.c
1199
if (sc->gc_image)
usr/src/cmd/bhyve/amd64/vga.c
1200
sc->gc_image->vgamode = 1;
usr/src/cmd/bhyve/amd64/vga.c
1203
sc->vga_gc.gc_misc = val;
usr/src/cmd/bhyve/amd64/vga.c
1204
sc->vga_gc.gc_misc_gm = val & GC_MISC_GM;
usr/src/cmd/bhyve/amd64/vga.c
1205
sc->vga_gc.gc_misc_mm = (val & GC_MISC_MM) >>
usr/src/cmd/bhyve/amd64/vga.c
1209
sc->vga_gc.gc_color_dont_care = val;
usr/src/cmd/bhyve/amd64/vga.c
1212
sc->vga_gc.gc_bit_mask = val;
usr/src/cmd/bhyve/amd64/vga.c
1222
sc->vga_misc = val;
usr/src/cmd/bhyve/amd64/vga.c
1294
struct vga_softc *sc;
usr/src/cmd/bhyve/amd64/vga.c
1297
sc = calloc(1, sizeof(struct vga_softc));
usr/src/cmd/bhyve/amd64/vga.c
1306
iop.arg = sc;
usr/src/cmd/bhyve/amd64/vga.c
1312
sc->gc_image = console_get_image();
usr/src/cmd/bhyve/amd64/vga.c
1316
return(sc);
usr/src/cmd/bhyve/amd64/vga.c
1318
sc->mr.name = "VGA memory";
usr/src/cmd/bhyve/amd64/vga.c
1319
sc->mr.flags = MEM_F_RW;
usr/src/cmd/bhyve/amd64/vga.c
1320
sc->mr.base = 640 * KB;
usr/src/cmd/bhyve/amd64/vga.c
1321
sc->mr.size = 128 * KB;
usr/src/cmd/bhyve/amd64/vga.c
1322
sc->mr.handler = vga_mem_handler;
usr/src/cmd/bhyve/amd64/vga.c
1323
sc->mr.arg1 = sc;
usr/src/cmd/bhyve/amd64/vga.c
1324
error = register_mem_fallback(&sc->mr);
usr/src/cmd/bhyve/amd64/vga.c
1327
sc->vga_ram = malloc(256 * KB);
usr/src/cmd/bhyve/amd64/vga.c
1328
memset(sc->vga_ram, 0, 256 * KB);
usr/src/cmd/bhyve/amd64/vga.c
1339
memcpy(sc->vga_dac.dac_palette, palette, 16 * 3 * sizeof (uint8_t));
usr/src/cmd/bhyve/amd64/vga.c
1341
sc->vga_dac.dac_palette_rgb[i] =
usr/src/cmd/bhyve/amd64/vga.c
1342
((((sc->vga_dac.dac_palette[3*i + 0] << 2) |
usr/src/cmd/bhyve/amd64/vga.c
1343
((sc->vga_dac.dac_palette[3*i + 0] & 0x1) << 1) |
usr/src/cmd/bhyve/amd64/vga.c
1344
(sc->vga_dac.dac_palette[3*i + 0] & 0x1)) << 16) |
usr/src/cmd/bhyve/amd64/vga.c
1345
(((sc->vga_dac.dac_palette[3*i + 1] << 2) |
usr/src/cmd/bhyve/amd64/vga.c
1346
((sc->vga_dac.dac_palette[3*i + 1] & 0x1) << 1) |
usr/src/cmd/bhyve/amd64/vga.c
1347
(sc->vga_dac.dac_palette[3*i + 1] & 0x1)) << 8) |
usr/src/cmd/bhyve/amd64/vga.c
1348
(((sc->vga_dac.dac_palette[3*i + 2] << 2) |
usr/src/cmd/bhyve/amd64/vga.c
1349
((sc->vga_dac.dac_palette[3*i + 2] & 0x1) << 1) |
usr/src/cmd/bhyve/amd64/vga.c
1350
(sc->vga_dac.dac_palette[3*i + 2] & 0x1)) << 0));
usr/src/cmd/bhyve/amd64/vga.c
1354
return (sc);
usr/src/cmd/bhyve/amd64/vga.c
178
vga_in_reset(struct vga_softc *sc)
usr/src/cmd/bhyve/amd64/vga.c
180
return (((sc->vga_seq.seq_clock_mode & SEQ_CM_SO) != 0) ||
usr/src/cmd/bhyve/amd64/vga.c
181
((sc->vga_seq.seq_reset & SEQ_RESET_ASYNC) == 0) ||
usr/src/cmd/bhyve/amd64/vga.c
182
((sc->vga_seq.seq_reset & SEQ_RESET_SYNC) == 0) ||
usr/src/cmd/bhyve/amd64/vga.c
183
((sc->vga_crtc.crtc_mode_ctrl & CRTC_MC_TE) == 0));
usr/src/cmd/bhyve/amd64/vga.c
187
vga_check_size(struct bhyvegc *gc, struct vga_softc *sc)
usr/src/cmd/bhyve/amd64/vga.c
191
if (vga_in_reset(sc))
usr/src/cmd/bhyve/amd64/vga.c
196
old_width = sc->gc_image->width;
usr/src/cmd/bhyve/amd64/vga.c
197
old_height = sc->gc_image->height;
usr/src/cmd/bhyve/amd64/vga.c
205
sc->gc_width = (sc->vga_crtc.crtc_horiz_disp_end + 1) *
usr/src/cmd/bhyve/amd64/vga.c
206
sc->vga_seq.seq_cm_dots;
usr/src/cmd/bhyve/amd64/vga.c
208
sc->gc_height = (sc->vga_crtc.crtc_vert_disp_end |
usr/src/cmd/bhyve/amd64/vga.c
209
(((sc->vga_crtc.crtc_overflow & CRTC_OF_VDE8) >> CRTC_OF_VDE8_SHIFT) << 8) |
usr/src/cmd/bhyve/amd64/vga.c
210
(((sc->vga_crtc.crtc_overflow & CRTC_OF_VDE9) >> CRTC_OF_VDE9_SHIFT) << 9)) + 1;
usr/src/cmd/bhyve/amd64/vga.c
212
if (old_width != sc->gc_width || old_height != sc->gc_height)
usr/src/cmd/bhyve/amd64/vga.c
213
bhyvegc_resize(gc, sc->gc_width, sc->gc_height);
usr/src/cmd/bhyve/amd64/vga.c
217
vga_get_pixel(struct vga_softc *sc, int x, int y)
usr/src/cmd/bhyve/amd64/vga.c
224
offset = (y * sc->gc_width / 8) + (x / 8);
usr/src/cmd/bhyve/amd64/vga.c
227
data = (((sc->vga_ram[offset + 0 * 64*KB] >> bit) & 0x1) << 0) |
usr/src/cmd/bhyve/amd64/vga.c
228
(((sc->vga_ram[offset + 1 * 64*KB] >> bit) & 0x1) << 1) |
usr/src/cmd/bhyve/amd64/vga.c
229
(((sc->vga_ram[offset + 2 * 64*KB] >> bit) & 0x1) << 2) |
usr/src/cmd/bhyve/amd64/vga.c
230
(((sc->vga_ram[offset + 3 * 64*KB] >> bit) & 0x1) << 3);
usr/src/cmd/bhyve/amd64/vga.c
232
data &= sc->vga_atc.atc_color_plane_enb;
usr/src/cmd/bhyve/amd64/vga.c
234
if (sc->vga_atc.atc_mode & ATC_MC_IPS) {
usr/src/cmd/bhyve/amd64/vga.c
235
idx = sc->vga_atc.atc_palette[data] & 0x0f;
usr/src/cmd/bhyve/amd64/vga.c
236
idx |= sc->vga_atc.atc_color_select_45;
usr/src/cmd/bhyve/amd64/vga.c
238
idx = sc->vga_atc.atc_palette[data];
usr/src/cmd/bhyve/amd64/vga.c
240
idx |= sc->vga_atc.atc_color_select_67;
usr/src/cmd/bhyve/amd64/vga.c
242
return (sc->vga_dac.dac_palette_rgb[idx]);
usr/src/cmd/bhyve/amd64/vga.c
246
vga_render_graphics(struct vga_softc *sc)
usr/src/cmd/bhyve/amd64/vga.c
250
for (y = 0; y < sc->gc_height; y++) {
usr/src/cmd/bhyve/amd64/vga.c
251
for (x = 0; x < sc->gc_width; x++) {
usr/src/cmd/bhyve/amd64/vga.c
254
offset = y * sc->gc_width + x;
usr/src/cmd/bhyve/amd64/vga.c
255
sc->gc_image->data[offset] = vga_get_pixel(sc, x, y);
usr/src/cmd/bhyve/amd64/vga.c
261
vga_get_text_pixel(struct vga_softc *sc, int x, int y)
usr/src/cmd/bhyve/amd64/vga.c
267
dots = sc->vga_seq.seq_cm_dots;
usr/src/cmd/bhyve/amd64/vga.c
269
offset = 2 * sc->vga_crtc.crtc_start_addr;
usr/src/cmd/bhyve/amd64/vga.c
270
offset += (y / 16 * sc->gc_width / dots) * 2 + (x / dots) * 2;
usr/src/cmd/bhyve/amd64/vga.c
274
ch = sc->vga_ram[offset + 0 * 64*KB];
usr/src/cmd/bhyve/amd64/vga.c
275
attr = sc->vga_ram[offset + 1 * 64*KB];
usr/src/cmd/bhyve/amd64/vga.c
277
if (sc->vga_crtc.crtc_cursor_on &&
usr/src/cmd/bhyve/amd64/vga.c
278
(offset == (sc->vga_crtc.crtc_cursor_loc * 2)) &&
usr/src/cmd/bhyve/amd64/vga.c
279
((y % 16) >= (sc->vga_crtc.crtc_cursor_start & CRTC_CS_CS)) &&
usr/src/cmd/bhyve/amd64/vga.c
280
((y % 16) <= (sc->vga_crtc.crtc_cursor_end & CRTC_CE_CE))) {
usr/src/cmd/bhyve/amd64/vga.c
281
idx = sc->vga_atc.atc_palette[attr & 0xf];
usr/src/cmd/bhyve/amd64/vga.c
282
return (sc->vga_dac.dac_palette_rgb[idx]);
usr/src/cmd/bhyve/amd64/vga.c
285
if ((sc->vga_seq.seq_mm & SEQ_MM_EM) &&
usr/src/cmd/bhyve/amd64/vga.c
286
sc->vga_seq.seq_cmap_pri_off != sc->vga_seq.seq_cmap_sec_off) {
usr/src/cmd/bhyve/amd64/vga.c
288
font_offset = sc->vga_seq.seq_cmap_pri_off +
usr/src/cmd/bhyve/amd64/vga.c
291
font_offset = sc->vga_seq.seq_cmap_sec_off +
usr/src/cmd/bhyve/amd64/vga.c
298
font = sc->vga_ram[font_offset + 2 * 64*KB];
usr/src/cmd/bhyve/amd64/vga.c
301
idx = sc->vga_atc.atc_palette[attr & 0xf];
usr/src/cmd/bhyve/amd64/vga.c
303
idx = sc->vga_atc.atc_palette[attr >> 4];
usr/src/cmd/bhyve/amd64/vga.c
305
return (sc->vga_dac.dac_palette_rgb[idx]);
usr/src/cmd/bhyve/amd64/vga.c
309
vga_render_text(struct vga_softc *sc)
usr/src/cmd/bhyve/amd64/vga.c
313
for (y = 0; y < sc->gc_height; y++) {
usr/src/cmd/bhyve/amd64/vga.c
314
for (x = 0; x < sc->gc_width; x++) {
usr/src/cmd/bhyve/amd64/vga.c
317
offset = y * sc->gc_width + x;
usr/src/cmd/bhyve/amd64/vga.c
318
sc->gc_image->data[offset] = vga_get_text_pixel(sc, x, y);
usr/src/cmd/bhyve/amd64/vga.c
326
struct vga_softc *sc = arg;
usr/src/cmd/bhyve/amd64/vga.c
328
vga_check_size(gc, sc);
usr/src/cmd/bhyve/amd64/vga.c
330
if (vga_in_reset(sc)) {
usr/src/cmd/bhyve/amd64/vga.c
331
memset(sc->gc_image->data, 0,
usr/src/cmd/bhyve/amd64/vga.c
332
sc->gc_image->width * sc->gc_image->height *
usr/src/cmd/bhyve/amd64/vga.c
337
if (sc->vga_gc.gc_misc_gm && (sc->vga_atc.atc_mode & ATC_MC_GA))
usr/src/cmd/bhyve/amd64/vga.c
338
vga_render_graphics(sc);
usr/src/cmd/bhyve/amd64/vga.c
340
vga_render_text(sc);
usr/src/cmd/bhyve/amd64/vga.c
346
struct vga_softc *sc = arg1;
usr/src/cmd/bhyve/amd64/vga.c
351
switch (sc->vga_gc.gc_misc_mm) {
usr/src/cmd/bhyve/amd64/vga.c
385
sc->vga_gc.gc_latch0 = sc->vga_ram[offset + 0*64*KB];
usr/src/cmd/bhyve/amd64/vga.c
386
sc->vga_gc.gc_latch1 = sc->vga_ram[offset + 1*64*KB];
usr/src/cmd/bhyve/amd64/vga.c
387
sc->vga_gc.gc_latch2 = sc->vga_ram[offset + 2*64*KB];
usr/src/cmd/bhyve/amd64/vga.c
388
sc->vga_gc.gc_latch3 = sc->vga_ram[offset + 3*64*KB];
usr/src/cmd/bhyve/amd64/vga.c
390
if (sc->vga_gc.gc_mode_rm) {
usr/src/cmd/bhyve/amd64/vga.c
395
map_sel = sc->vga_gc.gc_read_map_sel;
usr/src/cmd/bhyve/amd64/vga.c
396
if (sc->vga_gc.gc_mode_oe) {
usr/src/cmd/bhyve/amd64/vga.c
404
return (sc->vga_ram[offset]);
usr/src/cmd/bhyve/amd64/vga.c
410
struct vga_softc *sc = arg1;
usr/src/cmd/bhyve/amd64/vga.c
419
switch (sc->vga_gc.gc_misc_mm) {
usr/src/cmd/bhyve/amd64/vga.c
452
set_reset = sc->vga_gc.gc_set_reset;
usr/src/cmd/bhyve/amd64/vga.c
453
enb_set_reset = sc->vga_gc.gc_enb_set_reset;
usr/src/cmd/bhyve/amd64/vga.c
455
c0 = sc->vga_gc.gc_latch0;
usr/src/cmd/bhyve/amd64/vga.c
456
c1 = sc->vga_gc.gc_latch1;
usr/src/cmd/bhyve/amd64/vga.c
457
c2 = sc->vga_gc.gc_latch2;
usr/src/cmd/bhyve/amd64/vga.c
458
c3 = sc->vga_gc.gc_latch3;
usr/src/cmd/bhyve/amd64/vga.c
460
switch (sc->vga_gc.gc_mode_wm) {
usr/src/cmd/bhyve/amd64/vga.c
463
mask = sc->vga_gc.gc_bit_mask;
usr/src/cmd/bhyve/amd64/vga.c
465
val = (val >> sc->vga_gc.gc_rotate) |
usr/src/cmd/bhyve/amd64/vga.c
466
(val << (8 - sc->vga_gc.gc_rotate));
usr/src/cmd/bhyve/amd64/vga.c
468
switch (sc->vga_gc.gc_op) {
usr/src/cmd/bhyve/amd64/vga.c
525
mask = sc->vga_gc.gc_bit_mask;
usr/src/cmd/bhyve/amd64/vga.c
527
switch (sc->vga_gc.gc_op) {
usr/src/cmd/bhyve/amd64/vga.c
581
mask = sc->vga_gc.gc_bit_mask & val;
usr/src/cmd/bhyve/amd64/vga.c
583
val = (val >> sc->vga_gc.gc_rotate) |
usr/src/cmd/bhyve/amd64/vga.c
584
(val << (8 - sc->vga_gc.gc_rotate));
usr/src/cmd/bhyve/amd64/vga.c
586
switch (sc->vga_gc.gc_op) {
usr/src/cmd/bhyve/amd64/vga.c
640
if (sc->vga_gc.gc_mode_oe) {
usr/src/cmd/bhyve/amd64/vga.c
643
if (sc->vga_seq.seq_map_mask & 2)
usr/src/cmd/bhyve/amd64/vga.c
644
sc->vga_ram[offset + 1*64*KB] = c1;
usr/src/cmd/bhyve/amd64/vga.c
645
if (sc->vga_seq.seq_map_mask & 8)
usr/src/cmd/bhyve/amd64/vga.c
646
sc->vga_ram[offset + 3*64*KB] = c3;
usr/src/cmd/bhyve/amd64/vga.c
648
if (sc->vga_seq.seq_map_mask & 1)
usr/src/cmd/bhyve/amd64/vga.c
649
sc->vga_ram[offset + 0*64*KB] = c0;
usr/src/cmd/bhyve/amd64/vga.c
650
if (sc->vga_seq.seq_map_mask & 4)
usr/src/cmd/bhyve/amd64/vga.c
651
sc->vga_ram[offset + 2*64*KB] = c2;
usr/src/cmd/bhyve/amd64/vga.c
654
if (sc->vga_seq.seq_map_mask & 1)
usr/src/cmd/bhyve/amd64/vga.c
655
sc->vga_ram[offset + 0*64*KB] = c0;
usr/src/cmd/bhyve/amd64/vga.c
656
if (sc->vga_seq.seq_map_mask & 2)
usr/src/cmd/bhyve/amd64/vga.c
657
sc->vga_ram[offset + 1*64*KB] = c1;
usr/src/cmd/bhyve/amd64/vga.c
658
if (sc->vga_seq.seq_map_mask & 4)
usr/src/cmd/bhyve/amd64/vga.c
659
sc->vga_ram[offset + 2*64*KB] = c2;
usr/src/cmd/bhyve/amd64/vga.c
660
if (sc->vga_seq.seq_map_mask & 8)
usr/src/cmd/bhyve/amd64/vga.c
661
sc->vga_ram[offset + 3*64*KB] = c3;
usr/src/cmd/bhyve/amd64/vga.c
730
struct vga_softc *sc = arg;
usr/src/cmd/bhyve/amd64/vga.c
735
*val = sc->vga_crtc.crtc_index;
usr/src/cmd/bhyve/amd64/vga.c
739
switch (sc->vga_crtc.crtc_index) {
usr/src/cmd/bhyve/amd64/vga.c
741
*val = sc->vga_crtc.crtc_horiz_total;
usr/src/cmd/bhyve/amd64/vga.c
744
*val = sc->vga_crtc.crtc_horiz_disp_end;
usr/src/cmd/bhyve/amd64/vga.c
747
*val = sc->vga_crtc.crtc_start_horiz_blank;
usr/src/cmd/bhyve/amd64/vga.c
750
*val = sc->vga_crtc.crtc_end_horiz_blank;
usr/src/cmd/bhyve/amd64/vga.c
753
*val = sc->vga_crtc.crtc_start_horiz_retrace;
usr/src/cmd/bhyve/amd64/vga.c
756
*val = sc->vga_crtc.crtc_end_horiz_retrace;
usr/src/cmd/bhyve/amd64/vga.c
759
*val = sc->vga_crtc.crtc_vert_total;
usr/src/cmd/bhyve/amd64/vga.c
762
*val = sc->vga_crtc.crtc_overflow;
usr/src/cmd/bhyve/amd64/vga.c
765
*val = sc->vga_crtc.crtc_present_row_scan;
usr/src/cmd/bhyve/amd64/vga.c
768
*val = sc->vga_crtc.crtc_max_scan_line;
usr/src/cmd/bhyve/amd64/vga.c
771
*val = sc->vga_crtc.crtc_cursor_start;
usr/src/cmd/bhyve/amd64/vga.c
774
*val = sc->vga_crtc.crtc_cursor_end;
usr/src/cmd/bhyve/amd64/vga.c
777
*val = sc->vga_crtc.crtc_start_addr_high;
usr/src/cmd/bhyve/amd64/vga.c
780
*val = sc->vga_crtc.crtc_start_addr_low;
usr/src/cmd/bhyve/amd64/vga.c
783
*val = sc->vga_crtc.crtc_cursor_loc_high;
usr/src/cmd/bhyve/amd64/vga.c
786
*val = sc->vga_crtc.crtc_cursor_loc_low;
usr/src/cmd/bhyve/amd64/vga.c
789
*val = sc->vga_crtc.crtc_vert_retrace_start;
usr/src/cmd/bhyve/amd64/vga.c
792
*val = sc->vga_crtc.crtc_vert_retrace_end;
usr/src/cmd/bhyve/amd64/vga.c
795
*val = sc->vga_crtc.crtc_vert_disp_end;
usr/src/cmd/bhyve/amd64/vga.c
798
*val = sc->vga_crtc.crtc_offset;
usr/src/cmd/bhyve/amd64/vga.c
801
*val = sc->vga_crtc.crtc_underline_loc;
usr/src/cmd/bhyve/amd64/vga.c
804
*val = sc->vga_crtc.crtc_start_vert_blank;
usr/src/cmd/bhyve/amd64/vga.c
807
*val = sc->vga_crtc.crtc_end_vert_blank;
usr/src/cmd/bhyve/amd64/vga.c
810
*val = sc->vga_crtc.crtc_mode_ctrl;
usr/src/cmd/bhyve/amd64/vga.c
813
*val = sc->vga_crtc.crtc_line_compare;
usr/src/cmd/bhyve/amd64/vga.c
822
*val = sc->vga_atc.atc_index;
usr/src/cmd/bhyve/amd64/vga.c
825
switch (sc->vga_atc.atc_index) {
usr/src/cmd/bhyve/amd64/vga.c
827
*val = sc->vga_atc.atc_palette[sc->vga_atc.atc_index];
usr/src/cmd/bhyve/amd64/vga.c
830
*val = sc->vga_atc.atc_mode;
usr/src/cmd/bhyve/amd64/vga.c
833
*val = sc->vga_atc.atc_overscan_color;
usr/src/cmd/bhyve/amd64/vga.c
836
*val = sc->vga_atc.atc_color_plane_enb;
usr/src/cmd/bhyve/amd64/vga.c
839
*val = sc->vga_atc.atc_horiz_pixel_panning;
usr/src/cmd/bhyve/amd64/vga.c
842
*val = sc->vga_atc.atc_color_select;
usr/src/cmd/bhyve/amd64/vga.c
851
*val = sc->vga_seq.seq_index;
usr/src/cmd/bhyve/amd64/vga.c
854
switch (sc->vga_seq.seq_index) {
usr/src/cmd/bhyve/amd64/vga.c
856
*val = sc->vga_seq.seq_reset;
usr/src/cmd/bhyve/amd64/vga.c
859
*val = sc->vga_seq.seq_clock_mode;
usr/src/cmd/bhyve/amd64/vga.c
862
*val = sc->vga_seq.seq_map_mask;
usr/src/cmd/bhyve/amd64/vga.c
865
*val = sc->vga_seq.seq_cmap_sel;
usr/src/cmd/bhyve/amd64/vga.c
868
*val = sc->vga_seq.seq_mm;
usr/src/cmd/bhyve/amd64/vga.c
877
*val = sc->vga_dac.dac_palette[3 * sc->vga_dac.dac_rd_index +
usr/src/cmd/bhyve/amd64/vga.c
878
sc->vga_dac.dac_rd_subindex];
usr/src/cmd/bhyve/amd64/vga.c
879
sc->vga_dac.dac_rd_subindex++;
usr/src/cmd/bhyve/amd64/vga.c
880
if (sc->vga_dac.dac_rd_subindex == 3) {
usr/src/cmd/bhyve/amd64/vga.c
881
sc->vga_dac.dac_rd_index++;
usr/src/cmd/bhyve/amd64/vga.c
882
sc->vga_dac.dac_rd_subindex = 0;
usr/src/cmd/bhyve/amd64/vga.c
886
*val = sc->vga_gc.gc_index;
usr/src/cmd/bhyve/amd64/vga.c
889
switch (sc->vga_gc.gc_index) {
usr/src/cmd/bhyve/amd64/vga.c
891
*val = sc->vga_gc.gc_set_reset;
usr/src/cmd/bhyve/amd64/vga.c
894
*val = sc->vga_gc.gc_enb_set_reset;
usr/src/cmd/bhyve/amd64/vga.c
897
*val = sc->vga_gc.gc_color_compare;
usr/src/cmd/bhyve/amd64/vga.c
900
*val = sc->vga_gc.gc_rotate;
usr/src/cmd/bhyve/amd64/vga.c
903
*val = sc->vga_gc.gc_read_map_sel;
usr/src/cmd/bhyve/amd64/vga.c
906
*val = sc->vga_gc.gc_mode;
usr/src/cmd/bhyve/amd64/vga.c
909
*val = sc->vga_gc.gc_misc;
usr/src/cmd/bhyve/amd64/vga.c
912
*val = sc->vga_gc.gc_color_dont_care;
usr/src/cmd/bhyve/amd64/vga.c
915
*val = sc->vga_gc.gc_bit_mask;
usr/src/cmd/bhyve/amd64/vga.c
924
*val = sc->vga_misc;
usr/src/cmd/bhyve/amd64/vga.c
931
sc->vga_atc.atc_flipflop = 0;
usr/src/cmd/bhyve/amd64/vga.c
933
sc->vga_sts1 = GEN_IS1_VR | GEN_IS1_DE;
usr/src/cmd/bhyve/amd64/vga.c
944
sc->vga_sts1 ^= (GEN_IS1_VR | GEN_IS1_DE);
usr/src/cmd/bhyve/amd64/vga.c
946
*val = sc->vga_sts1;
usr/src/cmd/bhyve/amd64/vga.c
969
struct vga_softc *sc = arg;
usr/src/cmd/bhyve/amd64/vga.c
974
sc->vga_crtc.crtc_index = val;
usr/src/cmd/bhyve/amd64/vga.c
978
switch (sc->vga_crtc.crtc_index) {
usr/src/cmd/bhyve/amd64/vga.c
980
sc->vga_crtc.crtc_horiz_total = val;
usr/src/cmd/bhyve/amd64/vga.c
983
sc->vga_crtc.crtc_horiz_disp_end = val;
usr/src/cmd/bhyve/amd64/vga.c
986
sc->vga_crtc.crtc_start_horiz_blank = val;
usr/src/cmd/bhyve/amd64/vga.c
989
sc->vga_crtc.crtc_end_horiz_blank = val;
usr/src/cmd/bhyve/amd64/vga.c
992
sc->vga_crtc.crtc_start_horiz_retrace = val;
usr/src/cmd/bhyve/amd64/vga.c
995
sc->vga_crtc.crtc_end_horiz_retrace = val;
usr/src/cmd/bhyve/amd64/vga.c
998
sc->vga_crtc.crtc_vert_total = val;
usr/src/cmd/bhyve/common/hda_codec.c
171
typedef uint32_t (*verb_func_t)(struct hda_codec_softc *sc, uint16_t verb,
usr/src/cmd/bhyve/common/hda_codec.c
214
static uint32_t hda_codec_audio_output_nid(struct hda_codec_softc *sc,
usr/src/cmd/bhyve/common/hda_codec.c
218
static uint32_t hda_codec_audio_input_nid(struct hda_codec_softc *sc,
usr/src/cmd/bhyve/common/hda_codec.c
394
struct hda_codec_softc *sc = NULL;
usr/src/cmd/bhyve/common/hda_codec.c
401
sc = calloc(1, sizeof(*sc));
usr/src/cmd/bhyve/common/hda_codec.c
402
if (!sc)
usr/src/cmd/bhyve/common/hda_codec.c
406
sc->get_parameters = hda_codec_duplex_parameters;
usr/src/cmd/bhyve/common/hda_codec.c
409
sc->get_parameters = hda_codec_output_parameters;
usr/src/cmd/bhyve/common/hda_codec.c
411
sc->get_parameters = hda_codec_input_parameters;
usr/src/cmd/bhyve/common/hda_codec.c
413
sc->subsystem_id = HDA_CODEC_SUBSYSTEM_ID;
usr/src/cmd/bhyve/common/hda_codec.c
414
sc->no_nodes = HDA_CODEC_NODES_COUNT;
usr/src/cmd/bhyve/common/hda_codec.c
415
sc->conn_list = hda_codec_conn_list;
usr/src/cmd/bhyve/common/hda_codec.c
416
sc->conf_default = hda_codec_conf_default;
usr/src/cmd/bhyve/common/hda_codec.c
417
sc->pin_ctrl_default = hda_codec_pin_ctrl_default;
usr/src/cmd/bhyve/common/hda_codec.c
418
sc->verb_handlers = hda_codec_verb_handlers;
usr/src/cmd/bhyve/common/hda_codec.c
419
DPRINTF("HDA Codec nodes: %d", sc->no_nodes);
usr/src/cmd/bhyve/common/hda_codec.c
425
st = &sc->streams[HDA_CODEC_STREAM_OUTPUT];
usr/src/cmd/bhyve/common/hda_codec.c
429
hda_codec_audio_output_do_setup, sc);
usr/src/cmd/bhyve/common/hda_codec.c
443
st = &sc->streams[HDA_CODEC_STREAM_INPUT];
usr/src/cmd/bhyve/common/hda_codec.c
447
hda_codec_audio_input_do_setup, sc);
usr/src/cmd/bhyve/common/hda_codec.c
457
sc->hci = hci;
usr/src/cmd/bhyve/common/hda_codec.c
458
hci->priv = sc;
usr/src/cmd/bhyve/common/hda_codec.c
467
struct hda_codec_softc *sc = NULL;
usr/src/cmd/bhyve/common/hda_codec.c
476
sc = (struct hda_codec_softc *)hci->priv;
usr/src/cmd/bhyve/common/hda_codec.c
477
assert(sc);
usr/src/cmd/bhyve/common/hda_codec.c
480
st = &sc->streams[i];
usr/src/cmd/bhyve/common/hda_codec.c
502
struct hda_codec_softc *sc = NULL;
usr/src/cmd/bhyve/common/hda_codec.c
529
sc = (struct hda_codec_softc *)hci->priv;
usr/src/cmd/bhyve/common/hda_codec.c
530
assert(sc);
usr/src/cmd/bhyve/common/hda_codec.c
532
if (cad != hci->cad || nid >= sc->no_nodes) {
usr/src/cmd/bhyve/common/hda_codec.c
546
res = sc->get_parameters[nid][payload];
usr/src/cmd/bhyve/common/hda_codec.c
549
res = sc->conn_list[nid][0];
usr/src/cmd/bhyve/common/hda_codec.c
552
res = sc->pin_ctrl_default[nid];
usr/src/cmd/bhyve/common/hda_codec.c
558
res = sc->conf_default[nid];
usr/src/cmd/bhyve/common/hda_codec.c
561
res = sc->subsystem_id;
usr/src/cmd/bhyve/common/hda_codec.c
564
assert(sc->verb_handlers);
usr/src/cmd/bhyve/common/hda_codec.c
565
if (sc->verb_handlers[nid])
usr/src/cmd/bhyve/common/hda_codec.c
566
res = sc->verb_handlers[nid](sc, verb, payload);
usr/src/cmd/bhyve/common/hda_codec.c
582
struct hda_codec_softc *sc = NULL;
usr/src/cmd/bhyve/common/hda_codec.c
591
sc = (struct hda_codec_softc *)hci->priv;
usr/src/cmd/bhyve/common/hda_codec.c
592
assert(sc);
usr/src/cmd/bhyve/common/hda_codec.c
595
st = &sc->streams[i];
usr/src/cmd/bhyve/common/hda_codec.c
667
hda_codec_audio_output_nid(struct hda_codec_softc *sc, uint16_t verb,
usr/src/cmd/bhyve/common/hda_codec.c
670
struct hda_codec_stream *st = &sc->streams[HDA_CODEC_STREAM_OUTPUT];
usr/src/cmd/bhyve/common/hda_codec.c
682
struct hda_codec_softc *sc = (struct hda_codec_softc *)arg;
usr/src/cmd/bhyve/common/hda_codec.c
688
hci = sc->hci;
usr/src/cmd/bhyve/common/hda_codec.c
694
st = &sc->streams[HDA_CODEC_STREAM_OUTPUT];
usr/src/cmd/bhyve/common/hda_codec.c
708
struct hda_codec_softc *sc = (struct hda_codec_softc *)arg;
usr/src/cmd/bhyve/common/hda_codec.c
714
st = &sc->streams[HDA_CODEC_STREAM_OUTPUT];
usr/src/cmd/bhyve/common/hda_codec.c
728
hda_codec_audio_input_nid(struct hda_codec_softc *sc, uint16_t verb,
usr/src/cmd/bhyve/common/hda_codec.c
731
struct hda_codec_stream *st = &sc->streams[HDA_CODEC_STREAM_INPUT];
usr/src/cmd/bhyve/common/hda_codec.c
743
struct hda_codec_softc *sc = (struct hda_codec_softc *)arg;
usr/src/cmd/bhyve/common/hda_codec.c
749
hci = sc->hci;
usr/src/cmd/bhyve/common/hda_codec.c
755
st = &sc->streams[HDA_CODEC_STREAM_INPUT];
usr/src/cmd/bhyve/common/hda_codec.c
767
struct hda_codec_softc *sc = (struct hda_codec_softc *)arg;
usr/src/cmd/bhyve/common/hda_codec.c
773
st = &sc->streams[HDA_CODEC_STREAM_INPUT];
usr/src/cmd/bhyve/common/net_backends.c
396
nbe->sc = param;
usr/src/cmd/bhyve/common/net_backends_priv.h
104
struct pci_vtnet_softc *sc;
usr/src/cmd/bhyve/common/pci_ahci.c
1872
struct pci_ahci_softc *sc;
usr/src/cmd/bhyve/common/pci_ahci.c
1878
sc = p->pr_sc;
usr/src/cmd/bhyve/common/pci_ahci.c
1883
cfis = paddr_guest2host(ahci_ctx(sc), hdr->ctba,
usr/src/cmd/bhyve/common/pci_ahci.c
1954
struct pci_ahci_softc *sc;
usr/src/cmd/bhyve/common/pci_ahci.c
1966
sc = p->pr_sc;
usr/src/cmd/bhyve/common/pci_ahci.c
1976
pthread_mutex_lock(&sc->mtx);
usr/src/cmd/bhyve/common/pci_ahci.c
2018
pthread_mutex_unlock(&sc->mtx);
usr/src/cmd/bhyve/common/pci_ahci.c
2028
struct pci_ahci_softc *sc;
usr/src/cmd/bhyve/common/pci_ahci.c
2039
sc = p->pr_sc;
usr/src/cmd/bhyve/common/pci_ahci.c
2042
pthread_mutex_lock(&sc->mtx);
usr/src/cmd/bhyve/common/pci_ahci.c
2080
pthread_mutex_unlock(&sc->mtx);
usr/src/cmd/bhyve/common/pci_ahci.c
2112
pci_ahci_port_write(struct pci_ahci_softc *sc, uint64_t offset, uint64_t value)
usr/src/cmd/bhyve/common/pci_ahci.c
2116
struct ahci_port *p = &sc->port[port];
usr/src/cmd/bhyve/common/pci_ahci.c
215
#define ahci_ctx(sc) ((sc)->asc_pi->pi_vmctx)
usr/src/cmd/bhyve/common/pci_ahci.c
2160
p->cmd_lst = paddr_guest2host(ahci_ctx(sc), clb,
usr/src/cmd/bhyve/common/pci_ahci.c
2170
p->rfis = paddr_guest2host(ahci_ctx(sc), fb, 256);
usr/src/cmd/bhyve/common/pci_ahci.c
2217
pci_ahci_host_write(struct pci_ahci_softc *sc, uint64_t offset, uint64_t value)
usr/src/cmd/bhyve/common/pci_ahci.c
2231
ahci_reset(sc);
usr/src/cmd/bhyve/common/pci_ahci.c
2235
sc->ghc |= AHCI_GHC_IE;
usr/src/cmd/bhyve/common/pci_ahci.c
2237
sc->ghc &= ~AHCI_GHC_IE;
usr/src/cmd/bhyve/common/pci_ahci.c
2238
ahci_generate_intr(sc, 0xffffffff);
usr/src/cmd/bhyve/common/pci_ahci.c
2241
sc->is &= ~value;
usr/src/cmd/bhyve/common/pci_ahci.c
2242
ahci_generate_intr(sc, value);
usr/src/cmd/bhyve/common/pci_ahci.c
2253
struct pci_ahci_softc *sc = pi->pi_arg;
usr/src/cmd/bhyve/common/pci_ahci.c
2258
pthread_mutex_lock(&sc->mtx);
usr/src/cmd/bhyve/common/pci_ahci.c
2261
pci_ahci_host_write(sc, offset, value);
usr/src/cmd/bhyve/common/pci_ahci.c
2262
else if (offset < (uint64_t)AHCI_OFFSET + sc->ports * AHCI_STEP)
usr/src/cmd/bhyve/common/pci_ahci.c
2263
pci_ahci_port_write(sc, offset, value);
usr/src/cmd/bhyve/common/pci_ahci.c
2267
pthread_mutex_unlock(&sc->mtx);
usr/src/cmd/bhyve/common/pci_ahci.c
2271
pci_ahci_host_read(struct pci_ahci_softc *sc, uint64_t offset)
usr/src/cmd/bhyve/common/pci_ahci.c
2287
uint32_t *p = &sc->cap;
usr/src/cmd/bhyve/common/pci_ahci.c
2303
pci_ahci_port_read(struct pci_ahci_softc *sc, uint64_t offset)
usr/src/cmd/bhyve/common/pci_ahci.c
2327
uint32_t *p= &sc->port[port].clb;
usr/src/cmd/bhyve/common/pci_ahci.c
233
ahci_generate_intr(struct pci_ahci_softc *sc, uint32_t mask)
usr/src/cmd/bhyve/common/pci_ahci.c
2346
struct pci_ahci_softc *sc = pi->pi_arg;
usr/src/cmd/bhyve/common/pci_ahci.c
235
struct pci_devinst *pi = sc->asc_pi;
usr/src/cmd/bhyve/common/pci_ahci.c
2354
pthread_mutex_lock(&sc->mtx);
usr/src/cmd/bhyve/common/pci_ahci.c
2358
value = pci_ahci_host_read(sc, offset);
usr/src/cmd/bhyve/common/pci_ahci.c
2359
else if (offset < (uint64_t)AHCI_OFFSET + sc->ports * AHCI_STEP)
usr/src/cmd/bhyve/common/pci_ahci.c
2360
value = pci_ahci_port_read(sc, offset);
usr/src/cmd/bhyve/common/pci_ahci.c
2368
pthread_mutex_unlock(&sc->mtx);
usr/src/cmd/bhyve/common/pci_ahci.c
241
for (i = 0; i < sc->ports; i++) {
usr/src/cmd/bhyve/common/pci_ahci.c
242
p = &sc->port[i];
usr/src/cmd/bhyve/common/pci_ahci.c
244
sc->is |= (1 << i);
usr/src/cmd/bhyve/common/pci_ahci.c
246
DPRINTF("%s(%08x) %08x", __func__, mask, sc->is);
usr/src/cmd/bhyve/common/pci_ahci.c
2476
struct pci_ahci_softc *sc;
usr/src/cmd/bhyve/common/pci_ahci.c
2489
sc = calloc(1, sizeof(struct pci_ahci_softc));
usr/src/cmd/bhyve/common/pci_ahci.c
249
if (sc->is == 0 || (sc->ghc & AHCI_GHC_IE) == 0) {
usr/src/cmd/bhyve/common/pci_ahci.c
2490
pi->pi_arg = sc;
usr/src/cmd/bhyve/common/pci_ahci.c
2491
sc->asc_pi = pi;
usr/src/cmd/bhyve/common/pci_ahci.c
2492
pthread_mutex_init(&sc->mtx, NULL);
usr/src/cmd/bhyve/common/pci_ahci.c
2493
sc->ports = 0;
usr/src/cmd/bhyve/common/pci_ahci.c
2494
sc->pi = 0;
usr/src/cmd/bhyve/common/pci_ahci.c
2499
struct ata_params *ata_ident = &sc->port[p].ata_ident;
usr/src/cmd/bhyve/common/pci_ahci.c
250
if (sc->lintr) {
usr/src/cmd/bhyve/common/pci_ahci.c
252
sc->lintr = 0;
usr/src/cmd/bhyve/common/pci_ahci.c
2525
sc->ports = p;
usr/src/cmd/bhyve/common/pci_ahci.c
2532
sc->ports = p;
usr/src/cmd/bhyve/common/pci_ahci.c
2536
sc->port[p].bctx = bctxt;
usr/src/cmd/bhyve/common/pci_ahci.c
2537
sc->port[p].pr_sc = sc;
usr/src/cmd/bhyve/common/pci_ahci.c
2538
sc->port[p].port = p;
usr/src/cmd/bhyve/common/pci_ahci.c
2539
sc->port[p].atapi = atapi;
usr/src/cmd/bhyve/common/pci_ahci.c
2573
ata_identify_init(&sc->port[p], atapi);
usr/src/cmd/bhyve/common/pci_ahci.c
2590
pci_ahci_ioreq_init(&sc->port[p]);
usr/src/cmd/bhyve/common/pci_ahci.c
2592
sc->pi |= (1 << p);
usr/src/cmd/bhyve/common/pci_ahci.c
2593
if (sc->port[p].ioqsz < slots)
usr/src/cmd/bhyve/common/pci_ahci.c
2594
slots = sc->port[p].ioqsz;
usr/src/cmd/bhyve/common/pci_ahci.c
2596
sc->ports = p;
usr/src/cmd/bhyve/common/pci_ahci.c
260
if (!sc->lintr) {
usr/src/cmd/bhyve/common/pci_ahci.c
2600
if (sc->ports < DEF_PORTS)
usr/src/cmd/bhyve/common/pci_ahci.c
2601
sc->ports = DEF_PORTS;
usr/src/cmd/bhyve/common/pci_ahci.c
2602
sc->cap = AHCI_CAP_64BIT | AHCI_CAP_SNCQ | AHCI_CAP_SSNTF |
usr/src/cmd/bhyve/common/pci_ahci.c
2606
(slots << AHCI_CAP_NCS_SHIFT) | AHCI_CAP_SXS | (sc->ports - 1);
usr/src/cmd/bhyve/common/pci_ahci.c
2608
sc->vs = 0x10300;
usr/src/cmd/bhyve/common/pci_ahci.c
2609
sc->cap2 = AHCI_CAP2_APST;
usr/src/cmd/bhyve/common/pci_ahci.c
261
sc->lintr = 1;
usr/src/cmd/bhyve/common/pci_ahci.c
2610
ahci_reset(sc);
usr/src/cmd/bhyve/common/pci_ahci.c
2617
p = MIN(sc->ports, 16);
usr/src/cmd/bhyve/common/pci_ahci.c
2621
AHCI_OFFSET + sc->ports * AHCI_STEP);
usr/src/cmd/bhyve/common/pci_ahci.c
2627
for (p = 0; p < sc->ports; p++) {
usr/src/cmd/bhyve/common/pci_ahci.c
2628
if (sc->port[p].bctx != NULL)
usr/src/cmd/bhyve/common/pci_ahci.c
2629
blockif_close(sc->port[p].bctx);
usr/src/cmd/bhyve/common/pci_ahci.c
2631
free(sc);
usr/src/cmd/bhyve/common/pci_ahci.c
269
if (sc->ports <= nmsg || i < nmsg - 1)
usr/src/cmd/bhyve/common/pci_ahci.c
273
if (sc->is & mask && mmask & mask)
usr/src/cmd/bhyve/common/pci_ahci.c
284
struct pci_ahci_softc *sc = p->pr_sc;
usr/src/cmd/bhyve/common/pci_ahci.c
285
struct pci_devinst *pi = sc->asc_pi;
usr/src/cmd/bhyve/common/pci_ahci.c
289
p->port, p->is, p->ie, sc->is);
usr/src/cmd/bhyve/common/pci_ahci.c
297
if (sc->ports <= nmsg || p->port < nmsg - 1) {
usr/src/cmd/bhyve/common/pci_ahci.c
298
sc->is |= (1 << p->port);
usr/src/cmd/bhyve/common/pci_ahci.c
299
if ((sc->ghc & AHCI_GHC_IE) == 0)
usr/src/cmd/bhyve/common/pci_ahci.c
306
if (sc->is & (1 << p->port))
usr/src/cmd/bhyve/common/pci_ahci.c
309
sc->is |= (1 << p->port);
usr/src/cmd/bhyve/common/pci_ahci.c
312
if ((sc->ghc & AHCI_GHC_IE) == 0)
usr/src/cmd/bhyve/common/pci_ahci.c
316
} else if (!sc->lintr) {
usr/src/cmd/bhyve/common/pci_ahci.c
317
sc->lintr = 1;
usr/src/cmd/bhyve/common/pci_ahci.c
559
ahci_reset(struct pci_ahci_softc *sc)
usr/src/cmd/bhyve/common/pci_ahci.c
563
sc->ghc = AHCI_GHC_AE;
usr/src/cmd/bhyve/common/pci_ahci.c
564
sc->is = 0;
usr/src/cmd/bhyve/common/pci_ahci.c
566
if (sc->lintr) {
usr/src/cmd/bhyve/common/pci_ahci.c
567
pci_lintr_deassert(sc->asc_pi);
usr/src/cmd/bhyve/common/pci_ahci.c
568
sc->lintr = 0;
usr/src/cmd/bhyve/common/pci_ahci.c
571
for (i = 0; i < sc->ports; i++) {
usr/src/cmd/bhyve/common/pci_ahci.c
572
sc->port[i].ie = 0;
usr/src/cmd/bhyve/common/pci_ahci.c
573
sc->port[i].is = 0;
usr/src/cmd/bhyve/common/pci_ahci.c
574
sc->port[i].cmd = (AHCI_P_CMD_SUD | AHCI_P_CMD_POD);
usr/src/cmd/bhyve/common/pci_ahci.c
575
if (sc->port[i].bctx)
usr/src/cmd/bhyve/common/pci_ahci.c
576
sc->port[i].cmd |= AHCI_P_CMD_CPS;
usr/src/cmd/bhyve/common/pci_ahci.c
577
sc->port[i].sctl = 0;
usr/src/cmd/bhyve/common/pci_ahci.c
578
ahci_port_reset(&sc->port[i]);
usr/src/cmd/bhyve/common/pci_e82545.c
1051
e82545_transmit_backend(struct e82545_softc *sc, struct iovec *iov, int iovcnt)
usr/src/cmd/bhyve/common/pci_e82545.c
1054
if (sc->esc_be == NULL)
usr/src/cmd/bhyve/common/pci_e82545.c
1057
(void) netbe_send(sc->esc_be, iov, iovcnt);
usr/src/cmd/bhyve/common/pci_e82545.c
1061
e82545_transmit_done(struct e82545_softc *sc, uint16_t head, uint16_t tail,
usr/src/cmd/bhyve/common/pci_e82545.c
1067
dsc = &sc->esc_txdesc[head];
usr/src/cmd/bhyve/common/pci_e82545.c
1076
e82545_transmit(struct e82545_softc *sc, uint16_t head, uint16_t tail,
usr/src/cmd/bhyve/common/pci_e82545.c
1108
dsc = &sc->esc_txdesc[head];
usr/src/cmd/bhyve/common/pci_e82545.c
1119
sc->esc_txctx = dsc->cd;
usr/src/cmd/bhyve/common/pci_e82545.c
1160
iov[iovcnt].iov_base = paddr_guest2host(sc->esc_ctx,
usr/src/cmd/bhyve/common/pci_e82545.c
1180
cd = &sc->esc_txctx;
usr/src/cmd/bhyve/common/pci_e82545.c
1223
if ((sc->esc_CTRL & E1000_CTRL_VME) &&
usr/src/cmd/bhyve/common/pci_e82545.c
1240
hdrlen = sc->esc_txctx.tcp_seg_setup.fields.hdr_len;
usr/src/cmd/bhyve/common/pci_e82545.c
1288
if (sc->esc_txctx.cmd_and_length & E1000_TXD_CMD_TCP) {
usr/src/cmd/bhyve/common/pci_e82545.c
1363
hdr[ETHER_ADDR_LEN*2 + 0] = sc->esc_VET >> 8;
usr/src/cmd/bhyve/common/pci_e82545.c
1364
hdr[ETHER_ADDR_LEN*2 + 1] = sc->esc_VET & 0xff;
usr/src/cmd/bhyve/common/pci_e82545.c
1391
e82545_transmit_backend(sc, iov, iovcnt);
usr/src/cmd/bhyve/common/pci_e82545.c
1396
tcp = (sc->esc_txctx.cmd_and_length & E1000_TXD_CMD_TCP) != 0;
usr/src/cmd/bhyve/common/pci_e82545.c
1397
mss = sc->esc_txctx.tcp_seg_setup.fields.mss;
usr/src/cmd/bhyve/common/pci_e82545.c
1398
paylen = (sc->esc_txctx.cmd_and_length & 0x000fffff);
usr/src/cmd/bhyve/common/pci_e82545.c
1443
if (sc->esc_txctx.cmd_and_length & E1000_TXD_CMD_IP) {
usr/src/cmd/bhyve/common/pci_e82545.c
1485
e82545_transmit_backend(sc, tiov, tiovcnt);
usr/src/cmd/bhyve/common/pci_e82545.c
1490
e82545_transmit_done(sc, ohead, head, dsize, tdwb);
usr/src/cmd/bhyve/common/pci_e82545.c
1497
e82545_tx_run(struct e82545_softc *sc)
usr/src/cmd/bhyve/common/pci_e82545.c
1503
size = sc->esc_TDLEN / 16;
usr/src/cmd/bhyve/common/pci_e82545.c
1507
head = sc->esc_TDH % size;
usr/src/cmd/bhyve/common/pci_e82545.c
1508
tail = sc->esc_TDT % size;
usr/src/cmd/bhyve/common/pci_e82545.c
1510
sc->esc_TDH, sc->esc_TDHr, sc->esc_TDT);
usr/src/cmd/bhyve/common/pci_e82545.c
1512
pthread_mutex_unlock(&sc->esc_mtx);
usr/src/cmd/bhyve/common/pci_e82545.c
1515
for (lim = size / 4; sc->esc_tx_enabled && lim > 0; lim -= sent) {
usr/src/cmd/bhyve/common/pci_e82545.c
1516
sent = e82545_transmit(sc, head, tail, size, &rhead, &tdwb);
usr/src/cmd/bhyve/common/pci_e82545.c
1521
pthread_mutex_lock(&sc->esc_mtx);
usr/src/cmd/bhyve/common/pci_e82545.c
1523
sc->esc_TDH = head;
usr/src/cmd/bhyve/common/pci_e82545.c
1524
sc->esc_TDHr = rhead;
usr/src/cmd/bhyve/common/pci_e82545.c
1528
if (lim != size / 4 && sc->esc_TDH == sc->esc_TDT)
usr/src/cmd/bhyve/common/pci_e82545.c
1531
e82545_icr_assert(sc, cause);
usr/src/cmd/bhyve/common/pci_e82545.c
1534
sc->esc_TDH, sc->esc_TDHr, sc->esc_TDT);
usr/src/cmd/bhyve/common/pci_e82545.c
1540
struct e82545_softc *sc = param;
usr/src/cmd/bhyve/common/pci_e82545.c
1542
pthread_mutex_lock(&sc->esc_mtx);
usr/src/cmd/bhyve/common/pci_e82545.c
1544
while (!sc->esc_tx_enabled || sc->esc_TDHr == sc->esc_TDT) {
usr/src/cmd/bhyve/common/pci_e82545.c
1545
if (sc->esc_tx_enabled && sc->esc_TDHr != sc->esc_TDT)
usr/src/cmd/bhyve/common/pci_e82545.c
1547
sc->esc_tx_active = 0;
usr/src/cmd/bhyve/common/pci_e82545.c
1548
if (sc->esc_tx_enabled == 0)
usr/src/cmd/bhyve/common/pci_e82545.c
1549
pthread_cond_signal(&sc->esc_tx_cond);
usr/src/cmd/bhyve/common/pci_e82545.c
1550
pthread_cond_wait(&sc->esc_tx_cond, &sc->esc_mtx);
usr/src/cmd/bhyve/common/pci_e82545.c
1552
sc->esc_tx_active = 1;
usr/src/cmd/bhyve/common/pci_e82545.c
1555
e82545_tx_run(sc);
usr/src/cmd/bhyve/common/pci_e82545.c
1560
e82545_tx_start(struct e82545_softc *sc)
usr/src/cmd/bhyve/common/pci_e82545.c
1563
if (sc->esc_tx_active == 0)
usr/src/cmd/bhyve/common/pci_e82545.c
1564
pthread_cond_signal(&sc->esc_tx_cond);
usr/src/cmd/bhyve/common/pci_e82545.c
1568
e82545_tx_enable(struct e82545_softc *sc)
usr/src/cmd/bhyve/common/pci_e82545.c
1571
sc->esc_tx_enabled = 1;
usr/src/cmd/bhyve/common/pci_e82545.c
1575
e82545_tx_disable(struct e82545_softc *sc)
usr/src/cmd/bhyve/common/pci_e82545.c
1578
sc->esc_tx_enabled = 0;
usr/src/cmd/bhyve/common/pci_e82545.c
1579
while (sc->esc_tx_active)
usr/src/cmd/bhyve/common/pci_e82545.c
1580
pthread_cond_wait(&sc->esc_tx_cond, &sc->esc_mtx);
usr/src/cmd/bhyve/common/pci_e82545.c
1584
e82545_rx_enable(struct e82545_softc *sc)
usr/src/cmd/bhyve/common/pci_e82545.c
1587
sc->esc_rx_enabled = 1;
usr/src/cmd/bhyve/common/pci_e82545.c
1591
e82545_rx_disable(struct e82545_softc *sc)
usr/src/cmd/bhyve/common/pci_e82545.c
1594
sc->esc_rx_enabled = 0;
usr/src/cmd/bhyve/common/pci_e82545.c
1595
while (sc->esc_rx_active)
usr/src/cmd/bhyve/common/pci_e82545.c
1596
pthread_cond_wait(&sc->esc_rx_cond, &sc->esc_mtx);
usr/src/cmd/bhyve/common/pci_e82545.c
1600
e82545_write_ra(struct e82545_softc *sc, int reg, uint32_t wval)
usr/src/cmd/bhyve/common/pci_e82545.c
1608
eu = &sc->esc_uni[idx];
usr/src/cmd/bhyve/common/pci_e82545.c
1626
e82545_read_ra(struct e82545_softc *sc, int reg)
usr/src/cmd/bhyve/common/pci_e82545.c
1635
eu = &sc->esc_uni[idx];
usr/src/cmd/bhyve/common/pci_e82545.c
1655
e82545_write_register(struct e82545_softc *sc, uint32_t offset, uint32_t value)
usr/src/cmd/bhyve/common/pci_e82545.c
1668
e82545_devctl(sc, value);
usr/src/cmd/bhyve/common/pci_e82545.c
1671
sc->esc_FCAL = value;
usr/src/cmd/bhyve/common/pci_e82545.c
1674
sc->esc_FCAH = value & ~0xFFFF0000;
usr/src/cmd/bhyve/common/pci_e82545.c
1677
sc->esc_FCT = value & ~0xFFFF0000;
usr/src/cmd/bhyve/common/pci_e82545.c
1680
sc->esc_VET = value & ~0xFFFF0000;
usr/src/cmd/bhyve/common/pci_e82545.c
1683
sc->esc_FCTTV = value & ~0xFFFF0000;
usr/src/cmd/bhyve/common/pci_e82545.c
1686
sc->esc_LEDCTL = value & ~0x30303000;
usr/src/cmd/bhyve/common/pci_e82545.c
1689
sc->esc_PBA = value & 0x0000FF80;
usr/src/cmd/bhyve/common/pci_e82545.c
1696
e82545_intr_write(sc, offset, value);
usr/src/cmd/bhyve/common/pci_e82545.c
1699
e82545_rx_ctl(sc, value);
usr/src/cmd/bhyve/common/pci_e82545.c
1702
sc->esc_FCRTL = value & ~0xFFFF0007;
usr/src/cmd/bhyve/common/pci_e82545.c
1705
sc->esc_FCRTH = value & ~0xFFFF0007;
usr/src/cmd/bhyve/common/pci_e82545.c
1708
sc->esc_RDBAL = value & ~0xF;
usr/src/cmd/bhyve/common/pci_e82545.c
1709
if (sc->esc_rx_enabled) {
usr/src/cmd/bhyve/common/pci_e82545.c
1711
e82545_rx_update_rdba(sc);
usr/src/cmd/bhyve/common/pci_e82545.c
1715
assert(!sc->esc_rx_enabled);
usr/src/cmd/bhyve/common/pci_e82545.c
1716
sc->esc_RDBAH = value;
usr/src/cmd/bhyve/common/pci_e82545.c
1719
assert(!sc->esc_rx_enabled);
usr/src/cmd/bhyve/common/pci_e82545.c
1720
sc->esc_RDLEN = value & ~0xFFF0007F;
usr/src/cmd/bhyve/common/pci_e82545.c
1724
sc->esc_RDH = value;
usr/src/cmd/bhyve/common/pci_e82545.c
1728
sc->esc_RDT = value;
usr/src/cmd/bhyve/common/pci_e82545.c
1732
sc->esc_RDTR = value & ~0xFFFF0000;
usr/src/cmd/bhyve/common/pci_e82545.c
1735
sc->esc_RXDCTL = value & ~0xFEC0C0C0;
usr/src/cmd/bhyve/common/pci_e82545.c
1738
sc->esc_RADV = value & ~0xFFFF0000;
usr/src/cmd/bhyve/common/pci_e82545.c
1741
sc->esc_RSRPD = value & ~0xFFFFF000;
usr/src/cmd/bhyve/common/pci_e82545.c
1744
sc->esc_RXCSUM = value & ~0xFFFFF800;
usr/src/cmd/bhyve/common/pci_e82545.c
1747
sc->esc_TXCW = value & ~0x3FFF0000;
usr/src/cmd/bhyve/common/pci_e82545.c
1750
e82545_tx_ctl(sc, value);
usr/src/cmd/bhyve/common/pci_e82545.c
1753
sc->esc_TIPG = value;
usr/src/cmd/bhyve/common/pci_e82545.c
1756
sc->esc_AIT = value;
usr/src/cmd/bhyve/common/pci_e82545.c
1759
sc->esc_TDBAL = value & ~0xF;
usr/src/cmd/bhyve/common/pci_e82545.c
1760
if (sc->esc_tx_enabled)
usr/src/cmd/bhyve/common/pci_e82545.c
1761
e82545_tx_update_tdba(sc);
usr/src/cmd/bhyve/common/pci_e82545.c
1764
sc->esc_TDBAH = value;
usr/src/cmd/bhyve/common/pci_e82545.c
1765
if (sc->esc_tx_enabled)
usr/src/cmd/bhyve/common/pci_e82545.c
1766
e82545_tx_update_tdba(sc);
usr/src/cmd/bhyve/common/pci_e82545.c
1769
sc->esc_TDLEN = value & ~0xFFF0007F;
usr/src/cmd/bhyve/common/pci_e82545.c
1770
if (sc->esc_tx_enabled)
usr/src/cmd/bhyve/common/pci_e82545.c
1771
e82545_tx_update_tdba(sc);
usr/src/cmd/bhyve/common/pci_e82545.c
1774
if (sc->esc_tx_enabled) {
usr/src/cmd/bhyve/common/pci_e82545.c
1782
sc->esc_TDHr = sc->esc_TDH = value;
usr/src/cmd/bhyve/common/pci_e82545.c
1785
sc->esc_TDT = value;
usr/src/cmd/bhyve/common/pci_e82545.c
1786
if (sc->esc_tx_enabled)
usr/src/cmd/bhyve/common/pci_e82545.c
1787
e82545_tx_start(sc);
usr/src/cmd/bhyve/common/pci_e82545.c
1790
sc->esc_TIDV = value & ~0xFFFF0000;
usr/src/cmd/bhyve/common/pci_e82545.c
1794
sc->esc_TXDCTL = value & ~0xC0C0C0;
usr/src/cmd/bhyve/common/pci_e82545.c
1797
sc->esc_TADV = value & ~0xFFFF0000;
usr/src/cmd/bhyve/common/pci_e82545.c
1802
e82545_write_ra(sc, ridx, value);
usr/src/cmd/bhyve/common/pci_e82545.c
1805
sc->esc_fmcast[(offset - E1000_MTA) >> 2] = value;
usr/src/cmd/bhyve/common/pci_e82545.c
1808
sc->esc_fvlan[(offset - E1000_VFTA) >> 2] = value;
usr/src/cmd/bhyve/common/pci_e82545.c
1814
uint32_t eecd_strobe = ((sc->eeprom_control & E1000_EECD_SK) ?
usr/src/cmd/bhyve/common/pci_e82545.c
1818
sc->eeprom_control &= ~eecd_mask;
usr/src/cmd/bhyve/common/pci_e82545.c
1819
sc->eeprom_control |= (value & eecd_mask);
usr/src/cmd/bhyve/common/pci_e82545.c
1822
sc->eeprom_control |= E1000_EECD_GNT;
usr/src/cmd/bhyve/common/pci_e82545.c
1824
sc->eeprom_control &= ~E1000_EECD_GNT;
usr/src/cmd/bhyve/common/pci_e82545.c
1826
if (eecd_strobe && (sc->eeprom_control & E1000_EECD_CS)) {
usr/src/cmd/bhyve/common/pci_e82545.c
1827
e82545_eecd_strobe(sc);
usr/src/cmd/bhyve/common/pci_e82545.c
1837
sc->mdi_control =
usr/src/cmd/bhyve/common/pci_e82545.c
1845
sc->mdi_control &= ~E82545_MDIC_DATA_MASK;
usr/src/cmd/bhyve/common/pci_e82545.c
1846
sc->mdi_control |= e82545_read_mdi(sc, reg_addr, phy_addr);
usr/src/cmd/bhyve/common/pci_e82545.c
1849
e82545_write_mdi(sc, reg_addr, phy_addr,
usr/src/cmd/bhyve/common/pci_e82545.c
1857
sc->mdi_control |= E1000_MDIC_READY;
usr/src/cmd/bhyve/common/pci_e82545.c
1873
e82545_read_register(struct e82545_softc *sc, uint32_t offset)
usr/src/cmd/bhyve/common/pci_e82545.c
1887
retval = sc->esc_CTRL;
usr/src/cmd/bhyve/common/pci_e82545.c
1894
retval = sc->esc_FCAL;
usr/src/cmd/bhyve/common/pci_e82545.c
1897
retval = sc->esc_FCAH;
usr/src/cmd/bhyve/common/pci_e82545.c
1900
retval = sc->esc_FCT;
usr/src/cmd/bhyve/common/pci_e82545.c
1903
retval = sc->esc_VET;
usr/src/cmd/bhyve/common/pci_e82545.c
1906
retval = sc->esc_FCTTV;
usr/src/cmd/bhyve/common/pci_e82545.c
1909
retval = sc->esc_LEDCTL;
usr/src/cmd/bhyve/common/pci_e82545.c
1912
retval = sc->esc_PBA;
usr/src/cmd/bhyve/common/pci_e82545.c
1919
retval = e82545_intr_read(sc, offset);
usr/src/cmd/bhyve/common/pci_e82545.c
1922
retval = sc->esc_RCTL;
usr/src/cmd/bhyve/common/pci_e82545.c
1925
retval = sc->esc_FCRTL;
usr/src/cmd/bhyve/common/pci_e82545.c
1928
retval = sc->esc_FCRTH;
usr/src/cmd/bhyve/common/pci_e82545.c
1931
retval = sc->esc_RDBAL;
usr/src/cmd/bhyve/common/pci_e82545.c
1934
retval = sc->esc_RDBAH;
usr/src/cmd/bhyve/common/pci_e82545.c
1937
retval = sc->esc_RDLEN;
usr/src/cmd/bhyve/common/pci_e82545.c
1940
retval = sc->esc_RDH;
usr/src/cmd/bhyve/common/pci_e82545.c
1943
retval = sc->esc_RDT;
usr/src/cmd/bhyve/common/pci_e82545.c
1946
retval = sc->esc_RDTR;
usr/src/cmd/bhyve/common/pci_e82545.c
1949
retval = sc->esc_RXDCTL;
usr/src/cmd/bhyve/common/pci_e82545.c
1952
retval = sc->esc_RADV;
usr/src/cmd/bhyve/common/pci_e82545.c
1955
retval = sc->esc_RSRPD;
usr/src/cmd/bhyve/common/pci_e82545.c
1958
retval = sc->esc_RXCSUM;
usr/src/cmd/bhyve/common/pci_e82545.c
1961
retval = sc->esc_TXCW;
usr/src/cmd/bhyve/common/pci_e82545.c
1964
retval = sc->esc_TCTL;
usr/src/cmd/bhyve/common/pci_e82545.c
1967
retval = sc->esc_TIPG;
usr/src/cmd/bhyve/common/pci_e82545.c
1970
retval = sc->esc_AIT;
usr/src/cmd/bhyve/common/pci_e82545.c
1973
retval = sc->esc_TDBAL;
usr/src/cmd/bhyve/common/pci_e82545.c
1976
retval = sc->esc_TDBAH;
usr/src/cmd/bhyve/common/pci_e82545.c
1979
retval = sc->esc_TDLEN;
usr/src/cmd/bhyve/common/pci_e82545.c
1982
retval = sc->esc_TDH;
usr/src/cmd/bhyve/common/pci_e82545.c
1985
retval = sc->esc_TDT;
usr/src/cmd/bhyve/common/pci_e82545.c
1988
retval = sc->esc_TIDV;
usr/src/cmd/bhyve/common/pci_e82545.c
1991
retval = sc->esc_TXDCTL;
usr/src/cmd/bhyve/common/pci_e82545.c
1994
retval = sc->esc_TADV;
usr/src/cmd/bhyve/common/pci_e82545.c
1999
retval = e82545_read_ra(sc, ridx);
usr/src/cmd/bhyve/common/pci_e82545.c
2002
retval = sc->esc_fmcast[(offset - E1000_MTA) >> 2];
usr/src/cmd/bhyve/common/pci_e82545.c
2005
retval = sc->esc_fvlan[(offset - E1000_VFTA) >> 2];
usr/src/cmd/bhyve/common/pci_e82545.c
2009
retval = sc->eeprom_control;
usr/src/cmd/bhyve/common/pci_e82545.c
2012
retval = sc->mdi_control;
usr/src/cmd/bhyve/common/pci_e82545.c
2019
retval = sc->missed_pkt_count;
usr/src/cmd/bhyve/common/pci_e82545.c
2022
retval = sc->pkt_rx_by_size[0];
usr/src/cmd/bhyve/common/pci_e82545.c
2025
retval = sc->pkt_rx_by_size[1];
usr/src/cmd/bhyve/common/pci_e82545.c
2028
retval = sc->pkt_rx_by_size[2];
usr/src/cmd/bhyve/common/pci_e82545.c
2031
retval = sc->pkt_rx_by_size[3];
usr/src/cmd/bhyve/common/pci_e82545.c
2034
retval = sc->pkt_rx_by_size[4];
usr/src/cmd/bhyve/common/pci_e82545.c
2037
retval = sc->pkt_rx_by_size[5];
usr/src/cmd/bhyve/common/pci_e82545.c
2040
retval = sc->good_pkt_rx_count;
usr/src/cmd/bhyve/common/pci_e82545.c
2043
retval = sc->bcast_pkt_rx_count;
usr/src/cmd/bhyve/common/pci_e82545.c
2046
retval = sc->mcast_pkt_rx_count;
usr/src/cmd/bhyve/common/pci_e82545.c
2050
retval = sc->good_pkt_tx_count;
usr/src/cmd/bhyve/common/pci_e82545.c
2053
retval = (uint32_t)sc->good_octets_rx;
usr/src/cmd/bhyve/common/pci_e82545.c
2056
retval = (uint32_t)(sc->good_octets_rx >> 32);
usr/src/cmd/bhyve/common/pci_e82545.c
2060
retval = (uint32_t)sc->good_octets_tx;
usr/src/cmd/bhyve/common/pci_e82545.c
2064
retval = (uint32_t)(sc->good_octets_tx >> 32);
usr/src/cmd/bhyve/common/pci_e82545.c
2067
retval = sc->oversize_rx_count;
usr/src/cmd/bhyve/common/pci_e82545.c
2070
retval = (uint32_t)(sc->good_octets_rx + sc->missed_octets);
usr/src/cmd/bhyve/common/pci_e82545.c
2073
retval = (uint32_t)((sc->good_octets_rx +
usr/src/cmd/bhyve/common/pci_e82545.c
2074
sc->missed_octets) >> 32);
usr/src/cmd/bhyve/common/pci_e82545.c
2077
retval = sc->good_pkt_rx_count + sc->missed_pkt_count +
usr/src/cmd/bhyve/common/pci_e82545.c
2078
sc->oversize_rx_count;
usr/src/cmd/bhyve/common/pci_e82545.c
2081
retval = sc->pkt_tx_by_size[0];
usr/src/cmd/bhyve/common/pci_e82545.c
2084
retval = sc->pkt_tx_by_size[1];
usr/src/cmd/bhyve/common/pci_e82545.c
2087
retval = sc->pkt_tx_by_size[2];
usr/src/cmd/bhyve/common/pci_e82545.c
2090
retval = sc->pkt_tx_by_size[3];
usr/src/cmd/bhyve/common/pci_e82545.c
2093
retval = sc->pkt_tx_by_size[4];
usr/src/cmd/bhyve/common/pci_e82545.c
2096
retval = sc->pkt_tx_by_size[5];
usr/src/cmd/bhyve/common/pci_e82545.c
2099
retval = sc->mcast_pkt_tx_count;
usr/src/cmd/bhyve/common/pci_e82545.c
2102
retval = sc->bcast_pkt_tx_count;
usr/src/cmd/bhyve/common/pci_e82545.c
2105
retval = sc->tso_tx_count;
usr/src/cmd/bhyve/common/pci_e82545.c
2150
struct e82545_softc *sc;
usr/src/cmd/bhyve/common/pci_e82545.c
2154
sc = pi->pi_arg;
usr/src/cmd/bhyve/common/pci_e82545.c
2156
pthread_mutex_lock(&sc->esc_mtx);
usr/src/cmd/bhyve/common/pci_e82545.c
2165
sc->io_addr = (uint32_t)value;
usr/src/cmd/bhyve/common/pci_e82545.c
2170
} else if (sc->io_addr > E82545_IO_REGISTER_MAX) {
usr/src/cmd/bhyve/common/pci_e82545.c
2171
DPRINTF("Non-register io write addr:0x%x value:0x%lx", sc->io_addr, value);
usr/src/cmd/bhyve/common/pci_e82545.c
2173
e82545_write_register(sc, sc->io_addr,
usr/src/cmd/bhyve/common/pci_e82545.c
2185
e82545_write_register(sc, (uint32_t)offset,
usr/src/cmd/bhyve/common/pci_e82545.c
2193
pthread_mutex_unlock(&sc->esc_mtx);
usr/src/cmd/bhyve/common/pci_e82545.c
2199
struct e82545_softc *sc;
usr/src/cmd/bhyve/common/pci_e82545.c
2203
sc = pi->pi_arg;
usr/src/cmd/bhyve/common/pci_e82545.c
2206
pthread_mutex_lock(&sc->esc_mtx);
usr/src/cmd/bhyve/common/pci_e82545.c
2215
retval = sc->io_addr;
usr/src/cmd/bhyve/common/pci_e82545.c
2221
if (sc->io_addr > E82545_IO_REGISTER_MAX) {
usr/src/cmd/bhyve/common/pci_e82545.c
2223
sc->io_addr);
usr/src/cmd/bhyve/common/pci_e82545.c
2225
retval = e82545_read_register(sc, sc->io_addr);
usr/src/cmd/bhyve/common/pci_e82545.c
2238
retval = e82545_read_register(sc, (uint32_t)offset);
usr/src/cmd/bhyve/common/pci_e82545.c
2246
pthread_mutex_unlock(&sc->esc_mtx);
usr/src/cmd/bhyve/common/pci_e82545.c
2252
e82545_reset(struct e82545_softc *sc, int drvr)
usr/src/cmd/bhyve/common/pci_e82545.c
2256
e82545_rx_disable(sc);
usr/src/cmd/bhyve/common/pci_e82545.c
2257
e82545_tx_disable(sc);
usr/src/cmd/bhyve/common/pci_e82545.c
2260
if (sc->esc_irq_asserted)
usr/src/cmd/bhyve/common/pci_e82545.c
2261
pci_lintr_deassert(sc->esc_pi);
usr/src/cmd/bhyve/common/pci_e82545.c
2265
sc->esc_FCAL = 0;
usr/src/cmd/bhyve/common/pci_e82545.c
2266
sc->esc_FCAH = 0;
usr/src/cmd/bhyve/common/pci_e82545.c
2267
sc->esc_FCT = 0;
usr/src/cmd/bhyve/common/pci_e82545.c
2268
sc->esc_VET = 0;
usr/src/cmd/bhyve/common/pci_e82545.c
2269
sc->esc_FCTTV = 0;
usr/src/cmd/bhyve/common/pci_e82545.c
2271
sc->esc_LEDCTL = 0x07061302;
usr/src/cmd/bhyve/common/pci_e82545.c
2272
sc->esc_PBA = 0x00100030;
usr/src/cmd/bhyve/common/pci_e82545.c
2275
sc->nvm_opaddr = 0;
usr/src/cmd/bhyve/common/pci_e82545.c
2276
sc->nvm_mode = E82545_NVM_MODE_OPADDR;
usr/src/cmd/bhyve/common/pci_e82545.c
2277
sc->nvm_bits = E82545_NVM_OPADDR_BITS;
usr/src/cmd/bhyve/common/pci_e82545.c
2278
sc->eeprom_control = E1000_EECD_PRES | E82545_EECD_FWE_EN;
usr/src/cmd/bhyve/common/pci_e82545.c
2279
e82545_init_eeprom(sc);
usr/src/cmd/bhyve/common/pci_e82545.c
2282
sc->esc_ICR = 0;
usr/src/cmd/bhyve/common/pci_e82545.c
2283
sc->esc_ITR = 250;
usr/src/cmd/bhyve/common/pci_e82545.c
2284
sc->esc_ICS = 0;
usr/src/cmd/bhyve/common/pci_e82545.c
2285
sc->esc_IMS = 0;
usr/src/cmd/bhyve/common/pci_e82545.c
2286
sc->esc_IMC = 0;
usr/src/cmd/bhyve/common/pci_e82545.c
2290
memset(sc->esc_fvlan, 0, sizeof(sc->esc_fvlan));
usr/src/cmd/bhyve/common/pci_e82545.c
2291
memset(sc->esc_fmcast, 0, sizeof(sc->esc_fmcast));
usr/src/cmd/bhyve/common/pci_e82545.c
2292
memset(sc->esc_uni, 0, sizeof(sc->esc_uni));
usr/src/cmd/bhyve/common/pci_e82545.c
2295
sc->esc_uni[0].eu_valid = 1;
usr/src/cmd/bhyve/common/pci_e82545.c
2296
memcpy(sc->esc_uni[0].eu_eth.octet, sc->esc_mac.octet,
usr/src/cmd/bhyve/common/pci_e82545.c
2301
sc->esc_uni[i].eu_valid = 0;
usr/src/cmd/bhyve/common/pci_e82545.c
2306
sc->esc_RDBAL = 0;
usr/src/cmd/bhyve/common/pci_e82545.c
2307
sc->esc_RDBAH = 0;
usr/src/cmd/bhyve/common/pci_e82545.c
2309
sc->esc_RCTL = 0;
usr/src/cmd/bhyve/common/pci_e82545.c
2310
sc->esc_FCRTL = 0;
usr/src/cmd/bhyve/common/pci_e82545.c
2311
sc->esc_FCRTH = 0;
usr/src/cmd/bhyve/common/pci_e82545.c
2312
sc->esc_RDLEN = 0;
usr/src/cmd/bhyve/common/pci_e82545.c
2313
sc->esc_RDH = 0;
usr/src/cmd/bhyve/common/pci_e82545.c
2314
sc->esc_RDT = 0;
usr/src/cmd/bhyve/common/pci_e82545.c
2315
sc->esc_RDTR = 0;
usr/src/cmd/bhyve/common/pci_e82545.c
2316
sc->esc_RXDCTL = (1 << 24) | (1 << 16); /* default GRAN/WTHRESH */
usr/src/cmd/bhyve/common/pci_e82545.c
2317
sc->esc_RADV = 0;
usr/src/cmd/bhyve/common/pci_e82545.c
2318
sc->esc_RXCSUM = 0;
usr/src/cmd/bhyve/common/pci_e82545.c
2322
sc->esc_TDBAL = 0;
usr/src/cmd/bhyve/common/pci_e82545.c
2323
sc->esc_TDBAH = 0;
usr/src/cmd/bhyve/common/pci_e82545.c
2324
sc->esc_TIPG = 0;
usr/src/cmd/bhyve/common/pci_e82545.c
2325
sc->esc_AIT = 0;
usr/src/cmd/bhyve/common/pci_e82545.c
2326
sc->esc_TIDV = 0;
usr/src/cmd/bhyve/common/pci_e82545.c
2327
sc->esc_TADV = 0;
usr/src/cmd/bhyve/common/pci_e82545.c
2329
sc->esc_tdba = 0;
usr/src/cmd/bhyve/common/pci_e82545.c
2330
sc->esc_txdesc = NULL;
usr/src/cmd/bhyve/common/pci_e82545.c
2331
sc->esc_TXCW = 0;
usr/src/cmd/bhyve/common/pci_e82545.c
2332
sc->esc_TCTL = 0;
usr/src/cmd/bhyve/common/pci_e82545.c
2333
sc->esc_TDLEN = 0;
usr/src/cmd/bhyve/common/pci_e82545.c
2334
sc->esc_TDT = 0;
usr/src/cmd/bhyve/common/pci_e82545.c
2335
sc->esc_TDHr = sc->esc_TDH = 0;
usr/src/cmd/bhyve/common/pci_e82545.c
2336
sc->esc_TXDCTL = 0;
usr/src/cmd/bhyve/common/pci_e82545.c
2343
struct e82545_softc *sc;
usr/src/cmd/bhyve/common/pci_e82545.c
2348
sc = calloc(1, sizeof(*sc));
usr/src/cmd/bhyve/common/pci_e82545.c
2350
pi->pi_arg = sc;
usr/src/cmd/bhyve/common/pci_e82545.c
2351
sc->esc_pi = pi;
usr/src/cmd/bhyve/common/pci_e82545.c
2352
sc->esc_ctx = pi->pi_vmctx;
usr/src/cmd/bhyve/common/pci_e82545.c
2354
pthread_mutex_init(&sc->esc_mtx, NULL);
usr/src/cmd/bhyve/common/pci_e82545.c
2355
pthread_cond_init(&sc->esc_rx_cond, NULL);
usr/src/cmd/bhyve/common/pci_e82545.c
2356
pthread_cond_init(&sc->esc_tx_cond, NULL);
usr/src/cmd/bhyve/common/pci_e82545.c
2357
pthread_create(&sc->esc_tx_tid, NULL, e82545_tx_thread, sc);
usr/src/cmd/bhyve/common/pci_e82545.c
2360
pthread_set_name_np(sc->esc_tx_tid, nstr);
usr/src/cmd/bhyve/common/pci_e82545.c
2385
err = net_parsemac(mac, sc->esc_mac.octet);
usr/src/cmd/bhyve/common/pci_e82545.c
2387
free(sc);
usr/src/cmd/bhyve/common/pci_e82545.c
2391
net_genmac(pi, sc->esc_mac.octet);
usr/src/cmd/bhyve/common/pci_e82545.c
2393
err = netbe_init(&sc->esc_be, nvl, e82545_rx_callback, sc);
usr/src/cmd/bhyve/common/pci_e82545.c
2395
free(sc);
usr/src/cmd/bhyve/common/pci_e82545.c
2400
size_t buflen = sizeof (sc->esc_mac.octet);
usr/src/cmd/bhyve/common/pci_e82545.c
2402
err = netbe_get_mac(sc->esc_be, sc->esc_mac.octet, &buflen);
usr/src/cmd/bhyve/common/pci_e82545.c
2404
free(sc);
usr/src/cmd/bhyve/common/pci_e82545.c
2409
netbe_rx_enable(sc->esc_be);
usr/src/cmd/bhyve/common/pci_e82545.c
2412
e82545_reset(sc, 0);
usr/src/cmd/bhyve/common/pci_e82545.c
356
static void e82545_reset(struct e82545_softc *sc, int dev);
usr/src/cmd/bhyve/common/pci_e82545.c
357
static void e82545_rx_enable(struct e82545_softc *sc);
usr/src/cmd/bhyve/common/pci_e82545.c
358
static void e82545_rx_disable(struct e82545_softc *sc);
usr/src/cmd/bhyve/common/pci_e82545.c
360
static void e82545_tx_start(struct e82545_softc *sc);
usr/src/cmd/bhyve/common/pci_e82545.c
361
static void e82545_tx_enable(struct e82545_softc *sc);
usr/src/cmd/bhyve/common/pci_e82545.c
362
static void e82545_tx_disable(struct e82545_softc *sc);
usr/src/cmd/bhyve/common/pci_e82545.c
378
e82545_init_eeprom(struct e82545_softc *sc)
usr/src/cmd/bhyve/common/pci_e82545.c
383
sc->eeprom_data[NVM_MAC_ADDR] = ((uint16_t)sc->esc_mac.octet[0]) |
usr/src/cmd/bhyve/common/pci_e82545.c
384
(((uint16_t)sc->esc_mac.octet[1]) << 8);
usr/src/cmd/bhyve/common/pci_e82545.c
385
sc->eeprom_data[NVM_MAC_ADDR+1] = ((uint16_t)sc->esc_mac.octet[2]) |
usr/src/cmd/bhyve/common/pci_e82545.c
386
(((uint16_t)sc->esc_mac.octet[3]) << 8);
usr/src/cmd/bhyve/common/pci_e82545.c
387
sc->eeprom_data[NVM_MAC_ADDR+2] = ((uint16_t)sc->esc_mac.octet[4]) |
usr/src/cmd/bhyve/common/pci_e82545.c
388
(((uint16_t)sc->esc_mac.octet[5]) << 8);
usr/src/cmd/bhyve/common/pci_e82545.c
391
sc->eeprom_data[NVM_SUB_DEV_ID] = E82545_SUBDEV_ID;
usr/src/cmd/bhyve/common/pci_e82545.c
392
sc->eeprom_data[NVM_SUB_VEN_ID] = E82545_VENDOR_ID_INTEL;
usr/src/cmd/bhyve/common/pci_e82545.c
393
sc->eeprom_data[NVM_DEV_ID] = E82545_DEV_ID_82545EM_COPPER;
usr/src/cmd/bhyve/common/pci_e82545.c
394
sc->eeprom_data[NVM_VEN_ID] = E82545_VENDOR_ID_INTEL;
usr/src/cmd/bhyve/common/pci_e82545.c
399
checksum += sc->eeprom_data[i];
usr/src/cmd/bhyve/common/pci_e82545.c
402
sc->eeprom_data[NVM_CHECKSUM_REG] = checksum;
usr/src/cmd/bhyve/common/pci_e82545.c
407
e82545_write_mdi(struct e82545_softc *sc __unused, uint8_t reg_addr,
usr/src/cmd/bhyve/common/pci_e82545.c
414
e82545_read_mdi(struct e82545_softc *sc __unused, uint8_t reg_addr,
usr/src/cmd/bhyve/common/pci_e82545.c
441
e82545_eecd_strobe(struct e82545_softc *sc)
usr/src/cmd/bhyve/common/pci_e82545.c
450
if (sc->nvm_bits == 0) {
usr/src/cmd/bhyve/common/pci_e82545.c
453
sc->nvm_mode, sc->nvm_bits,
usr/src/cmd/bhyve/common/pci_e82545.c
454
sc->nvm_opaddr, sc->nvm_data);
usr/src/cmd/bhyve/common/pci_e82545.c
457
sc->nvm_bits--;
usr/src/cmd/bhyve/common/pci_e82545.c
458
if (sc->nvm_mode == E82545_NVM_MODE_DATAOUT) {
usr/src/cmd/bhyve/common/pci_e82545.c
460
if (sc->nvm_data & 0x8000) {
usr/src/cmd/bhyve/common/pci_e82545.c
461
sc->eeprom_control |= E1000_EECD_DO;
usr/src/cmd/bhyve/common/pci_e82545.c
463
sc->eeprom_control &= ~E1000_EECD_DO;
usr/src/cmd/bhyve/common/pci_e82545.c
465
sc->nvm_data <<= 1;
usr/src/cmd/bhyve/common/pci_e82545.c
466
if (sc->nvm_bits == 0) {
usr/src/cmd/bhyve/common/pci_e82545.c
468
sc->nvm_opaddr = 0;
usr/src/cmd/bhyve/common/pci_e82545.c
469
sc->nvm_mode = E82545_NVM_MODE_OPADDR;
usr/src/cmd/bhyve/common/pci_e82545.c
470
sc->nvm_bits = E82545_NVM_OPADDR_BITS;
usr/src/cmd/bhyve/common/pci_e82545.c
472
} else if (sc->nvm_mode == E82545_NVM_MODE_DATAIN) {
usr/src/cmd/bhyve/common/pci_e82545.c
474
sc->nvm_data <<= 1;
usr/src/cmd/bhyve/common/pci_e82545.c
475
if (sc->eeprom_control & E1000_EECD_DI) {
usr/src/cmd/bhyve/common/pci_e82545.c
476
sc->nvm_data |= 1;
usr/src/cmd/bhyve/common/pci_e82545.c
478
if (sc->nvm_bits == 0) {
usr/src/cmd/bhyve/common/pci_e82545.c
480
uint16_t op = sc->nvm_opaddr & E82545_NVM_OPCODE_MASK;
usr/src/cmd/bhyve/common/pci_e82545.c
481
uint16_t addr = sc->nvm_opaddr & E82545_NVM_ADDR_MASK;
usr/src/cmd/bhyve/common/pci_e82545.c
484
sc->nvm_opaddr);
usr/src/cmd/bhyve/common/pci_e82545.c
487
sc->nvm_opaddr);
usr/src/cmd/bhyve/common/pci_e82545.c
490
addr, sc->nvm_data);
usr/src/cmd/bhyve/common/pci_e82545.c
491
sc->eeprom_data[addr] = sc->nvm_data;
usr/src/cmd/bhyve/common/pci_e82545.c
494
sc->nvm_opaddr = 0;
usr/src/cmd/bhyve/common/pci_e82545.c
495
sc->nvm_mode = E82545_NVM_MODE_OPADDR;
usr/src/cmd/bhyve/common/pci_e82545.c
496
sc->nvm_bits = E82545_NVM_OPADDR_BITS;
usr/src/cmd/bhyve/common/pci_e82545.c
498
} else if (sc->nvm_mode == E82545_NVM_MODE_OPADDR) {
usr/src/cmd/bhyve/common/pci_e82545.c
499
sc->nvm_opaddr <<= 1;
usr/src/cmd/bhyve/common/pci_e82545.c
500
if (sc->eeprom_control & E1000_EECD_DI) {
usr/src/cmd/bhyve/common/pci_e82545.c
501
sc->nvm_opaddr |= 1;
usr/src/cmd/bhyve/common/pci_e82545.c
503
if (sc->nvm_bits == 0) {
usr/src/cmd/bhyve/common/pci_e82545.c
504
uint16_t op = sc->nvm_opaddr & E82545_NVM_OPCODE_MASK;
usr/src/cmd/bhyve/common/pci_e82545.c
508
sc->nvm_opaddr);
usr/src/cmd/bhyve/common/pci_e82545.c
510
sc->nvm_opaddr = 0;
usr/src/cmd/bhyve/common/pci_e82545.c
511
sc->nvm_mode = E82545_NVM_MODE_OPADDR;
usr/src/cmd/bhyve/common/pci_e82545.c
512
sc->nvm_bits = E82545_NVM_OPADDR_BITS;
usr/src/cmd/bhyve/common/pci_e82545.c
516
uint16_t addr = sc->nvm_opaddr &
usr/src/cmd/bhyve/common/pci_e82545.c
518
sc->nvm_mode = E82545_NVM_MODE_DATAOUT;
usr/src/cmd/bhyve/common/pci_e82545.c
519
sc->nvm_bits = E82545_NVM_DATA_BITS;
usr/src/cmd/bhyve/common/pci_e82545.c
521
sc->nvm_data = sc->eeprom_data[addr];
usr/src/cmd/bhyve/common/pci_e82545.c
523
addr, sc->nvm_data);
usr/src/cmd/bhyve/common/pci_e82545.c
526
sc->nvm_opaddr);
usr/src/cmd/bhyve/common/pci_e82545.c
527
sc->nvm_data = 0;
usr/src/cmd/bhyve/common/pci_e82545.c
532
sc->nvm_mode = E82545_NVM_MODE_DATAIN;
usr/src/cmd/bhyve/common/pci_e82545.c
533
sc->nvm_bits = E82545_NVM_DATA_BITS;
usr/src/cmd/bhyve/common/pci_e82545.c
534
sc->nvm_data = 0;
usr/src/cmd/bhyve/common/pci_e82545.c
538
sc->nvm_opaddr);
usr/src/cmd/bhyve/common/pci_e82545.c
540
sc->nvm_opaddr = 0;
usr/src/cmd/bhyve/common/pci_e82545.c
541
sc->nvm_mode = E82545_NVM_MODE_OPADDR;
usr/src/cmd/bhyve/common/pci_e82545.c
542
sc->nvm_bits = E82545_NVM_OPADDR_BITS;
usr/src/cmd/bhyve/common/pci_e82545.c
548
sc->nvm_mode, sc->nvm_bits,
usr/src/cmd/bhyve/common/pci_e82545.c
549
sc->nvm_opaddr, sc->nvm_data);
usr/src/cmd/bhyve/common/pci_e82545.c
557
struct e82545_softc *sc = param;
usr/src/cmd/bhyve/common/pci_e82545.c
559
pthread_mutex_lock(&sc->esc_mtx);
usr/src/cmd/bhyve/common/pci_e82545.c
560
new = sc->esc_ICR & sc->esc_IMS;
usr/src/cmd/bhyve/common/pci_e82545.c
561
if (new && !sc->esc_irq_asserted) {
usr/src/cmd/bhyve/common/pci_e82545.c
563
sc->esc_irq_asserted = 1;
usr/src/cmd/bhyve/common/pci_e82545.c
564
pci_lintr_assert(sc->esc_pi);
usr/src/cmd/bhyve/common/pci_e82545.c
566
mevent_delete(sc->esc_mevpitr);
usr/src/cmd/bhyve/common/pci_e82545.c
567
sc->esc_mevpitr = NULL;
usr/src/cmd/bhyve/common/pci_e82545.c
569
pthread_mutex_unlock(&sc->esc_mtx);
usr/src/cmd/bhyve/common/pci_e82545.c
573
e82545_icr_assert(struct e82545_softc *sc, uint32_t bits)
usr/src/cmd/bhyve/common/pci_e82545.c
584
new = bits & ~sc->esc_ICR & sc->esc_IMS;
usr/src/cmd/bhyve/common/pci_e82545.c
585
sc->esc_ICR |= bits;
usr/src/cmd/bhyve/common/pci_e82545.c
588
DPRINTF("icr assert: masked %x, ims %x", new, sc->esc_IMS);
usr/src/cmd/bhyve/common/pci_e82545.c
589
} else if (sc->esc_mevpitr != NULL) {
usr/src/cmd/bhyve/common/pci_e82545.c
590
DPRINTF("icr assert: throttled %x, ims %x", new, sc->esc_IMS);
usr/src/cmd/bhyve/common/pci_e82545.c
591
} else if (!sc->esc_irq_asserted) {
usr/src/cmd/bhyve/common/pci_e82545.c
593
sc->esc_irq_asserted = 1;
usr/src/cmd/bhyve/common/pci_e82545.c
594
pci_lintr_assert(sc->esc_pi);
usr/src/cmd/bhyve/common/pci_e82545.c
595
if (sc->esc_ITR != 0) {
usr/src/cmd/bhyve/common/pci_e82545.c
596
sc->esc_mevpitr = mevent_add(
usr/src/cmd/bhyve/common/pci_e82545.c
597
(sc->esc_ITR + 3905) / 3906, /* 256ns -> 1ms */
usr/src/cmd/bhyve/common/pci_e82545.c
598
EVF_TIMER, e82545_itr_callback, sc);
usr/src/cmd/bhyve/common/pci_e82545.c
604
e82545_ims_change(struct e82545_softc *sc, uint32_t bits)
usr/src/cmd/bhyve/common/pci_e82545.c
612
new = bits & sc->esc_ICR & ~sc->esc_IMS;
usr/src/cmd/bhyve/common/pci_e82545.c
613
sc->esc_IMS |= bits;
usr/src/cmd/bhyve/common/pci_e82545.c
616
DPRINTF("ims change: masked %x, ims %x", new, sc->esc_IMS);
usr/src/cmd/bhyve/common/pci_e82545.c
617
} else if (sc->esc_mevpitr != NULL) {
usr/src/cmd/bhyve/common/pci_e82545.c
618
DPRINTF("ims change: throttled %x, ims %x", new, sc->esc_IMS);
usr/src/cmd/bhyve/common/pci_e82545.c
619
} else if (!sc->esc_irq_asserted) {
usr/src/cmd/bhyve/common/pci_e82545.c
621
sc->esc_irq_asserted = 1;
usr/src/cmd/bhyve/common/pci_e82545.c
622
pci_lintr_assert(sc->esc_pi);
usr/src/cmd/bhyve/common/pci_e82545.c
623
if (sc->esc_ITR != 0) {
usr/src/cmd/bhyve/common/pci_e82545.c
624
sc->esc_mevpitr = mevent_add(
usr/src/cmd/bhyve/common/pci_e82545.c
625
(sc->esc_ITR + 3905) / 3906, /* 256ns -> 1ms */
usr/src/cmd/bhyve/common/pci_e82545.c
626
EVF_TIMER, e82545_itr_callback, sc);
usr/src/cmd/bhyve/common/pci_e82545.c
632
e82545_icr_deassert(struct e82545_softc *sc, uint32_t bits)
usr/src/cmd/bhyve/common/pci_e82545.c
636
sc->esc_ICR &= ~bits;
usr/src/cmd/bhyve/common/pci_e82545.c
642
if (sc->esc_irq_asserted && !(sc->esc_ICR & sc->esc_IMS)) {
usr/src/cmd/bhyve/common/pci_e82545.c
644
pci_lintr_deassert(sc->esc_pi);
usr/src/cmd/bhyve/common/pci_e82545.c
645
sc->esc_irq_asserted = 0;
usr/src/cmd/bhyve/common/pci_e82545.c
650
e82545_intr_write(struct e82545_softc *sc, uint32_t offset, uint32_t value)
usr/src/cmd/bhyve/common/pci_e82545.c
657
e82545_icr_deassert(sc, value);
usr/src/cmd/bhyve/common/pci_e82545.c
660
sc->esc_ITR = value;
usr/src/cmd/bhyve/common/pci_e82545.c
663
sc->esc_ICS = value; /* not used: store for debug */
usr/src/cmd/bhyve/common/pci_e82545.c
664
e82545_icr_assert(sc, value);
usr/src/cmd/bhyve/common/pci_e82545.c
667
e82545_ims_change(sc, value);
usr/src/cmd/bhyve/common/pci_e82545.c
670
sc->esc_IMC = value; /* for debug */
usr/src/cmd/bhyve/common/pci_e82545.c
671
sc->esc_IMS &= ~value;
usr/src/cmd/bhyve/common/pci_e82545.c
681
e82545_intr_read(struct e82545_softc *sc, uint32_t offset)
usr/src/cmd/bhyve/common/pci_e82545.c
691
retval = sc->esc_ICR;
usr/src/cmd/bhyve/common/pci_e82545.c
692
sc->esc_ICR = 0;
usr/src/cmd/bhyve/common/pci_e82545.c
693
e82545_icr_deassert(sc, ~0);
usr/src/cmd/bhyve/common/pci_e82545.c
696
retval = sc->esc_ITR;
usr/src/cmd/bhyve/common/pci_e82545.c
702
retval = sc->esc_IMS;
usr/src/cmd/bhyve/common/pci_e82545.c
715
e82545_devctl(struct e82545_softc *sc, uint32_t val)
usr/src/cmd/bhyve/common/pci_e82545.c
718
sc->esc_CTRL = val & ~E1000_CTRL_RST;
usr/src/cmd/bhyve/common/pci_e82545.c
722
e82545_reset(sc, 1);
usr/src/cmd/bhyve/common/pci_e82545.c
728
e82545_rx_update_rdba(struct e82545_softc *sc)
usr/src/cmd/bhyve/common/pci_e82545.c
732
sc->esc_rdba = (uint64_t)sc->esc_RDBAH << 32 |
usr/src/cmd/bhyve/common/pci_e82545.c
733
sc->esc_RDBAL;
usr/src/cmd/bhyve/common/pci_e82545.c
736
sc->esc_rxdesc = paddr_guest2host(sc->esc_ctx,
usr/src/cmd/bhyve/common/pci_e82545.c
737
sc->esc_rdba, sc->esc_RDLEN);
usr/src/cmd/bhyve/common/pci_e82545.c
741
e82545_rx_ctl(struct e82545_softc *sc, uint32_t val)
usr/src/cmd/bhyve/common/pci_e82545.c
748
sc->esc_RCTL = val & ~0xF9204c01;
usr/src/cmd/bhyve/common/pci_e82545.c
751
on ? "on" : "off", sc->esc_RCTL, val);
usr/src/cmd/bhyve/common/pci_e82545.c
754
if (on != sc->esc_rx_enabled) {
usr/src/cmd/bhyve/common/pci_e82545.c
759
if (sc->esc_RCTL & E1000_RCTL_LBM_TCVR) {
usr/src/cmd/bhyve/common/pci_e82545.c
760
sc->esc_rx_loopback = 1;
usr/src/cmd/bhyve/common/pci_e82545.c
762
sc->esc_rx_loopback = 0;
usr/src/cmd/bhyve/common/pci_e82545.c
765
e82545_rx_update_rdba(sc);
usr/src/cmd/bhyve/common/pci_e82545.c
766
e82545_rx_enable(sc);
usr/src/cmd/bhyve/common/pci_e82545.c
768
e82545_rx_disable(sc);
usr/src/cmd/bhyve/common/pci_e82545.c
769
sc->esc_rx_loopback = 0;
usr/src/cmd/bhyve/common/pci_e82545.c
770
sc->esc_rdba = 0;
usr/src/cmd/bhyve/common/pci_e82545.c
771
sc->esc_rxdesc = NULL;
usr/src/cmd/bhyve/common/pci_e82545.c
777
e82545_tx_update_tdba(struct e82545_softc *sc)
usr/src/cmd/bhyve/common/pci_e82545.c
781
sc->esc_tdba = (uint64_t)sc->esc_TDBAH << 32 | sc->esc_TDBAL;
usr/src/cmd/bhyve/common/pci_e82545.c
784
sc->esc_txdesc = paddr_guest2host(sc->esc_ctx, sc->esc_tdba,
usr/src/cmd/bhyve/common/pci_e82545.c
785
sc->esc_TDLEN);
usr/src/cmd/bhyve/common/pci_e82545.c
789
e82545_tx_ctl(struct e82545_softc *sc, uint32_t val)
usr/src/cmd/bhyve/common/pci_e82545.c
796
if (on == sc->esc_tx_enabled)
usr/src/cmd/bhyve/common/pci_e82545.c
800
e82545_tx_update_tdba(sc);
usr/src/cmd/bhyve/common/pci_e82545.c
801
e82545_tx_enable(sc);
usr/src/cmd/bhyve/common/pci_e82545.c
803
e82545_tx_disable(sc);
usr/src/cmd/bhyve/common/pci_e82545.c
804
sc->esc_tdba = 0;
usr/src/cmd/bhyve/common/pci_e82545.c
805
sc->esc_txdesc = NULL;
usr/src/cmd/bhyve/common/pci_e82545.c
809
sc->esc_TCTL = val & ~0xFE800005;
usr/src/cmd/bhyve/common/pci_e82545.c
832
struct e82545_softc *sc = param;
usr/src/cmd/bhyve/common/pci_e82545.c
840
pthread_mutex_lock(&sc->esc_mtx);
usr/src/cmd/bhyve/common/pci_e82545.c
841
DPRINTF("rx_run: head %x, tail %x", sc->esc_RDH, sc->esc_RDT);
usr/src/cmd/bhyve/common/pci_e82545.c
843
if (!sc->esc_rx_enabled || sc->esc_rx_loopback) {
usr/src/cmd/bhyve/common/pci_e82545.c
845
sc->esc_rx_enabled, sc->esc_rx_loopback);
usr/src/cmd/bhyve/common/pci_e82545.c
846
while (netbe_rx_discard(sc->esc_be) > 0) {
usr/src/cmd/bhyve/common/pci_e82545.c
850
bufsz = e82545_bufsz(sc->esc_RCTL);
usr/src/cmd/bhyve/common/pci_e82545.c
851
maxpktsz = (sc->esc_RCTL & E1000_RCTL_LPE) ? 16384 : 1522;
usr/src/cmd/bhyve/common/pci_e82545.c
853
size = sc->esc_RDLEN / 16;
usr/src/cmd/bhyve/common/pci_e82545.c
854
head = sc->esc_RDH;
usr/src/cmd/bhyve/common/pci_e82545.c
855
left = (size + sc->esc_RDT - head) % size;
usr/src/cmd/bhyve/common/pci_e82545.c
859
while (netbe_rx_discard(sc->esc_be) > 0) {
usr/src/cmd/bhyve/common/pci_e82545.c
864
sc->esc_rx_active = 1;
usr/src/cmd/bhyve/common/pci_e82545.c
865
pthread_mutex_unlock(&sc->esc_mtx);
usr/src/cmd/bhyve/common/pci_e82545.c
871
rxd = &sc->esc_rxdesc[(head + i) % size];
usr/src/cmd/bhyve/common/pci_e82545.c
872
vec[i].iov_base = paddr_guest2host(sc->esc_ctx,
usr/src/cmd/bhyve/common/pci_e82545.c
876
len = netbe_recv(sc->esc_be, vec, maxpktdesc);
usr/src/cmd/bhyve/common/pci_e82545.c
889
if (!(sc->esc_RCTL & E1000_RCTL_SECRC))
usr/src/cmd/bhyve/common/pci_e82545.c
898
if ((sc->esc_RCTL & E1000_RCTL_VFE) &&
usr/src/cmd/bhyve/common/pci_e82545.c
899
(ntohs(tp[0]) == sc->esc_VET)) {
usr/src/cmd/bhyve/common/pci_e82545.c
901
if ((sc->esc_fvlan[tag >> 5] &
usr/src/cmd/bhyve/common/pci_e82545.c
913
rxd = &sc->esc_rxdesc[(head + i) % size];
usr/src/cmd/bhyve/common/pci_e82545.c
920
rxd = &sc->esc_rxdesc[(head + i) % size];
usr/src/cmd/bhyve/common/pci_e82545.c
930
if ((uint32_t)len <= sc->esc_RSRPD) {
usr/src/cmd/bhyve/common/pci_e82545.c
942
pthread_mutex_lock(&sc->esc_mtx);
usr/src/cmd/bhyve/common/pci_e82545.c
943
sc->esc_rx_active = 0;
usr/src/cmd/bhyve/common/pci_e82545.c
944
if (sc->esc_rx_enabled == 0)
usr/src/cmd/bhyve/common/pci_e82545.c
945
pthread_cond_signal(&sc->esc_rx_cond);
usr/src/cmd/bhyve/common/pci_e82545.c
947
sc->esc_RDH = head;
usr/src/cmd/bhyve/common/pci_e82545.c
949
left = (size + sc->esc_RDT - head) % size;
usr/src/cmd/bhyve/common/pci_e82545.c
950
if (left < (size >> (((sc->esc_RCTL >> 8) & 3) + 1)))
usr/src/cmd/bhyve/common/pci_e82545.c
954
e82545_icr_assert(sc, cause);
usr/src/cmd/bhyve/common/pci_e82545.c
956
DPRINTF("rx_run done: head %x, tail %x", sc->esc_RDH, sc->esc_RDT);
usr/src/cmd/bhyve/common/pci_e82545.c
957
pthread_mutex_unlock(&sc->esc_mtx);
usr/src/cmd/bhyve/common/pci_emul.c
2467
struct pci_emul_dsoftc *sc;
usr/src/cmd/bhyve/common/pci_emul.c
2469
sc = calloc(1, sizeof(struct pci_emul_dsoftc));
usr/src/cmd/bhyve/common/pci_emul.c
2471
pi->pi_arg = sc;
usr/src/cmd/bhyve/common/pci_emul.c
2497
struct pci_emul_dsoftc *sc = pi->pi_arg;
usr/src/cmd/bhyve/common/pci_emul.c
2507
sc->ioregs[offset] = value & 0xff;
usr/src/cmd/bhyve/common/pci_emul.c
2509
*(uint16_t *)&sc->ioregs[offset] = value & 0xffff;
usr/src/cmd/bhyve/common/pci_emul.c
2511
*(uint32_t *)&sc->ioregs[offset] = value;
usr/src/cmd/bhyve/common/pci_emul.c
2538
sc->memregs[i][offset] = value;
usr/src/cmd/bhyve/common/pci_emul.c
2540
*(uint16_t *)&sc->memregs[i][offset] = value;
usr/src/cmd/bhyve/common/pci_emul.c
2542
*(uint32_t *)&sc->memregs[i][offset] = value;
usr/src/cmd/bhyve/common/pci_emul.c
2544
*(uint64_t *)&sc->memregs[i][offset] = value;
usr/src/cmd/bhyve/common/pci_emul.c
2562
struct pci_emul_dsoftc *sc = pi->pi_arg;
usr/src/cmd/bhyve/common/pci_emul.c
2576
value = sc->ioregs[offset];
usr/src/cmd/bhyve/common/pci_emul.c
2578
value = *(uint16_t *) &sc->ioregs[offset];
usr/src/cmd/bhyve/common/pci_emul.c
2580
value = *(uint32_t *) &sc->ioregs[offset];
usr/src/cmd/bhyve/common/pci_emul.c
2596
value = sc->memregs[i][offset];
usr/src/cmd/bhyve/common/pci_emul.c
2598
value = *(uint16_t *) &sc->memregs[i][offset];
usr/src/cmd/bhyve/common/pci_emul.c
2600
value = *(uint32_t *) &sc->memregs[i][offset];
usr/src/cmd/bhyve/common/pci_emul.c
2602
value = *(uint64_t *) &sc->memregs[i][offset];
usr/src/cmd/bhyve/common/pci_fbuf.c
123
struct pci_fbuf_softc *sc;
usr/src/cmd/bhyve/common/pci_fbuf.c
128
sc = pi->pi_arg;
usr/src/cmd/bhyve/common/pci_fbuf.c
140
p = (uint8_t *)&sc->memregs + offset;
usr/src/cmd/bhyve/common/pci_fbuf.c
160
if (!sc->gc_image->vgamode && sc->memregs.width == 0 &&
usr/src/cmd/bhyve/common/pci_fbuf.c
161
sc->memregs.height == 0) {
usr/src/cmd/bhyve/common/pci_fbuf.c
163
sc->gc_image->vgamode = 1;
usr/src/cmd/bhyve/common/pci_fbuf.c
164
sc->gc_width = 0;
usr/src/cmd/bhyve/common/pci_fbuf.c
165
sc->gc_height = 0;
usr/src/cmd/bhyve/common/pci_fbuf.c
166
} else if (sc->gc_image->vgamode && sc->memregs.width != 0 &&
usr/src/cmd/bhyve/common/pci_fbuf.c
167
sc->memregs.height != 0) {
usr/src/cmd/bhyve/common/pci_fbuf.c
169
sc->gc_image->vgamode = 0;
usr/src/cmd/bhyve/common/pci_fbuf.c
176
struct pci_fbuf_softc *sc;
usr/src/cmd/bhyve/common/pci_fbuf.c
182
sc = pi->pi_arg;
usr/src/cmd/bhyve/common/pci_fbuf.c
191
p = (uint8_t *)&sc->memregs + offset;
usr/src/cmd/bhyve/common/pci_fbuf.c
222
struct pci_fbuf_softc *sc;
usr/src/cmd/bhyve/common/pci_fbuf.c
228
sc = pi->pi_arg;
usr/src/cmd/bhyve/common/pci_fbuf.c
230
if (vm_munmap_memseg(pi->pi_vmctx, sc->fbaddr, FB_SIZE) != 0)
usr/src/cmd/bhyve/common/pci_fbuf.c
232
sc->fbaddr = 0;
usr/src/cmd/bhyve/common/pci_fbuf.c
239
sc->fbaddr = address;
usr/src/cmd/bhyve/common/pci_fbuf.c
245
pci_fbuf_parse_config(struct pci_fbuf_softc *sc, nvlist_t *nvl)
usr/src/cmd/bhyve/common/pci_fbuf.c
250
sc->rfb_wait = get_config_bool_node_default(nvl, "wait", false);
usr/src/cmd/bhyve/common/pci_fbuf.c
269
sc->rfb_host = strndup(value + 1, cp - (value + 1));
usr/src/cmd/bhyve/common/pci_fbuf.c
279
sc->rfb_port = atoi(cp);
usr/src/cmd/bhyve/common/pci_fbuf.c
288
sc->rfb_port = atoi(value);
usr/src/cmd/bhyve/common/pci_fbuf.c
290
sc->rfb_host = strndup(value, cp - value);
usr/src/cmd/bhyve/common/pci_fbuf.c
298
sc->rfb_port = atoi(cp);
usr/src/cmd/bhyve/common/pci_fbuf.c
304
sc->rfb_unix = get_config_value_node(nvl, "unix");
usr/src/cmd/bhyve/common/pci_fbuf.c
310
sc->vga_enabled = 0;
usr/src/cmd/bhyve/common/pci_fbuf.c
312
sc->vga_enabled = 1;
usr/src/cmd/bhyve/common/pci_fbuf.c
313
sc->vga_full = 0;
usr/src/cmd/bhyve/common/pci_fbuf.c
315
sc->vga_enabled = 1;
usr/src/cmd/bhyve/common/pci_fbuf.c
316
sc->vga_full = 1;
usr/src/cmd/bhyve/common/pci_fbuf.c
325
sc->memregs.width = strtol(value, NULL, 10);
usr/src/cmd/bhyve/common/pci_fbuf.c
329
sc->memregs.height = strtol(value, NULL, 10);
usr/src/cmd/bhyve/common/pci_fbuf.c
331
if (sc->memregs.width > COLS_MAX ||
usr/src/cmd/bhyve/common/pci_fbuf.c
332
sc->memregs.height > ROWS_MAX) {
usr/src/cmd/bhyve/common/pci_fbuf.c
336
if (sc->memregs.width < COLS_MIN ||
usr/src/cmd/bhyve/common/pci_fbuf.c
337
sc->memregs.height < ROWS_MIN) {
usr/src/cmd/bhyve/common/pci_fbuf.c
345
sc->rfb_password = strdup(value);
usr/src/cmd/bhyve/common/pci_fbuf.c
356
struct pci_fbuf_softc *sc;
usr/src/cmd/bhyve/common/pci_fbuf.c
358
sc = arg;
usr/src/cmd/bhyve/common/pci_fbuf.c
360
if (sc->vga_full && sc->gc_image->vgamode) {
usr/src/cmd/bhyve/common/pci_fbuf.c
364
vga_render(gc, sc->vgasc);
usr/src/cmd/bhyve/common/pci_fbuf.c
367
if (sc->gc_width != sc->memregs.width ||
usr/src/cmd/bhyve/common/pci_fbuf.c
368
sc->gc_height != sc->memregs.height) {
usr/src/cmd/bhyve/common/pci_fbuf.c
369
bhyvegc_resize(gc, sc->memregs.width, sc->memregs.height);
usr/src/cmd/bhyve/common/pci_fbuf.c
370
sc->gc_width = sc->memregs.width;
usr/src/cmd/bhyve/common/pci_fbuf.c
371
sc->gc_height = sc->memregs.height;
usr/src/cmd/bhyve/common/pci_fbuf.c
379
struct pci_fbuf_softc *sc;
usr/src/cmd/bhyve/common/pci_fbuf.c
386
sc = calloc(1, sizeof(struct pci_fbuf_softc));
usr/src/cmd/bhyve/common/pci_fbuf.c
388
pi->pi_arg = sc;
usr/src/cmd/bhyve/common/pci_fbuf.c
396
sc->fb_base = vm_create_devmem(pi->pi_vmctx, VM_FRAMEBUFFER,
usr/src/cmd/bhyve/common/pci_fbuf.c
398
if (sc->fb_base == MAP_FAILED) {
usr/src/cmd/bhyve/common/pci_fbuf.c
412
sc->memregs.fbsize = FB_SIZE;
usr/src/cmd/bhyve/common/pci_fbuf.c
413
sc->memregs.width = COLS_DEFAULT;
usr/src/cmd/bhyve/common/pci_fbuf.c
414
sc->memregs.height = ROWS_DEFAULT;
usr/src/cmd/bhyve/common/pci_fbuf.c
415
sc->memregs.depth = 32;
usr/src/cmd/bhyve/common/pci_fbuf.c
417
sc->vga_enabled = 1;
usr/src/cmd/bhyve/common/pci_fbuf.c
418
sc->vga_full = 0;
usr/src/cmd/bhyve/common/pci_fbuf.c
420
sc->fsc_pi = pi;
usr/src/cmd/bhyve/common/pci_fbuf.c
422
error = pci_fbuf_parse_config(sc, nvl);
usr/src/cmd/bhyve/common/pci_fbuf.c
427
if (sc->vga_full != 0) {
usr/src/cmd/bhyve/common/pci_fbuf.c
437
sc->fb_base, FB_SIZE));
usr/src/cmd/bhyve/common/pci_fbuf.c
439
console_init(sc->memregs.width, sc->memregs.height, sc->fb_base);
usr/src/cmd/bhyve/common/pci_fbuf.c
440
console_fb_register(pci_fbuf_render, sc);
usr/src/cmd/bhyve/common/pci_fbuf.c
442
if (sc->vga_enabled)
usr/src/cmd/bhyve/common/pci_fbuf.c
443
sc->vgasc = vga_init(!sc->vga_full);
usr/src/cmd/bhyve/common/pci_fbuf.c
444
sc->gc_image = console_get_image();
usr/src/cmd/bhyve/common/pci_fbuf.c
446
fbuf_sc = sc;
usr/src/cmd/bhyve/common/pci_fbuf.c
448
memset((void *)sc->fb_base, 0, FB_SIZE);
usr/src/cmd/bhyve/common/pci_fbuf.c
451
error = rfb_init(sc->rfb_host, sc->rfb_port, sc->rfb_wait, sc->rfb_password);
usr/src/cmd/bhyve/common/pci_fbuf.c
457
if (sc->rfb_unix != NULL) {
usr/src/cmd/bhyve/common/pci_fbuf.c
458
error = rfb_init((char *)sc->rfb_unix, -1, sc->rfb_wait,
usr/src/cmd/bhyve/common/pci_fbuf.c
459
sc->rfb_password, name != NULL ? name : "bhyve");
usr/src/cmd/bhyve/common/pci_fbuf.c
461
error = rfb_init(sc->rfb_host, sc->rfb_port, sc->rfb_wait,
usr/src/cmd/bhyve/common/pci_fbuf.c
462
sc->rfb_password, name != NULL ? name : "bhyve");
usr/src/cmd/bhyve/common/pci_fbuf.c
469
free(sc);
usr/src/cmd/bhyve/common/pci_hda.c
1004
sc->dma_pib_vaddr = NULL;
usr/src/cmd/bhyve/common/pci_hda.c
1010
hda_set_sdctl(struct hda_softc *sc, uint32_t offset, uint32_t old)
usr/src/cmd/bhyve/common/pci_hda.c
1013
uint32_t value = hda_get_reg_by_offset(sc, offset);
usr/src/cmd/bhyve/common/pci_hda.c
1020
hda_stream_reset(sc, stream_ind);
usr/src/cmd/bhyve/common/pci_hda.c
1025
err = hda_stream_start(sc, stream_ind);
usr/src/cmd/bhyve/common/pci_hda.c
1028
err = hda_stream_stop(sc, stream_ind);
usr/src/cmd/bhyve/common/pci_hda.c
1035
hda_set_sdctl2(struct hda_softc *sc, uint32_t offset, uint32_t old __unused)
usr/src/cmd/bhyve/common/pci_hda.c
1037
uint32_t value = hda_get_reg_by_offset(sc, offset);
usr/src/cmd/bhyve/common/pci_hda.c
1039
hda_set_field_by_offset(sc, offset - 2, 0x00ff0000, value << 16);
usr/src/cmd/bhyve/common/pci_hda.c
1043
hda_set_sdsts(struct hda_softc *sc, uint32_t offset, uint32_t old)
usr/src/cmd/bhyve/common/pci_hda.c
1045
uint32_t value = hda_get_reg_by_offset(sc, offset);
usr/src/cmd/bhyve/common/pci_hda.c
1047
hda_set_reg_by_offset(sc, offset, old);
usr/src/cmd/bhyve/common/pci_hda.c
1050
hda_set_field_by_offset(sc, offset, value & HDA_SDSTS_IRQ_MASK, 0);
usr/src/cmd/bhyve/common/pci_hda.c
1052
hda_update_intr(sc);
usr/src/cmd/bhyve/common/pci_hda.c
1058
struct hda_softc *sc = NULL;
usr/src/cmd/bhyve/common/pci_hda.c
1066
sc = hci->hda;
usr/src/cmd/bhyve/common/pci_hda.c
1069
hda_set_field_by_offset(sc, HDAC_STATESTS, sdiwake, sdiwake);
usr/src/cmd/bhyve/common/pci_hda.c
1070
hda_update_intr(sc);
usr/src/cmd/bhyve/common/pci_hda.c
1078
struct hda_softc *sc = NULL;
usr/src/cmd/bhyve/common/pci_hda.c
1088
sc = hci->hda;
usr/src/cmd/bhyve/common/pci_hda.c
1089
assert(sc);
usr/src/cmd/bhyve/common/pci_hda.c
1091
rirb = &sc->rirb;
usr/src/cmd/bhyve/common/pci_hda.c
1102
hda_set_reg_by_offset(sc, HDAC_RIRBWP, rirb->wp);
usr/src/cmd/bhyve/common/pci_hda.c
1104
sc->rirb_cnt++;
usr/src/cmd/bhyve/common/pci_hda.c
1107
rintcnt = hda_get_reg_by_offset(sc, HDAC_RINTCNT);
usr/src/cmd/bhyve/common/pci_hda.c
1108
if (sc->rirb_cnt == rintcnt)
usr/src/cmd/bhyve/common/pci_hda.c
1109
hda_response_interrupt(sc);
usr/src/cmd/bhyve/common/pci_hda.c
1118
struct hda_softc *sc = NULL;
usr/src/cmd/bhyve/common/pci_hda.c
1138
sc = hci->hda;
usr/src/cmd/bhyve/common/pci_hda.c
1141
stream_ind = sc->stream_map[dir][stream];
usr/src/cmd/bhyve/common/pci_hda.c
1148
st = &sc->streams[stream_ind];
usr/src/cmd/bhyve/common/pci_hda.c
1158
lpib = hda_get_reg_by_offset(sc, off + HDAC_SDLPIB);
usr/src/cmd/bhyve/common/pci_hda.c
1194
hda_set_pib(sc, stream_ind, lpib);
usr/src/cmd/bhyve/common/pci_hda.c
1197
hda_set_field_by_offset(sc, off + HDAC_SDSTS,
usr/src/cmd/bhyve/common/pci_hda.c
1199
hda_update_intr(sc);
usr/src/cmd/bhyve/common/pci_hda.c
1206
hda_set_pib(struct hda_softc *sc, uint8_t stream_ind, uint32_t pib)
usr/src/cmd/bhyve/common/pci_hda.c
1210
hda_set_reg_by_offset(sc, off + HDAC_SDLPIB, pib);
usr/src/cmd/bhyve/common/pci_hda.c
1212
hda_set_reg_by_offset(sc, 0x2000 + off + HDAC_SDLPIB, pib);
usr/src/cmd/bhyve/common/pci_hda.c
1213
if (sc->dma_pib_vaddr)
usr/src/cmd/bhyve/common/pci_hda.c
1214
*(uint32_t *)((uint8_t *)sc->dma_pib_vaddr + stream_ind *
usr/src/cmd/bhyve/common/pci_hda.c
1235
struct hda_softc *sc = NULL;
usr/src/cmd/bhyve/common/pci_hda.c
1254
sc = hda_init(nvl);
usr/src/cmd/bhyve/common/pci_hda.c
1255
if (!sc)
usr/src/cmd/bhyve/common/pci_hda.c
1258
sc->pci_dev = pi;
usr/src/cmd/bhyve/common/pci_hda.c
1259
pi->pi_arg = sc;
usr/src/cmd/bhyve/common/pci_hda.c
1268
struct hda_softc *sc = pi->pi_arg;
usr/src/cmd/bhyve/common/pci_hda.c
1271
assert(sc);
usr/src/cmd/bhyve/common/pci_hda.c
1277
err = hda_write(sc, offset, size, value);
usr/src/cmd/bhyve/common/pci_hda.c
1284
struct hda_softc *sc = pi->pi_arg;
usr/src/cmd/bhyve/common/pci_hda.c
1287
assert(sc);
usr/src/cmd/bhyve/common/pci_hda.c
1291
value = hda_read(sc, offset);
usr/src/cmd/bhyve/common/pci_hda.c
141
static inline void hda_set_reg_by_offset(struct hda_softc *sc, uint32_t offset,
usr/src/cmd/bhyve/common/pci_hda.c
143
static inline uint32_t hda_get_reg_by_offset(struct hda_softc *sc,
usr/src/cmd/bhyve/common/pci_hda.c
145
static inline void hda_set_field_by_offset(struct hda_softc *sc,
usr/src/cmd/bhyve/common/pci_hda.c
149
static void hda_update_intr(struct hda_softc *sc);
usr/src/cmd/bhyve/common/pci_hda.c
150
static void hda_response_interrupt(struct hda_softc *sc);
usr/src/cmd/bhyve/common/pci_hda.c
151
static int hda_codec_constructor(struct hda_softc *sc,
usr/src/cmd/bhyve/common/pci_hda.c
155
static int hda_send_command(struct hda_softc *sc, uint32_t verb);
usr/src/cmd/bhyve/common/pci_hda.c
156
static int hda_notify_codecs(struct hda_softc *sc, uint8_t run,
usr/src/cmd/bhyve/common/pci_hda.c
158
static void hda_reset(struct hda_softc *sc);
usr/src/cmd/bhyve/common/pci_hda.c
159
static void hda_reset_regs(struct hda_softc *sc);
usr/src/cmd/bhyve/common/pci_hda.c
160
static void hda_stream_reset(struct hda_softc *sc, uint8_t stream_ind);
usr/src/cmd/bhyve/common/pci_hda.c
161
static int hda_stream_start(struct hda_softc *sc, uint8_t stream_ind);
usr/src/cmd/bhyve/common/pci_hda.c
162
static int hda_stream_stop(struct hda_softc *sc, uint8_t stream_ind);
usr/src/cmd/bhyve/common/pci_hda.c
163
static uint32_t hda_read(struct hda_softc *sc, uint32_t offset);
usr/src/cmd/bhyve/common/pci_hda.c
164
static int hda_write(struct hda_softc *sc, uint32_t offset, uint8_t size,
usr/src/cmd/bhyve/common/pci_hda.c
168
static int hda_corb_start(struct hda_softc *sc);
usr/src/cmd/bhyve/common/pci_hda.c
169
static int hda_corb_run(struct hda_softc *sc);
usr/src/cmd/bhyve/common/pci_hda.c
170
static int hda_rirb_start(struct hda_softc *sc);
usr/src/cmd/bhyve/common/pci_hda.c
172
static void *hda_dma_get_vaddr(struct hda_softc *sc, uint64_t dma_paddr,
usr/src/cmd/bhyve/common/pci_hda.c
181
static void hda_set_gctl(struct hda_softc *sc, uint32_t offset, uint32_t old);
usr/src/cmd/bhyve/common/pci_hda.c
182
static void hda_set_statests(struct hda_softc *sc, uint32_t offset,
usr/src/cmd/bhyve/common/pci_hda.c
184
static void hda_set_corbwp(struct hda_softc *sc, uint32_t offset, uint32_t old);
usr/src/cmd/bhyve/common/pci_hda.c
185
static void hda_set_corbctl(struct hda_softc *sc, uint32_t offset,
usr/src/cmd/bhyve/common/pci_hda.c
187
static void hda_set_rirbctl(struct hda_softc *sc, uint32_t offset,
usr/src/cmd/bhyve/common/pci_hda.c
189
static void hda_set_rirbsts(struct hda_softc *sc, uint32_t offset,
usr/src/cmd/bhyve/common/pci_hda.c
191
static void hda_set_dpiblbase(struct hda_softc *sc, uint32_t offset,
usr/src/cmd/bhyve/common/pci_hda.c
193
static void hda_set_sdctl(struct hda_softc *sc, uint32_t offset, uint32_t old);
usr/src/cmd/bhyve/common/pci_hda.c
194
static void hda_set_sdctl2(struct hda_softc *sc, uint32_t offset, uint32_t old);
usr/src/cmd/bhyve/common/pci_hda.c
195
static void hda_set_sdsts(struct hda_softc *sc, uint32_t offset, uint32_t old);
usr/src/cmd/bhyve/common/pci_hda.c
203
static void hda_set_pib(struct hda_softc *sc, uint8_t stream_ind, uint32_t pib);
usr/src/cmd/bhyve/common/pci_hda.c
287
hda_set_reg_by_offset(struct hda_softc *sc, uint32_t offset, uint32_t value)
usr/src/cmd/bhyve/common/pci_hda.c
290
sc->regs[offset] = value;
usr/src/cmd/bhyve/common/pci_hda.c
294
hda_get_reg_by_offset(struct hda_softc *sc, uint32_t offset)
usr/src/cmd/bhyve/common/pci_hda.c
297
return sc->regs[offset];
usr/src/cmd/bhyve/common/pci_hda.c
301
hda_set_field_by_offset(struct hda_softc *sc, uint32_t offset,
usr/src/cmd/bhyve/common/pci_hda.c
306
reg_value = hda_get_reg_by_offset(sc, offset);
usr/src/cmd/bhyve/common/pci_hda.c
311
hda_set_reg_by_offset(sc, offset, reg_value);
usr/src/cmd/bhyve/common/pci_hda.c
317
struct hda_softc *sc = NULL;
usr/src/cmd/bhyve/common/pci_hda.c
328
sc = calloc(1, sizeof(*sc));
usr/src/cmd/bhyve/common/pci_hda.c
329
if (!sc)
usr/src/cmd/bhyve/common/pci_hda.c
332
hda_reset_regs(sc);
usr/src/cmd/bhyve/common/pci_hda.c
352
err = hda_codec_constructor(sc, codec, play, rec);
usr/src/cmd/bhyve/common/pci_hda.c
359
return (sc);
usr/src/cmd/bhyve/common/pci_hda.c
363
hda_update_intr(struct hda_softc *sc)
usr/src/cmd/bhyve/common/pci_hda.c
365
struct pci_devinst *pi = sc->pci_dev;
usr/src/cmd/bhyve/common/pci_hda.c
366
uint32_t intctl = hda_get_reg_by_offset(sc, HDAC_INTCTL);
usr/src/cmd/bhyve/common/pci_hda.c
376
rirbsts = hda_get_reg_by_offset(sc, HDAC_RIRBSTS);
usr/src/cmd/bhyve/common/pci_hda.c
380
wakeen = hda_get_reg_by_offset(sc, HDAC_WAKEEN);
usr/src/cmd/bhyve/common/pci_hda.c
381
statests = hda_get_reg_by_offset(sc, HDAC_STATESTS);
usr/src/cmd/bhyve/common/pci_hda.c
388
sdsts = hda_get_reg_by_offset(sc, off + HDAC_SDSTS);
usr/src/cmd/bhyve/common/pci_hda.c
397
hda_set_reg_by_offset(sc, HDAC_INTSTS, intsts);
usr/src/cmd/bhyve/common/pci_hda.c
401
if (!sc->lintr) {
usr/src/cmd/bhyve/common/pci_hda.c
403
sc->lintr = 1;
usr/src/cmd/bhyve/common/pci_hda.c
406
if (sc->lintr) {
usr/src/cmd/bhyve/common/pci_hda.c
408
sc->lintr = 0;
usr/src/cmd/bhyve/common/pci_hda.c
414
hda_response_interrupt(struct hda_softc *sc)
usr/src/cmd/bhyve/common/pci_hda.c
416
uint8_t rirbctl = hda_get_reg_by_offset(sc, HDAC_RIRBCTL);
usr/src/cmd/bhyve/common/pci_hda.c
418
if ((rirbctl & HDAC_RIRBCTL_RINTCTL) && sc->rirb_cnt) {
usr/src/cmd/bhyve/common/pci_hda.c
419
sc->rirb_cnt = 0;
usr/src/cmd/bhyve/common/pci_hda.c
420
hda_set_field_by_offset(sc, HDAC_RIRBSTS, HDAC_RIRBSTS_RINTFL,
usr/src/cmd/bhyve/common/pci_hda.c
422
hda_update_intr(sc);
usr/src/cmd/bhyve/common/pci_hda.c
427
hda_codec_constructor(struct hda_softc *sc, struct hda_codec_class *codec,
usr/src/cmd/bhyve/common/pci_hda.c
432
if (sc->codecs_no >= HDA_CODEC_MAX)
usr/src/cmd/bhyve/common/pci_hda.c
439
hci->hda = sc;
usr/src/cmd/bhyve/common/pci_hda.c
441
hci->cad = sc->codecs_no;
usr/src/cmd/bhyve/common/pci_hda.c
444
sc->codecs[sc->codecs_no++] = hci;
usr/src/cmd/bhyve/common/pci_hda.c
470
hda_send_command(struct hda_softc *sc, uint32_t verb)
usr/src/cmd/bhyve/common/pci_hda.c
476
if (cad >= sc->codecs_no)
usr/src/cmd/bhyve/common/pci_hda.c
481
hci = sc->codecs[cad];
usr/src/cmd/bhyve/common/pci_hda.c
496
hda_notify_codecs(struct hda_softc *sc, uint8_t run, uint8_t stream,
usr/src/cmd/bhyve/common/pci_hda.c
505
for (i = 0; i < sc->codecs_no; i++) {
usr/src/cmd/bhyve/common/pci_hda.c
506
hci = sc->codecs[i];
usr/src/cmd/bhyve/common/pci_hda.c
519
return (i == sc->codecs_no ? (-1) : 0);
usr/src/cmd/bhyve/common/pci_hda.c
523
hda_reset(struct hda_softc *sc)
usr/src/cmd/bhyve/common/pci_hda.c
529
hda_reset_regs(sc);
usr/src/cmd/bhyve/common/pci_hda.c
532
for (i = 0; i < sc->codecs_no; i++) {
usr/src/cmd/bhyve/common/pci_hda.c
533
hci = sc->codecs[i];
usr/src/cmd/bhyve/common/pci_hda.c
543
sc->wall_clock_start = hda_get_clock_ns();
usr/src/cmd/bhyve/common/pci_hda.c
547
hda_reset_regs(struct hda_softc *sc)
usr/src/cmd/bhyve/common/pci_hda.c
554
memset(sc->regs, 0, sizeof(sc->regs));
usr/src/cmd/bhyve/common/pci_hda.c
556
hda_set_reg_by_offset(sc, HDAC_GCAP,
usr/src/cmd/bhyve/common/pci_hda.c
560
hda_set_reg_by_offset(sc, HDAC_VMAJ, 0x01);
usr/src/cmd/bhyve/common/pci_hda.c
561
hda_set_reg_by_offset(sc, HDAC_OUTPAY, 0x3c);
usr/src/cmd/bhyve/common/pci_hda.c
562
hda_set_reg_by_offset(sc, HDAC_INPAY, 0x1d);
usr/src/cmd/bhyve/common/pci_hda.c
563
hda_set_reg_by_offset(sc, HDAC_CORBSIZE,
usr/src/cmd/bhyve/common/pci_hda.c
565
hda_set_reg_by_offset(sc, HDAC_RIRBSIZE,
usr/src/cmd/bhyve/common/pci_hda.c
570
hda_set_reg_by_offset(sc, off + HDAC_SDFIFOS, HDA_FIFO_SIZE);
usr/src/cmd/bhyve/common/pci_hda.c
575
hda_stream_reset(struct hda_softc *sc, uint8_t stream_ind)
usr/src/cmd/bhyve/common/pci_hda.c
577
struct hda_stream_desc *st = &sc->streams[stream_ind];
usr/src/cmd/bhyve/common/pci_hda.c
583
memset(sc->regs + HDA_STREAM_REGS_BASE + off, 0, HDA_STREAM_REGS_LEN);
usr/src/cmd/bhyve/common/pci_hda.c
588
hda_set_field_by_offset(sc, off + HDAC_SDSTS,
usr/src/cmd/bhyve/common/pci_hda.c
590
hda_set_field_by_offset(sc, off + HDAC_SDCTL0,
usr/src/cmd/bhyve/common/pci_hda.c
595
hda_stream_start(struct hda_softc *sc, uint8_t stream_ind)
usr/src/cmd/bhyve/common/pci_hda.c
597
struct hda_stream_desc *st = &sc->streams[stream_ind];
usr/src/cmd/bhyve/common/pci_hda.c
618
lvi = hda_get_reg_by_offset(sc, off + HDAC_SDLVI);
usr/src/cmd/bhyve/common/pci_hda.c
619
bdpl = hda_get_reg_by_offset(sc, off + HDAC_SDBDPL);
usr/src/cmd/bhyve/common/pci_hda.c
620
bdpu = hda_get_reg_by_offset(sc, off + HDAC_SDBDPU);
usr/src/cmd/bhyve/common/pci_hda.c
626
bdl_vaddr = hda_dma_get_vaddr(sc, bdl_paddr,
usr/src/cmd/bhyve/common/pci_hda.c
647
bdle_vaddr = hda_dma_get_vaddr(sc, bdle_paddr, bdle_sz);
usr/src/cmd/bhyve/common/pci_hda.c
661
sdctl = hda_get_reg_by_offset(sc, off + HDAC_SDCTL0);
usr/src/cmd/bhyve/common/pci_hda.c
667
sc->stream_map[dir][strm] = stream_ind;
usr/src/cmd/bhyve/common/pci_hda.c
673
hda_set_pib(sc, stream_ind, 0);
usr/src/cmd/bhyve/common/pci_hda.c
677
hda_notify_codecs(sc, 1, strm, dir);
usr/src/cmd/bhyve/common/pci_hda.c
683
hda_stream_stop(struct hda_softc *sc, uint8_t stream_ind)
usr/src/cmd/bhyve/common/pci_hda.c
685
struct hda_stream_desc *st = &sc->streams[stream_ind];
usr/src/cmd/bhyve/common/pci_hda.c
693
hda_notify_codecs(sc, 0, strm, dir);
usr/src/cmd/bhyve/common/pci_hda.c
699
hda_read(struct hda_softc *sc, uint32_t offset)
usr/src/cmd/bhyve/common/pci_hda.c
703
sc->wall_clock_start) / 1000);
usr/src/cmd/bhyve/common/pci_hda.c
705
return (hda_get_reg_by_offset(sc, offset));
usr/src/cmd/bhyve/common/pci_hda.c
709
hda_write(struct hda_softc *sc, uint32_t offset, uint8_t size, uint32_t value)
usr/src/cmd/bhyve/common/pci_hda.c
711
uint32_t old = hda_get_reg_by_offset(sc, offset);
usr/src/cmd/bhyve/common/pci_hda.c
719
hda_set_field_by_offset(sc, offset, masks[size], value);
usr/src/cmd/bhyve/common/pci_hda.c
722
set_reg_handler(sc, offset, old);
usr/src/cmd/bhyve/common/pci_hda.c
742
hda_corb_start(struct hda_softc *sc)
usr/src/cmd/bhyve/common/pci_hda.c
744
struct hda_codec_cmd_ctl *corb = &sc->corb;
usr/src/cmd/bhyve/common/pci_hda.c
752
corbsize = hda_get_reg_by_offset(sc, HDAC_CORBSIZE) & \
usr/src/cmd/bhyve/common/pci_hda.c
761
corblbase = hda_get_reg_by_offset(sc, HDAC_CORBLBASE);
usr/src/cmd/bhyve/common/pci_hda.c
762
corbubase = hda_get_reg_by_offset(sc, HDAC_CORBUBASE);
usr/src/cmd/bhyve/common/pci_hda.c
767
corb->dma_vaddr = hda_dma_get_vaddr(sc, corbpaddr,
usr/src/cmd/bhyve/common/pci_hda.c
77
typedef void (*hda_set_reg_handler)(struct hda_softc *sc, uint32_t offset,
usr/src/cmd/bhyve/common/pci_hda.c
774
corb->wp = hda_get_reg_by_offset(sc, HDAC_CORBWP);
usr/src/cmd/bhyve/common/pci_hda.c
775
corb->rp = hda_get_reg_by_offset(sc, HDAC_CORBRP);
usr/src/cmd/bhyve/common/pci_hda.c
785
hda_corb_run(struct hda_softc *sc)
usr/src/cmd/bhyve/common/pci_hda.c
787
struct hda_codec_cmd_ctl *corb = &sc->corb;
usr/src/cmd/bhyve/common/pci_hda.c
791
corb->wp = hda_get_reg_by_offset(sc, HDAC_CORBWP);
usr/src/cmd/bhyve/common/pci_hda.c
805
err = hda_send_command(sc, verb);
usr/src/cmd/bhyve/common/pci_hda.c
809
hda_set_reg_by_offset(sc, HDAC_CORBRP, corb->rp);
usr/src/cmd/bhyve/common/pci_hda.c
812
hda_response_interrupt(sc);
usr/src/cmd/bhyve/common/pci_hda.c
818
hda_rirb_start(struct hda_softc *sc)
usr/src/cmd/bhyve/common/pci_hda.c
820
struct hda_codec_cmd_ctl *rirb = &sc->rirb;
usr/src/cmd/bhyve/common/pci_hda.c
828
rirbsize = hda_get_reg_by_offset(sc, HDAC_RIRBSIZE) & \
usr/src/cmd/bhyve/common/pci_hda.c
837
rirblbase = hda_get_reg_by_offset(sc, HDAC_RIRBLBASE);
usr/src/cmd/bhyve/common/pci_hda.c
838
rirbubase = hda_get_reg_by_offset(sc, HDAC_RIRBUBASE);
usr/src/cmd/bhyve/common/pci_hda.c
843
rirb->dma_vaddr = hda_dma_get_vaddr(sc, rirbpaddr,
usr/src/cmd/bhyve/common/pci_hda.c
850
rirb->wp = hda_get_reg_by_offset(sc, HDAC_RIRBWP);
usr/src/cmd/bhyve/common/pci_hda.c
861
hda_dma_get_vaddr(struct hda_softc *sc, uint64_t dma_paddr, size_t len)
usr/src/cmd/bhyve/common/pci_hda.c
863
struct pci_devinst *pi = sc->pci_dev;
usr/src/cmd/bhyve/common/pci_hda.c
899
hda_set_gctl(struct hda_softc *sc, uint32_t offset, uint32_t old __unused)
usr/src/cmd/bhyve/common/pci_hda.c
901
uint32_t value = hda_get_reg_by_offset(sc, offset);
usr/src/cmd/bhyve/common/pci_hda.c
904
hda_reset(sc);
usr/src/cmd/bhyve/common/pci_hda.c
909
hda_set_statests(struct hda_softc *sc, uint32_t offset, uint32_t old)
usr/src/cmd/bhyve/common/pci_hda.c
911
uint32_t value = hda_get_reg_by_offset(sc, offset);
usr/src/cmd/bhyve/common/pci_hda.c
913
hda_set_reg_by_offset(sc, offset, old);
usr/src/cmd/bhyve/common/pci_hda.c
916
hda_set_field_by_offset(sc, offset, value & HDA_STATESTS_IRQ_MASK, 0);
usr/src/cmd/bhyve/common/pci_hda.c
918
hda_update_intr(sc);
usr/src/cmd/bhyve/common/pci_hda.c
922
hda_set_corbwp(struct hda_softc *sc, uint32_t offset __unused,
usr/src/cmd/bhyve/common/pci_hda.c
925
hda_corb_run(sc);
usr/src/cmd/bhyve/common/pci_hda.c
929
hda_set_corbctl(struct hda_softc *sc, uint32_t offset, uint32_t old)
usr/src/cmd/bhyve/common/pci_hda.c
931
uint32_t value = hda_get_reg_by_offset(sc, offset);
usr/src/cmd/bhyve/common/pci_hda.c
937
err = hda_corb_start(sc);
usr/src/cmd/bhyve/common/pci_hda.c
941
corb = &sc->corb;
usr/src/cmd/bhyve/common/pci_hda.c
945
hda_corb_run(sc);
usr/src/cmd/bhyve/common/pci_hda.c
949
hda_set_rirbctl(struct hda_softc *sc, uint32_t offset, uint32_t old __unused)
usr/src/cmd/bhyve/common/pci_hda.c
951
uint32_t value = hda_get_reg_by_offset(sc, offset);
usr/src/cmd/bhyve/common/pci_hda.c
956
err = hda_rirb_start(sc);
usr/src/cmd/bhyve/common/pci_hda.c
959
rirb = &sc->rirb;
usr/src/cmd/bhyve/common/pci_hda.c
965
hda_set_rirbsts(struct hda_softc *sc, uint32_t offset, uint32_t old)
usr/src/cmd/bhyve/common/pci_hda.c
967
uint32_t value = hda_get_reg_by_offset(sc, offset);
usr/src/cmd/bhyve/common/pci_hda.c
969
hda_set_reg_by_offset(sc, offset, old);
usr/src/cmd/bhyve/common/pci_hda.c
972
hda_set_field_by_offset(sc, offset, value & HDA_RIRBSTS_IRQ_MASK, 0);
usr/src/cmd/bhyve/common/pci_hda.c
974
hda_update_intr(sc);
usr/src/cmd/bhyve/common/pci_hda.c
978
hda_set_dpiblbase(struct hda_softc *sc, uint32_t offset, uint32_t old)
usr/src/cmd/bhyve/common/pci_hda.c
980
uint32_t value = hda_get_reg_by_offset(sc, offset);
usr/src/cmd/bhyve/common/pci_hda.c
989
dpibubase = hda_get_reg_by_offset(sc, HDAC_DPIBUBASE);
usr/src/cmd/bhyve/common/pci_hda.c
995
sc->dma_pib_vaddr = hda_dma_get_vaddr(sc, dpibpaddr,
usr/src/cmd/bhyve/common/pci_hda.c
997
if (!sc->dma_pib_vaddr) {
usr/src/cmd/bhyve/common/pci_nvme.c
1004
pci_generate_msix(sc->nsc_pi, 0);
usr/src/cmd/bhyve/common/pci_nvme.c
1011
struct pci_nvme_softc *sc;
usr/src/cmd/bhyve/common/pci_nvme.c
1013
sc = arg;
usr/src/cmd/bhyve/common/pci_nvme.c
1015
pthread_mutex_lock(&sc->aen_mtx);
usr/src/cmd/bhyve/common/pci_nvme.c
1017
pci_nvme_aen_process(sc);
usr/src/cmd/bhyve/common/pci_nvme.c
1018
pthread_cond_wait(&sc->aen_cond, &sc->aen_mtx);
usr/src/cmd/bhyve/common/pci_nvme.c
1021
pthread_mutex_unlock(&sc->aen_mtx);
usr/src/cmd/bhyve/common/pci_nvme.c
1029
pci_nvme_reset_locked(struct pci_nvme_softc *sc)
usr/src/cmd/bhyve/common/pci_nvme.c
1035
sc->regs.cap_lo = (ZERO_BASED(sc->max_qentries) & NVME_CAP_LO_REG_MQES_MASK) |
usr/src/cmd/bhyve/common/pci_nvme.c
1039
sc->regs.cap_hi = NVMEF(NVME_CAP_HI_REG_CSS_NVM, 1);
usr/src/cmd/bhyve/common/pci_nvme.c
1041
sc->regs.vs = NVME_REV(1,4); /* NVMe v1.4 */
usr/src/cmd/bhyve/common/pci_nvme.c
1043
sc->regs.cc = 0;
usr/src/cmd/bhyve/common/pci_nvme.c
1045
assert(sc->submit_queues != NULL);
usr/src/cmd/bhyve/common/pci_nvme.c
1047
for (i = 0; i < sc->num_squeues + 1; i++) {
usr/src/cmd/bhyve/common/pci_nvme.c
1048
sc->submit_queues[i].qbase = NULL;
usr/src/cmd/bhyve/common/pci_nvme.c
1049
sc->submit_queues[i].size = 0;
usr/src/cmd/bhyve/common/pci_nvme.c
1050
sc->submit_queues[i].cqid = 0;
usr/src/cmd/bhyve/common/pci_nvme.c
1051
sc->submit_queues[i].tail = 0;
usr/src/cmd/bhyve/common/pci_nvme.c
1052
sc->submit_queues[i].head = 0;
usr/src/cmd/bhyve/common/pci_nvme.c
1055
assert(sc->compl_queues != NULL);
usr/src/cmd/bhyve/common/pci_nvme.c
1057
for (i = 0; i < sc->num_cqueues + 1; i++) {
usr/src/cmd/bhyve/common/pci_nvme.c
1058
sc->compl_queues[i].qbase = NULL;
usr/src/cmd/bhyve/common/pci_nvme.c
1059
sc->compl_queues[i].size = 0;
usr/src/cmd/bhyve/common/pci_nvme.c
1060
sc->compl_queues[i].tail = 0;
usr/src/cmd/bhyve/common/pci_nvme.c
1061
sc->compl_queues[i].head = 0;
usr/src/cmd/bhyve/common/pci_nvme.c
1064
sc->num_q_is_set = false;
usr/src/cmd/bhyve/common/pci_nvme.c
1066
pci_nvme_aer_destroy(sc);
usr/src/cmd/bhyve/common/pci_nvme.c
1067
pci_nvme_aen_destroy(sc);
usr/src/cmd/bhyve/common/pci_nvme.c
1073
sc->regs.csts = 0;
usr/src/cmd/bhyve/common/pci_nvme.c
1077
pci_nvme_reset(struct pci_nvme_softc *sc)
usr/src/cmd/bhyve/common/pci_nvme.c
1079
pthread_mutex_lock(&sc->mtx);
usr/src/cmd/bhyve/common/pci_nvme.c
1080
pci_nvme_reset_locked(sc);
usr/src/cmd/bhyve/common/pci_nvme.c
1081
pthread_mutex_unlock(&sc->mtx);
usr/src/cmd/bhyve/common/pci_nvme.c
1085
pci_nvme_init_controller(struct pci_nvme_softc *sc)
usr/src/cmd/bhyve/common/pci_nvme.c
1096
asqs = ONE_BASED(NVMEV(NVME_AQA_REG_ASQS, sc->regs.aqa));
usr/src/cmd/bhyve/common/pci_nvme.c
1099
asqs - 1, sc->regs.aqa);
usr/src/cmd/bhyve/common/pci_nvme.c
1100
sc->regs.csts |= NVME_CSTS_CFS;
usr/src/cmd/bhyve/common/pci_nvme.c
1103
sc->submit_queues[0].size = asqs;
usr/src/cmd/bhyve/common/pci_nvme.c
1104
sc->submit_queues[0].qbase = vm_map_gpa(sc->nsc_pi->pi_vmctx,
usr/src/cmd/bhyve/common/pci_nvme.c
1105
sc->regs.asq, sizeof(struct nvme_command) * asqs);
usr/src/cmd/bhyve/common/pci_nvme.c
1106
if (sc->submit_queues[0].qbase == NULL) {
usr/src/cmd/bhyve/common/pci_nvme.c
1108
sc->regs.asq);
usr/src/cmd/bhyve/common/pci_nvme.c
1109
sc->regs.csts |= NVME_CSTS_CFS;
usr/src/cmd/bhyve/common/pci_nvme.c
1114
__func__, sc->regs.asq, sc->submit_queues[0].qbase);
usr/src/cmd/bhyve/common/pci_nvme.c
1116
acqs = ONE_BASED(NVMEV(NVME_AQA_REG_ACQS, sc->regs.aqa));
usr/src/cmd/bhyve/common/pci_nvme.c
1119
acqs - 1, sc->regs.aqa);
usr/src/cmd/bhyve/common/pci_nvme.c
1120
sc->regs.csts |= NVME_CSTS_CFS;
usr/src/cmd/bhyve/common/pci_nvme.c
1123
sc->compl_queues[0].size = acqs;
usr/src/cmd/bhyve/common/pci_nvme.c
1124
sc->compl_queues[0].qbase = vm_map_gpa(sc->nsc_pi->pi_vmctx,
usr/src/cmd/bhyve/common/pci_nvme.c
1125
sc->regs.acq, sizeof(struct nvme_completion) * acqs);
usr/src/cmd/bhyve/common/pci_nvme.c
1126
if (sc->compl_queues[0].qbase == NULL) {
usr/src/cmd/bhyve/common/pci_nvme.c
1128
sc->regs.acq);
usr/src/cmd/bhyve/common/pci_nvme.c
1129
sc->regs.csts |= NVME_CSTS_CFS;
usr/src/cmd/bhyve/common/pci_nvme.c
1132
sc->compl_queues[0].intr_en = NVME_CQ_INTEN;
usr/src/cmd/bhyve/common/pci_nvme.c
1135
__func__, sc->regs.acq, sc->compl_queues[0].qbase);
usr/src/cmd/bhyve/common/pci_nvme.c
1193
pci_nvme_cq_update(struct pci_nvme_softc *sc,
usr/src/cmd/bhyve/common/pci_nvme.c
1200
struct nvme_submission_queue *sq = &sc->submit_queues[sqid];
usr/src/cmd/bhyve/common/pci_nvme.c
1227
nvme_opc_delete_io_sq(struct pci_nvme_softc* sc, struct nvme_command* command,
usr/src/cmd/bhyve/common/pci_nvme.c
1233
if (qid == 0 || qid > sc->num_squeues ||
usr/src/cmd/bhyve/common/pci_nvme.c
1234
(sc->submit_queues[qid].qbase == NULL)) {
usr/src/cmd/bhyve/common/pci_nvme.c
1236
__func__, qid, sc->num_squeues);
usr/src/cmd/bhyve/common/pci_nvme.c
1242
sc->submit_queues[qid].qbase = NULL;
usr/src/cmd/bhyve/common/pci_nvme.c
1243
sc->submit_queues[qid].cqid = 0;
usr/src/cmd/bhyve/common/pci_nvme.c
1249
nvme_opc_create_io_sq(struct pci_nvme_softc* sc, struct nvme_command* command,
usr/src/cmd/bhyve/common/pci_nvme.c
1256
if ((qid == 0) || (qid > sc->num_squeues) ||
usr/src/cmd/bhyve/common/pci_nvme.c
1257
(sc->submit_queues[qid].qbase != NULL)) {
usr/src/cmd/bhyve/common/pci_nvme.c
1259
__func__, qid, sc->num_squeues);
usr/src/cmd/bhyve/common/pci_nvme.c
1266
nsq = &sc->submit_queues[qid];
usr/src/cmd/bhyve/common/pci_nvme.c
1268
DPRINTF("%s size=%u (max=%u)", __func__, nsq->size, sc->max_qentries);
usr/src/cmd/bhyve/common/pci_nvme.c
1269
if ((nsq->size < 2) || (nsq->size > sc->max_qentries)) {
usr/src/cmd/bhyve/common/pci_nvme.c
1283
if ((nsq->cqid == 0) || (nsq->cqid > sc->num_cqueues)) {
usr/src/cmd/bhyve/common/pci_nvme.c
1290
if (sc->compl_queues[nsq->cqid].qbase == NULL) {
usr/src/cmd/bhyve/common/pci_nvme.c
1299
nsq->qbase = vm_map_gpa(sc->nsc_pi->pi_vmctx, command->prp1,
usr/src/cmd/bhyve/common/pci_nvme.c
1323
nvme_opc_delete_io_cq(struct pci_nvme_softc* sc, struct nvme_command* command,
usr/src/cmd/bhyve/common/pci_nvme.c
133
#define NVME_FEATURE_NUM_QUEUES(sc) \
usr/src/cmd/bhyve/common/pci_nvme.c
1330
if (qid == 0 || qid > sc->num_cqueues ||
usr/src/cmd/bhyve/common/pci_nvme.c
1331
(sc->compl_queues[qid].qbase == NULL)) {
usr/src/cmd/bhyve/common/pci_nvme.c
1333
__func__, qid, sc->num_cqueues);
usr/src/cmd/bhyve/common/pci_nvme.c
134
(ZERO_BASED((sc)->num_squeues) & 0xffff) | \
usr/src/cmd/bhyve/common/pci_nvme.c
1340
for (sqid = 1; sqid < sc->num_squeues + 1; sqid++)
usr/src/cmd/bhyve/common/pci_nvme.c
1341
if (sc->submit_queues[sqid].cqid == qid) {
usr/src/cmd/bhyve/common/pci_nvme.c
1348
sc->compl_queues[qid].qbase = NULL;
usr/src/cmd/bhyve/common/pci_nvme.c
135
(ZERO_BASED((sc)->num_cqueues) & 0xffff) << 16
usr/src/cmd/bhyve/common/pci_nvme.c
1354
nvme_opc_create_io_cq(struct pci_nvme_softc* sc, struct nvme_command* command,
usr/src/cmd/bhyve/common/pci_nvme.c
1370
if ((qid == 0) || (qid > sc->num_cqueues) ||
usr/src/cmd/bhyve/common/pci_nvme.c
1371
(sc->compl_queues[qid].qbase != NULL)) {
usr/src/cmd/bhyve/common/pci_nvme.c
1373
__func__, qid, sc->num_cqueues);
usr/src/cmd/bhyve/common/pci_nvme.c
1380
ncq = &sc->compl_queues[qid];
usr/src/cmd/bhyve/common/pci_nvme.c
1383
if (ncq->intr_vec > (sc->max_queues + 1)) {
usr/src/cmd/bhyve/common/pci_nvme.c
1391
if ((ncq->size < 2) || (ncq->size > sc->max_qentries)) {
usr/src/cmd/bhyve/common/pci_nvme.c
1403
ncq->qbase = vm_map_gpa(sc->nsc_pi->pi_vmctx,
usr/src/cmd/bhyve/common/pci_nvme.c
1414
nvme_opc_get_log_page(struct pci_nvme_softc* sc, struct nvme_command* command,
usr/src/cmd/bhyve/common/pci_nvme.c
1436
if (logoff >= sizeof(sc->err_log)) {
usr/src/cmd/bhyve/common/pci_nvme.c
1442
nvme_prp_memcpy(sc->nsc_pi->pi_vmctx, command->prp1,
usr/src/cmd/bhyve/common/pci_nvme.c
1443
command->prp2, (uint8_t *)&sc->err_log + logoff,
usr/src/cmd/bhyve/common/pci_nvme.c
1444
MIN(logsize, sizeof(sc->err_log) - logoff),
usr/src/cmd/bhyve/common/pci_nvme.c
1448
if (logoff >= sizeof(sc->health_log)) {
usr/src/cmd/bhyve/common/pci_nvme.c
1454
pthread_mutex_lock(&sc->mtx);
usr/src/cmd/bhyve/common/pci_nvme.c
1455
memcpy(&sc->health_log.data_units_read, &sc->read_data_units,
usr/src/cmd/bhyve/common/pci_nvme.c
1456
sizeof(sc->health_log.data_units_read));
usr/src/cmd/bhyve/common/pci_nvme.c
1457
memcpy(&sc->health_log.data_units_written, &sc->write_data_units,
usr/src/cmd/bhyve/common/pci_nvme.c
1458
sizeof(sc->health_log.data_units_written));
usr/src/cmd/bhyve/common/pci_nvme.c
1459
memcpy(&sc->health_log.host_read_commands, &sc->read_commands,
usr/src/cmd/bhyve/common/pci_nvme.c
1460
sizeof(sc->health_log.host_read_commands));
usr/src/cmd/bhyve/common/pci_nvme.c
1461
memcpy(&sc->health_log.host_write_commands, &sc->write_commands,
usr/src/cmd/bhyve/common/pci_nvme.c
1462
sizeof(sc->health_log.host_write_commands));
usr/src/cmd/bhyve/common/pci_nvme.c
1463
pthread_mutex_unlock(&sc->mtx);
usr/src/cmd/bhyve/common/pci_nvme.c
1465
nvme_prp_memcpy(sc->nsc_pi->pi_vmctx, command->prp1,
usr/src/cmd/bhyve/common/pci_nvme.c
1466
command->prp2, (uint8_t *)&sc->health_log + logoff,
usr/src/cmd/bhyve/common/pci_nvme.c
1467
MIN(logsize, sizeof(sc->health_log) - logoff),
usr/src/cmd/bhyve/common/pci_nvme.c
1471
if (logoff >= sizeof(sc->fw_log)) {
usr/src/cmd/bhyve/common/pci_nvme.c
1477
nvme_prp_memcpy(sc->nsc_pi->pi_vmctx, command->prp1,
usr/src/cmd/bhyve/common/pci_nvme.c
1478
command->prp2, (uint8_t *)&sc->fw_log + logoff,
usr/src/cmd/bhyve/common/pci_nvme.c
1479
MIN(logsize, sizeof(sc->fw_log) - logoff),
usr/src/cmd/bhyve/common/pci_nvme.c
1483
if (logoff >= sizeof(sc->ns_log)) {
usr/src/cmd/bhyve/common/pci_nvme.c
1489
nvme_prp_memcpy(sc->nsc_pi->pi_vmctx, command->prp1,
usr/src/cmd/bhyve/common/pci_nvme.c
1490
command->prp2, (uint8_t *)&sc->ns_log + logoff,
usr/src/cmd/bhyve/common/pci_nvme.c
1491
MIN(logsize, sizeof(sc->ns_log) - logoff),
usr/src/cmd/bhyve/common/pci_nvme.c
1493
memset(&sc->ns_log, 0, sizeof(sc->ns_log));
usr/src/cmd/bhyve/common/pci_nvme.c
1507
nvme_opc_identify(struct pci_nvme_softc* sc, struct nvme_command* command,
usr/src/cmd/bhyve/common/pci_nvme.c
1527
nvme_prp_memcpy(sc->nsc_pi->pi_vmctx, command->prp1,
usr/src/cmd/bhyve/common/pci_nvme.c
1528
command->prp2, (uint8_t *)&sc->nsdata, sizeof(sc->nsdata),
usr/src/cmd/bhyve/common/pci_nvme.c
1532
nvme_prp_memcpy(sc->nsc_pi->pi_vmctx, command->prp1,
usr/src/cmd/bhyve/common/pci_nvme.c
1533
command->prp2, (uint8_t *)&sc->ctrldata,
usr/src/cmd/bhyve/common/pci_nvme.c
1534
sizeof(sc->ctrldata),
usr/src/cmd/bhyve/common/pci_nvme.c
1538
dest = vm_map_gpa(sc->nsc_pi->pi_vmctx, command->prp1,
usr/src/cmd/bhyve/common/pci_nvme.c
1550
dest = vm_map_gpa(sc->nsc_pi->pi_vmctx, command->prp1,
usr/src/cmd/bhyve/common/pci_nvme.c
1558
memcpy(((uint8_t *)dest) + 4, sc->nsdata.eui64, sizeof(uint64_t));
usr/src/cmd/bhyve/common/pci_nvme.c
1565
dest = vm_map_gpa(sc->nsc_pi->pi_vmctx, command->prp1,
usr/src/cmd/bhyve/common/pci_nvme.c
1682
nvme_feature_invalid_cb(struct pci_nvme_softc *sc __unused,
usr/src/cmd/bhyve/common/pci_nvme.c
1691
nvme_feature_iv_config(struct pci_nvme_softc *sc,
usr/src/cmd/bhyve/common/pci_nvme.c
1706
if (iv > (sc->max_queues + 1)) {
usr/src/cmd/bhyve/common/pci_nvme.c
1715
for (i = 0; i < sc->num_cqueues + 1; i++) {
usr/src/cmd/bhyve/common/pci_nvme.c
1716
if (sc->compl_queues[i].intr_vec == iv) {
usr/src/cmd/bhyve/common/pci_nvme.c
1724
nvme_feature_async_event(struct pci_nvme_softc *sc __unused,
usr/src/cmd/bhyve/common/pci_nvme.c
1736
nvme_feature_temperature(struct pci_nvme_softc *sc,
usr/src/cmd/bhyve/common/pci_nvme.c
1764
pthread_mutex_lock(&sc->mtx);
usr/src/cmd/bhyve/common/pci_nvme.c
1766
sc->health_log.critical_warning |=
usr/src/cmd/bhyve/common/pci_nvme.c
1769
sc->health_log.critical_warning &=
usr/src/cmd/bhyve/common/pci_nvme.c
1771
pthread_mutex_unlock(&sc->mtx);
usr/src/cmd/bhyve/common/pci_nvme.c
1773
report_crit = sc->feat[NVME_FEAT_ASYNC_EVENT_CONFIGURATION].cdw11 &
usr/src/cmd/bhyve/common/pci_nvme.c
1777
pci_nvme_aen_post(sc, PCI_NVME_AE_TYPE_SMART,
usr/src/cmd/bhyve/common/pci_nvme.c
1778
sc->health_log.critical_warning);
usr/src/cmd/bhyve/common/pci_nvme.c
1780
DPRINTF("%s: set_crit=%c critical_warning=%#x status=%#x", __func__, set_crit ? 'T':'F', sc->health_log.critical_warning, compl->status);
usr/src/cmd/bhyve/common/pci_nvme.c
1784
nvme_feature_num_queues(struct pci_nvme_softc *sc,
usr/src/cmd/bhyve/common/pci_nvme.c
1791
if (sc->num_q_is_set) {
usr/src/cmd/bhyve/common/pci_nvme.c
1805
sc->num_squeues = ONE_BASED(nqr);
usr/src/cmd/bhyve/common/pci_nvme.c
1806
if (sc->num_squeues > sc->max_queues) {
usr/src/cmd/bhyve/common/pci_nvme.c
1807
DPRINTF("NSQR=%u is greater than max %u", sc->num_squeues,
usr/src/cmd/bhyve/common/pci_nvme.c
1808
sc->max_queues);
usr/src/cmd/bhyve/common/pci_nvme.c
1809
sc->num_squeues = sc->max_queues;
usr/src/cmd/bhyve/common/pci_nvme.c
1819
sc->num_cqueues = ONE_BASED(nqr);
usr/src/cmd/bhyve/common/pci_nvme.c
1820
if (sc->num_cqueues > sc->max_queues) {
usr/src/cmd/bhyve/common/pci_nvme.c
1821
DPRINTF("NCQR=%u is greater than max %u", sc->num_cqueues,
usr/src/cmd/bhyve/common/pci_nvme.c
1822
sc->max_queues);
usr/src/cmd/bhyve/common/pci_nvme.c
1823
sc->num_cqueues = sc->max_queues;
usr/src/cmd/bhyve/common/pci_nvme.c
1827
command->cdw11 = NVME_FEATURE_NUM_QUEUES(sc);
usr/src/cmd/bhyve/common/pci_nvme.c
1828
compl->cdw0 = NVME_FEATURE_NUM_QUEUES(sc);
usr/src/cmd/bhyve/common/pci_nvme.c
1830
sc->num_q_is_set = true;
usr/src/cmd/bhyve/common/pci_nvme.c
1834
nvme_opc_set_features(struct pci_nvme_softc *sc, struct nvme_command *command,
usr/src/cmd/bhyve/common/pci_nvme.c
1856
feat = &sc->feat[fid];
usr/src/cmd/bhyve/common/pci_nvme.c
1874
feat->set(sc, feat, command, compl);
usr/src/cmd/bhyve/common/pci_nvme.c
1886
pci_nvme_aen_notify(sc);
usr/src/cmd/bhyve/common/pci_nvme.c
1896
nvme_opc_get_features(struct pci_nvme_softc* sc, struct nvme_command* command,
usr/src/cmd/bhyve/common/pci_nvme.c
1914
feat = &sc->feat[fid];
usr/src/cmd/bhyve/common/pci_nvme.c
1916
feat->get(sc, feat, command, compl);
usr/src/cmd/bhyve/common/pci_nvme.c
1930
nvme_opc_format_nvm(struct pci_nvme_softc* sc, struct nvme_command* command,
usr/src/cmd/bhyve/common/pci_nvme.c
1957
if (sc->nvstore.type == NVME_STOR_RAM) {
usr/src/cmd/bhyve/common/pci_nvme.c
1958
if (sc->nvstore.ctx)
usr/src/cmd/bhyve/common/pci_nvme.c
1959
free(sc->nvstore.ctx);
usr/src/cmd/bhyve/common/pci_nvme.c
1960
sc->nvstore.ctx = calloc(1, sc->nvstore.size);
usr/src/cmd/bhyve/common/pci_nvme.c
1966
req = pci_nvme_get_ioreq(sc);
usr/src/cmd/bhyve/common/pci_nvme.c
1973
req->nvme_sq = &sc->submit_queues[0];
usr/src/cmd/bhyve/common/pci_nvme.c
1980
req->io_req.br_resid = sc->nvstore.size;
usr/src/cmd/bhyve/common/pci_nvme.c
1983
err = blockif_delete(sc->nvstore.ctx, &req->io_req);
usr/src/cmd/bhyve/common/pci_nvme.c
1987
pci_nvme_release_ioreq(sc, req);
usr/src/cmd/bhyve/common/pci_nvme.c
1996
nvme_opc_abort(struct pci_nvme_softc *sc __unused, struct nvme_command *command,
usr/src/cmd/bhyve/common/pci_nvme.c
2010
nvme_opc_async_event_req(struct pci_nvme_softc* sc,
usr/src/cmd/bhyve/common/pci_nvme.c
2014
sc->aer_count, sc->ctrldata.aerl, command->cid);
usr/src/cmd/bhyve/common/pci_nvme.c
2017
if (pci_nvme_aer_limit_reached(sc)) {
usr/src/cmd/bhyve/common/pci_nvme.c
2023
if (pci_nvme_aer_add(sc, command->cid)) {
usr/src/cmd/bhyve/common/pci_nvme.c
2035
pci_nvme_aen_notify(sc);
usr/src/cmd/bhyve/common/pci_nvme.c
2041
pci_nvme_handle_admin_cmd(struct pci_nvme_softc* sc, uint64_t value)
usr/src/cmd/bhyve/common/pci_nvme.c
2051
sq = &sc->submit_queues[0];
usr/src/cmd/bhyve/common/pci_nvme.c
2052
cq = &sc->compl_queues[0];
usr/src/cmd/bhyve/common/pci_nvme.c
2067
nvme_opc_delete_io_sq(sc, cmd, &compl);
usr/src/cmd/bhyve/common/pci_nvme.c
2071
nvme_opc_create_io_sq(sc, cmd, &compl);
usr/src/cmd/bhyve/common/pci_nvme.c
2075
nvme_opc_delete_io_cq(sc, cmd, &compl);
usr/src/cmd/bhyve/common/pci_nvme.c
2079
nvme_opc_create_io_cq(sc, cmd, &compl);
usr/src/cmd/bhyve/common/pci_nvme.c
2083
nvme_opc_get_log_page(sc, cmd, &compl);
usr/src/cmd/bhyve/common/pci_nvme.c
2087
nvme_opc_identify(sc, cmd, &compl);
usr/src/cmd/bhyve/common/pci_nvme.c
2091
nvme_opc_abort(sc, cmd, &compl);
usr/src/cmd/bhyve/common/pci_nvme.c
2095
nvme_opc_set_features(sc, cmd, &compl);
usr/src/cmd/bhyve/common/pci_nvme.c
2099
nvme_opc_get_features(sc, cmd, &compl);
usr/src/cmd/bhyve/common/pci_nvme.c
2109
nvme_opc_async_event_req(sc, cmd, &compl);
usr/src/cmd/bhyve/common/pci_nvme.c
2114
sc->ctrldata.oacs) == 0) {
usr/src/cmd/bhyve/common/pci_nvme.c
2118
nvme_opc_format_nvm(sc, cmd, &compl);
usr/src/cmd/bhyve/common/pci_nvme.c
2138
pci_nvme_cq_update(sc, &sc->compl_queues[0],
usr/src/cmd/bhyve/common/pci_nvme.c
215
struct pci_nvme_softc *sc;
usr/src/cmd/bhyve/common/pci_nvme.c
2150
pci_generate_msix(sc->nsc_pi, 0);
usr/src/cmd/bhyve/common/pci_nvme.c
2163
pci_nvme_stats_write_read_update(struct pci_nvme_softc *sc, uint8_t opc,
usr/src/cmd/bhyve/common/pci_nvme.c
2167
pthread_mutex_lock(&sc->mtx);
usr/src/cmd/bhyve/common/pci_nvme.c
2170
sc->write_commands++;
usr/src/cmd/bhyve/common/pci_nvme.c
2173
sc->write_dunits_remainder += (bytes / 512);
usr/src/cmd/bhyve/common/pci_nvme.c
2174
while (sc->write_dunits_remainder >= 1000) {
usr/src/cmd/bhyve/common/pci_nvme.c
2175
sc->write_data_units++;
usr/src/cmd/bhyve/common/pci_nvme.c
2176
sc->write_dunits_remainder -= 1000;
usr/src/cmd/bhyve/common/pci_nvme.c
2180
sc->read_commands++;
usr/src/cmd/bhyve/common/pci_nvme.c
2183
sc->read_dunits_remainder += (bytes / 512);
usr/src/cmd/bhyve/common/pci_nvme.c
2184
while (sc->read_dunits_remainder >= 1000) {
usr/src/cmd/bhyve/common/pci_nvme.c
2185
sc->read_data_units++;
usr/src/cmd/bhyve/common/pci_nvme.c
2186
sc->read_dunits_remainder -= 1000;
usr/src/cmd/bhyve/common/pci_nvme.c
2193
pthread_mutex_unlock(&sc->mtx);
usr/src/cmd/bhyve/common/pci_nvme.c
2225
pci_nvme_append_iov_req(struct pci_nvme_softc *sc __unused,
usr/src/cmd/bhyve/common/pci_nvme.c
2252
paddr_guest2host(req->sc->nsc_pi->pi_vmctx,
usr/src/cmd/bhyve/common/pci_nvme.c
2270
paddr_guest2host(req->sc->nsc_pi->pi_vmctx,
usr/src/cmd/bhyve/common/pci_nvme.c
2288
pci_nvme_set_completion(struct pci_nvme_softc *sc,
usr/src/cmd/bhyve/common/pci_nvme.c
2291
struct nvme_completion_queue *cq = &sc->compl_queues[sq->cqid];
usr/src/cmd/bhyve/common/pci_nvme.c
2297
pci_nvme_cq_update(sc, cq, 0, cid, sqid, status);
usr/src/cmd/bhyve/common/pci_nvme.c
2301
pci_generate_msix(sc->nsc_pi, cq->intr_vec);
usr/src/cmd/bhyve/common/pci_nvme.c
2310
pci_nvme_release_ioreq(struct pci_nvme_softc *sc, struct pci_nvme_ioreq *req)
usr/src/cmd/bhyve/common/pci_nvme.c
2312
req->sc = NULL;
usr/src/cmd/bhyve/common/pci_nvme.c
2316
pthread_mutex_lock(&sc->mtx);
usr/src/cmd/bhyve/common/pci_nvme.c
2318
STAILQ_INSERT_TAIL(&sc->ioreqs_free, req, link);
usr/src/cmd/bhyve/common/pci_nvme.c
2319
sc->pending_ios--;
usr/src/cmd/bhyve/common/pci_nvme.c
2322
if (sc->pending_ios == 0 &&
usr/src/cmd/bhyve/common/pci_nvme.c
2323
NVME_CC_GET_EN(sc->regs.cc) && !(NVME_CSTS_GET_RDY(sc->regs.csts)))
usr/src/cmd/bhyve/common/pci_nvme.c
2324
sc->regs.csts |= NVME_CSTS_RDY;
usr/src/cmd/bhyve/common/pci_nvme.c
2326
pthread_mutex_unlock(&sc->mtx);
usr/src/cmd/bhyve/common/pci_nvme.c
2328
sem_post(&sc->iosemlock);
usr/src/cmd/bhyve/common/pci_nvme.c
2332
pci_nvme_get_ioreq(struct pci_nvme_softc *sc)
usr/src/cmd/bhyve/common/pci_nvme.c
2336
sem_wait(&sc->iosemlock);
usr/src/cmd/bhyve/common/pci_nvme.c
2337
pthread_mutex_lock(&sc->mtx);
usr/src/cmd/bhyve/common/pci_nvme.c
2339
req = STAILQ_FIRST(&sc->ioreqs_free);
usr/src/cmd/bhyve/common/pci_nvme.c
2341
STAILQ_REMOVE_HEAD(&sc->ioreqs_free, link);
usr/src/cmd/bhyve/common/pci_nvme.c
2343
req->sc = sc;
usr/src/cmd/bhyve/common/pci_nvme.c
2345
sc->pending_ios++;
usr/src/cmd/bhyve/common/pci_nvme.c
2347
pthread_mutex_unlock(&sc->mtx);
usr/src/cmd/bhyve/common/pci_nvme.c
2373
pci_nvme_set_completion(req->sc, sq, req->sqid, req->cid, status);
usr/src/cmd/bhyve/common/pci_nvme.c
2374
pci_nvme_stats_write_read_update(req->sc, req->opc,
usr/src/cmd/bhyve/common/pci_nvme.c
2376
pci_nvme_release_ioreq(req->sc, req);
usr/src/cmd/bhyve/common/pci_nvme.c
2388
nvme_opc_flush(struct pci_nvme_softc *sc __unused,
usr/src/cmd/bhyve/common/pci_nvme.c
2420
nvme_write_read_ram(struct pci_nvme_softc *sc,
usr/src/cmd/bhyve/common/pci_nvme.c
2436
if (nvme_prp_memcpy(sc->nsc_pi->pi_vmctx, prp1, prp2,
usr/src/cmd/bhyve/common/pci_nvme.c
2447
nvme_write_read_blockif(struct pci_nvme_softc *sc,
usr/src/cmd/bhyve/common/pci_nvme.c
2459
if (pci_nvme_append_iov_req(sc, req, prp1, size, offset)) {
usr/src/cmd/bhyve/common/pci_nvme.c
2471
if (pci_nvme_append_iov_req(sc, req, prp2, size, offset)) {
usr/src/cmd/bhyve/common/pci_nvme.c
2476
void *vmctx = sc->nsc_pi->pi_vmctx;
usr/src/cmd/bhyve/common/pci_nvme.c
2497
if (pci_nvme_append_iov_req(sc, req, *prp_list, size,
usr/src/cmd/bhyve/common/pci_nvme.c
2522
nvme_opc_write_read(struct pci_nvme_softc *sc,
usr/src/cmd/bhyve/common/pci_nvme.c
2559
*status = nvme_write_read_ram(sc, nvstore, cmd->prp1,
usr/src/cmd/bhyve/common/pci_nvme.c
2562
*status = nvme_write_read_blockif(sc, nvstore, req,
usr/src/cmd/bhyve/common/pci_nvme.c
2570
pci_nvme_stats_write_read_update(sc, cmd->opc, bytes, *status);
usr/src/cmd/bhyve/common/pci_nvme.c
2579
struct pci_nvme_softc *sc = req->sc;
usr/src/cmd/bhyve/common/pci_nvme.c
2597
if (blockif_delete(sc->nvstore.ctx, &req->io_req)) {
usr/src/cmd/bhyve/common/pci_nvme.c
2605
pci_nvme_set_completion(sc, req->nvme_sq, req->sqid, req->cid,
usr/src/cmd/bhyve/common/pci_nvme.c
2607
pci_nvme_release_ioreq(sc, req);
usr/src/cmd/bhyve/common/pci_nvme.c
2612
nvme_opc_dataset_mgmt(struct pci_nvme_softc *sc,
usr/src/cmd/bhyve/common/pci_nvme.c
2623
if ((sc->ctrldata.oncs & NVME_ONCS_DSM) == 0) {
usr/src/cmd/bhyve/common/pci_nvme.c
2642
nvme_prp_memcpy(sc->nsc_pi->pi_vmctx, cmd->prp1, cmd->prp2,
usr/src/cmd/bhyve/common/pci_nvme.c
2659
int sectsz_bits = sc->nvstore.sectsz_bits;
usr/src/cmd/bhyve/common/pci_nvme.c
2737
pci_nvme_handle_io_cmd(struct pci_nvme_softc* sc, uint16_t idx)
usr/src/cmd/bhyve/common/pci_nvme.c
2744
sq = &sc->submit_queues[idx];
usr/src/cmd/bhyve/common/pci_nvme.c
2766
if ((nsid == 0) || (nsid > sc->ctrldata.nn)) {
usr/src/cmd/bhyve/common/pci_nvme.c
2773
req = pci_nvme_get_ioreq(sc);
usr/src/cmd/bhyve/common/pci_nvme.c
2788
pending = nvme_opc_flush(sc, cmd, &sc->nvstore,
usr/src/cmd/bhyve/common/pci_nvme.c
2793
pending = nvme_opc_write_read(sc, cmd, &sc->nvstore,
usr/src/cmd/bhyve/common/pci_nvme.c
2803
pending = nvme_opc_dataset_mgmt(sc, cmd, &sc->nvstore,
usr/src/cmd/bhyve/common/pci_nvme.c
2813
pci_nvme_set_completion(sc, sq, idx, cmd->cid, status);
usr/src/cmd/bhyve/common/pci_nvme.c
2815
pci_nvme_release_ioreq(sc, req);
usr/src/cmd/bhyve/common/pci_nvme.c
2857
pci_nvme_handle_doorbell(struct pci_nvme_softc* sc,
usr/src/cmd/bhyve/common/pci_nvme.c
2864
if (idx > sc->num_squeues) {
usr/src/cmd/bhyve/common/pci_nvme.c
2867
__func__, idx, sc->num_squeues);
usr/src/cmd/bhyve/common/pci_nvme.c
2868
pci_nvme_aen_post(sc, PCI_NVME_AE_TYPE_ERROR,
usr/src/cmd/bhyve/common/pci_nvme.c
2873
if (sc->submit_queues[idx].qbase == NULL) {
usr/src/cmd/bhyve/common/pci_nvme.c
2876
pci_nvme_aen_post(sc, PCI_NVME_AE_TYPE_ERROR,
usr/src/cmd/bhyve/common/pci_nvme.c
2881
if (!pci_nvme_sq_doorbell_valid(&sc->submit_queues[idx], value)) {
usr/src/cmd/bhyve/common/pci_nvme.c
2884
pci_nvme_aen_post(sc, PCI_NVME_AE_TYPE_ERROR,
usr/src/cmd/bhyve/common/pci_nvme.c
2889
atomic_store_short(&sc->submit_queues[idx].tail,
usr/src/cmd/bhyve/common/pci_nvme.c
2893
pci_nvme_handle_admin_cmd(sc, value);
usr/src/cmd/bhyve/common/pci_nvme.c
2896
pci_nvme_handle_io_cmd(sc, (uint16_t)idx);
usr/src/cmd/bhyve/common/pci_nvme.c
2899
if (idx > sc->num_cqueues) {
usr/src/cmd/bhyve/common/pci_nvme.c
2902
__func__, idx, sc->num_cqueues);
usr/src/cmd/bhyve/common/pci_nvme.c
2903
pci_nvme_aen_post(sc, PCI_NVME_AE_TYPE_ERROR,
usr/src/cmd/bhyve/common/pci_nvme.c
2908
if (sc->compl_queues[idx].qbase == NULL) {
usr/src/cmd/bhyve/common/pci_nvme.c
2911
pci_nvme_aen_post(sc, PCI_NVME_AE_TYPE_ERROR,
usr/src/cmd/bhyve/common/pci_nvme.c
2916
atomic_store_short(&sc->compl_queues[idx].head,
usr/src/cmd/bhyve/common/pci_nvme.c
2973
pci_nvme_write_bar_0(struct pci_nvme_softc *sc, uint64_t offset, int size,
usr/src/cmd/bhyve/common/pci_nvme.c
2983
if ((sc->regs.csts & NVME_CSTS_RDY) == 0) {
usr/src/cmd/bhyve/common/pci_nvme.c
2989
if (belloffset > ((sc->max_queues+1) * 8 - 4)) {
usr/src/cmd/bhyve/common/pci_nvme.c
2997
if (sc->submit_queues[idx].qbase == NULL)
usr/src/cmd/bhyve/common/pci_nvme.c
2999
} else if (sc->compl_queues[idx].qbase == NULL)
usr/src/cmd/bhyve/common/pci_nvme.c
3002
pci_nvme_handle_doorbell(sc, idx, is_sq, value);
usr/src/cmd/bhyve/common/pci_nvme.c
3019
pthread_mutex_lock(&sc->mtx);
usr/src/cmd/bhyve/common/pci_nvme.c
3047
sc->regs.csts &= ~NVMEM(NVME_CSTS_REG_SHST);
usr/src/cmd/bhyve/common/pci_nvme.c
3048
sc->regs.csts |= NVMEF(NVME_CSTS_REG_SHST,
usr/src/cmd/bhyve/common/pci_nvme.c
3051
if (NVME_CC_GET_EN(ccreg) != NVME_CC_GET_EN(sc->regs.cc)) {
usr/src/cmd/bhyve/common/pci_nvme.c
3054
pci_nvme_reset_locked(sc);
usr/src/cmd/bhyve/common/pci_nvme.c
3056
pci_nvme_init_controller(sc);
usr/src/cmd/bhyve/common/pci_nvme.c
3060
sc->regs.cc &= ~NVME_CC_WRITE_MASK;
usr/src/cmd/bhyve/common/pci_nvme.c
3061
sc->regs.cc |= ccreg & NVME_CC_WRITE_MASK;
usr/src/cmd/bhyve/common/pci_nvme.c
3064
sc->regs.cc &= ~NVME_CC_NEN_WRITE_MASK;
usr/src/cmd/bhyve/common/pci_nvme.c
3065
sc->regs.cc |= ccreg & NVME_CC_NEN_WRITE_MASK;
usr/src/cmd/bhyve/common/pci_nvme.c
3066
sc->regs.csts &= ~NVME_CSTS_RDY;
usr/src/cmd/bhyve/common/pci_nvme.c
3067
} else if ((sc->pending_ios == 0) &&
usr/src/cmd/bhyve/common/pci_nvme.c
3068
!(sc->regs.csts & NVME_CSTS_CFS)) {
usr/src/cmd/bhyve/common/pci_nvme.c
3069
sc->regs.csts |= NVME_CSTS_RDY;
usr/src/cmd/bhyve/common/pci_nvme.c
3078
sc->regs.aqa = (uint32_t)value;
usr/src/cmd/bhyve/common/pci_nvme.c
3081
sc->regs.asq = (sc->regs.asq & (0xFFFFFFFF00000000)) |
usr/src/cmd/bhyve/common/pci_nvme.c
3085
sc->regs.asq = (sc->regs.asq & (0x00000000FFFFFFFF)) |
usr/src/cmd/bhyve/common/pci_nvme.c
3089
sc->regs.acq = (sc->regs.acq & (0xFFFFFFFF00000000)) |
usr/src/cmd/bhyve/common/pci_nvme.c
3093
sc->regs.acq = (sc->regs.acq & (0x00000000FFFFFFFF)) |
usr/src/cmd/bhyve/common/pci_nvme.c
3100
pthread_mutex_unlock(&sc->mtx);
usr/src/cmd/bhyve/common/pci_nvme.c
3107
struct pci_nvme_softc* sc = pi->pi_arg;
usr/src/cmd/bhyve/common/pci_nvme.c
3120
pci_nvme_write_bar_0(sc, offset, size, value);
usr/src/cmd/bhyve/common/pci_nvme.c
3129
static uint64_t pci_nvme_read_bar_0(struct pci_nvme_softc* sc,
usr/src/cmd/bhyve/common/pci_nvme.c
3137
void *p = &(sc->regs);
usr/src/cmd/bhyve/common/pci_nvme.c
3138
pthread_mutex_lock(&sc->mtx);
usr/src/cmd/bhyve/common/pci_nvme.c
3140
pthread_mutex_unlock(&sc->mtx);
usr/src/cmd/bhyve/common/pci_nvme.c
3169
struct pci_nvme_softc* sc = pi->pi_arg;
usr/src/cmd/bhyve/common/pci_nvme.c
3181
return pci_nvme_read_bar_0(sc, offset, size);
usr/src/cmd/bhyve/common/pci_nvme.c
3191
pci_nvme_parse_config(struct pci_nvme_softc *sc, nvlist_t *nvl)
usr/src/cmd/bhyve/common/pci_nvme.c
3197
sc->max_queues = NVME_QUEUES;
usr/src/cmd/bhyve/common/pci_nvme.c
3198
sc->max_qentries = NVME_MAX_QENTRIES;
usr/src/cmd/bhyve/common/pci_nvme.c
3199
sc->ioslots = NVME_IOSLOTS;
usr/src/cmd/bhyve/common/pci_nvme.c
3200
sc->num_squeues = sc->max_queues;
usr/src/cmd/bhyve/common/pci_nvme.c
3201
sc->num_cqueues = sc->max_queues;
usr/src/cmd/bhyve/common/pci_nvme.c
3202
sc->dataset_management = NVME_DATASET_MANAGEMENT_AUTO;
usr/src/cmd/bhyve/common/pci_nvme.c
3205
snprintf(sc->ctrldata.sn, sizeof(sc->ctrldata.sn),
usr/src/cmd/bhyve/common/pci_nvme.c
3206
"NVME-%d-%d", sc->nsc_pi->pi_slot, sc->nsc_pi->pi_func);
usr/src/cmd/bhyve/common/pci_nvme.c
3208
snprintf((char *)sc->ctrldata.sn, sizeof(sc->ctrldata.sn),
usr/src/cmd/bhyve/common/pci_nvme.c
3209
"NVME-%d-%d", sc->nsc_pi->pi_slot, sc->nsc_pi->pi_func);
usr/src/cmd/bhyve/common/pci_nvme.c
3214
sc->max_queues = atoi(value);
usr/src/cmd/bhyve/common/pci_nvme.c
3217
sc->max_qentries = atoi(value);
usr/src/cmd/bhyve/common/pci_nvme.c
3218
if (sc->max_qentries <= 0) {
usr/src/cmd/bhyve/common/pci_nvme.c
3220
sc->max_qentries);
usr/src/cmd/bhyve/common/pci_nvme.c
3226
sc->ioslots = atoi(value);
usr/src/cmd/bhyve/common/pci_nvme.c
3227
if (sc->ioslots <= 0) {
usr/src/cmd/bhyve/common/pci_nvme.c
3228
EPRINTLN("Invalid ioslots option %d", sc->ioslots);
usr/src/cmd/bhyve/common/pci_nvme.c
3242
cpywithpad((char *)sc->ctrldata.sn,
usr/src/cmd/bhyve/common/pci_nvme.c
3243
sizeof(sc->ctrldata.sn), value, ' ');
usr/src/cmd/bhyve/common/pci_nvme.c
3247
sc->nvstore.eui64 = htobe64(strtoull(value, NULL, 0));
usr/src/cmd/bhyve/common/pci_nvme.c
3251
sc->dataset_management = NVME_DATASET_MANAGEMENT_AUTO;
usr/src/cmd/bhyve/common/pci_nvme.c
3253
sc->dataset_management = NVME_DATASET_MANAGEMENT_ENABLE;
usr/src/cmd/bhyve/common/pci_nvme.c
3255
sc->dataset_management = NVME_DATASET_MANAGEMENT_DISABLE;
usr/src/cmd/bhyve/common/pci_nvme.c
3260
if (pci_emul_add_boot_device(sc->nsc_pi, atoi(value))) {
usr/src/cmd/bhyve/common/pci_nvme.c
3270
sc->nvstore.type = NVME_STOR_RAM;
usr/src/cmd/bhyve/common/pci_nvme.c
3271
sc->nvstore.size = sz * 1024 * 1024;
usr/src/cmd/bhyve/common/pci_nvme.c
3272
sc->nvstore.ctx = calloc(1, sc->nvstore.size);
usr/src/cmd/bhyve/common/pci_nvme.c
3273
sc->nvstore.sectsz = 4096;
usr/src/cmd/bhyve/common/pci_nvme.c
3274
sc->nvstore.sectsz_bits = 12;
usr/src/cmd/bhyve/common/pci_nvme.c
3275
if (sc->nvstore.ctx == NULL) {
usr/src/cmd/bhyve/common/pci_nvme.c
3281
sc->nsc_pi->pi_slot, sc->nsc_pi->pi_func);
usr/src/cmd/bhyve/common/pci_nvme.c
3282
sc->nvstore.ctx = blockif_open(nvl, bident);
usr/src/cmd/bhyve/common/pci_nvme.c
3283
if (sc->nvstore.ctx == NULL) {
usr/src/cmd/bhyve/common/pci_nvme.c
3288
sc->nvstore.type = NVME_STOR_BLOCKIF;
usr/src/cmd/bhyve/common/pci_nvme.c
3289
sc->nvstore.size = blockif_size(sc->nvstore.ctx);
usr/src/cmd/bhyve/common/pci_nvme.c
3293
sc->nvstore.sectsz = sectsz;
usr/src/cmd/bhyve/common/pci_nvme.c
3294
else if (sc->nvstore.type != NVME_STOR_RAM)
usr/src/cmd/bhyve/common/pci_nvme.c
3295
sc->nvstore.sectsz = blockif_sectsz(sc->nvstore.ctx);
usr/src/cmd/bhyve/common/pci_nvme.c
3296
for (sc->nvstore.sectsz_bits = 9;
usr/src/cmd/bhyve/common/pci_nvme.c
3297
(1U << sc->nvstore.sectsz_bits) < sc->nvstore.sectsz;
usr/src/cmd/bhyve/common/pci_nvme.c
3298
sc->nvstore.sectsz_bits++);
usr/src/cmd/bhyve/common/pci_nvme.c
3300
if (sc->max_queues <= 0 || sc->max_queues > NVME_QUEUES)
usr/src/cmd/bhyve/common/pci_nvme.c
3301
sc->max_queues = NVME_QUEUES;
usr/src/cmd/bhyve/common/pci_nvme.c
3310
struct pci_nvme_softc *sc;
usr/src/cmd/bhyve/common/pci_nvme.c
3314
sc = arg;
usr/src/cmd/bhyve/common/pci_nvme.c
3315
nvstore = &sc->nvstore;
usr/src/cmd/bhyve/common/pci_nvme.c
3316
nd = &sc->nsdata;
usr/src/cmd/bhyve/common/pci_nvme.c
3322
sc->ns_log.ns[0] = 1;
usr/src/cmd/bhyve/common/pci_nvme.c
3323
sc->ns_log.ns[1] = 0;
usr/src/cmd/bhyve/common/pci_nvme.c
3325
pci_nvme_aen_post(sc, PCI_NVME_AE_TYPE_NOTICE,
usr/src/cmd/bhyve/common/pci_nvme.c
3332
struct pci_nvme_softc *sc;
usr/src/cmd/bhyve/common/pci_nvme.c
3338
sc = calloc(1, sizeof(struct pci_nvme_softc));
usr/src/cmd/bhyve/common/pci_nvme.c
3339
pi->pi_arg = sc;
usr/src/cmd/bhyve/common/pci_nvme.c
3340
sc->nsc_pi = pi;
usr/src/cmd/bhyve/common/pci_nvme.c
3342
error = pci_nvme_parse_config(sc, nvl);
usr/src/cmd/bhyve/common/pci_nvme.c
3348
STAILQ_INIT(&sc->ioreqs_free);
usr/src/cmd/bhyve/common/pci_nvme.c
3349
sc->ioreqs = calloc(sc->ioslots, sizeof(struct pci_nvme_ioreq));
usr/src/cmd/bhyve/common/pci_nvme.c
3350
for (uint32_t i = 0; i < sc->ioslots; i++) {
usr/src/cmd/bhyve/common/pci_nvme.c
3351
STAILQ_INSERT_TAIL(&sc->ioreqs_free, &sc->ioreqs[i], link);
usr/src/cmd/bhyve/common/pci_nvme.c
3369
2 * sizeof(uint32_t) * (sc->max_queues + 1);
usr/src/cmd/bhyve/common/pci_nvme.c
3380
error = pci_emul_add_msixcap(pi, sc->max_queues + 1, NVME_MSIX_BAR);
usr/src/cmd/bhyve/common/pci_nvme.c
3392
pthread_mutex_init(&sc->mtx, NULL);
usr/src/cmd/bhyve/common/pci_nvme.c
3393
sem_init(&sc->iosemlock, 0, sc->ioslots);
usr/src/cmd/bhyve/common/pci_nvme.c
3394
blockif_register_resize_callback(sc->nvstore.ctx, pci_nvme_resized, sc);
usr/src/cmd/bhyve/common/pci_nvme.c
3396
pci_nvme_init_queues(sc, sc->max_queues, sc->max_queues);
usr/src/cmd/bhyve/common/pci_nvme.c
3401
pci_nvme_init_nsdata(sc, &sc->nsdata, 1, &sc->nvstore);
usr/src/cmd/bhyve/common/pci_nvme.c
3402
pci_nvme_init_ctrldata(sc);
usr/src/cmd/bhyve/common/pci_nvme.c
3403
pci_nvme_init_logpages(sc);
usr/src/cmd/bhyve/common/pci_nvme.c
3404
pci_nvme_init_features(sc);
usr/src/cmd/bhyve/common/pci_nvme.c
3406
pci_nvme_aer_init(sc);
usr/src/cmd/bhyve/common/pci_nvme.c
3407
pci_nvme_aen_init(sc);
usr/src/cmd/bhyve/common/pci_nvme.c
3409
pci_nvme_reset(sc);
usr/src/cmd/bhyve/common/pci_nvme.c
378
static void pci_nvme_cq_update(struct pci_nvme_softc *sc,
usr/src/cmd/bhyve/common/pci_nvme.c
478
pci_nvme_init_queues(struct pci_nvme_softc *sc, uint32_t nsq, uint32_t ncq)
usr/src/cmd/bhyve/common/pci_nvme.c
491
sc->num_squeues = nsq;
usr/src/cmd/bhyve/common/pci_nvme.c
493
sc->submit_queues = calloc(sc->num_squeues + 1,
usr/src/cmd/bhyve/common/pci_nvme.c
495
if (sc->submit_queues == NULL) {
usr/src/cmd/bhyve/common/pci_nvme.c
497
sc->num_squeues = 0;
usr/src/cmd/bhyve/common/pci_nvme.c
499
struct nvme_submission_queue *sq = sc->submit_queues;
usr/src/cmd/bhyve/common/pci_nvme.c
501
for (i = 0; i < sc->num_squeues + 1; i++)
usr/src/cmd/bhyve/common/pci_nvme.c
514
sc->num_cqueues = ncq;
usr/src/cmd/bhyve/common/pci_nvme.c
516
sc->compl_queues = calloc(sc->num_cqueues + 1,
usr/src/cmd/bhyve/common/pci_nvme.c
518
if (sc->compl_queues == NULL) {
usr/src/cmd/bhyve/common/pci_nvme.c
520
sc->num_cqueues = 0;
usr/src/cmd/bhyve/common/pci_nvme.c
522
struct nvme_completion_queue *cq = sc->compl_queues;
usr/src/cmd/bhyve/common/pci_nvme.c
524
for (i = 0; i < sc->num_cqueues + 1; i++)
usr/src/cmd/bhyve/common/pci_nvme.c
530
pci_nvme_init_ctrldata(struct pci_nvme_softc *sc)
usr/src/cmd/bhyve/common/pci_nvme.c
532
struct nvme_controller_data *cd = &sc->ctrldata;
usr/src/cmd/bhyve/common/pci_nvme.c
587
switch (sc->dataset_management) {
usr/src/cmd/bhyve/common/pci_nvme.c
589
if (sc->nvstore.deallocate)
usr/src/cmd/bhyve/common/pci_nvme.c
606
get_config_value("name"), sc->nsc_pi->pi_bus,
usr/src/cmd/bhyve/common/pci_nvme.c
607
sc->nsc_pi->pi_slot, sc->nsc_pi->pi_func);
usr/src/cmd/bhyve/common/pci_nvme.c
611
get_config_value("name"), sc->nsc_pi->pi_bus,
usr/src/cmd/bhyve/common/pci_nvme.c
612
sc->nsc_pi->pi_slot, sc->nsc_pi->pi_func);
usr/src/cmd/bhyve/common/pci_nvme.c
630
pci_nvme_init_nsdata(struct pci_nvme_softc *sc,
usr/src/cmd/bhyve/common/pci_nvme.c
649
sc->nsc_pi->pi_bus, sc->nsc_pi->pi_slot,
usr/src/cmd/bhyve/common/pci_nvme.c
650
sc->nsc_pi->pi_func);
usr/src/cmd/bhyve/common/pci_nvme.c
665
pci_nvme_init_logpages(struct pci_nvme_softc *sc)
usr/src/cmd/bhyve/common/pci_nvme.c
669
memset(&sc->err_log, 0, sizeof(sc->err_log));
usr/src/cmd/bhyve/common/pci_nvme.c
670
memset(&sc->health_log, 0, sizeof(sc->health_log));
usr/src/cmd/bhyve/common/pci_nvme.c
671
memset(&sc->fw_log, 0, sizeof(sc->fw_log));
usr/src/cmd/bhyve/common/pci_nvme.c
672
memset(&sc->ns_log, 0, sizeof(sc->ns_log));
usr/src/cmd/bhyve/common/pci_nvme.c
675
sc->read_dunits_remainder = 999;
usr/src/cmd/bhyve/common/pci_nvme.c
676
sc->write_dunits_remainder = 999;
usr/src/cmd/bhyve/common/pci_nvme.c
679
sc->health_log.temperature = NVME_TEMPERATURE;
usr/src/cmd/bhyve/common/pci_nvme.c
680
sc->health_log.available_spare = 100;
usr/src/cmd/bhyve/common/pci_nvme.c
681
sc->health_log.available_spare_threshold = 10;
usr/src/cmd/bhyve/common/pci_nvme.c
684
sc->fw_log.afi = NVMEF(NVME_FIRMWARE_PAGE_AFI_SLOT, 1);
usr/src/cmd/bhyve/common/pci_nvme.c
685
memcpy(&sc->fw_log.revision[0], sc->ctrldata.fr,
usr/src/cmd/bhyve/common/pci_nvme.c
686
sizeof(sc->fw_log.revision[0]));
usr/src/cmd/bhyve/common/pci_nvme.c
688
memcpy(&sc->health_log.power_cycles, &power_cycles,
usr/src/cmd/bhyve/common/pci_nvme.c
689
sizeof(sc->health_log.power_cycles));
usr/src/cmd/bhyve/common/pci_nvme.c
693
pci_nvme_init_features(struct pci_nvme_softc *sc)
usr/src/cmd/bhyve/common/pci_nvme.c
709
sc->feat[fid].set = nvme_feature_temperature;
usr/src/cmd/bhyve/common/pci_nvme.c
712
sc->feat[fid].namespace_specific = true;
usr/src/cmd/bhyve/common/pci_nvme.c
715
sc->feat[fid].set = nvme_feature_num_queues;
usr/src/cmd/bhyve/common/pci_nvme.c
718
sc->feat[fid].set = nvme_feature_iv_config;
usr/src/cmd/bhyve/common/pci_nvme.c
721
sc->feat[fid].set = nvme_feature_async_event;
usr/src/cmd/bhyve/common/pci_nvme.c
723
sc->feat[fid].cdw11 = PCI_NVME_AEN_DEFAULT_MASK;
usr/src/cmd/bhyve/common/pci_nvme.c
726
sc->feat[fid].set = nvme_feature_invalid_cb;
usr/src/cmd/bhyve/common/pci_nvme.c
727
sc->feat[fid].get = nvme_feature_invalid_cb;
usr/src/cmd/bhyve/common/pci_nvme.c
733
pci_nvme_aer_reset(struct pci_nvme_softc *sc)
usr/src/cmd/bhyve/common/pci_nvme.c
736
STAILQ_INIT(&sc->aer_list);
usr/src/cmd/bhyve/common/pci_nvme.c
737
sc->aer_count = 0;
usr/src/cmd/bhyve/common/pci_nvme.c
741
pci_nvme_aer_init(struct pci_nvme_softc *sc)
usr/src/cmd/bhyve/common/pci_nvme.c
744
pthread_mutex_init(&sc->aer_mtx, NULL);
usr/src/cmd/bhyve/common/pci_nvme.c
745
pci_nvme_aer_reset(sc);
usr/src/cmd/bhyve/common/pci_nvme.c
749
pci_nvme_aer_destroy(struct pci_nvme_softc *sc)
usr/src/cmd/bhyve/common/pci_nvme.c
753
pthread_mutex_lock(&sc->aer_mtx);
usr/src/cmd/bhyve/common/pci_nvme.c
754
while (!STAILQ_EMPTY(&sc->aer_list)) {
usr/src/cmd/bhyve/common/pci_nvme.c
755
aer = STAILQ_FIRST(&sc->aer_list);
usr/src/cmd/bhyve/common/pci_nvme.c
756
STAILQ_REMOVE_HEAD(&sc->aer_list, link);
usr/src/cmd/bhyve/common/pci_nvme.c
759
pthread_mutex_unlock(&sc->aer_mtx);
usr/src/cmd/bhyve/common/pci_nvme.c
761
pci_nvme_aer_reset(sc);
usr/src/cmd/bhyve/common/pci_nvme.c
765
pci_nvme_aer_available(struct pci_nvme_softc *sc)
usr/src/cmd/bhyve/common/pci_nvme.c
768
return (sc->aer_count != 0);
usr/src/cmd/bhyve/common/pci_nvme.c
772
pci_nvme_aer_limit_reached(struct pci_nvme_softc *sc)
usr/src/cmd/bhyve/common/pci_nvme.c
774
struct nvme_controller_data *cd = &sc->ctrldata;
usr/src/cmd/bhyve/common/pci_nvme.c
777
return (sc->aer_count == (cd->aerl + 1U));
usr/src/cmd/bhyve/common/pci_nvme.c
789
pci_nvme_aer_add(struct pci_nvme_softc *sc, uint16_t cid)
usr/src/cmd/bhyve/common/pci_nvme.c
800
pthread_mutex_lock(&sc->aer_mtx);
usr/src/cmd/bhyve/common/pci_nvme.c
801
sc->aer_count++;
usr/src/cmd/bhyve/common/pci_nvme.c
802
STAILQ_INSERT_TAIL(&sc->aer_list, aer, link);
usr/src/cmd/bhyve/common/pci_nvme.c
803
pthread_mutex_unlock(&sc->aer_mtx);
usr/src/cmd/bhyve/common/pci_nvme.c
815
pci_nvme_aer_get(struct pci_nvme_softc *sc)
usr/src/cmd/bhyve/common/pci_nvme.c
819
pthread_mutex_lock(&sc->aer_mtx);
usr/src/cmd/bhyve/common/pci_nvme.c
820
aer = STAILQ_FIRST(&sc->aer_list);
usr/src/cmd/bhyve/common/pci_nvme.c
822
STAILQ_REMOVE_HEAD(&sc->aer_list, link);
usr/src/cmd/bhyve/common/pci_nvme.c
823
sc->aer_count--;
usr/src/cmd/bhyve/common/pci_nvme.c
825
pthread_mutex_unlock(&sc->aer_mtx);
usr/src/cmd/bhyve/common/pci_nvme.c
831
pci_nvme_aen_reset(struct pci_nvme_softc *sc)
usr/src/cmd/bhyve/common/pci_nvme.c
835
memset(sc->aen, 0, PCI_NVME_AE_TYPE_MAX * sizeof(struct pci_nvme_aen));
usr/src/cmd/bhyve/common/pci_nvme.c
838
sc->aen[atype].atype = atype;
usr/src/cmd/bhyve/common/pci_nvme.c
843
pci_nvme_aen_init(struct pci_nvme_softc *sc)
usr/src/cmd/bhyve/common/pci_nvme.c
847
pci_nvme_aen_reset(sc);
usr/src/cmd/bhyve/common/pci_nvme.c
849
pthread_mutex_init(&sc->aen_mtx, NULL);
usr/src/cmd/bhyve/common/pci_nvme.c
850
pthread_create(&sc->aen_tid, NULL, aen_thr, sc);
usr/src/cmd/bhyve/common/pci_nvme.c
851
snprintf(nstr, sizeof(nstr), "nvme-aen-%d:%d", sc->nsc_pi->pi_slot,
usr/src/cmd/bhyve/common/pci_nvme.c
852
sc->nsc_pi->pi_func);
usr/src/cmd/bhyve/common/pci_nvme.c
853
pthread_set_name_np(sc->aen_tid, nstr);
usr/src/cmd/bhyve/common/pci_nvme.c
857
pci_nvme_aen_destroy(struct pci_nvme_softc *sc)
usr/src/cmd/bhyve/common/pci_nvme.c
860
pci_nvme_aen_reset(sc);
usr/src/cmd/bhyve/common/pci_nvme.c
865
pci_nvme_aen_notify(struct pci_nvme_softc *sc)
usr/src/cmd/bhyve/common/pci_nvme.c
868
pthread_cond_signal(&sc->aen_cond);
usr/src/cmd/bhyve/common/pci_nvme.c
875
pci_nvme_aen_post(struct pci_nvme_softc *sc, pci_nvme_async_type atype,
usr/src/cmd/bhyve/common/pci_nvme.c
884
pthread_mutex_lock(&sc->aen_mtx);
usr/src/cmd/bhyve/common/pci_nvme.c
885
aen = &sc->aen[atype];
usr/src/cmd/bhyve/common/pci_nvme.c
889
pthread_mutex_unlock(&sc->aen_mtx);
usr/src/cmd/bhyve/common/pci_nvme.c
895
pthread_mutex_unlock(&sc->aen_mtx);
usr/src/cmd/bhyve/common/pci_nvme.c
897
pci_nvme_aen_notify(sc);
usr/src/cmd/bhyve/common/pci_nvme.c
903
pci_nvme_aen_process(struct pci_nvme_softc *sc)
usr/src/cmd/bhyve/common/pci_nvme.c
916
assert(pthread_mutex_isowned_np(&sc->aen_mtx));
usr/src/cmd/bhyve/common/pci_nvme.c
918
aen = &sc->aen[atype];
usr/src/cmd/bhyve/common/pci_nvme.c
920
if (!pci_nvme_aer_available(sc)) {
usr/src/cmd/bhyve/common/pci_nvme.c
934
sc->feat[NVME_FEAT_ASYNC_EVENT_CONFIGURATION].cdw11;
usr/src/cmd/bhyve/common/pci_nvme.c
991
aer = pci_nvme_aer_get(sc);
usr/src/cmd/bhyve/common/pci_nvme.c
995
pci_nvme_cq_update(sc, &sc->compl_queues[0],
usr/src/cmd/bhyve/common/pci_passthru.c
1001
struct passthru_softc *sc;
usr/src/cmd/bhyve/common/pci_passthru.c
1003
sc = pi->pi_arg;
usr/src/cmd/bhyve/common/pci_passthru.c
1005
if (sc->psc_pcir_whandler[coff] != NULL)
usr/src/cmd/bhyve/common/pci_passthru.c
1006
return (sc->psc_pcir_whandler[coff](sc, pi, coff, bytes, val));
usr/src/cmd/bhyve/common/pci_passthru.c
1008
return (passthru_cfgwrite_default(sc, pi, coff, bytes, val));
usr/src/cmd/bhyve/common/pci_passthru.c
1015
struct passthru_softc *sc = pi->pi_arg;
usr/src/cmd/bhyve/common/pci_passthru.c
1019
msix_table_write(ctx, sc, offset, size, value);
usr/src/cmd/bhyve/common/pci_passthru.c
1029
(void) ioctl(sc->pptfd, PPT_BAR_WRITE, &pbi);
usr/src/cmd/bhyve/common/pci_passthru.c
1036
struct passthru_softc *sc = pi->pi_arg;
usr/src/cmd/bhyve/common/pci_passthru.c
1040
val = msix_table_read(sc, offset, size);
usr/src/cmd/bhyve/common/pci_passthru.c
1049
if (ioctl(sc->pptfd, PPT_BAR_READ, &pbi) == 0) {
usr/src/cmd/bhyve/common/pci_passthru.c
1063
struct passthru_softc *sc;
usr/src/cmd/bhyve/common/pci_passthru.c
1067
sc = pi->pi_arg;
usr/src/cmd/bhyve/common/pci_passthru.c
1071
if (vm_unmap_pptdev_mmio(ctx, sc->pptfd, address,
usr/src/cmd/bhyve/common/pci_passthru.c
1075
if (vm_map_pptdev_mmio(ctx, sc->pptfd, address,
usr/src/cmd/bhyve/common/pci_passthru.c
1076
table_offset, sc->psc_bar[baridx].addr) != 0)
usr/src/cmd/bhyve/common/pci_passthru.c
1087
if (vm_unmap_pptdev_mmio(ctx, sc->pptfd, address,
usr/src/cmd/bhyve/common/pci_passthru.c
1091
if (vm_map_pptdev_mmio(ctx, sc->pptfd, address,
usr/src/cmd/bhyve/common/pci_passthru.c
1092
remaining, sc->psc_bar[baridx].addr +
usr/src/cmd/bhyve/common/pci_passthru.c
110
passthru_read_config(const struct passthru_softc *sc, long reg, int width)
usr/src/cmd/bhyve/common/pci_passthru.c
1103
struct passthru_softc *sc;
usr/src/cmd/bhyve/common/pci_passthru.c
1105
sc = pi->pi_arg;
usr/src/cmd/bhyve/common/pci_passthru.c
1107
if (vm_unmap_pptdev_mmio(ctx, sc->pptfd, address,
usr/src/cmd/bhyve/common/pci_passthru.c
1108
sc->psc_bar[baridx].size) != 0)
usr/src/cmd/bhyve/common/pci_passthru.c
1111
if (vm_map_pptdev_mmio(ctx, sc->pptfd, address,
usr/src/cmd/bhyve/common/pci_passthru.c
1112
sc->psc_bar[baridx].size, sc->psc_bar[baridx].addr) != 0)
usr/src/cmd/bhyve/common/pci_passthru.c
117
if (ioctl(sc->pptfd, PPT_CFG_READ, &pi) != 0) {
usr/src/cmd/bhyve/common/pci_passthru.c
124
passthru_write_config(const struct passthru_softc *sc, long reg, int width,
usr/src/cmd/bhyve/common/pci_passthru.c
133
(void) ioctl(sc->pptfd, PPT_CFG_WRITE, &pi);
usr/src/cmd/bhyve/common/pci_passthru.c
137
passthru_get_bar(struct passthru_softc *sc, int bar, enum pcibar_type *type,
usr/src/cmd/bhyve/common/pci_passthru.c
144
if (ioctl(sc->pptfd, PPT_BAR_QUERY, &pb) != 0) {
usr/src/cmd/bhyve/common/pci_passthru.c
208
passthru_intr_limit(struct passthru_softc *sc, struct msixcap *msixcap)
usr/src/cmd/bhyve/common/pci_passthru.c
210
struct pci_devinst *pi = sc->psc_pi;
usr/src/cmd/bhyve/common/pci_passthru.c
214
if ((off = sc->psc_msi.capoff) != 0 && sc->msi_limit != -1) {
usr/src/cmd/bhyve/common/pci_passthru.c
218
sc->msi_limit > 16 ? PCIM_MSICTRL_MMC_32 :
usr/src/cmd/bhyve/common/pci_passthru.c
219
sc->msi_limit > 8 ? PCIM_MSICTRL_MMC_16 :
usr/src/cmd/bhyve/common/pci_passthru.c
220
sc->msi_limit > 4 ? PCIM_MSICTRL_MMC_8 :
usr/src/cmd/bhyve/common/pci_passthru.c
221
sc->msi_limit > 2 ? PCIM_MSICTRL_MMC_4 :
usr/src/cmd/bhyve/common/pci_passthru.c
222
sc->msi_limit > 1 ? PCIM_MSICTRL_MMC_2 :
usr/src/cmd/bhyve/common/pci_passthru.c
224
mmc = sc->psc_msi.msgctrl & PCIM_MSICTRL_MMC_MASK;
usr/src/cmd/bhyve/common/pci_passthru.c
227
sc->psc_msi.msgctrl &= ~PCIM_MSICTRL_MMC_MASK;
usr/src/cmd/bhyve/common/pci_passthru.c
228
sc->psc_msi.msgctrl |= msi_limit;
usr/src/cmd/bhyve/common/pci_passthru.c
229
pci_set_cfgdata16(pi, off + 2, sc->psc_msi.msgctrl);
usr/src/cmd/bhyve/common/pci_passthru.c
234
if ((off = sc->psc_msix.capoff) != 0 && sc->msix_limit != -1) {
usr/src/cmd/bhyve/common/pci_passthru.c
235
if (MSIX_TABLE_COUNT(msixcap->msgctrl) > sc->msix_limit) {
usr/src/cmd/bhyve/common/pci_passthru.c
237
msixcap->msgctrl |= sc->msix_limit - 1;
usr/src/cmd/bhyve/common/pci_passthru.c
244
cfginitmsi(struct passthru_softc *sc)
usr/src/cmd/bhyve/common/pci_passthru.c
248
struct pci_devinst *pi = sc->psc_pi;
usr/src/cmd/bhyve/common/pci_passthru.c
256
sts = passthru_read_config(sc, PCIR_STATUS, 2);
usr/src/cmd/bhyve/common/pci_passthru.c
258
ptr = passthru_read_config(sc, PCIR_CAP_PTR, 1);
usr/src/cmd/bhyve/common/pci_passthru.c
260
cap = passthru_read_config(sc, ptr + PCICAP_ID, 1);
usr/src/cmd/bhyve/common/pci_passthru.c
266
sc->psc_msi.capoff = ptr;
usr/src/cmd/bhyve/common/pci_passthru.c
267
sc->psc_msi.msgctrl = passthru_read_config(sc,
usr/src/cmd/bhyve/common/pci_passthru.c
269
sc->psc_msi.emulated = 0;
usr/src/cmd/bhyve/common/pci_passthru.c
270
caplen = msi_caplen(sc->psc_msi.msgctrl);
usr/src/cmd/bhyve/common/pci_passthru.c
273
u32 = passthru_read_config(sc,
usr/src/cmd/bhyve/common/pci_passthru.c
283
sc->psc_msix.capoff = ptr;
usr/src/cmd/bhyve/common/pci_passthru.c
288
u32 = passthru_read_config(sc,
usr/src/cmd/bhyve/common/pci_passthru.c
297
ptr = passthru_read_config(sc, ptr + PCICAP_NEXTPTR, 1);
usr/src/cmd/bhyve/common/pci_passthru.c
301
passthru_intr_limit(sc, &msixcap);
usr/src/cmd/bhyve/common/pci_passthru.c
303
if (sc->psc_msix.capoff != 0) {
usr/src/cmd/bhyve/common/pci_passthru.c
332
if ((sts & PCIM_STATUS_CAPPRESENT) != 0 && sc->psc_msi.capoff == 0) {
usr/src/cmd/bhyve/common/pci_passthru.c
334
origptr = passthru_read_config(sc, PCIR_CAP_PTR, 1);
usr/src/cmd/bhyve/common/pci_passthru.c
336
sc->psc_msi.capoff = msiptr;
usr/src/cmd/bhyve/common/pci_passthru.c
337
sc->psc_msi.msgctrl = pci_get_cfgdata16(pi, msiptr + 2);
usr/src/cmd/bhyve/common/pci_passthru.c
338
sc->psc_msi.emulated = 1;
usr/src/cmd/bhyve/common/pci_passthru.c
344
if (sc->psc_msi.capoff == 0 && sc->psc_msix.capoff == 0)
usr/src/cmd/bhyve/common/pci_passthru.c
351
msix_table_read(struct passthru_softc *sc, uint64_t offset, int size)
usr/src/cmd/bhyve/common/pci_passthru.c
364
pi = sc->psc_pi;
usr/src/cmd/bhyve/common/pci_passthru.c
425
msix_table_write(struct vmctx *ctx, struct passthru_softc *sc,
usr/src/cmd/bhyve/common/pci_passthru.c
438
pi = sc->psc_pi;
usr/src/cmd/bhyve/common/pci_passthru.c
484
(void) vm_setup_pptdev_msix(ctx, sc->pptfd,
usr/src/cmd/bhyve/common/pci_passthru.c
492
init_msix_table(struct vmctx *ctx __unused, struct passthru_softc *sc)
usr/src/cmd/bhyve/common/pci_passthru.c
494
struct pci_devinst *pi = sc->psc_pi;
usr/src/cmd/bhyve/common/pci_passthru.c
521
pi->pi_msix.mapped_size = sc->psc_bar[i].size;
usr/src/cmd/bhyve/common/pci_passthru.c
523
PROT_READ | PROT_WRITE, MAP_SHARED, sc->pptfd, 0);
usr/src/cmd/bhyve/common/pci_passthru.c
525
warn("Failed to map MSI-X table BAR on %d", sc->pptfd);
usr/src/cmd/bhyve/common/pci_passthru.c
555
cfginitbar(struct vmctx *ctx __unused, struct passthru_softc *sc)
usr/src/cmd/bhyve/common/pci_passthru.c
557
struct pci_devinst *pi = sc->psc_pi;
usr/src/cmd/bhyve/common/pci_passthru.c
568
if (passthru_get_bar(sc, i, &bartype, &base, &size) != 0) {
usr/src/cmd/bhyve/common/pci_passthru.c
576
sc->pptfd, i, base, size);
usr/src/cmd/bhyve/common/pci_passthru.c
582
sc->psc_bar[i].type = bartype;
usr/src/cmd/bhyve/common/pci_passthru.c
583
sc->psc_bar[i].size = size;
usr/src/cmd/bhyve/common/pci_passthru.c
584
sc->psc_bar[i].addr = base;
usr/src/cmd/bhyve/common/pci_passthru.c
585
sc->psc_bar[i].lobits = 0;
usr/src/cmd/bhyve/common/pci_passthru.c
593
uint8_t lobits = passthru_read_config(sc, PCIR_BAR(i), 0x01);
usr/src/cmd/bhyve/common/pci_passthru.c
599
sc->psc_bar[i].lobits = lobits;
usr/src/cmd/bhyve/common/pci_passthru.c
608
sc->psc_bar[i].type = PCIBAR_MEMHI64;
usr/src/cmd/bhyve/common/pci_passthru.c
615
cfginit(struct vmctx *ctx, struct passthru_softc *sc)
usr/src/cmd/bhyve/common/pci_passthru.c
618
struct pci_devinst *pi = sc->psc_pi;
usr/src/cmd/bhyve/common/pci_passthru.c
632
pci_set_cfgdata32(pi, i, read_config(&sc->psc_sel, i, 4));
usr/src/cmd/bhyve/common/pci_passthru.c
634
pci_set_cfgdata32(pi, i, passthru_read_config(sc, i, 4));
usr/src/cmd/bhyve/common/pci_passthru.c
642
if (cfginitmsi(sc) != 0) {
usr/src/cmd/bhyve/common/pci_passthru.c
643
warnx("failed to initialize MSI for PCI %d", sc->pptfd);
usr/src/cmd/bhyve/common/pci_passthru.c
647
if (cfginitbar(ctx, sc) != 0) {
usr/src/cmd/bhyve/common/pci_passthru.c
648
warnx("failed to initialize BARs for PCI %d", sc->pptfd);
usr/src/cmd/bhyve/common/pci_passthru.c
653
error = init_msix_table(ctx, sc);
usr/src/cmd/bhyve/common/pci_passthru.c
656
sc->pptfd);
usr/src/cmd/bhyve/common/pci_passthru.c
662
if ((error = set_pcir_handler(sc, 0, PCIR_MAXLAT + 1,
usr/src/cmd/bhyve/common/pci_passthru.c
667
if ((error = set_pcir_handler(sc, PCIR_COMMAND, 0x04, NULL, NULL)) != 0)
usr/src/cmd/bhyve/common/pci_passthru.c
676
set_pcir_handler(struct passthru_softc *sc, int reg, int len,
usr/src/cmd/bhyve/common/pci_passthru.c
683
assert(sc->psc_pcir_rhandler[i] == NULL || rhandler == NULL);
usr/src/cmd/bhyve/common/pci_passthru.c
684
assert(sc->psc_pcir_whandler[i] == NULL || whandler == NULL);
usr/src/cmd/bhyve/common/pci_passthru.c
685
sc->psc_pcir_rhandler[i] = rhandler;
usr/src/cmd/bhyve/common/pci_passthru.c
686
sc->psc_pcir_whandler[i] = whandler;
usr/src/cmd/bhyve/common/pci_passthru.c
721
struct passthru_softc *const sc, const char *const romfile)
usr/src/cmd/bhyve/common/pci_passthru.c
751
int error = pci_emul_alloc_rom(sc->psc_pi, rom_size, &rom_addr);
usr/src/cmd/bhyve/common/pci_passthru.c
760
sc->psc_bar[PCI_ROM_IDX].type = PCIBAR_ROM;
usr/src/cmd/bhyve/common/pci_passthru.c
761
sc->psc_bar[PCI_ROM_IDX].addr = (uint64_t)rom_addr;
usr/src/cmd/bhyve/common/pci_passthru.c
762
sc->psc_bar[PCI_ROM_IDX].size = rom_size;
usr/src/cmd/bhyve/common/pci_passthru.c
774
struct passthru_softc *sc;
usr/src/cmd/bhyve/common/pci_passthru.c
779
sc = NULL;
usr/src/cmd/bhyve/common/pci_passthru.c
799
sc = calloc(1, sizeof(struct passthru_softc));
usr/src/cmd/bhyve/common/pci_passthru.c
801
pi->pi_arg = sc;
usr/src/cmd/bhyve/common/pci_passthru.c
802
sc->psc_pi = pi;
usr/src/cmd/bhyve/common/pci_passthru.c
803
sc->pptfd = pptfd;
usr/src/cmd/bhyve/common/pci_passthru.c
805
if ((error = vm_get_pptdev_limits(ctx, pptfd, &sc->msi_limit,
usr/src/cmd/bhyve/common/pci_passthru.c
806
&sc->msix_limit)) != 0)
usr/src/cmd/bhyve/common/pci_passthru.c
816
uint8_t intpin = passthru_read_config(sc, PCIR_INTPIN, 1);
usr/src/cmd/bhyve/common/pci_passthru.c
818
pci_lintr_request(sc->psc_pi);
usr/src/cmd/bhyve/common/pci_passthru.c
822
if ((error = cfginit(ctx, sc)) != 0)
usr/src/cmd/bhyve/common/pci_passthru.c
826
if ((error = passthru_init_rom(ctx, sc,
usr/src/cmd/bhyve/common/pci_passthru.c
833
free(sc);
usr/src/cmd/bhyve/common/pci_passthru.c
841
msicap_access(struct passthru_softc *sc, int coff)
usr/src/cmd/bhyve/common/pci_passthru.c
845
if (sc->psc_msi.capoff == 0)
usr/src/cmd/bhyve/common/pci_passthru.c
848
caplen = msi_caplen(sc->psc_msi.msgctrl);
usr/src/cmd/bhyve/common/pci_passthru.c
850
if (coff >= sc->psc_msi.capoff && coff < sc->psc_msi.capoff + caplen)
usr/src/cmd/bhyve/common/pci_passthru.c
857
msixcap_access(struct passthru_softc *sc, int coff)
usr/src/cmd/bhyve/common/pci_passthru.c
859
if (sc->psc_msix.capoff == 0)
usr/src/cmd/bhyve/common/pci_passthru.c
862
return (coff >= sc->psc_msix.capoff &&
usr/src/cmd/bhyve/common/pci_passthru.c
863
coff < sc->psc_msix.capoff + MSIX_CAPLEN);
usr/src/cmd/bhyve/common/pci_passthru.c
867
passthru_cfgread_default(struct passthru_softc *sc,
usr/src/cmd/bhyve/common/pci_passthru.c
873
if (msicap_access(sc, coff) || msixcap_access(sc, coff))
usr/src/cmd/bhyve/common/pci_passthru.c
880
if (msixcap_access(sc, coff))
usr/src/cmd/bhyve/common/pci_passthru.c
891
*rv = passthru_read_config(sc, PCIR_STATUS, 2) << 16 |
usr/src/cmd/bhyve/common/pci_passthru.c
897
*rv = passthru_read_config(sc, coff, bytes);
usr/src/cmd/bhyve/common/pci_passthru.c
903
passthru_cfgread_emulate(struct passthru_softc *sc __unused,
usr/src/cmd/bhyve/common/pci_passthru.c
913
struct passthru_softc *sc;
usr/src/cmd/bhyve/common/pci_passthru.c
915
sc = pi->pi_arg;
usr/src/cmd/bhyve/common/pci_passthru.c
917
if (sc->psc_pcir_rhandler[coff] != NULL)
usr/src/cmd/bhyve/common/pci_passthru.c
918
return (sc->psc_pcir_rhandler[coff](sc, pi, coff, bytes, rv));
usr/src/cmd/bhyve/common/pci_passthru.c
920
return (passthru_cfgread_default(sc, pi, coff, bytes, rv));
usr/src/cmd/bhyve/common/pci_passthru.c
924
passthru_cfgwrite_default(struct passthru_softc *sc, struct pci_devinst *pi,
usr/src/cmd/bhyve/common/pci_passthru.c
934
if (msicap_access(sc, coff)) {
usr/src/cmd/bhyve/common/pci_passthru.c
935
pci_emul_capwrite(pi, coff, bytes, val, sc->psc_msi.capoff,
usr/src/cmd/bhyve/common/pci_passthru.c
937
error = vm_setup_pptdev_msi(ctx, sc->pptfd,
usr/src/cmd/bhyve/common/pci_passthru.c
944
if (msixcap_access(sc, coff)) {
usr/src/cmd/bhyve/common/pci_passthru.c
945
pci_emul_capwrite(pi, coff, bytes, val, sc->psc_msix.capoff,
usr/src/cmd/bhyve/common/pci_passthru.c
951
sc->pptfd, i,
usr/src/cmd/bhyve/common/pci_passthru.c
960
error = vm_disable_pptdev_msix(ctx, sc->pptfd);
usr/src/cmd/bhyve/common/pci_passthru.c
976
passthru_write_config(sc, PCIR_STATUS, 2, val >> 16);
usr/src/cmd/bhyve/common/pci_passthru.c
985
passthru_write_config(sc, coff, bytes, val);
usr/src/cmd/bhyve/common/pci_passthru.c
991
passthru_cfgwrite_emulate(struct passthru_softc *sc __unused,
usr/src/cmd/bhyve/common/pci_passthru.h
17
typedef int (*cfgread_handler)(struct passthru_softc *sc,
usr/src/cmd/bhyve/common/pci_passthru.h
19
typedef int (*cfgwrite_handler)(struct passthru_softc *sc,
usr/src/cmd/bhyve/common/pci_passthru.h
26
int passthru_cfgread_emulate(struct passthru_softc *sc, struct pci_devinst *pi,
usr/src/cmd/bhyve/common/pci_passthru.h
28
int passthru_cfgwrite_emulate(struct passthru_softc *sc, struct pci_devinst *pi,
usr/src/cmd/bhyve/common/pci_passthru.h
30
int set_pcir_handler(struct passthru_softc *sc, int reg, int len,
usr/src/cmd/bhyve/common/pci_uart.c
111
sc = uart_ns16550_init(pci_uart_intr_assert, pci_uart_intr_deassert,
usr/src/cmd/bhyve/common/pci_uart.c
113
pi->pi_arg = sc;
usr/src/cmd/bhyve/common/pci_uart.c
116
if (device != NULL && uart_ns16550_tty_open(sc, device) != 0) {
usr/src/cmd/bhyve/common/pci_uart.c
98
struct uart_ns16550_softc *sc;
usr/src/cmd/bhyve/common/pci_virtio_9p.c
157
struct pci_vt9p_softc *sc;
usr/src/cmd/bhyve/common/pci_virtio_9p.c
159
sc = vsc;
usr/src/cmd/bhyve/common/pci_virtio_9p.c
162
vi_reset_dev(&sc->vsc_vs);
usr/src/cmd/bhyve/common/pci_virtio_9p.c
168
struct pci_vt9p_softc *sc = vsc;
usr/src/cmd/bhyve/common/pci_virtio_9p.c
170
sc->vsc_features = *negotiated_features;
usr/src/cmd/bhyve/common/pci_virtio_9p.c
176
struct pci_vt9p_softc *sc = vsc;
usr/src/cmd/bhyve/common/pci_virtio_9p.c
179
ptr = (uint8_t *)sc->vsc_config + offset;
usr/src/cmd/bhyve/common/pci_virtio_9p.c
202
struct pci_vt9p_softc *sc = preq->vsr_sc;
usr/src/cmd/bhyve/common/pci_virtio_9p.c
206
pthread_mutex_lock(&sc->vsc_mtx);
usr/src/cmd/bhyve/common/pci_virtio_9p.c
207
vq_relchain(&sc->vsc_vq, preq->vsr_idx, preq->vsr_iolen);
usr/src/cmd/bhyve/common/pci_virtio_9p.c
208
vq_endchains(&sc->vsc_vq, 1);
usr/src/cmd/bhyve/common/pci_virtio_9p.c
209
pthread_mutex_unlock(&sc->vsc_mtx);
usr/src/cmd/bhyve/common/pci_virtio_9p.c
219
struct pci_vt9p_softc *sc = preq->vsr_sc;
usr/src/cmd/bhyve/common/pci_virtio_9p.c
221
pthread_mutex_lock(&sc->vsc_mtx);
usr/src/cmd/bhyve/common/pci_virtio_9p.c
222
vq_relchain(&sc->vsc_vq, preq->vsr_idx, 0);
usr/src/cmd/bhyve/common/pci_virtio_9p.c
223
vq_endchains(&sc->vsc_vq, 1);
usr/src/cmd/bhyve/common/pci_virtio_9p.c
224
pthread_mutex_unlock(&sc->vsc_mtx);
usr/src/cmd/bhyve/common/pci_virtio_9p.c
232
struct pci_vt9p_softc *sc;
usr/src/cmd/bhyve/common/pci_virtio_9p.c
237
sc = vsc;
usr/src/cmd/bhyve/common/pci_virtio_9p.c
250
preq->vsr_sc = sc;
usr/src/cmd/bhyve/common/pci_virtio_9p.c
262
l9p_connection_recv(sc->vsc_conn, iov, preq->vsr_respidx, preq);
usr/src/cmd/bhyve/common/pci_virtio_9p.c
297
struct pci_vt9p_softc *sc;
usr/src/cmd/bhyve/common/pci_virtio_9p.c
344
sc = calloc(1, sizeof(struct pci_vt9p_softc));
usr/src/cmd/bhyve/common/pci_virtio_9p.c
346
sc->vsc_config = calloc(1, sizeof(struct pci_vt9p_config) +
usr/src/cmd/bhyve/common/pci_virtio_9p.c
349
if (sc == NULL) {
usr/src/cmd/bhyve/common/pci_virtio_9p.c
354
sc->vsc_config = calloc(1, sizeof(struct pci_vt9p_config));
usr/src/cmd/bhyve/common/pci_virtio_9p.c
355
if (sc == NULL) {
usr/src/cmd/bhyve/common/pci_virtio_9p.c
362
pthread_mutex_init(&sc->vsc_mtx, NULL);
usr/src/cmd/bhyve/common/pci_virtio_9p.c
379
sc->vsc_config->tag_len = (uint16_t)strlen(sharename);
usr/src/cmd/bhyve/common/pci_virtio_9p.c
380
memcpy(sc->vsc_config->tag, sharename, sc->vsc_config->tag_len);
usr/src/cmd/bhyve/common/pci_virtio_9p.c
382
if (l9p_backend_fs_init(&sc->vsc_fs_backend, rootfd, ro) != 0) {
usr/src/cmd/bhyve/common/pci_virtio_9p.c
387
if (l9p_server_init(&sc->vsc_server, sc->vsc_fs_backend) != 0) {
usr/src/cmd/bhyve/common/pci_virtio_9p.c
392
if (l9p_connection_init(sc->vsc_server, &sc->vsc_conn) != 0) {
usr/src/cmd/bhyve/common/pci_virtio_9p.c
397
sc->vsc_conn->lc_msize = L9P_MAX_IOV * PAGE_SIZE;
usr/src/cmd/bhyve/common/pci_virtio_9p.c
398
sc->vsc_conn->lc_lt.lt_get_response_buffer = pci_vt9p_get_buffer;
usr/src/cmd/bhyve/common/pci_virtio_9p.c
399
sc->vsc_conn->lc_lt.lt_send_response = pci_vt9p_send;
usr/src/cmd/bhyve/common/pci_virtio_9p.c
400
sc->vsc_conn->lc_lt.lt_drop_response = pci_vt9p_drop;
usr/src/cmd/bhyve/common/pci_virtio_9p.c
402
vi_softc_linkup(&sc->vsc_vs, &vt9p_vi_consts, sc, pi, &sc->vsc_vq);
usr/src/cmd/bhyve/common/pci_virtio_9p.c
403
sc->vsc_vs.vs_mtx = &sc->vsc_mtx;
usr/src/cmd/bhyve/common/pci_virtio_9p.c
404
sc->vsc_vq.vq_qsize = VT9P_RINGSZ;
usr/src/cmd/bhyve/common/pci_virtio_9p.c
410
if (!vi_intr_init(&sc->vsc_vs, fbsdrun_virtio_msix()))
usr/src/cmd/bhyve/common/pci_virtio_9p.c
412
if (!vi_pcibar_setup(&sc->vsc_vs))
usr/src/cmd/bhyve/common/pci_virtio_block.c
262
struct pci_vtblk_softc *sc = vsc;
usr/src/cmd/bhyve/common/pci_virtio_block.c
265
vi_reset_dev(&sc->vbsc_vs);
usr/src/cmd/bhyve/common/pci_virtio_block.c
268
(void) blockif_set_wce(sc->bc, 0);
usr/src/cmd/bhyve/common/pci_virtio_block.c
269
sc->vbsc_wce = 0;
usr/src/cmd/bhyve/common/pci_virtio_block.c
276
struct pci_vtblk_softc *sc = io->io_sc;
usr/src/cmd/bhyve/common/pci_virtio_block.c
290
vq_relchain(&sc->vbsc_vq, io->io_idx, 1);
usr/src/cmd/bhyve/common/pci_virtio_block.c
291
vq_endchains(&sc->vbsc_vq, 0);
usr/src/cmd/bhyve/common/pci_virtio_block.c
298
struct pci_vtblk_softc *sc = io->io_sc;
usr/src/cmd/bhyve/common/pci_virtio_block.c
300
pthread_mutex_lock(&sc->vsc_mtx);
usr/src/cmd/bhyve/common/pci_virtio_block.c
302
pthread_mutex_unlock(&sc->vsc_mtx);
usr/src/cmd/bhyve/common/pci_virtio_block.c
306
pci_vtblk_proc(struct pci_vtblk_softc *sc, struct vqueue_info *vq)
usr/src/cmd/bhyve/common/pci_virtio_block.c
347
io = &sc->vbsc_ios[req.idx];
usr/src/cmd/bhyve/common/pci_virtio_block.c
410
err = blockif_delete(sc->bc, &io->io_req);
usr/src/cmd/bhyve/common/pci_virtio_block.c
424
len = MIN(len, sizeof (sc->vbsc_ident));
usr/src/cmd/bhyve/common/pci_virtio_block.c
425
strncpy(buf, sc->vbsc_ident, len);
usr/src/cmd/bhyve/common/pci_virtio_block.c
452
err = blockif_read(sc->bc, &io->io_req);
usr/src/cmd/bhyve/common/pci_virtio_block.c
455
err = blockif_write(sc->bc, &io->io_req);
usr/src/cmd/bhyve/common/pci_virtio_block.c
459
err = blockif_flush(sc->bc, &io->io_req);
usr/src/cmd/bhyve/common/pci_virtio_block.c
471
struct pci_vtblk_softc *sc = vsc;
usr/src/cmd/bhyve/common/pci_virtio_block.c
474
pci_vtblk_proc(sc, vq);
usr/src/cmd/bhyve/common/pci_virtio_block.c
481
struct pci_vtblk_softc *sc;
usr/src/cmd/bhyve/common/pci_virtio_block.c
483
sc = arg;
usr/src/cmd/bhyve/common/pci_virtio_block.c
485
sc->vbsc_cfg.vbc_capacity = new_size / VTBLK_BSIZE; /* 512-byte units */
usr/src/cmd/bhyve/common/pci_virtio_block.c
486
vq_devcfg_changed(&sc->vbsc_vs);
usr/src/cmd/bhyve/common/pci_virtio_block.c
497
struct pci_vtblk_softc *sc;
usr/src/cmd/bhyve/common/pci_virtio_block.c
520
sc = calloc(1, sizeof (struct pci_vtblk_softc));
usr/src/cmd/bhyve/common/pci_virtio_block.c
521
sc->bc = bctxt;
usr/src/cmd/bhyve/common/pci_virtio_block.c
525
vi_set_debug(&sc->vbsc_vs, pci_vtblk_debug);
usr/src/cmd/bhyve/common/pci_virtio_block.c
528
struct pci_vtblk_ioreq *io = &sc->vbsc_ios[i];
usr/src/cmd/bhyve/common/pci_virtio_block.c
531
io->io_sc = sc;
usr/src/cmd/bhyve/common/pci_virtio_block.c
535
bcopy(&vtblk_vi_consts, &sc->vbsc_consts, sizeof (vtblk_vi_consts));
usr/src/cmd/bhyve/common/pci_virtio_block.c
536
if (blockif_candelete(sc->bc)) {
usr/src/cmd/bhyve/common/pci_virtio_block.c
537
sc->vbsc_consts.vc_hv_caps_legacy |= VTBLK_F_DISCARD;
usr/src/cmd/bhyve/common/pci_virtio_block.c
538
sc->vbsc_consts.vc_hv_caps_modern |= VTBLK_F_DISCARD;
usr/src/cmd/bhyve/common/pci_virtio_block.c
543
(void) blockif_set_wce(sc->bc, 0);
usr/src/cmd/bhyve/common/pci_virtio_block.c
544
sc->vbsc_wce = 0;
usr/src/cmd/bhyve/common/pci_virtio_block.c
547
pthread_mutex_init(&sc->vsc_mtx, NULL);
usr/src/cmd/bhyve/common/pci_virtio_block.c
550
vi_softc_linkup(&sc->vbsc_vs, &sc->vbsc_consts, sc, pi, &sc->vbsc_vq);
usr/src/cmd/bhyve/common/pci_virtio_block.c
551
sc->vbsc_vs.vs_mtx = &sc->vsc_mtx;
usr/src/cmd/bhyve/common/pci_virtio_block.c
553
sc->vbsc_vq.vq_qsize = VTBLK_RINGSZ;
usr/src/cmd/bhyve/common/pci_virtio_block.c
560
bzero(sc->vbsc_ident, VTBLK_BLK_ID_BYTES);
usr/src/cmd/bhyve/common/pci_virtio_block.c
563
strlcpy(sc->vbsc_ident, serial, VTBLK_BLK_ID_BYTES);
usr/src/cmd/bhyve/common/pci_virtio_block.c
569
snprintf(sc->vbsc_ident, VTBLK_BLK_ID_BYTES,
usr/src/cmd/bhyve/common/pci_virtio_block.c
576
sc->vbsc_cfg.vbc_capacity = size / VTBLK_BSIZE; /* 512-byte units */
usr/src/cmd/bhyve/common/pci_virtio_block.c
577
sc->vbsc_cfg.vbc_size_max = 0; /* not negotiated */
usr/src/cmd/bhyve/common/pci_virtio_block.c
586
sc->vbsc_cfg.vbc_seg_max = MIN(VTBLK_RINGSZ - 2, BLOCKIF_IOV_MAX);
usr/src/cmd/bhyve/common/pci_virtio_block.c
587
sc->vbsc_cfg.vbc_geometry.cylinders = 0; /* no geometry */
usr/src/cmd/bhyve/common/pci_virtio_block.c
588
sc->vbsc_cfg.vbc_geometry.heads = 0;
usr/src/cmd/bhyve/common/pci_virtio_block.c
589
sc->vbsc_cfg.vbc_geometry.sectors = 0;
usr/src/cmd/bhyve/common/pci_virtio_block.c
590
sc->vbsc_cfg.vbc_blk_size = sectsz;
usr/src/cmd/bhyve/common/pci_virtio_block.c
591
sc->vbsc_cfg.vbc_topology.physical_block_exp =
usr/src/cmd/bhyve/common/pci_virtio_block.c
593
sc->vbsc_cfg.vbc_topology.alignment_offset =
usr/src/cmd/bhyve/common/pci_virtio_block.c
595
sc->vbsc_cfg.vbc_topology.min_io_size = 0;
usr/src/cmd/bhyve/common/pci_virtio_block.c
596
sc->vbsc_cfg.vbc_topology.opt_io_size = 0;
usr/src/cmd/bhyve/common/pci_virtio_block.c
597
sc->vbsc_cfg.vbc_writeback = 0;
usr/src/cmd/bhyve/common/pci_virtio_block.c
598
sc->vbsc_cfg.max_discard_sectors = VTBLK_MAX_DISCARD_SECT;
usr/src/cmd/bhyve/common/pci_virtio_block.c
599
sc->vbsc_cfg.max_discard_seg = VTBLK_MAX_DISCARD_SEG;
usr/src/cmd/bhyve/common/pci_virtio_block.c
600
sc->vbsc_cfg.discard_sector_alignment = MAX(sectsz, sts) / VTBLK_BSIZE;
usr/src/cmd/bhyve/common/pci_virtio_block.c
605
if (!vi_intr_init(&sc->vbsc_vs, fbsdrun_virtio_msix()))
usr/src/cmd/bhyve/common/pci_virtio_block.c
607
if (!vi_pcibar_setup(&sc->vbsc_vs))
usr/src/cmd/bhyve/common/pci_virtio_block.c
610
blockif_register_resize_callback(sc->bc, pci_vtblk_resized, sc);
usr/src/cmd/bhyve/common/pci_virtio_block.c
614
blockif_close(sc->bc);
usr/src/cmd/bhyve/common/pci_virtio_block.c
615
free(sc);
usr/src/cmd/bhyve/common/pci_virtio_block.c
631
struct pci_vtblk_softc *sc = vsc;
usr/src/cmd/bhyve/common/pci_virtio_block.c
635
ptr = (uint8_t *)&sc->vbsc_cfg + offset;
usr/src/cmd/bhyve/common/pci_virtio_block.c
644
struct pci_vtblk_softc *sc = vsc;
usr/src/cmd/bhyve/common/pci_virtio_block.c
647
if (sc->vbsc_wce != wce_next) {
usr/src/cmd/bhyve/common/pci_virtio_block.c
648
(void) blockif_set_wce(sc->bc, wce_next);
usr/src/cmd/bhyve/common/pci_virtio_block.c
649
sc->vbsc_wce = wce_next;
usr/src/cmd/bhyve/common/pci_virtio_console.c
213
struct pci_vtcon_softc *sc;
usr/src/cmd/bhyve/common/pci_virtio_console.c
215
sc = vsc;
usr/src/cmd/bhyve/common/pci_virtio_console.c
218
vi_reset_dev(&sc->vsc_vs);
usr/src/cmd/bhyve/common/pci_virtio_console.c
224
struct pci_vtcon_softc *sc = vsc;
usr/src/cmd/bhyve/common/pci_virtio_console.c
226
sc->vsc_features = *negotiated_features;
usr/src/cmd/bhyve/common/pci_virtio_console.c
232
struct pci_vtcon_softc *sc = vsc;
usr/src/cmd/bhyve/common/pci_virtio_console.c
235
ptr = (uint8_t *)sc->vsc_config + offset;
usr/src/cmd/bhyve/common/pci_virtio_console.c
248
pci_vtcon_vq_to_port(struct pci_vtcon_softc *sc, struct vqueue_info *vq)
usr/src/cmd/bhyve/common/pci_virtio_console.c
253
return (&sc->vsc_ports[0]);
usr/src/cmd/bhyve/common/pci_virtio_console.c
256
return (&sc->vsc_control_port);
usr/src/cmd/bhyve/common/pci_virtio_console.c
258
return (&sc->vsc_ports[(num / 2) - 1]);
usr/src/cmd/bhyve/common/pci_virtio_console.c
271
pci_vtcon_port_add(struct pci_vtcon_softc *sc, int port_id, const char *name,
usr/src/cmd/bhyve/common/pci_virtio_console.c
276
port = &sc->vsc_ports[port_id];
usr/src/cmd/bhyve/common/pci_virtio_console.c
282
port->vsp_sc = sc;
usr/src/cmd/bhyve/common/pci_virtio_console.c
301
pci_vtcon_sock_add(struct pci_vtcon_softc *sc, const char *port_name,
usr/src/cmd/bhyve/common/pci_virtio_console.c
406
sock->vss_port = pci_vtcon_port_add(sc, port, name, pci_vtcon_sock_tx, sock);
usr/src/cmd/bhyve/common/pci_virtio_console.c
550
struct pci_vtcon_softc *sc;
usr/src/cmd/bhyve/common/pci_virtio_console.c
557
sc = port->vsp_sc;
usr/src/cmd/bhyve/common/pci_virtio_console.c
562
sc->vsc_ready = true;
usr/src/cmd/bhyve/common/pci_virtio_console.c
565
tmp = &sc->vsc_ports[i];
usr/src/cmd/bhyve/common/pci_virtio_console.c
575
tmp = &sc->vsc_ports[ctrl->id];
usr/src/cmd/bhyve/common/pci_virtio_console.c
586
pci_vtcon_control_send(sc, &resp, NULL, 0);
usr/src/cmd/bhyve/common/pci_virtio_console.c
624
pci_vtcon_control_send(struct pci_vtcon_softc *sc,
usr/src/cmd/bhyve/common/pci_virtio_console.c
635
vq = pci_vtcon_port_to_vq(&sc->vsc_control_port, true);
usr/src/cmd/bhyve/common/pci_virtio_console.c
660
struct pci_vtcon_softc *sc;
usr/src/cmd/bhyve/common/pci_virtio_console.c
666
sc = vsc;
usr/src/cmd/bhyve/common/pci_virtio_console.c
667
port = pci_vtcon_vq_to_port(sc, vq);
usr/src/cmd/bhyve/common/pci_virtio_console.c
686
struct pci_vtcon_softc *sc;
usr/src/cmd/bhyve/common/pci_virtio_console.c
689
sc = vsc;
usr/src/cmd/bhyve/common/pci_virtio_console.c
690
port = pci_vtcon_vq_to_port(sc, vq);
usr/src/cmd/bhyve/common/pci_virtio_console.c
750
struct pci_vtcon_softc *sc;
usr/src/cmd/bhyve/common/pci_virtio_console.c
754
sc = calloc(1, sizeof(struct pci_vtcon_softc));
usr/src/cmd/bhyve/common/pci_virtio_console.c
755
sc->vsc_config = calloc(1, sizeof(struct pci_vtcon_config));
usr/src/cmd/bhyve/common/pci_virtio_console.c
756
sc->vsc_config->max_nr_ports = VTCON_MAXPORTS;
usr/src/cmd/bhyve/common/pci_virtio_console.c
757
sc->vsc_config->cols = 80;
usr/src/cmd/bhyve/common/pci_virtio_console.c
758
sc->vsc_config->rows = 25;
usr/src/cmd/bhyve/common/pci_virtio_console.c
760
pthread_mutex_init(&sc->vsc_mtx, NULL);
usr/src/cmd/bhyve/common/pci_virtio_console.c
762
vi_softc_linkup(&sc->vsc_vs, &vtcon_vi_consts, sc, pi, sc->vsc_queues);
usr/src/cmd/bhyve/common/pci_virtio_console.c
763
sc->vsc_vs.vs_mtx = &sc->vsc_mtx;
usr/src/cmd/bhyve/common/pci_virtio_console.c
766
sc->vsc_queues[i].vq_qsize = VTCON_RINGSZ;
usr/src/cmd/bhyve/common/pci_virtio_console.c
767
sc->vsc_queues[i].vq_notify = i % 2 == 0
usr/src/cmd/bhyve/common/pci_virtio_console.c
776
if (!vi_intr_init(&sc->vsc_vs, fbsdrun_virtio_msix()))
usr/src/cmd/bhyve/common/pci_virtio_console.c
778
if (!vi_pcibar_setup(&sc->vsc_vs))
usr/src/cmd/bhyve/common/pci_virtio_console.c
782
sc->vsc_control_port.vsp_sc = sc;
usr/src/cmd/bhyve/common/pci_virtio_console.c
783
sc->vsc_control_port.vsp_txq = 2;
usr/src/cmd/bhyve/common/pci_virtio_console.c
784
sc->vsc_control_port.vsp_rxq = 3;
usr/src/cmd/bhyve/common/pci_virtio_console.c
785
sc->vsc_control_port.vsp_cb = pci_vtcon_control_tx;
usr/src/cmd/bhyve/common/pci_virtio_console.c
786
sc->vsc_control_port.vsp_enabled = true;
usr/src/cmd/bhyve/common/pci_virtio_console.c
800
if (pci_vtcon_sock_add(sc, name,
usr/src/cmd/bhyve/common/pci_virtio_input.c
188
struct pci_vtinput_softc *sc = vsc;
usr/src/cmd/bhyve/common/pci_virtio_input.c
191
vi_reset_dev(&sc->vsc_vs);
usr/src/cmd/bhyve/common/pci_virtio_input.c
203
struct pci_vtinput_softc *sc = vsc;
usr/src/cmd/bhyve/common/pci_virtio_input.c
243
if (write(sc->vsc_fd, &host_event, sizeof(host_event)) == -1) {
usr/src/cmd/bhyve/common/pci_virtio_input.c
253
pci_vtinput_get_bitmap(struct pci_vtinput_softc *sc, int cmd, int count)
usr/src/cmd/bhyve/common/pci_virtio_input.c
255
if (count <= 0 || !sc) {
usr/src/cmd/bhyve/common/pci_virtio_input.c
260
memset(sc->vsc_config.u.bitmap, 0, sizeof(sc->vsc_config.u.bitmap));
usr/src/cmd/bhyve/common/pci_virtio_input.c
261
if (ioctl(sc->vsc_fd, cmd, sc->vsc_config.u.bitmap) < 0) {
usr/src/cmd/bhyve/common/pci_virtio_input.c
267
if (sc->vsc_config.u.bitmap[i]) {
usr/src/cmd/bhyve/common/pci_virtio_input.c
276
pci_vtinput_read_config_id_name(struct pci_vtinput_softc *sc)
usr/src/cmd/bhyve/common/pci_virtio_input.c
279
if (ioctl(sc->vsc_fd, EVIOCGNAME(sizeof(name) - 1), name) < 0) {
usr/src/cmd/bhyve/common/pci_virtio_input.c
283
memcpy(sc->vsc_config.u.string, name, sizeof(name));
usr/src/cmd/bhyve/common/pci_virtio_input.c
284
sc->vsc_config.size = strnlen(name, sizeof(name));
usr/src/cmd/bhyve/common/pci_virtio_input.c
290
pci_vtinput_read_config_id_serial(struct pci_vtinput_softc *sc)
usr/src/cmd/bhyve/common/pci_virtio_input.c
293
sc->vsc_config.size = 0;
usr/src/cmd/bhyve/common/pci_virtio_input.c
299
pci_vtinput_read_config_id_devids(struct pci_vtinput_softc *sc)
usr/src/cmd/bhyve/common/pci_virtio_input.c
302
if (ioctl(sc->vsc_fd, EVIOCGID, &devids)) {
usr/src/cmd/bhyve/common/pci_virtio_input.c
306
sc->vsc_config.u.ids.bustype = devids.bustype;
usr/src/cmd/bhyve/common/pci_virtio_input.c
307
sc->vsc_config.u.ids.vendor = devids.vendor;
usr/src/cmd/bhyve/common/pci_virtio_input.c
308
sc->vsc_config.u.ids.product = devids.product;
usr/src/cmd/bhyve/common/pci_virtio_input.c
309
sc->vsc_config.u.ids.version = devids.version;
usr/src/cmd/bhyve/common/pci_virtio_input.c
310
sc->vsc_config.size = sizeof(struct vtinput_devids);
usr/src/cmd/bhyve/common/pci_virtio_input.c
316
pci_vtinput_read_config_prop_bits(struct pci_vtinput_softc *sc)
usr/src/cmd/bhyve/common/pci_virtio_input.c
327
const int size = pci_vtinput_get_bitmap(sc, cmd, count);
usr/src/cmd/bhyve/common/pci_virtio_input.c
332
sc->vsc_config.size = size;
usr/src/cmd/bhyve/common/pci_virtio_input.c
338
pci_vtinput_read_config_ev_bits(struct pci_vtinput_softc *sc, uint8_t type)
usr/src/cmd/bhyve/common/pci_virtio_input.c
372
const unsigned int cmd = EVIOCGBIT(sc->vsc_config.subsel, count);
usr/src/cmd/bhyve/common/pci_virtio_input.c
373
const int size = pci_vtinput_get_bitmap(sc, cmd, count);
usr/src/cmd/bhyve/common/pci_virtio_input.c
378
sc->vsc_config.size = size;
usr/src/cmd/bhyve/common/pci_virtio_input.c
384
pci_vtinput_read_config_abs_info(struct pci_vtinput_softc *sc)
usr/src/cmd/bhyve/common/pci_virtio_input.c
387
if (!pci_vtinput_read_config_ev_bits(sc, EV_ABS)) {
usr/src/cmd/bhyve/common/pci_virtio_input.c
393
if (ioctl(sc->vsc_fd, EVIOCGABS(sc->vsc_config.subsel), &abs) < 0) {
usr/src/cmd/bhyve/common/pci_virtio_input.c
398
sc->vsc_config.u.abs.min = abs.minimum;
usr/src/cmd/bhyve/common/pci_virtio_input.c
399
sc->vsc_config.u.abs.max = abs.maximum;
usr/src/cmd/bhyve/common/pci_virtio_input.c
400
sc->vsc_config.u.abs.fuzz = abs.fuzz;
usr/src/cmd/bhyve/common/pci_virtio_input.c
401
sc->vsc_config.u.abs.flat = abs.flat;
usr/src/cmd/bhyve/common/pci_virtio_input.c
402
sc->vsc_config.u.abs.res = abs.resolution;
usr/src/cmd/bhyve/common/pci_virtio_input.c
403
sc->vsc_config.size = sizeof(struct vtinput_absinfo);
usr/src/cmd/bhyve/common/pci_virtio_input.c
409
pci_vtinput_read_config(struct pci_vtinput_softc *sc)
usr/src/cmd/bhyve/common/pci_virtio_input.c
411
switch (sc->vsc_config.select) {
usr/src/cmd/bhyve/common/pci_virtio_input.c
415
return pci_vtinput_read_config_id_name(sc);
usr/src/cmd/bhyve/common/pci_virtio_input.c
417
return pci_vtinput_read_config_id_serial(sc);
usr/src/cmd/bhyve/common/pci_virtio_input.c
419
return pci_vtinput_read_config_id_devids(sc);
usr/src/cmd/bhyve/common/pci_virtio_input.c
421
return pci_vtinput_read_config_prop_bits(sc);
usr/src/cmd/bhyve/common/pci_virtio_input.c
424
sc, sc->vsc_config.subsel);
usr/src/cmd/bhyve/common/pci_virtio_input.c
426
return pci_vtinput_read_config_abs_info(sc);
usr/src/cmd/bhyve/common/pci_virtio_input.c
435
struct pci_vtinput_softc *sc = vsc;
usr/src/cmd/bhyve/common/pci_virtio_input.c
446
if (!sc->vsc_config_valid) {
usr/src/cmd/bhyve/common/pci_virtio_input.c
447
if (pci_vtinput_read_config(sc) != 0) {
usr/src/cmd/bhyve/common/pci_virtio_input.c
449
sc->vsc_config.select, sc->vsc_config.subsel));
usr/src/cmd/bhyve/common/pci_virtio_input.c
453
sc->vsc_config_valid = 1;
usr/src/cmd/bhyve/common/pci_virtio_input.c
456
uint8_t *ptr = (uint8_t *)&sc->vsc_config;
usr/src/cmd/bhyve/common/pci_virtio_input.c
465
struct pci_vtinput_softc *sc = vsc;
usr/src/cmd/bhyve/common/pci_virtio_input.c
474
uint8_t *ptr = (uint8_t *)&sc->vsc_config;
usr/src/cmd/bhyve/common/pci_virtio_input.c
478
sc->vsc_config_valid = 0;
usr/src/cmd/bhyve/common/pci_virtio_input.c
481
vq_devcfg_changed(&sc->vsc_vs);
usr/src/cmd/bhyve/common/pci_virtio_input.c
610
struct pci_vtinput_softc *sc = arg;
usr/src/cmd/bhyve/common/pci_virtio_input.c
613
if (!(sc->vsc_vs.vs_status & VIRTIO_CONFIG_STATUS_DRIVER_OK))
usr/src/cmd/bhyve/common/pci_virtio_input.c
618
while (vtinput_read_event_from_host(sc->vsc_fd, &event) == 0) {
usr/src/cmd/bhyve/common/pci_virtio_input.c
620
vtinput_eventqueue_add_event(&sc->vsc_eventqueue, &event);
usr/src/cmd/bhyve/common/pci_virtio_input.c
629
&sc->vsc_eventqueue, &sc->vsc_queues[VTINPUT_EVENTQ]);
usr/src/cmd/bhyve/common/pci_virtio_input.c
658
struct pci_vtinput_softc *sc;
usr/src/cmd/bhyve/common/pci_virtio_input.c
666
sc = calloc(1, sizeof(struct pci_vtinput_softc));
usr/src/cmd/bhyve/common/pci_virtio_input.c
668
sc->vsc_evdev = get_config_value_node(nvl, "path");
usr/src/cmd/bhyve/common/pci_virtio_input.c
669
if (sc->vsc_evdev == NULL) {
usr/src/cmd/bhyve/common/pci_virtio_input.c
678
sc->vsc_fd = open(sc->vsc_evdev, O_RDWR | O_NONBLOCK);
usr/src/cmd/bhyve/common/pci_virtio_input.c
679
if (sc->vsc_fd < 0) {
usr/src/cmd/bhyve/common/pci_virtio_input.c
680
WPRINTF(("%s: failed to open %s", __func__, sc->vsc_evdev));
usr/src/cmd/bhyve/common/pci_virtio_input.c
686
int error = ioctl(sc->vsc_fd, EVIOCGVERSION, &evversion);
usr/src/cmd/bhyve/common/pci_virtio_input.c
688
WPRINTF(("%s: %s is no evdev", __func__, sc->vsc_evdev));
usr/src/cmd/bhyve/common/pci_virtio_input.c
693
error = ioctl(sc->vsc_fd, EVIOCGRAB, 1);
usr/src/cmd/bhyve/common/pci_virtio_input.c
695
WPRINTF(("%s: failed to grab %s", __func__, sc->vsc_evdev));
usr/src/cmd/bhyve/common/pci_virtio_input.c
707
if (pthread_mutex_init(&sc->vsc_mtx, &mtx_attr)) {
usr/src/cmd/bhyve/common/pci_virtio_input.c
713
sc->vsc_eventqueue.idx = 0;
usr/src/cmd/bhyve/common/pci_virtio_input.c
714
sc->vsc_eventqueue.size = VTINPUT_MAX_PKT_LEN;
usr/src/cmd/bhyve/common/pci_virtio_input.c
715
sc->vsc_eventqueue.events = calloc(
usr/src/cmd/bhyve/common/pci_virtio_input.c
716
sc->vsc_eventqueue.size, sizeof(struct vtinput_event_elem));
usr/src/cmd/bhyve/common/pci_virtio_input.c
717
sc->vsc_config_valid = 0;
usr/src/cmd/bhyve/common/pci_virtio_input.c
718
if (sc->vsc_eventqueue.events == NULL) {
usr/src/cmd/bhyve/common/pci_virtio_input.c
724
sc->vsc_evp = mevent_add(sc->vsc_fd, EVF_READ, vtinput_read_event, sc);
usr/src/cmd/bhyve/common/pci_virtio_input.c
725
if (sc->vsc_evp == NULL) {
usr/src/cmd/bhyve/common/pci_virtio_input.c
733
if (caph_rights_limit(sc->vsc_fd, &rights) == -1) {
usr/src/cmd/bhyve/common/pci_virtio_input.c
740
&sc->vsc_vs, &vtinput_vi_consts, sc, pi, sc->vsc_queues);
usr/src/cmd/bhyve/common/pci_virtio_input.c
741
sc->vsc_vs.vs_mtx = &sc->vsc_mtx;
usr/src/cmd/bhyve/common/pci_virtio_input.c
744
sc->vsc_queues[VTINPUT_EVENTQ].vq_qsize = VTINPUT_RINGSZ;
usr/src/cmd/bhyve/common/pci_virtio_input.c
745
sc->vsc_queues[VTINPUT_EVENTQ].vq_notify = pci_vtinput_notify_eventq;
usr/src/cmd/bhyve/common/pci_virtio_input.c
746
sc->vsc_queues[VTINPUT_STATUSQ].vq_qsize = VTINPUT_RINGSZ;
usr/src/cmd/bhyve/common/pci_virtio_input.c
747
sc->vsc_queues[VTINPUT_STATUSQ].vq_notify = pci_vtinput_notify_statusq;
usr/src/cmd/bhyve/common/pci_virtio_input.c
758
if (!vi_intr_init(&sc->vsc_vs, fbsdrun_virtio_msix()))
usr/src/cmd/bhyve/common/pci_virtio_input.c
761
if (!vi_pcibar_setup(&sc->vsc_vs))
usr/src/cmd/bhyve/common/pci_virtio_input.c
767
if (sc == NULL) {
usr/src/cmd/bhyve/common/pci_virtio_input.c
771
if (sc->vsc_evp)
usr/src/cmd/bhyve/common/pci_virtio_input.c
772
mevent_delete(sc->vsc_evp);
usr/src/cmd/bhyve/common/pci_virtio_input.c
773
if (sc->vsc_eventqueue.events)
usr/src/cmd/bhyve/common/pci_virtio_input.c
774
free(sc->vsc_eventqueue.events);
usr/src/cmd/bhyve/common/pci_virtio_input.c
775
if (sc->vsc_mtx)
usr/src/cmd/bhyve/common/pci_virtio_input.c
776
pthread_mutex_destroy(&sc->vsc_mtx);
usr/src/cmd/bhyve/common/pci_virtio_input.c
779
if (sc->vsc_fd)
usr/src/cmd/bhyve/common/pci_virtio_input.c
780
close(sc->vsc_fd);
usr/src/cmd/bhyve/common/pci_virtio_input.c
782
free(sc);
usr/src/cmd/bhyve/common/pci_virtio_net.c
185
struct pci_vtnet_softc *sc = vsc;
usr/src/cmd/bhyve/common/pci_virtio_net.c
190
pthread_mutex_lock(&sc->rx_mtx);
usr/src/cmd/bhyve/common/pci_virtio_net.c
200
sc->features_negotiated = false;
usr/src/cmd/bhyve/common/pci_virtio_net.c
201
netbe_rx_disable(sc->vsc_be);
usr/src/cmd/bhyve/common/pci_virtio_net.c
204
pthread_mutex_lock(&sc->tx_mtx);
usr/src/cmd/bhyve/common/pci_virtio_net.c
205
sc->resetting = 1;
usr/src/cmd/bhyve/common/pci_virtio_net.c
206
while (sc->tx_in_progress) {
usr/src/cmd/bhyve/common/pci_virtio_net.c
207
pthread_mutex_unlock(&sc->tx_mtx);
usr/src/cmd/bhyve/common/pci_virtio_net.c
209
pthread_mutex_lock(&sc->tx_mtx);
usr/src/cmd/bhyve/common/pci_virtio_net.c
217
vi_reset_dev(&sc->vsc_vs);
usr/src/cmd/bhyve/common/pci_virtio_net.c
219
sc->resetting = 0;
usr/src/cmd/bhyve/common/pci_virtio_net.c
220
pthread_mutex_unlock(&sc->tx_mtx);
usr/src/cmd/bhyve/common/pci_virtio_net.c
221
pthread_mutex_unlock(&sc->rx_mtx);
usr/src/cmd/bhyve/common/pci_virtio_net.c
263
pci_vtnet_rx(struct pci_vtnet_softc *sc)
usr/src/cmd/bhyve/common/pci_virtio_net.c
265
int prepend_hdr_len = sc->vhdrlen - sc->be_vhdrlen;
usr/src/cmd/bhyve/common/pci_virtio_net.c
271
vq = &sc->vsc_queues[VTNET_RXQ];
usr/src/cmd/bhyve/common/pci_virtio_net.c
274
if (!sc->features_negotiated) {
usr/src/cmd/bhyve/common/pci_virtio_net.c
288
plen = netbe_peek_recvlen(sc->vsc_be);
usr/src/cmd/bhyve/common/pci_virtio_net.c
330
netbe_rx_disable(sc->vsc_be);
usr/src/cmd/bhyve/common/pci_virtio_net.c
351
if (!sc->rx_merge) {
usr/src/cmd/bhyve/common/pci_virtio_net.c
397
rlen = netbe_recv(sc->vsc_be, riov, riov_len);
usr/src/cmd/bhyve/common/pci_virtio_net.c
417
if (!sc->rx_merge) {
usr/src/cmd/bhyve/common/pci_virtio_net.c
449
struct pci_vtnet_softc *sc = param;
usr/src/cmd/bhyve/common/pci_virtio_net.c
451
pthread_mutex_lock(&sc->rx_mtx);
usr/src/cmd/bhyve/common/pci_virtio_net.c
452
pci_vtnet_rx(sc);
usr/src/cmd/bhyve/common/pci_virtio_net.c
453
pthread_mutex_unlock(&sc->rx_mtx);
usr/src/cmd/bhyve/common/pci_virtio_net.c
461
struct pci_vtnet_softc *sc = vsc;
usr/src/cmd/bhyve/common/pci_virtio_net.c
467
pthread_mutex_lock(&sc->rx_mtx);
usr/src/cmd/bhyve/common/pci_virtio_net.c
468
if (!sc->features_negotiated) {
usr/src/cmd/bhyve/common/pci_virtio_net.c
469
pthread_mutex_unlock(&sc->rx_mtx);
usr/src/cmd/bhyve/common/pci_virtio_net.c
474
netbe_rx_enable(sc->vsc_be);
usr/src/cmd/bhyve/common/pci_virtio_net.c
475
pthread_mutex_unlock(&sc->rx_mtx);
usr/src/cmd/bhyve/common/pci_virtio_net.c
480
pci_vtnet_proctx(struct pci_vtnet_softc *sc, struct vqueue_info *vq)
usr/src/cmd/bhyve/common/pci_virtio_net.c
495
if (sc->vhdrlen != sc->be_vhdrlen) {
usr/src/cmd/bhyve/common/pci_virtio_net.c
501
siov = iov_trim_hdr(siov, &n, sc->vhdrlen);
usr/src/cmd/bhyve/common/pci_virtio_net.c
508
len = netbe_send(sc->vsc_be, siov, n);
usr/src/cmd/bhyve/common/pci_virtio_net.c
529
struct pci_vtnet_softc *sc = vsc;
usr/src/cmd/bhyve/common/pci_virtio_net.c
538
pthread_mutex_lock(&sc->tx_mtx);
usr/src/cmd/bhyve/common/pci_virtio_net.c
540
if (sc->tx_in_progress == 0)
usr/src/cmd/bhyve/common/pci_virtio_net.c
541
pthread_cond_signal(&sc->tx_cond);
usr/src/cmd/bhyve/common/pci_virtio_net.c
542
pthread_mutex_unlock(&sc->tx_mtx);
usr/src/cmd/bhyve/common/pci_virtio_net.c
551
struct pci_vtnet_softc *sc = param;
usr/src/cmd/bhyve/common/pci_virtio_net.c
555
vq = &sc->vsc_queues[VTNET_TXQ];
usr/src/cmd/bhyve/common/pci_virtio_net.c
561
pthread_mutex_lock(&sc->tx_mtx);
usr/src/cmd/bhyve/common/pci_virtio_net.c
562
error = pthread_cond_wait(&sc->tx_cond, &sc->tx_mtx);
usr/src/cmd/bhyve/common/pci_virtio_net.c
567
while (sc->resetting || !vq_has_descs(vq)) {
usr/src/cmd/bhyve/common/pci_virtio_net.c
569
if (!sc->resetting && vq_has_descs(vq))
usr/src/cmd/bhyve/common/pci_virtio_net.c
572
sc->tx_in_progress = 0;
usr/src/cmd/bhyve/common/pci_virtio_net.c
573
error = pthread_cond_wait(&sc->tx_cond, &sc->tx_mtx);
usr/src/cmd/bhyve/common/pci_virtio_net.c
577
sc->tx_in_progress = 1;
usr/src/cmd/bhyve/common/pci_virtio_net.c
578
pthread_mutex_unlock(&sc->tx_mtx);
usr/src/cmd/bhyve/common/pci_virtio_net.c
586
pci_vtnet_proctx(sc, vq);
usr/src/cmd/bhyve/common/pci_virtio_net.c
594
pthread_mutex_lock(&sc->tx_mtx);
usr/src/cmd/bhyve/common/pci_virtio_net.c
611
pci_vtnet_free_softstate(struct pci_vtnet_softc *sc, int ret)
usr/src/cmd/bhyve/common/pci_virtio_net.c
613
pthread_mutex_destroy(&sc->vsc_mtx);
usr/src/cmd/bhyve/common/pci_virtio_net.c
614
if (sc->vsc_be != NULL)
usr/src/cmd/bhyve/common/pci_virtio_net.c
615
netbe_cleanup(sc->vsc_be);
usr/src/cmd/bhyve/common/pci_virtio_net.c
616
free(sc);
usr/src/cmd/bhyve/common/pci_virtio_net.c
623
struct pci_vtnet_softc *sc;
usr/src/cmd/bhyve/common/pci_virtio_net.c
634
sc = calloc(1, sizeof (struct pci_vtnet_softc));
usr/src/cmd/bhyve/common/pci_virtio_net.c
635
if (sc == NULL)
usr/src/cmd/bhyve/common/pci_virtio_net.c
640
vi_set_debug(&sc->vsc_vs, pci_vtnet_debug);
usr/src/cmd/bhyve/common/pci_virtio_net.c
642
sc->vsc_consts = vtnet_vi_consts;
usr/src/cmd/bhyve/common/pci_virtio_net.c
643
pthread_mutex_init(&sc->vsc_mtx, NULL);
usr/src/cmd/bhyve/common/pci_virtio_net.c
645
sc->vsc_queues[VTNET_RXQ].vq_qsize = VTNET_RINGSZ;
usr/src/cmd/bhyve/common/pci_virtio_net.c
646
sc->vsc_queues[VTNET_RXQ].vq_notify = pci_vtnet_ping_rxq;
usr/src/cmd/bhyve/common/pci_virtio_net.c
647
sc->vsc_queues[VTNET_TXQ].vq_qsize = VTNET_RINGSZ;
usr/src/cmd/bhyve/common/pci_virtio_net.c
648
sc->vsc_queues[VTNET_TXQ].vq_notify = pci_vtnet_ping_txq;
usr/src/cmd/bhyve/common/pci_virtio_net.c
650
sc->vsc_queues[VTNET_CTLQ].vq_qsize = VTNET_RINGSZ;
usr/src/cmd/bhyve/common/pci_virtio_net.c
651
sc->vsc_queues[VTNET_CTLQ].vq_notify = pci_vtnet_ping_ctlq;
usr/src/cmd/bhyve/common/pci_virtio_net.c
656
err = net_parsemac(value, sc->vsc_config.vnc_macaddr);
usr/src/cmd/bhyve/common/pci_virtio_net.c
658
return (pci_vtnet_free_softstate(sc, err));
usr/src/cmd/bhyve/common/pci_virtio_net.c
660
net_genmac(pi, sc->vsc_config.vnc_macaddr);
usr/src/cmd/bhyve/common/pci_virtio_net.c
666
return (pci_vtnet_free_softstate(sc, err));
usr/src/cmd/bhyve/common/pci_virtio_net.c
670
return (pci_vtnet_free_softstate(sc, errno));
usr/src/cmd/bhyve/common/pci_virtio_net.c
672
sc->vsc_consts.vc_hv_caps_legacy |= VIRTIO_NET_F_MTU;
usr/src/cmd/bhyve/common/pci_virtio_net.c
673
sc->vsc_consts.vc_hv_caps_modern |= VIRTIO_NET_F_MTU;
usr/src/cmd/bhyve/common/pci_virtio_net.c
675
sc->vsc_config.vnc_mtu = mtu;
usr/src/cmd/bhyve/common/pci_virtio_net.c
679
err = netbe_init(&sc->vsc_be, nvl, pci_vtnet_rx_callback, sc);
usr/src/cmd/bhyve/common/pci_virtio_net.c
681
return (pci_vtnet_free_softstate(sc, err));
usr/src/cmd/bhyve/common/pci_virtio_net.c
683
size_t buflen = sizeof (sc->vsc_config.vnc_macaddr);
usr/src/cmd/bhyve/common/pci_virtio_net.c
685
err = netbe_get_mac(sc->vsc_be, sc->vsc_config.vnc_macaddr,
usr/src/cmd/bhyve/common/pci_virtio_net.c
688
return (pci_vtnet_free_softstate(sc, err));
usr/src/cmd/bhyve/common/pci_virtio_net.c
692
sc->vsc_consts.vc_hv_caps_legacy |= netbe_get_cap(sc->vsc_be);
usr/src/cmd/bhyve/common/pci_virtio_net.c
693
sc->vsc_consts.vc_hv_caps_modern |= netbe_get_cap(sc->vsc_be);
usr/src/cmd/bhyve/common/pci_virtio_net.c
699
sc->vsc_config.vnc_max_qpair = 1;
usr/src/cmd/bhyve/common/pci_virtio_net.c
701
vi_softc_linkup(&sc->vsc_vs, &sc->vsc_consts, sc, pi, sc->vsc_queues);
usr/src/cmd/bhyve/common/pci_virtio_net.c
702
sc->vsc_vs.vs_mtx = &sc->vsc_mtx;
usr/src/cmd/bhyve/common/pci_virtio_net.c
709
sc->vsc_config.vnc_status = VIRTIO_NET_S_LINK_UP;
usr/src/cmd/bhyve/common/pci_virtio_net.c
712
if (!vi_intr_init(&sc->vsc_vs, fbsdrun_virtio_msix()))
usr/src/cmd/bhyve/common/pci_virtio_net.c
713
return (pci_vtnet_free_softstate(sc, EIO));
usr/src/cmd/bhyve/common/pci_virtio_net.c
715
if (!vi_pcibar_setup(&sc->vsc_vs))
usr/src/cmd/bhyve/common/pci_virtio_net.c
716
return (pci_vtnet_free_softstate(sc, EIO));
usr/src/cmd/bhyve/common/pci_virtio_net.c
718
sc->resetting = 0;
usr/src/cmd/bhyve/common/pci_virtio_net.c
720
sc->rx_merge = 0;
usr/src/cmd/bhyve/common/pci_virtio_net.c
721
sc->vhdrlen = sizeof (struct virtio_net_rxhdr) - 2;
usr/src/cmd/bhyve/common/pci_virtio_net.c
722
pthread_mutex_init(&sc->rx_mtx, NULL);
usr/src/cmd/bhyve/common/pci_virtio_net.c
729
sc->tx_in_progress = 0;
usr/src/cmd/bhyve/common/pci_virtio_net.c
730
pthread_mutex_init(&sc->tx_mtx, NULL);
usr/src/cmd/bhyve/common/pci_virtio_net.c
731
pthread_cond_init(&sc->tx_cond, NULL);
usr/src/cmd/bhyve/common/pci_virtio_net.c
732
pthread_create(&sc->tx_tid, NULL, pci_vtnet_tx_thread, (void *)sc);
usr/src/cmd/bhyve/common/pci_virtio_net.c
735
pthread_set_name_np(sc->tx_tid, tname);
usr/src/cmd/bhyve/common/pci_virtio_net.c
743
struct pci_vtnet_softc *sc = vsc;
usr/src/cmd/bhyve/common/pci_virtio_net.c
746
if (offset < (int)sizeof (sc->vsc_config.vnc_macaddr)) {
usr/src/cmd/bhyve/common/pci_virtio_net.c
748
(int)sizeof (sc->vsc_config.vnc_macaddr));
usr/src/cmd/bhyve/common/pci_virtio_net.c
752
ptr = &sc->vsc_config.vnc_macaddr[offset];
usr/src/cmd/bhyve/common/pci_virtio_net.c
755
vq_devcfg_changed(&sc->vsc_vs);
usr/src/cmd/bhyve/common/pci_virtio_net.c
767
struct pci_vtnet_softc *sc = vsc;
usr/src/cmd/bhyve/common/pci_virtio_net.c
770
ptr = (uint8_t *)&sc->vsc_config + offset;
usr/src/cmd/bhyve/common/pci_virtio_net.c
778
struct pci_vtnet_softc *sc = vsc;
usr/src/cmd/bhyve/common/pci_virtio_net.c
780
sc->vsc_features = *negotiated_features;
usr/src/cmd/bhyve/common/pci_virtio_net.c
783
sc->vhdrlen = sizeof (struct virtio_net_rxhdr);
usr/src/cmd/bhyve/common/pci_virtio_net.c
784
sc->rx_merge = 1;
usr/src/cmd/bhyve/common/pci_virtio_net.c
791
sc->vhdrlen = sizeof (struct virtio_net_rxhdr);
usr/src/cmd/bhyve/common/pci_virtio_net.c
792
if (!vi_is_modern(&sc->vsc_vs))
usr/src/cmd/bhyve/common/pci_virtio_net.c
793
sc->vhdrlen -= 2;
usr/src/cmd/bhyve/common/pci_virtio_net.c
794
sc->rx_merge = 0;
usr/src/cmd/bhyve/common/pci_virtio_net.c
798
netbe_set_cap(sc->vsc_be, *negotiated_features, sc->vhdrlen);
usr/src/cmd/bhyve/common/pci_virtio_net.c
799
sc->be_vhdrlen = netbe_get_vnet_hdr_len(sc->vsc_be);
usr/src/cmd/bhyve/common/pci_virtio_net.c
800
assert(sc->be_vhdrlen == 0 || sc->be_vhdrlen == sc->vhdrlen);
usr/src/cmd/bhyve/common/pci_virtio_net.c
802
pthread_mutex_lock(&sc->rx_mtx);
usr/src/cmd/bhyve/common/pci_virtio_net.c
803
sc->features_negotiated = true;
usr/src/cmd/bhyve/common/pci_virtio_net.c
804
pthread_mutex_unlock(&sc->rx_mtx);
usr/src/cmd/bhyve/common/pci_virtio_rnd.c
112
struct pci_vtrnd_softc *sc;
usr/src/cmd/bhyve/common/pci_virtio_rnd.c
114
sc = vsc;
usr/src/cmd/bhyve/common/pci_virtio_rnd.c
117
vi_reset_dev(&sc->vrsc_vs);
usr/src/cmd/bhyve/common/pci_virtio_rnd.c
125
struct pci_vtrnd_softc *sc;
usr/src/cmd/bhyve/common/pci_virtio_rnd.c
129
sc = vsc;
usr/src/cmd/bhyve/common/pci_virtio_rnd.c
131
if (sc->vrsc_fd < 0) {
usr/src/cmd/bhyve/common/pci_virtio_rnd.c
140
len = read(sc->vrsc_fd, iov.iov_base, iov.iov_len);
usr/src/cmd/bhyve/common/pci_virtio_rnd.c
159
struct pci_vtrnd_softc *sc;
usr/src/cmd/bhyve/common/pci_virtio_rnd.c
190
sc = calloc(1, sizeof(struct pci_vtrnd_softc));
usr/src/cmd/bhyve/common/pci_virtio_rnd.c
192
pthread_mutex_init(&sc->vrsc_mtx, NULL);
usr/src/cmd/bhyve/common/pci_virtio_rnd.c
194
vi_softc_linkup(&sc->vrsc_vs, &vtrnd_vi_consts, sc, pi, &sc->vrsc_vq);
usr/src/cmd/bhyve/common/pci_virtio_rnd.c
195
sc->vrsc_vs.vs_mtx = &sc->vrsc_mtx;
usr/src/cmd/bhyve/common/pci_virtio_rnd.c
197
sc->vrsc_vq.vq_qsize = VTRND_RINGSZ;
usr/src/cmd/bhyve/common/pci_virtio_rnd.c
200
sc->vrsc_fd = fd;
usr/src/cmd/bhyve/common/pci_virtio_rnd.c
206
if (!vi_intr_init(&sc->vrsc_vs, fbsdrun_virtio_msix()))
usr/src/cmd/bhyve/common/pci_virtio_rnd.c
208
if (!vi_pcibar_setup(&sc->vrsc_vs))
usr/src/cmd/bhyve/common/pci_virtio_scsi.c
1148
struct pci_vtscsi_softc *sc = arg;
usr/src/cmd/bhyve/common/pci_virtio_scsi.c
1164
if (target >= sc->vss_num_target)
usr/src/cmd/bhyve/common/pci_virtio_scsi.c
1165
sc->vss_num_target = target + 1;
usr/src/cmd/bhyve/common/pci_virtio_scsi.c
1174
struct pci_vtscsi_softc *sc = arg;
usr/src/cmd/bhyve/common/pci_virtio_scsi.c
1185
target = strtonumx(name, 0, sc->vss_num_target, &errstr, 0);
usr/src/cmd/bhyve/common/pci_virtio_scsi.c
1187
sc->vss_targets[target].vst_target = target;
usr/src/cmd/bhyve/common/pci_virtio_scsi.c
1193
ret = sc->vss_backend->vsb_open(sc, value, target);
usr/src/cmd/bhyve/common/pci_virtio_scsi.c
1225
struct pci_vtscsi_softc *sc;
usr/src/cmd/bhyve/common/pci_virtio_scsi.c
1231
sc = calloc(1, sizeof(struct pci_vtscsi_softc));
usr/src/cmd/bhyve/common/pci_virtio_scsi.c
1232
if (sc == NULL)
usr/src/cmd/bhyve/common/pci_virtio_scsi.c
1235
sc->vss_vi_consts = vtscsi_vi_consts;
usr/src/cmd/bhyve/common/pci_virtio_scsi.c
1236
sc->vss_ctl_ringsz = VTSCSI_DEF_RINGSZ;
usr/src/cmd/bhyve/common/pci_virtio_scsi.c
1237
sc->vss_evt_ringsz = VTSCSI_DEF_RINGSZ;
usr/src/cmd/bhyve/common/pci_virtio_scsi.c
1238
sc->vss_req_ringsz = VTSCSI_DEF_RINGSZ;
usr/src/cmd/bhyve/common/pci_virtio_scsi.c
1239
sc->vss_thr_per_q = VTSCSI_DEF_THR_PER_Q;
usr/src/cmd/bhyve/common/pci_virtio_scsi.c
1240
sc->vss_default_config = vtscsi_config;
usr/src/cmd/bhyve/common/pci_virtio_scsi.c
1255
sc->vss_default_config.seg_max = val;
usr/src/cmd/bhyve/common/pci_virtio_scsi.c
1261
sc->vss_default_config.num_queues = val;
usr/src/cmd/bhyve/common/pci_virtio_scsi.c
1267
sc->vss_vi_consts.vc_nvq = val + VIRTIO_SCSI_ADDL_Q;
usr/src/cmd/bhyve/common/pci_virtio_scsi.c
1273
sc->vss_vq = calloc(sc->vss_vi_consts.vc_nvq,
usr/src/cmd/bhyve/common/pci_virtio_scsi.c
1275
if (sc->vss_vq == NULL) {
usr/src/cmd/bhyve/common/pci_virtio_scsi.c
1277
sc->vss_vi_consts.vc_nvq);
usr/src/cmd/bhyve/common/pci_virtio_scsi.c
1281
sc->vss_queues = calloc(sc->vss_default_config.num_queues,
usr/src/cmd/bhyve/common/pci_virtio_scsi.c
1283
if (sc->vss_queues == NULL) {
usr/src/cmd/bhyve/common/pci_virtio_scsi.c
1285
sc->vss_config.num_queues);
usr/src/cmd/bhyve/common/pci_virtio_scsi.c
1290
VTSCSI_MAX_RINGSZ, &sc->vss_ctl_ringsz) != 0)
usr/src/cmd/bhyve/common/pci_virtio_scsi.c
1294
VTSCSI_MAX_RINGSZ, &sc->vss_evt_ringsz) != 0)
usr/src/cmd/bhyve/common/pci_virtio_scsi.c
1298
VTSCSI_MAX_RINGSZ, &sc->vss_req_ringsz) != 0)
usr/src/cmd/bhyve/common/pci_virtio_scsi.c
1302
VTSCSI_MAX_THR_PER_Q, &sc->vss_thr_per_q) != 0)
usr/src/cmd/bhyve/common/pci_virtio_scsi.c
1328
err = backend->vsb_init(sc, backend, nvl);
usr/src/cmd/bhyve/common/pci_virtio_scsi.c
1336
err = walk_config_nodes("", nvl, sc, pci_vtscsi_count_targets);
usr/src/cmd/bhyve/common/pci_virtio_scsi.c
1341
if (sc->vss_num_target > 0) {
usr/src/cmd/bhyve/common/pci_virtio_scsi.c
1342
sc->vss_targets = malloc(sc->vss_num_target *
usr/src/cmd/bhyve/common/pci_virtio_scsi.c
1344
if (sc->vss_targets == NULL) {
usr/src/cmd/bhyve/common/pci_virtio_scsi.c
1346
sc->vss_num_target);
usr/src/cmd/bhyve/common/pci_virtio_scsi.c
1350
memset(sc->vss_targets, -1, sc->vss_num_target *
usr/src/cmd/bhyve/common/pci_virtio_scsi.c
1353
err = walk_config_nodes("", nvl, sc, pci_vtscsi_init_target);
usr/src/cmd/bhyve/common/pci_virtio_scsi.c
1361
for (size_t i = 0; i < sc->vss_num_target; i++) {
usr/src/cmd/bhyve/common/pci_virtio_scsi.c
1362
if (sc->vss_targets[i].vst_target == i &&
usr/src/cmd/bhyve/common/pci_virtio_scsi.c
1363
sc->vss_targets[i].vst_fd < 0) {
usr/src/cmd/bhyve/common/pci_virtio_scsi.c
1368
pthread_mutex_init(&sc->vss_mtx, NULL);
usr/src/cmd/bhyve/common/pci_virtio_scsi.c
1370
vi_softc_linkup(&sc->vss_vs, &sc->vss_vi_consts, sc, pi, sc->vss_vq);
usr/src/cmd/bhyve/common/pci_virtio_scsi.c
1371
sc->vss_vs.vs_mtx = &sc->vss_mtx;
usr/src/cmd/bhyve/common/pci_virtio_scsi.c
1382
pthread_mutex_lock(&sc->vss_mtx);
usr/src/cmd/bhyve/common/pci_virtio_scsi.c
1383
pci_vtscsi_reset(sc);
usr/src/cmd/bhyve/common/pci_virtio_scsi.c
1384
pthread_mutex_unlock(&sc->vss_mtx);
usr/src/cmd/bhyve/common/pci_virtio_scsi.c
1387
sc->vss_vq[0].vq_qsize = sc->vss_ctl_ringsz;
usr/src/cmd/bhyve/common/pci_virtio_scsi.c
1388
sc->vss_vq[0].vq_notify = pci_vtscsi_controlq_notify;
usr/src/cmd/bhyve/common/pci_virtio_scsi.c
1391
sc->vss_vq[1].vq_qsize = sc->vss_evt_ringsz;
usr/src/cmd/bhyve/common/pci_virtio_scsi.c
1392
sc->vss_vq[1].vq_notify = pci_vtscsi_eventq_notify;
usr/src/cmd/bhyve/common/pci_virtio_scsi.c
1395
for (int i = VIRTIO_SCSI_ADDL_Q; i < sc->vss_vi_consts.vc_nvq; i++) {
usr/src/cmd/bhyve/common/pci_virtio_scsi.c
1398
sc->vss_vq[i].vq_qsize = sc->vss_req_ringsz;
usr/src/cmd/bhyve/common/pci_virtio_scsi.c
1399
sc->vss_vq[i].vq_notify = pci_vtscsi_requestq_notify;
usr/src/cmd/bhyve/common/pci_virtio_scsi.c
1401
err = pci_vtscsi_init_queue(sc, &sc->vss_queues[rq], i);
usr/src/cmd/bhyve/common/pci_virtio_scsi.c
1403
free(sc->vss_targets);
usr/src/cmd/bhyve/common/pci_virtio_scsi.c
1412
if (!vi_intr_init(&sc->vss_vs, fbsdrun_virtio_msix())) {
usr/src/cmd/bhyve/common/pci_virtio_scsi.c
1413
free(sc->vss_targets);
usr/src/cmd/bhyve/common/pci_virtio_scsi.c
1417
if (!vi_pcibar_setup(&sc->vss_vs)) {
usr/src/cmd/bhyve/common/pci_virtio_scsi.c
1418
free(sc->vss_targets);
usr/src/cmd/bhyve/common/pci_virtio_scsi.c
1425
free(sc);
usr/src/cmd/bhyve/common/pci_virtio_scsi.c
186
struct pci_vtscsi_softc *sc = q->vsq_sc;
usr/src/cmd/bhyve/common/pci_virtio_scsi.c
207
target = pci_vtscsi_get_target(sc, req->vsr_cmd_rd->lun);
usr/src/cmd/bhyve/common/pci_virtio_scsi.c
208
fd = sc->vss_targets[target].vst_fd;
usr/src/cmd/bhyve/common/pci_virtio_scsi.c
212
pci_vtscsi_get_lun(sc, req->vsr_cmd_rd->lun),
usr/src/cmd/bhyve/common/pci_virtio_scsi.c
215
iolen = pci_vtscsi_request_handle(sc, fd, req);
usr/src/cmd/bhyve/common/pci_virtio_scsi.c
224
struct pci_vtscsi_softc *sc;
usr/src/cmd/bhyve/common/pci_virtio_scsi.c
226
sc = vsc;
usr/src/cmd/bhyve/common/pci_virtio_scsi.c
229
vi_reset_dev(&sc->vss_vs);
usr/src/cmd/bhyve/common/pci_virtio_scsi.c
232
sc->vss_config = sc->vss_default_config;
usr/src/cmd/bhyve/common/pci_virtio_scsi.c
234
sc->vss_config.max_target = MAX(1, sc->vss_num_target) - 1;
usr/src/cmd/bhyve/common/pci_virtio_scsi.c
236
sc->vss_backend->vsb_reset(sc);
usr/src/cmd/bhyve/common/pci_virtio_scsi.c
242
struct pci_vtscsi_softc *sc = vsc;
usr/src/cmd/bhyve/common/pci_virtio_scsi.c
244
sc->vss_features = *negotiated_features;
usr/src/cmd/bhyve/common/pci_virtio_scsi.c
250
struct pci_vtscsi_softc *sc = vsc;
usr/src/cmd/bhyve/common/pci_virtio_scsi.c
253
ptr = (uint8_t *)&sc->vss_config + offset;
usr/src/cmd/bhyve/common/pci_virtio_scsi.c
512
pci_vtscsi_tmf_handle(struct pci_vtscsi_softc *sc,
usr/src/cmd/bhyve/common/pci_virtio_scsi.c
525
if (pci_vtscsi_check_lun(sc, tmf->lun) == false) {
usr/src/cmd/bhyve/common/pci_virtio_scsi.c
535
target = pci_vtscsi_get_target(sc, tmf->lun);
usr/src/cmd/bhyve/common/pci_virtio_scsi.c
537
fd = sc->vss_targets[target].vst_fd;
usr/src/cmd/bhyve/common/pci_virtio_scsi.c
540
target, pci_vtscsi_get_lun(sc, tmf->lun), tmf->subtype, tmf->id);
usr/src/cmd/bhyve/common/pci_virtio_scsi.c
551
for (uint32_t i = 0; i < sc->vss_config.num_queues; i++) {
usr/src/cmd/bhyve/common/pci_virtio_scsi.c
552
struct pci_vtscsi_queue *q = &sc->vss_queues[i];
usr/src/cmd/bhyve/common/pci_virtio_scsi.c
570
sc->vss_backend->vsb_tmf_hdl(sc, fd, tmf);
usr/src/cmd/bhyve/common/pci_virtio_scsi.c
594
for (i = 0; i < sc->vss_config.num_queues; i++) {
usr/src/cmd/bhyve/common/pci_virtio_scsi.c
595
struct pci_vtscsi_queue *q = &sc->vss_queues[i];
usr/src/cmd/bhyve/common/pci_virtio_scsi.c
606
for (uint32_t i = 0; i < sc->vss_config.num_queues; i++) {
usr/src/cmd/bhyve/common/pci_virtio_scsi.c
607
struct pci_vtscsi_queue *q = &sc->vss_queues[i];
usr/src/cmd/bhyve/common/pci_virtio_scsi.c
614
pci_vtscsi_an_handle(struct pci_vtscsi_softc *sc, struct pci_vtscsi_ctrl_an *an)
usr/src/cmd/bhyve/common/pci_virtio_scsi.c
619
if (pci_vtscsi_check_lun(sc, an->lun) == false) {
usr/src/cmd/bhyve/common/pci_virtio_scsi.c
628
target = pci_vtscsi_get_target(sc, an->lun);
usr/src/cmd/bhyve/common/pci_virtio_scsi.c
630
fd = sc->vss_targets[target].vst_fd;
usr/src/cmd/bhyve/common/pci_virtio_scsi.c
633
target, pci_vtscsi_get_lun(sc, an->lun), an->event_requested);
usr/src/cmd/bhyve/common/pci_virtio_scsi.c
635
sc->vss_backend->vsb_an_hdl(sc, fd, an);
usr/src/cmd/bhyve/common/pci_virtio_scsi.c
639
pci_vtscsi_control_handle(struct pci_vtscsi_softc *sc, void *buf,
usr/src/cmd/bhyve/common/pci_virtio_scsi.c
657
pci_vtscsi_tmf_handle(sc, buf);
usr/src/cmd/bhyve/common/pci_virtio_scsi.c
664
pci_vtscsi_an_handle(sc, buf);
usr/src/cmd/bhyve/common/pci_virtio_scsi.c
671
pci_vtscsi_alloc_request(struct pci_vtscsi_softc *sc)
usr/src/cmd/bhyve/common/pci_virtio_scsi.c
679
req->vsr_iov = calloc(sc->vss_config.seg_max + VIRTIO_SCSI_HDR_SEG +
usr/src/cmd/bhyve/common/pci_virtio_scsi.c
684
req->vsr_cmd_rd = calloc(1, VTSCSI_IN_HEADER_LEN(sc));
usr/src/cmd/bhyve/common/pci_virtio_scsi.c
687
req->vsr_cmd_wr = calloc(1, VTSCSI_OUT_HEADER_LEN(sc));
usr/src/cmd/bhyve/common/pci_virtio_scsi.c
691
req->vsr_backend = sc->vss_backend->vsb_req_alloc(sc);
usr/src/cmd/bhyve/common/pci_virtio_scsi.c
701
pci_vtscsi_free_request(sc, req);
usr/src/cmd/bhyve/common/pci_virtio_scsi.c
707
pci_vtscsi_free_request(struct pci_vtscsi_softc *sc,
usr/src/cmd/bhyve/common/pci_virtio_scsi.c
711
sc->vss_backend->vsb_req_free(req->vsr_backend);
usr/src/cmd/bhyve/common/pci_virtio_scsi.c
743
pci_vtscsi_queue_request(struct pci_vtscsi_softc *sc, struct vqueue_info *vq)
usr/src/cmd/bhyve/common/pci_virtio_scsi.c
750
q = &sc->vss_queues[vq->vq_num - VIRTIO_SCSI_ADDL_Q];
usr/src/cmd/bhyve/common/pci_virtio_scsi.c
757
numseg = (int)(sc->vss_config.seg_max + VIRTIO_SCSI_HDR_SEG);
usr/src/cmd/bhyve/common/pci_virtio_scsi.c
834
if (pci_vtscsi_check_lun(sc, req->vsr_cmd_rd->lun) == false) {
usr/src/cmd/bhyve/common/pci_virtio_scsi.c
858
struct pci_vtscsi_softc *sc = q->vsq_sc;
usr/src/cmd/bhyve/common/pci_virtio_scsi.c
871
sc->vss_backend->vsb_req_clear(backend);
usr/src/cmd/bhyve/common/pci_virtio_scsi.c
873
memset(iov, 0, sizeof(struct iovec) * (sc->vss_config.seg_max +
usr/src/cmd/bhyve/common/pci_virtio_scsi.c
895
pci_vtscsi_request_handle(struct pci_vtscsi_softc *sc, int fd,
usr/src/cmd/bhyve/common/pci_virtio_scsi.c
898
return (sc->vss_backend->vsb_req_hdl(sc, fd, req));
usr/src/cmd/bhyve/common/pci_virtio_scsi.c
904
struct pci_vtscsi_softc *sc = vsc;
usr/src/cmd/bhyve/common/pci_virtio_scsi.c
905
int numseg = (int)(sc->vss_config.seg_max + VIRTIO_SCSI_HDR_SEG);
usr/src/cmd/bhyve/common/pci_virtio_scsi.c
917
pci_vtscsi_control_handle(sc, buf, bufsize);
usr/src/cmd/bhyve/common/pci_virtio_scsi.c
944
pci_vtscsi_init_queue(struct pci_vtscsi_softc *sc,
usr/src/cmd/bhyve/common/pci_virtio_scsi.c
950
queue->vsq_sc = sc;
usr/src/cmd/bhyve/common/pci_virtio_scsi.c
951
queue->vsq_vq = &sc->vss_vq[num];
usr/src/cmd/bhyve/common/pci_virtio_scsi.c
961
for (i = 0; i < sc->vss_req_ringsz; i++) {
usr/src/cmd/bhyve/common/pci_virtio_scsi.c
964
req = pci_vtscsi_alloc_request(sc);
usr/src/cmd/bhyve/common/pci_virtio_scsi.c
971
for (i = 0; i < sc->vss_thr_per_q; i++) {
usr/src/cmd/bhyve/common/pci_virtio_scsi.h
357
pci_vtscsi_check_lun(struct pci_vtscsi_softc *sc, const uint8_t *lun)
usr/src/cmd/bhyve/common/pci_virtio_scsi.h
365
if (lun[1] >= sc->vss_num_target)
usr/src/cmd/bhyve/common/pci_virtio_scsi.h
368
if (lun[1] != sc->vss_targets[lun[1]].vst_target)
usr/src/cmd/bhyve/common/pci_virtio_scsi.h
371
if (sc->vss_targets[lun[1]].vst_fd < 0)
usr/src/cmd/bhyve/common/pci_virtio_scsi.h
390
pci_vtscsi_get_target(struct pci_vtscsi_softc *sc, const uint8_t *lun)
usr/src/cmd/bhyve/common/pci_virtio_scsi.h
393
assert(lun[1] < sc->vss_num_target);
usr/src/cmd/bhyve/common/pci_virtio_scsi.h
394
assert(lun[1] == sc->vss_targets[lun[1]].vst_target);
usr/src/cmd/bhyve/common/pci_virtio_scsi.h
395
assert(sc->vss_targets[lun[1]].vst_fd >= 0);
usr/src/cmd/bhyve/common/pci_virtio_scsi.h
408
pci_vtscsi_get_lun(struct pci_vtscsi_softc *sc, const uint8_t *lun)
usr/src/cmd/bhyve/common/pci_virtio_scsi.h
411
assert(lun[1] < sc->vss_num_target);
usr/src/cmd/bhyve/common/pci_virtio_scsi.h
412
assert(lun[1] == sc->vss_targets[lun[1]].vst_target);
usr/src/cmd/bhyve/common/pci_virtio_scsi.h
413
assert(sc->vss_targets[lun[1]].vst_fd >= 0);
usr/src/cmd/bhyve/common/pci_virtio_scsi_ctl.c
109
vtscsi_ctl_init(struct pci_vtscsi_softc *sc, struct pci_vtscsi_backend *backend,
usr/src/cmd/bhyve/common/pci_virtio_scsi_ctl.c
125
sc->vss_backend = &ctl_backend->vcb_backend;
usr/src/cmd/bhyve/common/pci_virtio_scsi_ctl.c
150
vtscsi_ctl_open(struct pci_vtscsi_softc *sc __unused, const char *devname,
usr/src/cmd/bhyve/common/pci_virtio_scsi_ctl.c
153
struct pci_vtscsi_target *tgt = &sc->vss_targets[target];
usr/src/cmd/bhyve/common/pci_virtio_scsi_ctl.c
163
vtscsi_ctl_reset(struct pci_vtscsi_softc *sc __unused)
usr/src/cmd/bhyve/common/pci_virtio_scsi_ctl.c
169
sc->vss_config.max_sectors = INT32_MAX;
usr/src/cmd/bhyve/common/pci_virtio_scsi_ctl.c
172
static void *vtscsi_ctl_req_alloc(struct pci_vtscsi_softc *sc)
usr/src/cmd/bhyve/common/pci_virtio_scsi_ctl.c
174
struct vtscsi_ctl_backend *ctl = (struct vtscsi_ctl_backend *)sc;
usr/src/cmd/bhyve/common/pci_virtio_scsi_ctl.c
194
vtscsi_ctl_tmf_hdl(struct pci_vtscsi_softc *sc, int fd,
usr/src/cmd/bhyve/common/pci_virtio_scsi_ctl.c
201
ctl = (struct vtscsi_ctl_backend *)sc->vss_backend;
usr/src/cmd/bhyve/common/pci_virtio_scsi_ctl.c
203
io = vtscsi_ctl_req_alloc(sc);
usr/src/cmd/bhyve/common/pci_virtio_scsi_ctl.c
212
io->io_hdr.nexus.targ_lun = pci_vtscsi_get_lun(sc, tmf->lun);
usr/src/cmd/bhyve/common/pci_virtio_scsi_ctl.c
270
vtscsi_ctl_an_hdl(struct pci_vtscsi_softc *sc __unused, int fd __unused,
usr/src/cmd/bhyve/common/pci_virtio_scsi_ctl.c
277
vtscsi_ctl_req_hdl(struct pci_vtscsi_softc *sc, int fd,
usr/src/cmd/bhyve/common/pci_virtio_scsi_ctl.c
286
ctl = (struct vtscsi_ctl_backend *)sc->vss_backend;
usr/src/cmd/bhyve/common/pci_virtio_scsi_ctl.c
289
io->io_hdr.nexus.targ_lun = pci_vtscsi_get_lun(sc,
usr/src/cmd/bhyve/common/pci_virtio_scsi_ctl.c
308
io->scsiio.sense_len = sc->vss_config.sense_size;
usr/src/cmd/bhyve/common/pci_virtio_scsi_ctl.c
330
io->scsiio.cdb_len = sc->vss_config.cdb_size;
usr/src/cmd/bhyve/common/pci_virtio_scsi_ctl.c
331
memcpy(io->scsiio.cdb, req->vsr_cmd_rd->cdb, sc->vss_config.cdb_size);
usr/src/cmd/bhyve/common/pci_virtio_scsi_ctl.c
347
MIN(io->scsiio.sense_len, sc->vss_config.sense_size);
usr/src/cmd/bhyve/common/pci_virtio_scsi_uscsi.c
116
sc->vss_backend = &uscsi_backend->vub_backend;
usr/src/cmd/bhyve/common/pci_virtio_scsi_uscsi.c
122
vtscsi_uscsi_open(struct pci_vtscsi_softc *sc, const char *path, long target)
usr/src/cmd/bhyve/common/pci_virtio_scsi_uscsi.c
124
struct pci_vtscsi_target *tgt = &sc->vss_targets[target];
usr/src/cmd/bhyve/common/pci_virtio_scsi_uscsi.c
181
vtscsi_uscsi_reset(struct pci_vtscsi_softc *sc)
usr/src/cmd/bhyve/common/pci_virtio_scsi_uscsi.c
185
sc->vss_config.max_sectors = INT32_MAX;
usr/src/cmd/bhyve/common/pci_virtio_scsi_uscsi.c
193
for (i = 0; i < sc->vss_num_target; i++) {
usr/src/cmd/bhyve/common/pci_virtio_scsi_uscsi.c
194
struct pci_vtscsi_target *tgt = &sc->vss_targets[i];
usr/src/cmd/bhyve/common/pci_virtio_scsi_uscsi.c
196
if (tgt->vst_max_sectors < sc->vss_config.max_sectors)
usr/src/cmd/bhyve/common/pci_virtio_scsi_uscsi.c
197
sc->vss_config.max_sectors = tgt->vst_max_sectors;
usr/src/cmd/bhyve/common/pci_virtio_scsi_uscsi.c
202
vtscsi_uscsi_req_alloc(struct pci_vtscsi_softc *sc)
usr/src/cmd/bhyve/common/pci_virtio_scsi_uscsi.c
220
vtscsi_uscsi_tmf_hdl(struct pci_vtscsi_softc *sc __unused, int fd,
usr/src/cmd/bhyve/common/pci_virtio_scsi_uscsi.c
227
if (pci_vtscsi_get_lun(sc, tmf->lun) != 0) {
usr/src/cmd/bhyve/common/pci_virtio_scsi_uscsi.c
272
vtscsi_uscsi_an_hdl(struct pci_vtscsi_softc *sc __unused, int fd __unused,
usr/src/cmd/bhyve/common/pci_virtio_scsi_uscsi.c
276
if (pci_vtscsi_get_lun(sc, an->lun) != 0) {
usr/src/cmd/bhyve/common/pci_virtio_scsi_uscsi.c
285
vtscsi_uscsi_req_hdl(struct pci_vtscsi_softc *sc, int fd,
usr/src/cmd/bhyve/common/pci_virtio_scsi_uscsi.c
289
(struct vtscsi_uscsi_backend *)sc->vss_backend;
usr/src/cmd/bhyve/common/pci_virtio_scsi_uscsi.c
296
if (pci_vtscsi_get_lun(sc, req->vsr_cmd_rd->lun) != 0) {
usr/src/cmd/bhyve/common/pci_virtio_scsi_uscsi.c
338
cmd->uscsi_rqlen = sc->vss_config.sense_size;
usr/src/cmd/bhyve/common/pci_virtio_scsi_uscsi.c
399
sc->vss_config.sense_size - cmd->uscsi_rqresid;
usr/src/cmd/bhyve/common/pci_virtio_scsi_uscsi.c
93
vtscsi_uscsi_init(struct pci_vtscsi_softc *sc,
usr/src/cmd/bhyve/common/pci_virtio_viona.c
1000
vi_softc_linkup(&sc->vsc_vs, vc, sc, pi, sc->vsc_queues);
usr/src/cmd/bhyve/common/pci_virtio_viona.c
1001
sc->vsc_vs.vs_mtx = &sc->vsc_mtx;
usr/src/cmd/bhyve/common/pci_virtio_viona.c
1008
if (!pci_viona_qalloc(sc, 1))
usr/src/cmd/bhyve/common/pci_virtio_viona.c
1009
return (pci_viona_free_softstate(sc, 1));
usr/src/cmd/bhyve/common/pci_virtio_viona.c
1011
sc->vsc_vq_usepairs = 1;
usr/src/cmd/bhyve/common/pci_virtio_viona.c
1013
error = pthread_create(&tid, NULL, pci_viona_poll_thread, sc);
usr/src/cmd/bhyve/common/pci_virtio_viona.c
1029
sc->vsc_promisc_mmac = true;
usr/src/cmd/bhyve/common/pci_virtio_viona.c
1030
pci_viona_eval_promisc(sc);
usr/src/cmd/bhyve/common/pci_virtio_viona.c
1033
if (!vi_intr_init(&sc->vsc_vs, true))
usr/src/cmd/bhyve/common/pci_virtio_viona.c
1034
return (pci_viona_free_softstate(sc, 1));
usr/src/cmd/bhyve/common/pci_virtio_viona.c
1036
if (!vi_pcibar_setup(&sc->vsc_vs))
usr/src/cmd/bhyve/common/pci_virtio_viona.c
1037
return (pci_viona_free_softstate(sc, 1));
usr/src/cmd/bhyve/common/pci_virtio_viona.c
104
#define VIONA_NRINGS(sc) ((sc)->vsc_consts.vc_nvq - 1)
usr/src/cmd/bhyve/common/pci_virtio_viona.c
1045
struct pci_viona_softc *sc = vsc;
usr/src/cmd/bhyve/common/pci_virtio_viona.c
105
#define VIONA_USABLE_RINGS(sc) (VIONA_P2QS((sc)->vsc_vq_usepairs))
usr/src/cmd/bhyve/common/pci_virtio_viona.c
1055
if (offset < (int)sizeof (sc->vsc_config.vnc_macaddr) &&
usr/src/cmd/bhyve/common/pci_virtio_viona.c
1056
offset + size <= (int)sizeof (sc->vsc_config.vnc_macaddr)) {
usr/src/cmd/bhyve/common/pci_virtio_viona.c
1057
ptr = &sc->vsc_config.vnc_macaddr[offset];
usr/src/cmd/bhyve/common/pci_virtio_viona.c
1059
vq_devcfg_changed(&sc->vsc_vs);
usr/src/cmd/bhyve/common/pci_virtio_viona.c
106
#define VIONA_RING_VALID(sc, r) ((r) < VIONA_NRINGS(sc))
usr/src/cmd/bhyve/common/pci_virtio_viona.c
1071
struct pci_viona_softc *sc = vsc;
usr/src/cmd/bhyve/common/pci_virtio_viona.c
1074
ptr = (uint8_t *)&sc->vsc_config + offset;
usr/src/cmd/bhyve/common/pci_virtio_viona.c
108
#define VIONA_RING(sc, n) (&(sc)->vsc_queues[(n)])
usr/src/cmd/bhyve/common/pci_virtio_viona.c
1082
struct pci_viona_softc *sc = vsc;
usr/src/cmd/bhyve/common/pci_virtio_viona.c
1083
struct pci_devinst *pi = sc->vsc_vs.vs_pi;
usr/src/cmd/bhyve/common/pci_virtio_viona.c
1089
if (!VIONA_RING_VALID(sc, ring))
usr/src/cmd/bhyve/common/pci_virtio_viona.c
109
#define VIONA_RXQ(sc, n) (VIONA_RING(sc, (n) * 2))
usr/src/cmd/bhyve/common/pci_virtio_viona.c
1095
tab_index = sc->vsc_queues[ring].vq_msix_idx;
usr/src/cmd/bhyve/common/pci_virtio_viona.c
1097
if (tab_index != VIRTIO_MSI_NO_VECTOR && sc->vsc_msix_active) {
usr/src/cmd/bhyve/common/pci_virtio_viona.c
110
#define VIONA_TXQ(sc, n) (VIONA_RING(sc, (n) * 2 + 1))
usr/src/cmd/bhyve/common/pci_virtio_viona.c
1108
res = ioctl(sc->vsc_vnafd, VNA_IOC_RING_SET_MSI, &vrm);
usr/src/cmd/bhyve/common/pci_virtio_viona.c
1117
struct pci_viona_softc *sc = pi->pi_arg;
usr/src/cmd/bhyve/common/pci_virtio_viona.c
1120
pthread_mutex_lock(&sc->vsc_mtx);
usr/src/cmd/bhyve/common/pci_virtio_viona.c
1122
if ((sc->vsc_msix_active && !msix_on) ||
usr/src/cmd/bhyve/common/pci_virtio_viona.c
1123
(msix_on && !sc->vsc_msix_active)) {
usr/src/cmd/bhyve/common/pci_virtio_viona.c
1124
DPRINTF("MSIX %u -> %u", sc->vsc_msix_active, msix_on);
usr/src/cmd/bhyve/common/pci_virtio_viona.c
1125
sc->vsc_msix_active = msix_on;
usr/src/cmd/bhyve/common/pci_virtio_viona.c
1127
for (uint16_t i = 0; i < VIONA_NRINGS(sc); i++)
usr/src/cmd/bhyve/common/pci_virtio_viona.c
1128
pci_viona_ring_set_msix(sc, VIONA_RING(sc, i)->vq_num);
usr/src/cmd/bhyve/common/pci_virtio_viona.c
1130
pthread_mutex_unlock(&sc->vsc_mtx);
usr/src/cmd/bhyve/common/pci_virtio_viona.c
1136
struct pci_viona_softc *sc = vsc;
usr/src/cmd/bhyve/common/pci_virtio_viona.c
1139
pthread_mutex_lock(&sc->vsc_mtx);
usr/src/cmd/bhyve/common/pci_virtio_viona.c
1140
if (!sc->vsc_msix_active) {
usr/src/cmd/bhyve/common/pci_virtio_viona.c
1141
pthread_mutex_unlock(&sc->vsc_mtx);
usr/src/cmd/bhyve/common/pci_virtio_viona.c
1153
for (uint16_t i = 0; i < VIONA_NRINGS(sc); i++) {
usr/src/cmd/bhyve/common/pci_virtio_viona.c
1154
struct vqueue_info *vq = VIONA_RING(sc, i);
usr/src/cmd/bhyve/common/pci_virtio_viona.c
1160
pthread_mutex_unlock(&sc->vsc_mtx);
usr/src/cmd/bhyve/common/pci_virtio_viona.c
1173
struct pci_viona_softc *sc = vsc;
usr/src/cmd/bhyve/common/pci_virtio_viona.c
1177
if (!VIONA_RING_VALID(sc, ring))
usr/src/cmd/bhyve/common/pci_virtio_viona.c
1180
error = ioctl(sc->vsc_vnafd, VNA_IOC_RING_KICK, ring);
usr/src/cmd/bhyve/common/pci_virtio_viona.c
1189
struct pci_viona_softc *sc = pi->pi_arg;
usr/src/cmd/bhyve/common/pci_virtio_viona.c
119
#define VIONA_CTLQ_NUM(sc) (VIONA_NRINGS(sc))
usr/src/cmd/bhyve/common/pci_virtio_viona.c
120
#define VIONA_RING_CTLQ(sc, r) (r == VIONA_CTLQ_NUM(sc))
usr/src/cmd/bhyve/common/pci_virtio_viona.c
1200
err = ioctl(sc->vsc_vnafd, VNA_IOC_SET_NOTIFY_IOP, 0);
usr/src/cmd/bhyve/common/pci_virtio_viona.c
121
#define VIONA_CTLQ(sc) (VIONA_RING(sc, VIONA_CTLQ_NUM(sc)))
usr/src/cmd/bhyve/common/pci_virtio_viona.c
1212
err = ioctl(sc->vsc_vnafd, VNA_IOC_SET_NOTIFY_IOP, ioport);
usr/src/cmd/bhyve/common/pci_virtio_viona.c
1224
err = ioctl(sc->vsc_vnafd, VNA_IOC_SET_NOTIFY_MMIO, 0);
usr/src/cmd/bhyve/common/pci_virtio_viona.c
1230
cfg = vi_pci_cfg_bytype(&sc->vsc_vs, VIRTIO_PCI_CAP_NOTIFY_CFG);
usr/src/cmd/bhyve/common/pci_virtio_viona.c
1240
err = ioctl(sc->vsc_vnafd, VNA_IOC_SET_NOTIFY_MMIO, &vim);
usr/src/cmd/bhyve/common/pci_virtio_viona.c
1256
struct pci_viona_softc *sc = vsc;
usr/src/cmd/bhyve/common/pci_virtio_viona.c
1260
err = ioctl(sc->vsc_vnafd, VNA_IOC_GET_FEATURES, &value);
usr/src/cmd/bhyve/common/pci_virtio_viona.c
1276
value &= ~sc->vsc_feature_mask;
usr/src/cmd/bhyve/common/pci_virtio_viona.c
1280
sc->vsc_consts.vc_hv_caps_modern = value;
usr/src/cmd/bhyve/common/pci_virtio_viona.c
1292
sc->vsc_consts.vc_hv_caps_legacy = value;
usr/src/cmd/bhyve/common/pci_virtio_viona.c
1301
struct pci_viona_softc *sc = vsc;
usr/src/cmd/bhyve/common/pci_virtio_viona.c
1304
*value &= ~sc->vsc_feature_mask;
usr/src/cmd/bhyve/common/pci_virtio_viona.c
1305
err = ioctl(sc->vsc_vnafd, VNA_IOC_SET_FEATURES, value);
usr/src/cmd/bhyve/common/pci_virtio_viona.c
1316
sc->vsc_config.vnc_max_qpair);
usr/src/cmd/bhyve/common/pci_virtio_viona.c
1317
if (!pci_viona_qalloc(sc, sc->vsc_config.vnc_max_qpair)) {
usr/src/cmd/bhyve/common/pci_virtio_viona.c
1318
vi_error(&sc->vsc_vs,
usr/src/cmd/bhyve/common/pci_virtio_viona.c
1320
sc->vsc_config.vnc_max_qpair);
usr/src/cmd/bhyve/common/pci_virtio_viona.c
230
pci_viona_ring_reset(struct pci_viona_softc *sc, int ring)
usr/src/cmd/bhyve/common/pci_virtio_viona.c
236
res = ioctl(sc->vsc_vnafd, VNA_IOC_RING_RESET, ring);
usr/src/cmd/bhyve/common/pci_virtio_viona.c
248
pci_viona_set_usepairs(struct pci_viona_softc *sc, uint16_t pairs)
usr/src/cmd/bhyve/common/pci_virtio_viona.c
250
const uint16_t opairs = sc->vsc_vq_usepairs;
usr/src/cmd/bhyve/common/pci_virtio_viona.c
257
if (ioctl(sc->vsc_vnafd, VNA_IOC_SET_USEPAIRS, pairs) != 0) {
usr/src/cmd/bhyve/common/pci_virtio_viona.c
262
sc->vsc_vq_usepairs = pairs;
usr/src/cmd/bhyve/common/pci_virtio_viona.c
267
pci_viona_qalloc(struct pci_viona_softc *sc, int pairs)
usr/src/cmd/bhyve/common/pci_virtio_viona.c
269
struct virtio_consts *vc = &sc->vsc_consts;
usr/src/cmd/bhyve/common/pci_virtio_viona.c
282
queues = recallocarray(sc->vsc_queues, oqueues, nqueues,
usr/src/cmd/bhyve/common/pci_virtio_viona.c
289
sc->vsc_queues = queues;
usr/src/cmd/bhyve/common/pci_virtio_viona.c
293
sc->vsc_queues[i].vq_qsize =
usr/src/cmd/bhyve/common/pci_virtio_viona.c
294
IS_RXQ(i) ? sc->vsc_vq_rxsize : sc->vsc_vq_txsize;
usr/src/cmd/bhyve/common/pci_virtio_viona.c
295
sc->vsc_queues[i].vq_notify = NULL;
usr/src/cmd/bhyve/common/pci_virtio_viona.c
297
VIONA_CTLQ(sc)->vq_qsize = VIONA_CTLQ_SIZE;
usr/src/cmd/bhyve/common/pci_virtio_viona.c
298
VIONA_CTLQ(sc)->vq_notify = pci_viona_ctlqnotify;
usr/src/cmd/bhyve/common/pci_virtio_viona.c
300
vi_queue_linkup(&sc->vsc_vs, sc->vsc_queues);
usr/src/cmd/bhyve/common/pci_virtio_viona.c
302
if (ioctl(sc->vsc_vnafd, VNA_IOC_SET_PAIRS, pairs) != 0) {
usr/src/cmd/bhyve/common/pci_virtio_viona.c
314
struct pci_viona_softc *sc = vsc;
usr/src/cmd/bhyve/common/pci_virtio_viona.c
318
vi_reset_dev(&sc->vsc_vs);
usr/src/cmd/bhyve/common/pci_virtio_viona.c
321
for (uint16_t i = 0; i < VIONA_NRINGS(sc); i++)
usr/src/cmd/bhyve/common/pci_virtio_viona.c
322
pci_viona_ring_reset(sc, i);
usr/src/cmd/bhyve/common/pci_virtio_viona.c
325
VERIFY(pci_viona_set_usepairs(sc, 1));
usr/src/cmd/bhyve/common/pci_virtio_viona.c
326
VERIFY(pci_viona_qalloc(sc, 1));
usr/src/cmd/bhyve/common/pci_virtio_viona.c
345
pci_viona_eval_promisc(struct pci_viona_softc *sc)
usr/src/cmd/bhyve/common/pci_virtio_viona.c
357
if (sc->vsc_promisc_promisc || sc->vsc_promisc_umac)
usr/src/cmd/bhyve/common/pci_virtio_viona.c
359
else if (sc->vsc_promisc_allmulti || sc->vsc_promisc_mmac)
usr/src/cmd/bhyve/common/pci_virtio_viona.c
362
if (mode != sc->vsc_promisc) {
usr/src/cmd/bhyve/common/pci_virtio_viona.c
366
sc->vsc_promisc_promisc, sc->vsc_promisc_umac,
usr/src/cmd/bhyve/common/pci_virtio_viona.c
367
sc->vsc_promisc_allmulti, sc->vsc_promisc_mmac);
usr/src/cmd/bhyve/common/pci_virtio_viona.c
369
err = ioctl(sc->vsc_vnafd, VNA_IOC_SET_PROMISC, mode);
usr/src/cmd/bhyve/common/pci_virtio_viona.c
371
sc->vsc_promisc = mode;
usr/src/cmd/bhyve/common/pci_virtio_viona.c
383
struct pci_viona_softc *sc = (struct pci_viona_softc *)vq->vq_vs;
usr/src/cmd/bhyve/common/pci_virtio_viona.c
394
sc->vsc_promisc_promisc = (v != 0);
usr/src/cmd/bhyve/common/pci_virtio_viona.c
398
sc->vsc_promisc_allmulti = (v != 0);
usr/src/cmd/bhyve/common/pci_virtio_viona.c
410
if (pci_viona_eval_promisc(sc) == 0)
usr/src/cmd/bhyve/common/pci_virtio_viona.c
439
struct pci_viona_softc *sc = (struct pci_viona_softc *)vq->vq_vs;
usr/src/cmd/bhyve/common/pci_virtio_viona.c
463
sc->vsc_promisc_umac = (table.vncm_entries != 0);
usr/src/cmd/bhyve/common/pci_virtio_viona.c
472
sc->vsc_promisc_mmac = (table.vncm_entries != 0);
usr/src/cmd/bhyve/common/pci_virtio_viona.c
489
if (pci_viona_eval_promisc(sc) == 0)
usr/src/cmd/bhyve/common/pci_virtio_viona.c
498
struct pci_viona_softc *sc = (struct pci_viona_softc *)vq->vq_vs;
usr/src/cmd/bhyve/common/pci_virtio_viona.c
511
VIONA_P2QS(mq.virtqueue_pairs) > VIONA_NRINGS(sc)) {
usr/src/cmd/bhyve/common/pci_virtio_viona.c
516
if (!pci_viona_set_usepairs(sc, mq.virtqueue_pairs))
usr/src/cmd/bhyve/common/pci_virtio_viona.c
623
struct pci_viona_softc *sc = param;
usr/src/cmd/bhyve/common/pci_virtio_viona.c
625
const int fd = sc->vsc_vnafd;
usr/src/cmd/bhyve/common/pci_virtio_viona.c
644
const bool do_msix = pci_msix_enabled(sc->vsc_vs.vs_pi);
usr/src/cmd/bhyve/common/pci_virtio_viona.c
647
vipm.vipm_nrings = VIONA_USABLE_RINGS(sc);
usr/src/cmd/bhyve/common/pci_virtio_viona.c
651
i < VIONA_USABLE_RINGS(sc); i++) {
usr/src/cmd/bhyve/common/pci_virtio_viona.c
656
pci_generate_msix(sc->vsc_vs.vs_pi,
usr/src/cmd/bhyve/common/pci_virtio_viona.c
657
sc->vsc_queues[i].vq_msix_idx);
usr/src/cmd/bhyve/common/pci_virtio_viona.c
667
pthread_mutex_lock(&sc->vsc_mtx);
usr/src/cmd/bhyve/common/pci_virtio_viona.c
668
sc->vsc_vs.vs_isr |= VIRTIO_PCI_ISR_INTR;
usr/src/cmd/bhyve/common/pci_virtio_viona.c
669
pci_lintr_assert(sc->vsc_vs.vs_pi);
usr/src/cmd/bhyve/common/pci_virtio_viona.c
670
pthread_mutex_unlock(&sc->vsc_mtx);
usr/src/cmd/bhyve/common/pci_virtio_viona.c
681
struct pci_viona_softc *sc = vsc;
usr/src/cmd/bhyve/common/pci_virtio_viona.c
682
int qnum = sc->vsc_vs.vs_curq;
usr/src/cmd/bhyve/common/pci_virtio_viona.c
683
struct vqueue_info *vq = &sc->vsc_queues[qnum];
usr/src/cmd/bhyve/common/pci_virtio_viona.c
686
const bool ctlq = VIONA_RING_CTLQ(sc, qnum);
usr/src/cmd/bhyve/common/pci_virtio_viona.c
690
if (!ctlq && !VIONA_RING_VALID(sc, qnum)) {
usr/src/cmd/bhyve/common/pci_virtio_viona.c
696
vi_vq_init(&sc->vsc_vs);
usr/src/cmd/bhyve/common/pci_virtio_viona.c
698
vi_legacy_vq_init(&sc->vsc_vs, pfn);
usr/src/cmd/bhyve/common/pci_virtio_viona.c
709
error = ioctl(sc->vsc_vnafd, VNA_IOC_RING_INIT_MODERN, &vna_rim);
usr/src/cmd/bhyve/common/pci_virtio_viona.c
717
pci_viona_viona_init(struct vmctx *ctx, struct pci_viona_softc *sc)
usr/src/cmd/bhyve/common/pci_virtio_viona.c
722
sc->vsc_vnafd = open("/dev/viona", O_RDWR | O_EXCL);
usr/src/cmd/bhyve/common/pci_virtio_viona.c
723
if (sc->vsc_vnafd == -1) {
usr/src/cmd/bhyve/common/pci_virtio_viona.c
728
version = ioctl(sc->vsc_vnafd, VNA_IOC_VERSION, 0);
usr/src/cmd/bhyve/common/pci_virtio_viona.c
730
(void) close(sc->vsc_vnafd);
usr/src/cmd/bhyve/common/pci_virtio_viona.c
737
vna_create.c_linkid = sc->vsc_linkid;
usr/src/cmd/bhyve/common/pci_virtio_viona.c
739
error = ioctl(sc->vsc_vnafd, VNA_IOC_CREATE, &vna_create);
usr/src/cmd/bhyve/common/pci_virtio_viona.c
741
(void) close(sc->vsc_vnafd);
usr/src/cmd/bhyve/common/pci_virtio_viona.c
772
pci_viona_parse_opts(struct pci_viona_softc *sc, nvlist_t *nvl)
usr/src/cmd/bhyve/common/pci_virtio_viona.c
778
sc->vsc_config.vnc_max_qpair = VIONA_DEFAULT_MAX_QPAIR;
usr/src/cmd/bhyve/common/pci_virtio_viona.c
779
sc->vsc_vq_txsize = VIONA_DEFAULT_TX_RINGSZ;
usr/src/cmd/bhyve/common/pci_virtio_viona.c
780
sc->vsc_vq_rxsize = VIONA_DEFAULT_RX_RINGSZ;
usr/src/cmd/bhyve/common/pci_virtio_viona.c
781
sc->vsc_config.vnc_speed = VIONA_DEFAULT_LINK_SPEED;
usr/src/cmd/bhyve/common/pci_virtio_viona.c
782
sc->vsc_feature_mask = 0;
usr/src/cmd/bhyve/common/pci_virtio_viona.c
783
sc->vsc_linkname[0] = '\0';
usr/src/cmd/bhyve/common/pci_virtio_viona.c
793
sc->vsc_feature_mask = num;
usr/src/cmd/bhyve/common/pci_virtio_viona.c
809
sc->vsc_vq_txsize = num;
usr/src/cmd/bhyve/common/pci_virtio_viona.c
810
sc->vsc_vq_rxsize = num;
usr/src/cmd/bhyve/common/pci_virtio_viona.c
826
sc->vsc_vq_txsize = num;
usr/src/cmd/bhyve/common/pci_virtio_viona.c
842
sc->vsc_vq_rxsize = num;
usr/src/cmd/bhyve/common/pci_virtio_viona.c
855
sc->vsc_config.vnc_max_qpair = num;
usr/src/cmd/bhyve/common/pci_virtio_viona.c
867
sc->vsc_config.vnc_speed = num;
usr/src/cmd/bhyve/common/pci_virtio_viona.c
876
(void) strlcpy(sc->vsc_linkname, value, MAXLINKNAMELEN);
usr/src/cmd/bhyve/common/pci_virtio_viona.c
881
sc, sc->vsc_linkname, sc->vsc_vq_txsize, sc->vsc_vq_rxsize,
usr/src/cmd/bhyve/common/pci_virtio_viona.c
882
sc->vsc_config.vnc_max_qpair, sc->vsc_feature_mask);
usr/src/cmd/bhyve/common/pci_virtio_viona.c
914
pci_viona_free_softstate(struct pci_viona_softc *sc, int err)
usr/src/cmd/bhyve/common/pci_virtio_viona.c
916
pthread_mutex_destroy(&sc->vsc_mtx);
usr/src/cmd/bhyve/common/pci_virtio_viona.c
917
free(sc->vsc_queues);
usr/src/cmd/bhyve/common/pci_virtio_viona.c
918
free(sc);
usr/src/cmd/bhyve/common/pci_virtio_viona.c
932
struct pci_viona_softc *sc;
usr/src/cmd/bhyve/common/pci_virtio_viona.c
943
sc = calloc(1, sizeof (struct pci_viona_softc));
usr/src/cmd/bhyve/common/pci_virtio_viona.c
944
if (sc == NULL) {
usr/src/cmd/bhyve/common/pci_virtio_viona.c
948
vc = &sc->vsc_consts;
usr/src/cmd/bhyve/common/pci_virtio_viona.c
951
pthread_mutex_init(&sc->vsc_mtx, NULL);
usr/src/cmd/bhyve/common/pci_virtio_viona.c
955
vi_set_debug(&sc->vsc_vs, pci_viona_debug);
usr/src/cmd/bhyve/common/pci_virtio_viona.c
957
if (pci_viona_parse_opts(sc, nvl) != 0)
usr/src/cmd/bhyve/common/pci_virtio_viona.c
958
return (pci_viona_free_softstate(sc, 1));
usr/src/cmd/bhyve/common/pci_virtio_viona.c
961
vc->vc_max_nvq = VIONA_P2QS(sc->vsc_config.vnc_max_qpair) + 1;
usr/src/cmd/bhyve/common/pci_virtio_viona.c
965
return (pci_viona_free_softstate(sc, 1));
usr/src/cmd/bhyve/common/pci_virtio_viona.c
968
if ((status = dladm_name2info(handle, sc->vsc_linkname, &sc->vsc_linkid,
usr/src/cmd/bhyve/common/pci_virtio_viona.c
973
return (pci_viona_free_softstate(sc, 1));
usr/src/cmd/bhyve/common/pci_virtio_viona.c
976
if ((status = dladm_vnic_info(handle, sc->vsc_linkid, &attr,
usr/src/cmd/bhyve/common/pci_virtio_viona.c
981
return (pci_viona_free_softstate(sc, 1));
usr/src/cmd/bhyve/common/pci_virtio_viona.c
983
memcpy(sc->vsc_config.vnc_macaddr, attr.va_mac_addr, ETHERADDRL);
usr/src/cmd/bhyve/common/pci_virtio_viona.c
984
sc->vsc_config.vnc_status = VIRTIO_NET_S_LINK_UP; /* link always up */
usr/src/cmd/bhyve/common/pci_virtio_viona.c
985
sc->vsc_config.vnc_duplex = VIRTIO_NET_DUPLEX_FULL;
usr/src/cmd/bhyve/common/pci_virtio_viona.c
986
sc->vsc_config.vnc_mtu = pci_viona_query_mtu(handle, sc->vsc_linkid);
usr/src/cmd/bhyve/common/pci_virtio_viona.c
989
error = pci_viona_viona_init(pi->pi_vmctx, sc);
usr/src/cmd/bhyve/common/pci_virtio_viona.c
991
return (pci_viona_free_softstate(sc, 1));
usr/src/cmd/bhyve/common/pci_virtio_viona.c
993
if (ioctl(sc->vsc_vnafd, VNA_IOC_SET_MTU,
usr/src/cmd/bhyve/common/pci_virtio_viona.c
994
sc->vsc_config.vnc_mtu) != 0) {
usr/src/cmd/bhyve/common/pci_virtio_viona.c
996
sc->vsc_config.vnc_mtu, strerror(errno));
usr/src/cmd/bhyve/common/pci_xhci.c
1021
pci_xhci_cmd_config_ep(struct pci_xhci_softc *sc, uint32_t slot,
usr/src/cmd/bhyve/common/pci_xhci.c
1037
dev = XHCI_SLOTDEV_PTR(sc, slot);
usr/src/cmd/bhyve/common/pci_xhci.c
1049
dev_ctx = pci_xhci_get_dev_ctx(sc, slot);
usr/src/cmd/bhyve/common/pci_xhci.c
1094
input_ctx = XHCI_GADDR(sc, trb->qwTrb0 & ~0xFUL);
usr/src/cmd/bhyve/common/pci_xhci.c
1144
pci_xhci_cmd_reset_ep(struct pci_xhci_softc *sc, uint32_t slot,
usr/src/cmd/bhyve/common/pci_xhci.c
1162
dev = XHCI_SLOTDEV_PTR(sc, slot);
usr/src/cmd/bhyve/common/pci_xhci.c
1209
pci_xhci_find_stream(struct pci_xhci_softc *sc, struct xhci_endp_ctx *ep,
usr/src/cmd/bhyve/common/pci_xhci.c
1229
sctx = (struct xhci_stream_ctx *)XHCI_GADDR(sc, ep->qwEpCtx2 & ~0xFUL) +
usr/src/cmd/bhyve/common/pci_xhci.c
1239
pci_xhci_cmd_set_tr(struct pci_xhci_softc *sc, uint32_t slot,
usr/src/cmd/bhyve/common/pci_xhci.c
1253
dev = XHCI_SLOTDEV_PTR(sc, slot);
usr/src/cmd/bhyve/common/pci_xhci.c
1290
cmderr = pci_xhci_find_stream(sc, ep_ctx, devep, streamid);
usr/src/cmd/bhyve/common/pci_xhci.c
1308
devep->ep_tr = XHCI_GADDR(sc, devep->ep_ringaddr);
usr/src/cmd/bhyve/common/pci_xhci.c
1320
pci_xhci_cmd_eval_ctx(struct pci_xhci_softc *sc, uint32_t slot,
usr/src/cmd/bhyve/common/pci_xhci.c
1329
input_ctx = XHCI_GADDR(sc, trb->qwTrb0 & ~0xFUL);
usr/src/cmd/bhyve/common/pci_xhci.c
1355
dev_ctx = pci_xhci_get_dev_ctx(sc, slot);
usr/src/cmd/bhyve/common/pci_xhci.c
1399
pci_xhci_complete_commands(struct pci_xhci_softc *sc)
usr/src/cmd/bhyve/common/pci_xhci.c
1411
sc->opregs.crcr |= XHCI_CRCR_LO_CRR;
usr/src/cmd/bhyve/common/pci_xhci.c
1413
trb = sc->opregs.cr_p;
usr/src/cmd/bhyve/common/pci_xhci.c
1414
ccs = sc->opregs.crcr & XHCI_CRCR_LO_RCS;
usr/src/cmd/bhyve/common/pci_xhci.c
1415
crcr = sc->opregs.crcr & ~0xF;
usr/src/cmd/bhyve/common/pci_xhci.c
1418
sc->opregs.cr_p = trb;
usr/src/cmd/bhyve/common/pci_xhci.c
1444
cmderr = pci_xhci_cmd_enable_slot(sc, &slot);
usr/src/cmd/bhyve/common/pci_xhci.c
1449
cmderr = pci_xhci_cmd_disable_slot(sc, slot);
usr/src/cmd/bhyve/common/pci_xhci.c
1454
cmderr = pci_xhci_cmd_address_device(sc, slot, trb);
usr/src/cmd/bhyve/common/pci_xhci.c
1459
cmderr = pci_xhci_cmd_config_ep(sc, slot, trb);
usr/src/cmd/bhyve/common/pci_xhci.c
1464
cmderr = pci_xhci_cmd_eval_ctx(sc, slot, trb);
usr/src/cmd/bhyve/common/pci_xhci.c
1470
cmderr = pci_xhci_cmd_reset_ep(sc, slot, trb);
usr/src/cmd/bhyve/common/pci_xhci.c
1476
cmderr = pci_xhci_cmd_reset_ep(sc, slot, trb);
usr/src/cmd/bhyve/common/pci_xhci.c
1481
cmderr = pci_xhci_cmd_set_tr(sc, slot, trb);
usr/src/cmd/bhyve/common/pci_xhci.c
1486
cmderr = pci_xhci_cmd_reset_device(sc, slot);
usr/src/cmd/bhyve/common/pci_xhci.c
1522
pci_xhci_insert_event(sc, &evtrb, 1);
usr/src/cmd/bhyve/common/pci_xhci.c
1525
trb = pci_xhci_trb_next(sc, trb, &crcr);
usr/src/cmd/bhyve/common/pci_xhci.c
1528
sc->opregs.crcr = crcr | (sc->opregs.crcr & XHCI_CRCR_LO_CA) | ccs;
usr/src/cmd/bhyve/common/pci_xhci.c
1529
sc->opregs.crcr &= ~XHCI_CRCR_LO_CRR;
usr/src/cmd/bhyve/common/pci_xhci.c
1572
pci_xhci_xfer_complete(struct pci_xhci_softc *sc, struct usb_data_xfer *xfer,
usr/src/cmd/bhyve/common/pci_xhci.c
1585
dev = XHCI_SLOTDEV_PTR(sc, slot);
usr/src/cmd/bhyve/common/pci_xhci.c
1587
dev_ctx = pci_xhci_get_dev_ctx(sc, slot);
usr/src/cmd/bhyve/common/pci_xhci.c
1601
trb = XHCI_GADDR(sc, evtrb.qwTrb0);
usr/src/cmd/bhyve/common/pci_xhci.c
1621
pci_xhci_update_ep_ring(sc, dev, devep, ep_ctx,
usr/src/cmd/bhyve/common/pci_xhci.c
1651
err = pci_xhci_insert_event(sc, &evtrb, 0);
usr/src/cmd/bhyve/common/pci_xhci.c
1663
pci_xhci_update_ep_ring(struct pci_xhci_softc *sc,
usr/src/cmd/bhyve/common/pci_xhci.c
1681
devep->ep_tr = XHCI_GADDR(sc, ringaddr & ~0xFUL);
usr/src/cmd/bhyve/common/pci_xhci.c
1705
pci_xhci_try_usb_xfer(struct pci_xhci_softc *sc,
usr/src/cmd/bhyve/common/pci_xhci.c
1740
err = pci_xhci_xfer_complete(sc, xfer, slot, epid,
usr/src/cmd/bhyve/common/pci_xhci.c
1743
pci_xhci_assert_interrupt(sc);
usr/src/cmd/bhyve/common/pci_xhci.c
1761
pci_xhci_handle_transfer(struct pci_xhci_softc *sc,
usr/src/cmd/bhyve/common/pci_xhci.c
1847
&trb->qwTrb0 : XHCI_GADDR(sc, trb->qwTrb0)),
usr/src/cmd/bhyve/common/pci_xhci.c
1878
trb = pci_xhci_trb_next(sc, trb, &addr);
usr/src/cmd/bhyve/common/pci_xhci.c
1917
err = pci_xhci_xfer_complete(sc, xfer, slot, epid,
usr/src/cmd/bhyve/common/pci_xhci.c
1925
pci_xhci_try_usb_xfer(sc, dev, devep, ep_ctx, slot, epid);
usr/src/cmd/bhyve/common/pci_xhci.c
1937
pci_xhci_assert_interrupt(sc);
usr/src/cmd/bhyve/common/pci_xhci.c
1953
pci_xhci_device_doorbell(struct pci_xhci_softc *sc, uint32_t slot,
usr/src/cmd/bhyve/common/pci_xhci.c
1979
dev = XHCI_SLOTDEV_PTR(sc, slot);
usr/src/cmd/bhyve/common/pci_xhci.c
1981
dev_ctx = pci_xhci_get_dev_ctx(sc, slot);
usr/src/cmd/bhyve/common/pci_xhci.c
2001
pci_xhci_try_usb_xfer(sc, dev, devep, ep_ctx, slot, epid);
usr/src/cmd/bhyve/common/pci_xhci.c
2019
error = pci_xhci_find_stream(sc, ep_ctx, devep, streamid);
usr/src/cmd/bhyve/common/pci_xhci.c
2028
trb = XHCI_GADDR(sc, sctx_tr->ringaddr & ~0xFUL);
usr/src/cmd/bhyve/common/pci_xhci.c
2051
pci_xhci_handle_transfer(sc, dev, devep, ep_ctx, trb, slot, epid,
usr/src/cmd/bhyve/common/pci_xhci.c
2056
pci_xhci_dbregs_write(struct pci_xhci_softc *sc, uint64_t offset,
usr/src/cmd/bhyve/common/pci_xhci.c
2060
offset = (offset - sc->dboff) / sizeof(uint32_t);
usr/src/cmd/bhyve/common/pci_xhci.c
2065
if (XHCI_HALTED(sc)) {
usr/src/cmd/bhyve/common/pci_xhci.c
2071
pci_xhci_complete_commands(sc);
usr/src/cmd/bhyve/common/pci_xhci.c
2072
else if (sc->portregs != NULL)
usr/src/cmd/bhyve/common/pci_xhci.c
2073
pci_xhci_device_doorbell(sc, offset,
usr/src/cmd/bhyve/common/pci_xhci.c
2078
pci_xhci_rtsregs_write(struct pci_xhci_softc *sc, uint64_t offset,
usr/src/cmd/bhyve/common/pci_xhci.c
2083
offset -= sc->rtsoff;
usr/src/cmd/bhyve/common/pci_xhci.c
2095
rts = &sc->rtsregs;
usr/src/cmd/bhyve/common/pci_xhci.c
2105
pci_xhci_deassert_interrupt(sc);
usr/src/cmd/bhyve/common/pci_xhci.c
2119
rts->intrreg.erstba = MASK_64_HI(sc->rtsregs.intrreg.erstba) |
usr/src/cmd/bhyve/common/pci_xhci.c
2126
MASK_64_LO(sc->rtsregs.intrreg.erstba);
usr/src/cmd/bhyve/common/pci_xhci.c
2128
rts->erstba_p = XHCI_GADDR(sc,
usr/src/cmd/bhyve/common/pci_xhci.c
2129
sc->rtsregs.intrreg.erstba & ~0x3FUL);
usr/src/cmd/bhyve/common/pci_xhci.c
2131
rts->erst_p = XHCI_GADDR(sc,
usr/src/cmd/bhyve/common/pci_xhci.c
2132
sc->rtsregs.erstba_p->qwEvrsTablePtr & ~0x3FUL);
usr/src/cmd/bhyve/common/pci_xhci.c
2146
MASK_64_HI(sc->rtsregs.intrreg.erdp) |
usr/src/cmd/bhyve/common/pci_xhci.c
2161
MASK_64_LO(sc->rtsregs.intrreg.erdp);
usr/src/cmd/bhyve/common/pci_xhci.c
2192
pci_xhci_portregs_read(struct pci_xhci_softc *sc, uint64_t offset)
usr/src/cmd/bhyve/common/pci_xhci.c
2198
if (sc->portregs == NULL)
usr/src/cmd/bhyve/common/pci_xhci.c
2212
portregs = XHCI_PORTREG_PTR(sc, port);
usr/src/cmd/bhyve/common/pci_xhci.c
2240
pci_xhci_hostop_write(struct pci_xhci_softc *sc, uint64_t offset,
usr/src/cmd/bhyve/common/pci_xhci.c
2251
sc->opregs.usbcmd = pci_xhci_usbcmd_write(sc, value & 0x3F0F);
usr/src/cmd/bhyve/common/pci_xhci.c
2256
sc->opregs.usbsts &= ~(value &
usr/src/cmd/bhyve/common/pci_xhci.c
2266
sc->opregs.dnctrl = value & 0xFFFF;
usr/src/cmd/bhyve/common/pci_xhci.c
2270
if (sc->opregs.crcr & XHCI_CRCR_LO_CRR) {
usr/src/cmd/bhyve/common/pci_xhci.c
2271
sc->opregs.crcr &= ~(XHCI_CRCR_LO_CS|XHCI_CRCR_LO_CA);
usr/src/cmd/bhyve/common/pci_xhci.c
2272
sc->opregs.crcr |= value &
usr/src/cmd/bhyve/common/pci_xhci.c
2275
sc->opregs.crcr = MASK_64_HI(sc->opregs.crcr) |
usr/src/cmd/bhyve/common/pci_xhci.c
2281
if (!(sc->opregs.crcr & XHCI_CRCR_LO_CRR)) {
usr/src/cmd/bhyve/common/pci_xhci.c
2282
sc->opregs.crcr = MASK_64_LO(sc->opregs.crcr) |
usr/src/cmd/bhyve/common/pci_xhci.c
2285
sc->opregs.cr_p = XHCI_GADDR(sc,
usr/src/cmd/bhyve/common/pci_xhci.c
2286
sc->opregs.crcr & ~0xF);
usr/src/cmd/bhyve/common/pci_xhci.c
2289
if (sc->opregs.crcr & XHCI_CRCR_LO_CS) {
usr/src/cmd/bhyve/common/pci_xhci.c
2293
if (sc->opregs.crcr & XHCI_CRCR_LO_CA) {
usr/src/cmd/bhyve/common/pci_xhci.c
2300
sc->opregs.dcbaap = MASK_64_HI(sc->opregs.dcbaap) |
usr/src/cmd/bhyve/common/pci_xhci.c
2305
sc->opregs.dcbaap = MASK_64_LO(sc->opregs.dcbaap) |
usr/src/cmd/bhyve/common/pci_xhci.c
2307
sc->opregs.dcbaa_p = XHCI_GADDR(sc, sc->opregs.dcbaap & ~0x3FUL);
usr/src/cmd/bhyve/common/pci_xhci.c
2310
sc->opregs.dcbaap, (uint64_t)sc->opregs.dcbaa_p));
usr/src/cmd/bhyve/common/pci_xhci.c
2314
sc->opregs.config = value & 0x03FF;
usr/src/cmd/bhyve/common/pci_xhci.c
2319
pci_xhci_portregs_write(sc, offset, value);
usr/src/cmd/bhyve/common/pci_xhci.c
2330
struct pci_xhci_softc *sc;
usr/src/cmd/bhyve/common/pci_xhci.c
2332
sc = pi->pi_arg;
usr/src/cmd/bhyve/common/pci_xhci.c
2337
pthread_mutex_lock(&sc->mtx);
usr/src/cmd/bhyve/common/pci_xhci.c
2340
else if (offset < sc->dboff)
usr/src/cmd/bhyve/common/pci_xhci.c
2341
pci_xhci_hostop_write(sc, offset, value);
usr/src/cmd/bhyve/common/pci_xhci.c
2342
else if (offset < sc->rtsoff)
usr/src/cmd/bhyve/common/pci_xhci.c
2343
pci_xhci_dbregs_write(sc, offset, value);
usr/src/cmd/bhyve/common/pci_xhci.c
2344
else if (offset < sc->regsend)
usr/src/cmd/bhyve/common/pci_xhci.c
2345
pci_xhci_rtsregs_write(sc, offset, value);
usr/src/cmd/bhyve/common/pci_xhci.c
2349
pthread_mutex_unlock(&sc->mtx);
usr/src/cmd/bhyve/common/pci_xhci.c
2353
pci_xhci_hostcap_read(struct pci_xhci_softc *sc, uint64_t offset)
usr/src/cmd/bhyve/common/pci_xhci.c
2359
value = sc->caplength;
usr/src/cmd/bhyve/common/pci_xhci.c
2363
value = sc->hcsparams1;
usr/src/cmd/bhyve/common/pci_xhci.c
2367
value = sc->hcsparams2;
usr/src/cmd/bhyve/common/pci_xhci.c
2371
value = sc->hcsparams3;
usr/src/cmd/bhyve/common/pci_xhci.c
2375
value = sc->hccparams1;
usr/src/cmd/bhyve/common/pci_xhci.c
2379
value = sc->dboff;
usr/src/cmd/bhyve/common/pci_xhci.c
2383
value = sc->rtsoff;
usr/src/cmd/bhyve/common/pci_xhci.c
2387
value = sc->hccparams2;
usr/src/cmd/bhyve/common/pci_xhci.c
2402
pci_xhci_hostop_read(struct pci_xhci_softc *sc, uint64_t offset)
usr/src/cmd/bhyve/common/pci_xhci.c
2410
value = sc->opregs.usbcmd;
usr/src/cmd/bhyve/common/pci_xhci.c
2414
value = sc->opregs.usbsts;
usr/src/cmd/bhyve/common/pci_xhci.c
2418
value = sc->opregs.pgsz;
usr/src/cmd/bhyve/common/pci_xhci.c
2422
value = sc->opregs.dnctrl;
usr/src/cmd/bhyve/common/pci_xhci.c
2426
value = sc->opregs.crcr & XHCI_CRCR_LO_CRR;
usr/src/cmd/bhyve/common/pci_xhci.c
2434
value = sc->opregs.dcbaap & 0xFFFFFFFF;
usr/src/cmd/bhyve/common/pci_xhci.c
2438
value = (sc->opregs.dcbaap >> 32) & 0xFFFFFFFF;
usr/src/cmd/bhyve/common/pci_xhci.c
2442
value = sc->opregs.config;
usr/src/cmd/bhyve/common/pci_xhci.c
2447
value = pci_xhci_portregs_read(sc, offset);
usr/src/cmd/bhyve/common/pci_xhci.c
2462
pci_xhci_dbregs_read(struct pci_xhci_softc *sc __unused,
usr/src/cmd/bhyve/common/pci_xhci.c
2470
pci_xhci_rtsregs_read(struct pci_xhci_softc *sc, uint64_t offset)
usr/src/cmd/bhyve/common/pci_xhci.c
2474
offset -= sc->rtsoff;
usr/src/cmd/bhyve/common/pci_xhci.c
2478
value = sc->rtsregs.mfindex;
usr/src/cmd/bhyve/common/pci_xhci.c
2486
assert(offset < sizeof(sc->rtsregs.intrreg));
usr/src/cmd/bhyve/common/pci_xhci.c
2488
p = &sc->rtsregs.intrreg.iman;
usr/src/cmd/bhyve/common/pci_xhci.c
2500
pci_xhci_xecp_read(struct pci_xhci_softc *sc, uint64_t offset)
usr/src/cmd/bhyve/common/pci_xhci.c
2504
offset -= sc->regsend;
usr/src/cmd/bhyve/common/pci_xhci.c
2518
value = ((XHCI_MAX_DEVS/2) << 8) | sc->usb2_port_start;
usr/src/cmd/bhyve/common/pci_xhci.c
2532
value = ((XHCI_MAX_DEVS/2) << 8) | sc->usb3_port_start;
usr/src/cmd/bhyve/common/pci_xhci.c
2551
struct pci_xhci_softc *sc;
usr/src/cmd/bhyve/common/pci_xhci.c
2554
sc = pi->pi_arg;
usr/src/cmd/bhyve/common/pci_xhci.c
2558
pthread_mutex_lock(&sc->mtx);
usr/src/cmd/bhyve/common/pci_xhci.c
2560
value = pci_xhci_hostcap_read(sc, offset);
usr/src/cmd/bhyve/common/pci_xhci.c
2561
else if (offset < sc->dboff)
usr/src/cmd/bhyve/common/pci_xhci.c
2562
value = pci_xhci_hostop_read(sc, offset);
usr/src/cmd/bhyve/common/pci_xhci.c
2563
else if (offset < sc->rtsoff)
usr/src/cmd/bhyve/common/pci_xhci.c
2564
value = pci_xhci_dbregs_read(sc, offset);
usr/src/cmd/bhyve/common/pci_xhci.c
2565
else if (offset < sc->regsend)
usr/src/cmd/bhyve/common/pci_xhci.c
2566
value = pci_xhci_rtsregs_read(sc, offset);
usr/src/cmd/bhyve/common/pci_xhci.c
2567
else if (offset < (sc->regsend + 4*32))
usr/src/cmd/bhyve/common/pci_xhci.c
2568
value = pci_xhci_xecp_read(sc, offset);
usr/src/cmd/bhyve/common/pci_xhci.c
2574
pthread_mutex_unlock(&sc->mtx);
usr/src/cmd/bhyve/common/pci_xhci.c
2592
pci_xhci_reset_port(struct pci_xhci_softc *sc, int portn, int warm)
usr/src/cmd/bhyve/common/pci_xhci.c
2603
port = XHCI_PORTREG_PTR(sc, portn);
usr/src/cmd/bhyve/common/pci_xhci.c
2604
dev = XHCI_DEVINST_PTR(sc, portn);
usr/src/cmd/bhyve/common/pci_xhci.c
2620
error = pci_xhci_insert_event(sc, &evtrb, 1);
usr/src/cmd/bhyve/common/pci_xhci.c
2629
pci_xhci_init_port(struct pci_xhci_softc *sc, int portn)
usr/src/cmd/bhyve/common/pci_xhci.c
2634
port = XHCI_PORTREG_PTR(sc, portn);
usr/src/cmd/bhyve/common/pci_xhci.c
2635
dev = XHCI_DEVINST_PTR(sc, portn);
usr/src/cmd/bhyve/common/pci_xhci.c
2662
struct pci_xhci_softc *sc;
usr/src/cmd/bhyve/common/pci_xhci.c
2678
sc = dev->xsc;
usr/src/cmd/bhyve/common/pci_xhci.c
2681
if (sc->rtsregs.erstba_p == NULL ||
usr/src/cmd/bhyve/common/pci_xhci.c
2682
(sc->opregs.usbcmd & XHCI_CMD_RS) == 0 ||
usr/src/cmd/bhyve/common/pci_xhci.c
2686
p = XHCI_PORTREG_PTR(sc, hci->hci_port);
usr/src/cmd/bhyve/common/pci_xhci.c
2699
error = pci_xhci_insert_event(sc, &evtrb, 0);
usr/src/cmd/bhyve/common/pci_xhci.c
2714
pci_xhci_device_doorbell(sc, hci->hci_port, epid, 0);
usr/src/cmd/bhyve/common/pci_xhci.c
2780
pci_xhci_parse_devices(struct pci_xhci_softc *sc, nvlist_t *nvl)
usr/src/cmd/bhyve/common/pci_xhci.c
2791
usb3_port = sc->usb3_port_start;
usr/src/cmd/bhyve/common/pci_xhci.c
2792
usb2_port = sc->usb2_port_start;
usr/src/cmd/bhyve/common/pci_xhci.c
2794
sc->devices = calloc(XHCI_MAX_DEVS, sizeof(struct pci_xhci_dev_emu *));
usr/src/cmd/bhyve/common/pci_xhci.c
2795
sc->slots = calloc(XHCI_MAX_SLOTS, sizeof(struct pci_xhci_dev_emu *));
usr/src/cmd/bhyve/common/pci_xhci.c
2805
if (usb2_port == ((sc->usb2_port_start) + XHCI_MAX_DEVS/2) ||
usr/src/cmd/bhyve/common/pci_xhci.c
2806
usb3_port == ((sc->usb3_port_start) + XHCI_MAX_DEVS/2)) {
usr/src/cmd/bhyve/common/pci_xhci.c
2825
if (XHCI_SLOTDEV_PTR(sc, slot) != NULL) {
usr/src/cmd/bhyve/common/pci_xhci.c
2849
dev->xsc = sc;
usr/src/cmd/bhyve/common/pci_xhci.c
2855
if (usb2_port == sc->usb2_port_start +
usr/src/cmd/bhyve/common/pci_xhci.c
2864
if (usb3_port == sc->usb3_port_start +
usr/src/cmd/bhyve/common/pci_xhci.c
2873
XHCI_DEVINST_PTR(sc, dev->hci.hci_port) = dev;
usr/src/cmd/bhyve/common/pci_xhci.c
2884
XHCI_SLOTDEV_PTR(sc, slot) = dev;
usr/src/cmd/bhyve/common/pci_xhci.c
2889
sc->portregs = calloc(XHCI_MAX_DEVS, sizeof(struct pci_xhci_portregs));
usr/src/cmd/bhyve/common/pci_xhci.c
2893
pci_xhci_init_port(sc, i);
usr/src/cmd/bhyve/common/pci_xhci.c
2902
free(XHCI_DEVINST_PTR(sc, i));
usr/src/cmd/bhyve/common/pci_xhci.c
2905
free(sc->devices);
usr/src/cmd/bhyve/common/pci_xhci.c
2906
free(sc->slots);
usr/src/cmd/bhyve/common/pci_xhci.c
2914
struct pci_xhci_softc *sc;
usr/src/cmd/bhyve/common/pci_xhci.c
2928
sc = calloc(1, sizeof(struct pci_xhci_softc));
usr/src/cmd/bhyve/common/pci_xhci.c
2929
pi->pi_arg = sc;
usr/src/cmd/bhyve/common/pci_xhci.c
293
#define XHCI_HALTED(sc) ((sc)->opregs.usbsts & XHCI_STS_HCH)
usr/src/cmd/bhyve/common/pci_xhci.c
2930
sc->xsc_pi = pi;
usr/src/cmd/bhyve/common/pci_xhci.c
2932
sc->usb2_port_start = (XHCI_MAX_DEVS/2) + 1;
usr/src/cmd/bhyve/common/pci_xhci.c
2933
sc->usb3_port_start = 1;
usr/src/cmd/bhyve/common/pci_xhci.c
2936
error = pci_xhci_parse_devices(sc, nvl);
usr/src/cmd/bhyve/common/pci_xhci.c
2942
sc->caplength = XHCI_SET_CAPLEN(XHCI_CAPLEN) |
usr/src/cmd/bhyve/common/pci_xhci.c
2944
sc->hcsparams1 = XHCI_SET_HCSP1_MAXPORTS(XHCI_MAX_DEVS) |
usr/src/cmd/bhyve/common/pci_xhci.c
2947
sc->hcsparams2 = XHCI_SET_HCSP2_ERSTMAX(XHCI_ERST_MAX) |
usr/src/cmd/bhyve/common/pci_xhci.c
2949
sc->hcsparams3 = 0; /* no latency */
usr/src/cmd/bhyve/common/pci_xhci.c
295
#define XHCI_GADDR(sc,a) paddr_guest2host((sc)->xsc_pi->pi_vmctx, \
usr/src/cmd/bhyve/common/pci_xhci.c
2950
sc->hccparams1 = XHCI_SET_HCCP1_AC64(1) | /* 64-bit addrs */
usr/src/cmd/bhyve/common/pci_xhci.c
2954
sc->hccparams2 = XHCI_SET_HCCP2_LEC(1) |
usr/src/cmd/bhyve/common/pci_xhci.c
2956
sc->dboff = XHCI_SET_DOORBELL(XHCI_CAPLEN + XHCI_PORTREGS_START +
usr/src/cmd/bhyve/common/pci_xhci.c
2960
if (sc->dboff & 0x3)
usr/src/cmd/bhyve/common/pci_xhci.c
2961
sc->dboff = (sc->dboff + 0x3) & ~0x3;
usr/src/cmd/bhyve/common/pci_xhci.c
2964
sc->rtsoff = XHCI_SET_RTSOFFSET(sc->dboff + (XHCI_MAX_SLOTS+1) * 32);
usr/src/cmd/bhyve/common/pci_xhci.c
2965
if (sc->rtsoff & 0x1F)
usr/src/cmd/bhyve/common/pci_xhci.c
2966
sc->rtsoff = (sc->rtsoff + 0x1F) & ~0x1F;
usr/src/cmd/bhyve/common/pci_xhci.c
2968
DPRINTF(("pci_xhci dboff: 0x%x, rtsoff: 0x%x", sc->dboff,
usr/src/cmd/bhyve/common/pci_xhci.c
2969
sc->rtsoff));
usr/src/cmd/bhyve/common/pci_xhci.c
2971
sc->opregs.usbsts = XHCI_STS_HCH;
usr/src/cmd/bhyve/common/pci_xhci.c
2972
sc->opregs.pgsz = XHCI_PAGESIZE_4K;
usr/src/cmd/bhyve/common/pci_xhci.c
2974
pci_xhci_reset(sc);
usr/src/cmd/bhyve/common/pci_xhci.c
2976
sc->regsend = sc->rtsoff + 0x20 + 32; /* only 1 intrpter */
usr/src/cmd/bhyve/common/pci_xhci.c
2982
sc->hccparams1 |= XHCI_SET_HCCP1_XECP(sc->regsend/4);
usr/src/cmd/bhyve/common/pci_xhci.c
2994
pci_emul_alloc_bar(pi, 0, PCIBAR_MEM32, sc->regsend + 4*32);
usr/src/cmd/bhyve/common/pci_xhci.c
2995
DPRINTF(("pci_xhci pci_emu_alloc: %d", sc->regsend + 4*32));
usr/src/cmd/bhyve/common/pci_xhci.c
3000
pthread_mutex_init(&sc->mtx, NULL);
usr/src/cmd/bhyve/common/pci_xhci.c
3004
free(sc);
usr/src/cmd/bhyve/common/pci_xhci.c
336
static int pci_xhci_insert_event(struct pci_xhci_softc *sc,
usr/src/cmd/bhyve/common/pci_xhci.c
339
static void pci_xhci_assert_interrupt(struct pci_xhci_softc *sc);
usr/src/cmd/bhyve/common/pci_xhci.c
340
static void pci_xhci_reset_slot(struct pci_xhci_softc *sc, int slot);
usr/src/cmd/bhyve/common/pci_xhci.c
341
static void pci_xhci_reset_port(struct pci_xhci_softc *sc, int portn, int warm);
usr/src/cmd/bhyve/common/pci_xhci.c
342
static void pci_xhci_update_ep_ring(struct pci_xhci_softc *sc,
usr/src/cmd/bhyve/common/pci_xhci.c
360
pci_xhci_reset(struct pci_xhci_softc *sc)
usr/src/cmd/bhyve/common/pci_xhci.c
364
sc->rtsregs.er_enq_idx = 0;
usr/src/cmd/bhyve/common/pci_xhci.c
365
sc->rtsregs.er_events_cnt = 0;
usr/src/cmd/bhyve/common/pci_xhci.c
366
sc->rtsregs.event_pcs = 1;
usr/src/cmd/bhyve/common/pci_xhci.c
369
pci_xhci_reset_slot(sc, i);
usr/src/cmd/bhyve/common/pci_xhci.c
374
pci_xhci_usbcmd_write(struct pci_xhci_softc *sc, uint32_t cmd)
usr/src/cmd/bhyve/common/pci_xhci.c
380
do_intr = (sc->opregs.usbcmd & XHCI_CMD_RS) == 0;
usr/src/cmd/bhyve/common/pci_xhci.c
382
sc->opregs.usbcmd |= XHCI_CMD_RS;
usr/src/cmd/bhyve/common/pci_xhci.c
383
sc->opregs.usbsts &= ~XHCI_STS_HCH;
usr/src/cmd/bhyve/common/pci_xhci.c
384
sc->opregs.usbsts |= XHCI_STS_PCD;
usr/src/cmd/bhyve/common/pci_xhci.c
393
if ((dev = XHCI_DEVINST_PTR(sc, i)) == NULL)
usr/src/cmd/bhyve/common/pci_xhci.c
396
port = XHCI_PORTREG_PTR(sc, i);
usr/src/cmd/bhyve/common/pci_xhci.c
415
if (pci_xhci_insert_event(sc, &evtrb, 0) !=
usr/src/cmd/bhyve/common/pci_xhci.c
420
sc->opregs.usbcmd &= ~XHCI_CMD_RS;
usr/src/cmd/bhyve/common/pci_xhci.c
421
sc->opregs.usbsts |= XHCI_STS_HCH;
usr/src/cmd/bhyve/common/pci_xhci.c
422
sc->opregs.usbsts &= ~XHCI_STS_PCD;
usr/src/cmd/bhyve/common/pci_xhci.c
426
cmd |= sc->opregs.usbcmd & XHCI_CMD_RS;
usr/src/cmd/bhyve/common/pci_xhci.c
430
pci_xhci_reset(sc);
usr/src/cmd/bhyve/common/pci_xhci.c
437
pci_xhci_assert_interrupt(sc);
usr/src/cmd/bhyve/common/pci_xhci.c
443
pci_xhci_portregs_write(struct pci_xhci_softc *sc, uint64_t offset,
usr/src/cmd/bhyve/common/pci_xhci.c
451
if (sc->portregs == NULL)
usr/src/cmd/bhyve/common/pci_xhci.c
468
if (XHCI_DEVINST_PTR(sc, port) == NULL) {
usr/src/cmd/bhyve/common/pci_xhci.c
473
p = XHCI_PORTREG_PTR(sc, port);
usr/src/cmd/bhyve/common/pci_xhci.c
478
pci_xhci_reset_port(sc, port, value & XHCI_PS_WPR);
usr/src/cmd/bhyve/common/pci_xhci.c
500
if (XHCI_DEVINST_PTR(sc, port))
usr/src/cmd/bhyve/common/pci_xhci.c
544
pci_xhci_insert_event(sc, &evtrb, 1);
usr/src/cmd/bhyve/common/pci_xhci.c
579
pci_xhci_get_dev_ctx(struct pci_xhci_softc *sc, uint32_t slot)
usr/src/cmd/bhyve/common/pci_xhci.c
585
assert(XHCI_SLOTDEV_PTR(sc, slot) != NULL);
usr/src/cmd/bhyve/common/pci_xhci.c
586
assert(sc->opregs.dcbaa_p != NULL);
usr/src/cmd/bhyve/common/pci_xhci.c
588
devctx_addr = sc->opregs.dcbaa_p->dcba[slot];
usr/src/cmd/bhyve/common/pci_xhci.c
597
devctx = XHCI_GADDR(sc, devctx_addr & ~0x3FUL);
usr/src/cmd/bhyve/common/pci_xhci.c
603
pci_xhci_trb_next(struct pci_xhci_softc *sc, struct xhci_trb *curtrb,
usr/src/cmd/bhyve/common/pci_xhci.c
614
next = XHCI_GADDR(sc, curtrb->qwTrb0 & ~0xFUL);
usr/src/cmd/bhyve/common/pci_xhci.c
626
pci_xhci_assert_interrupt(struct pci_xhci_softc *sc)
usr/src/cmd/bhyve/common/pci_xhci.c
629
sc->rtsregs.intrreg.erdp |= XHCI_ERDP_LO_BUSY;
usr/src/cmd/bhyve/common/pci_xhci.c
630
sc->rtsregs.intrreg.iman |= XHCI_IMAN_INTR_PEND;
usr/src/cmd/bhyve/common/pci_xhci.c
631
sc->opregs.usbsts |= XHCI_STS_EINT;
usr/src/cmd/bhyve/common/pci_xhci.c
634
if ((sc->opregs.usbcmd & XHCI_CMD_INTE) &&
usr/src/cmd/bhyve/common/pci_xhci.c
635
(sc->rtsregs.intrreg.iman & XHCI_IMAN_INTR_ENA)) {
usr/src/cmd/bhyve/common/pci_xhci.c
636
if (pci_msi_enabled(sc->xsc_pi))
usr/src/cmd/bhyve/common/pci_xhci.c
637
pci_generate_msi(sc->xsc_pi, 0);
usr/src/cmd/bhyve/common/pci_xhci.c
639
pci_lintr_assert(sc->xsc_pi);
usr/src/cmd/bhyve/common/pci_xhci.c
644
pci_xhci_deassert_interrupt(struct pci_xhci_softc *sc)
usr/src/cmd/bhyve/common/pci_xhci.c
647
if (!pci_msi_enabled(sc->xsc_pi))
usr/src/cmd/bhyve/common/pci_xhci.c
648
pci_lintr_assert(sc->xsc_pi);
usr/src/cmd/bhyve/common/pci_xhci.c
722
pci_xhci_reset_slot(struct pci_xhci_softc *sc, int slot)
usr/src/cmd/bhyve/common/pci_xhci.c
726
dev = XHCI_SLOTDEV_PTR(sc, slot);
usr/src/cmd/bhyve/common/pci_xhci.c
738
pci_xhci_insert_event(struct pci_xhci_softc *sc, struct xhci_trb *evtrb,
usr/src/cmd/bhyve/common/pci_xhci.c
749
rts = &sc->rtsregs;
usr/src/cmd/bhyve/common/pci_xhci.c
814
pci_xhci_assert_interrupt(sc);
usr/src/cmd/bhyve/common/pci_xhci.c
820
pci_xhci_cmd_enable_slot(struct pci_xhci_softc *sc, uint32_t *slot)
usr/src/cmd/bhyve/common/pci_xhci.c
827
if (sc->portregs != NULL)
usr/src/cmd/bhyve/common/pci_xhci.c
829
dev = XHCI_SLOTDEV_PTR(sc, i);
usr/src/cmd/bhyve/common/pci_xhci.c
846
pci_xhci_cmd_disable_slot(struct pci_xhci_softc *sc, uint32_t slot)
usr/src/cmd/bhyve/common/pci_xhci.c
853
if (sc->portregs == NULL) {
usr/src/cmd/bhyve/common/pci_xhci.c
862
dev = XHCI_SLOTDEV_PTR(sc, slot);
usr/src/cmd/bhyve/common/pci_xhci.c
878
pci_xhci_cmd_reset_device(struct pci_xhci_softc *sc, uint32_t slot)
usr/src/cmd/bhyve/common/pci_xhci.c
886
if (sc->portregs == NULL) {
usr/src/cmd/bhyve/common/pci_xhci.c
897
dev = XHCI_SLOTDEV_PTR(sc, slot);
usr/src/cmd/bhyve/common/pci_xhci.c
904
dev_ctx = pci_xhci_get_dev_ctx(sc, slot);
usr/src/cmd/bhyve/common/pci_xhci.c
927
pci_xhci_reset_slot(sc, slot);
usr/src/cmd/bhyve/common/pci_xhci.c
934
pci_xhci_cmd_address_device(struct pci_xhci_softc *sc, uint32_t slot,
usr/src/cmd/bhyve/common/pci_xhci.c
944
input_ctx = XHCI_GADDR(sc, trb->qwTrb0 & ~0xFUL);
usr/src/cmd/bhyve/common/pci_xhci.c
970
dev_ctx = pci_xhci_get_dev_ctx(sc, slot);
usr/src/cmd/bhyve/common/pci_xhci.c
981
dev = XHCI_SLOTDEV_PTR(sc, slot);
usr/src/cmd/bhyve/common/tpm_emul.h
19
int (*init)(void **sc, nvlist_t *nvl);
usr/src/cmd/bhyve/common/tpm_emul.h
20
void (*deinit)(void *sc);
usr/src/cmd/bhyve/common/tpm_emul.h
21
int (*execute_cmd)(void *sc, void *cmd, uint32_t cmd_size, void *rsp,
usr/src/cmd/bhyve/common/tpm_emul_passthru.c
103
tpm = sc;
usr/src/cmd/bhyve/common/tpm_emul_passthru.c
36
tpm_passthru_init(void **sc, nvlist_t *nvl)
usr/src/cmd/bhyve/common/tpm_emul_passthru.c
61
*sc = tpm;
usr/src/cmd/bhyve/common/tpm_emul_passthru.c
68
tpm_passthru_execute_cmd(void *sc, void *cmd, uint32_t cmd_size, void *rsp,
usr/src/cmd/bhyve/common/tpm_emul_passthru.c
79
tpm = sc;
usr/src/cmd/bhyve/common/tpm_emul_passthru.c
99
tpm_passthru_deinit(void *sc)
usr/src/cmd/bhyve/common/tpm_emul_swtpm.c
147
tpm_swtpm_deinit(void *sc)
usr/src/cmd/bhyve/common/tpm_emul_swtpm.c
151
tpm = sc;
usr/src/cmd/bhyve/common/tpm_emul_swtpm.c
40
tpm_swtpm_init(void **sc, nvlist_t *nvl)
usr/src/cmd/bhyve/common/tpm_emul_swtpm.c
75
*sc = tpm;
usr/src/cmd/bhyve/common/tpm_emul_swtpm.c
81
tpm_swtpm_execute_cmd(void *sc, void *cmd, uint32_t cmd_size, void *rsp,
usr/src/cmd/bhyve/common/tpm_emul_swtpm.c
92
tpm = sc;
usr/src/cmd/bhyve/common/tpm_intf.h
35
int (*init)(void **sc, struct tpm_emul *emul, void *emul_sc,
usr/src/cmd/bhyve/common/tpm_intf.h
37
void (*deinit)(void *sc);
usr/src/cmd/bhyve/common/tpm_intf.h
38
int (*build_acpi_table)(void *sc, struct vmctx *vm_ctx);
usr/src/cmd/bhyve/common/tpm_intf_crb.c
470
tpm_crb_init(void **sc, struct tpm_emul *emul, void *emul_sc,
usr/src/cmd/bhyve/common/tpm_intf_crb.c
476
assert(sc != NULL);
usr/src/cmd/bhyve/common/tpm_intf_crb.c
555
*sc = crb;
usr/src/cmd/bhyve/common/tpm_intf_crb.c
566
tpm_crb_deinit(void *sc)
usr/src/cmd/bhyve/common/tpm_intf_crb.c
571
if (sc == NULL) {
usr/src/cmd/bhyve/common/tpm_intf_crb.c
575
crb = sc;
usr/src/cmd/bhyve/common/tpm_intf_crb.c
591
tpm_crb_build_acpi_table(void *sc __unused, struct vmctx *vm_ctx)
usr/src/cmd/bhyve/common/tpm_ppi.h
15
int (*init)(void **sc);
usr/src/cmd/bhyve/common/tpm_ppi.h
16
void (*deinit)(void *sc);
usr/src/cmd/bhyve/common/tpm_ppi.h
17
int (*write_dsdt_regions)(void *sc);
usr/src/cmd/bhyve/common/tpm_ppi.h
18
int (*write_dsdt_dsm)(void *sc);
usr/src/cmd/bhyve/common/tpm_ppi_qemu.c
147
*sc = ppi;
usr/src/cmd/bhyve/common/tpm_ppi_qemu.c
159
tpm_ppi_deinit(void *sc)
usr/src/cmd/bhyve/common/tpm_ppi_qemu.c
164
if (sc == NULL)
usr/src/cmd/bhyve/common/tpm_ppi_qemu.c
167
ppi = sc;
usr/src/cmd/bhyve/common/tpm_ppi_qemu.c
176
tpm_ppi_write_dsdt_regions(void *sc __unused)
usr/src/cmd/bhyve/common/tpm_ppi_qemu.c
226
tpm_ppi_write_dsdt_dsm(void *sc __unused)
usr/src/cmd/bhyve/common/tpm_ppi_qemu.c
97
tpm_ppi_init(void **sc)
usr/src/cmd/bhyve/common/uart_backend.c
140
sockwrite(struct uart_softc *sc, unsigned char wb)
usr/src/cmd/bhyve/common/uart_backend.c
142
(void) write(sc->usc_sock.clifd, &wb, 1);
usr/src/cmd/bhyve/common/uart_backend.c
147
rxfifo_available(struct uart_softc *sc)
usr/src/cmd/bhyve/common/uart_backend.c
149
return (sc->rxfifo.num < sc->rxfifo.size);
usr/src/cmd/bhyve/common/uart_backend.c
153
uart_rxfifo_getchar(struct uart_softc *sc)
usr/src/cmd/bhyve/common/uart_backend.c
159
fifo = &sc->rxfifo;
usr/src/cmd/bhyve/common/uart_backend.c
161
if (!rxfifo_available(sc))
usr/src/cmd/bhyve/common/uart_backend.c
167
if (sc->tty.opened) {
usr/src/cmd/bhyve/common/uart_backend.c
168
error = mevent_enable(sc->mev);
usr/src/cmd/bhyve/common/uart_backend.c
172
if (sc->usc_sock.sock && sc->usc_sock.clifd != -1) {
usr/src/cmd/bhyve/common/uart_backend.c
173
error = mevent_enable(sc->mev);
usr/src/cmd/bhyve/common/uart_backend.c
184
uart_rxfifo_numchars(struct uart_softc *sc)
usr/src/cmd/bhyve/common/uart_backend.c
186
return (sc->rxfifo.num);
usr/src/cmd/bhyve/common/uart_backend.c
190
rxfifo_putchar(struct uart_softc *sc, uint8_t ch)
usr/src/cmd/bhyve/common/uart_backend.c
195
fifo = &sc->rxfifo;
usr/src/cmd/bhyve/common/uart_backend.c
201
if (!rxfifo_available(sc)) {
usr/src/cmd/bhyve/common/uart_backend.c
202
if (sc->tty.opened) {
usr/src/cmd/bhyve/common/uart_backend.c
206
error = mevent_disable(sc->mev);
usr/src/cmd/bhyve/common/uart_backend.c
210
if (sc->usc_sock.sock && sc->usc_sock.clifd != -1) {
usr/src/cmd/bhyve/common/uart_backend.c
214
error = mevent_disable(sc->mev);
usr/src/cmd/bhyve/common/uart_backend.c
225
uart_rxfifo_drain(struct uart_softc *sc, bool loopback)
usr/src/cmd/bhyve/common/uart_backend.c
230
(void)ttyread(&sc->tty);
usr/src/cmd/bhyve/common/uart_backend.c
232
while (rxfifo_available(sc) &&
usr/src/cmd/bhyve/common/uart_backend.c
233
((ch = ttyread(&sc->tty)) != -1))
usr/src/cmd/bhyve/common/uart_backend.c
234
rxfifo_putchar(sc, ch);
usr/src/cmd/bhyve/common/uart_backend.c
240
uart_rxfifo_sock_drain(struct uart_softc *sc, bool loopback)
usr/src/cmd/bhyve/common/uart_backend.c
245
(void) read(sc->usc_sock.clifd, &ch, 1);
usr/src/cmd/bhyve/common/uart_backend.c
249
while (rxfifo_available(sc)) {
usr/src/cmd/bhyve/common/uart_backend.c
252
res = read(sc->usc_sock.clifd, &ch, 1);
usr/src/cmd/bhyve/common/uart_backend.c
263
rxfifo_putchar(sc, ch);
usr/src/cmd/bhyve/common/uart_backend.c
268
(void) shutdown(sc->usc_sock.clifd, SHUT_RDWR);
usr/src/cmd/bhyve/common/uart_backend.c
269
mevent_delete_close(sc->mev);
usr/src/cmd/bhyve/common/uart_backend.c
270
sc->mev = NULL;
usr/src/cmd/bhyve/common/uart_backend.c
271
sc->usc_sock.clifd = -1;
usr/src/cmd/bhyve/common/uart_backend.c
278
uart_rxfifo_putchar(struct uart_softc *sc, uint8_t ch, bool loopback)
usr/src/cmd/bhyve/common/uart_backend.c
281
return (rxfifo_putchar(sc, ch));
usr/src/cmd/bhyve/common/uart_backend.c
282
} else if (sc->tty.opened) {
usr/src/cmd/bhyve/common/uart_backend.c
283
ttywrite(&sc->tty, ch);
usr/src/cmd/bhyve/common/uart_backend.c
286
} else if (sc->usc_sock.sock) {
usr/src/cmd/bhyve/common/uart_backend.c
287
sockwrite(sc, ch);
usr/src/cmd/bhyve/common/uart_backend.c
297
uart_rxfifo_reset(struct uart_softc *sc, int size)
usr/src/cmd/bhyve/common/uart_backend.c
304
fifo = &sc->rxfifo;
usr/src/cmd/bhyve/common/uart_backend.c
308
if (sc->tty.opened) {
usr/src/cmd/bhyve/common/uart_backend.c
313
nread = read(sc->tty.rfd, flushbuf, sizeof(flushbuf));
usr/src/cmd/bhyve/common/uart_backend.c
322
error = mevent_enable(sc->mev);
usr/src/cmd/bhyve/common/uart_backend.c
326
if (sc->usc_sock.sock && sc->usc_sock.clifd != -1) {
usr/src/cmd/bhyve/common/uart_backend.c
329
nread = read(sc->usc_sock.clifd, flushbuf,
usr/src/cmd/bhyve/common/uart_backend.c
334
error = mevent_enable(sc->mev);
usr/src/cmd/bhyve/common/uart_backend.c
341
uart_rxfifo_size(struct uart_softc *sc __unused)
usr/src/cmd/bhyve/common/uart_backend.c
348
uart_rxfifo_snapshot(struct uart_softc *sc, struct vm_snapshot_meta *meta)
usr/src/cmd/bhyve/common/uart_backend.c
352
SNAPSHOT_VAR_OR_LEAVE(sc->rxfifo.rindex, meta, ret, done);
usr/src/cmd/bhyve/common/uart_backend.c
353
SNAPSHOT_VAR_OR_LEAVE(sc->rxfifo.windex, meta, ret, done);
usr/src/cmd/bhyve/common/uart_backend.c
354
SNAPSHOT_VAR_OR_LEAVE(sc->rxfifo.num, meta, ret, done);
usr/src/cmd/bhyve/common/uart_backend.c
355
SNAPSHOT_VAR_OR_LEAVE(sc->rxfifo.size, meta, ret, done);
usr/src/cmd/bhyve/common/uart_backend.c
356
SNAPSHOT_BUF_OR_LEAVE(sc->rxfifo.buf, sizeof(sc->rxfifo.buf),
usr/src/cmd/bhyve/common/uart_backend.c
365
uart_stdio_backend(struct uart_softc *sc)
usr/src/cmd/bhyve/common/uart_backend.c
375
sc->tty.rfd = STDIN_FILENO;
usr/src/cmd/bhyve/common/uart_backend.c
376
sc->tty.wfd = STDOUT_FILENO;
usr/src/cmd/bhyve/common/uart_backend.c
377
sc->tty.opened = true;
usr/src/cmd/bhyve/common/uart_backend.c
379
if (fcntl(sc->tty.rfd, F_SETFL, O_NONBLOCK) != 0)
usr/src/cmd/bhyve/common/uart_backend.c
381
if (fcntl(sc->tty.wfd, F_SETFL, O_NONBLOCK) != 0)
usr/src/cmd/bhyve/common/uart_backend.c
386
if (caph_rights_limit(sc->tty.rfd, &rights) == -1)
usr/src/cmd/bhyve/common/uart_backend.c
388
if (caph_ioctls_limit(sc->tty.rfd, cmds, nitems(cmds)) == -1)
usr/src/cmd/bhyve/common/uart_backend.c
398
uart_tty_backend(struct uart_softc *sc, const char *path)
usr/src/cmd/bhyve/common/uart_backend.c
415
sc->tty.rfd = sc->tty.wfd = fd;
usr/src/cmd/bhyve/common/uart_backend.c
416
sc->tty.opened = true;
usr/src/cmd/bhyve/common/uart_backend.c
433
struct uart_softc *sc = arg;
usr/src/cmd/bhyve/common/uart_backend.c
436
connfd = accept(sc->usc_sock.servfd, NULL, NULL);
usr/src/cmd/bhyve/common/uart_backend.c
445
pthread_mutex_lock(&sc->mtx);
usr/src/cmd/bhyve/common/uart_backend.c
447
if (sc->usc_sock.clifd != -1) {
usr/src/cmd/bhyve/common/uart_backend.c
458
sc->usc_sock.clifd = connfd;
usr/src/cmd/bhyve/common/uart_backend.c
459
sc->mev = mevent_add(sc->usc_sock.clifd, EVF_READ,
usr/src/cmd/bhyve/common/uart_backend.c
460
sc->usc_sock.drain, sc->usc_sock.drainarg);
usr/src/cmd/bhyve/common/uart_backend.c
464
pthread_mutex_unlock(&sc->mtx);
usr/src/cmd/bhyve/common/uart_backend.c
511
uart_sock_backend(struct uart_softc *sc, const char *inopts,
usr/src/cmd/bhyve/common/uart_backend.c
541
sc->usc_sock.clifd = -1;
usr/src/cmd/bhyve/common/uart_backend.c
542
if ((sc->usc_sock.servfd = init_sock(path)) == -1) {
usr/src/cmd/bhyve/common/uart_backend.c
546
sc->usc_sock.sock = true;
usr/src/cmd/bhyve/common/uart_backend.c
547
sc->tty.rfd = sc->tty.wfd = -1;
usr/src/cmd/bhyve/common/uart_backend.c
548
sc->usc_sock.servmev = mevent_add(sc->usc_sock.servfd, EVF_READ,
usr/src/cmd/bhyve/common/uart_backend.c
549
uart_sock_accept, sc);
usr/src/cmd/bhyve/common/uart_backend.c
550
assert(sc->usc_sock.servmev != NULL);
usr/src/cmd/bhyve/common/uart_backend.c
552
sc->usc_sock.drain = drain;
usr/src/cmd/bhyve/common/uart_backend.c
553
sc->usc_sock.drainarg = drainarg;
usr/src/cmd/bhyve/common/uart_backend.c
563
struct uart_softc *sc = calloc(1, sizeof(struct uart_softc));
usr/src/cmd/bhyve/common/uart_backend.c
564
if (sc == NULL)
usr/src/cmd/bhyve/common/uart_backend.c
567
pthread_mutex_init(&sc->mtx, NULL);
usr/src/cmd/bhyve/common/uart_backend.c
569
return (sc);
usr/src/cmd/bhyve/common/uart_backend.c
573
uart_tty_open(struct uart_softc *sc, const char *path,
usr/src/cmd/bhyve/common/uart_backend.c
580
return (uart_sock_backend(sc, path, drain, arg));
usr/src/cmd/bhyve/common/uart_backend.c
583
retval = uart_stdio_backend(sc);
usr/src/cmd/bhyve/common/uart_backend.c
585
retval = uart_tty_backend(sc, path);
usr/src/cmd/bhyve/common/uart_backend.c
587
ttyopen(&sc->tty);
usr/src/cmd/bhyve/common/uart_backend.c
588
sc->mev = mevent_add(sc->tty.rfd, EVF_READ, drain, arg);
usr/src/cmd/bhyve/common/uart_backend.c
589
assert(sc->mev != NULL);
usr/src/cmd/bhyve/common/uart_backend.c
596
uart_softc_lock(struct uart_softc *sc)
usr/src/cmd/bhyve/common/uart_backend.c
598
pthread_mutex_lock(&sc->mtx);
usr/src/cmd/bhyve/common/uart_backend.c
602
uart_softc_unlock(struct uart_softc *sc)
usr/src/cmd/bhyve/common/uart_backend.c
604
pthread_mutex_unlock(&sc->mtx);
usr/src/cmd/bhyve/common/uart_backend.h
40
void uart_rxfifo_drain(struct uart_softc *sc, bool loopback);
usr/src/cmd/bhyve/common/uart_backend.h
42
void uart_rxfifo_sock_drain(struct uart_softc *sc, bool loopback);
usr/src/cmd/bhyve/common/uart_backend.h
44
int uart_rxfifo_getchar(struct uart_softc *sc);
usr/src/cmd/bhyve/common/uart_backend.h
45
int uart_rxfifo_numchars(struct uart_softc *sc);
usr/src/cmd/bhyve/common/uart_backend.h
46
int uart_rxfifo_putchar(struct uart_softc *sc, uint8_t ch, bool loopback);
usr/src/cmd/bhyve/common/uart_backend.h
47
void uart_rxfifo_reset(struct uart_softc *sc, int size);
usr/src/cmd/bhyve/common/uart_backend.h
48
int uart_rxfifo_size(struct uart_softc *sc);
usr/src/cmd/bhyve/common/uart_backend.h
51
int uart_tty_open(struct uart_softc *sc, const char *path,
usr/src/cmd/bhyve/common/uart_backend.h
53
void uart_softc_lock(struct uart_softc *sc);
usr/src/cmd/bhyve/common/uart_backend.h
54
void uart_softc_unlock(struct uart_softc *sc);
usr/src/cmd/bhyve/common/uart_emul.c
143
uart_intr_reason(struct uart_ns16550_softc *sc)
usr/src/cmd/bhyve/common/uart_emul.c
146
if ((sc->lsr & LSR_OE) != 0 && (sc->ier & IER_ERLS) != 0)
usr/src/cmd/bhyve/common/uart_emul.c
148
else if (uart_rxfifo_numchars(sc->backend) > 0 &&
usr/src/cmd/bhyve/common/uart_emul.c
149
(sc->ier & IER_ERXRDY) != 0)
usr/src/cmd/bhyve/common/uart_emul.c
151
else if (sc->thre_int_pending && (sc->ier & IER_ETXRDY) != 0)
usr/src/cmd/bhyve/common/uart_emul.c
153
else if ((sc->msr & MSR_DELTA_MASK) != 0 && (sc->ier & IER_EMSC) != 0)
usr/src/cmd/bhyve/common/uart_emul.c
160
uart_reset(struct uart_ns16550_softc *sc)
usr/src/cmd/bhyve/common/uart_emul.c
165
sc->dll = divisor;
usr/src/cmd/bhyve/common/uart_emul.c
167
sc->dlh = divisor >> 16;
usr/src/cmd/bhyve/common/uart_emul.c
169
sc->dlh = 0;
usr/src/cmd/bhyve/common/uart_emul.c
171
sc->msr = modem_status(sc->mcr);
usr/src/cmd/bhyve/common/uart_emul.c
173
uart_rxfifo_reset(sc->backend, 1);
usr/src/cmd/bhyve/common/uart_emul.c
181
uart_toggle_intr(struct uart_ns16550_softc *sc)
usr/src/cmd/bhyve/common/uart_emul.c
185
intr_reason = uart_intr_reason(sc);
usr/src/cmd/bhyve/common/uart_emul.c
188
(*sc->intr_deassert)(sc->arg);
usr/src/cmd/bhyve/common/uart_emul.c
190
(*sc->intr_assert)(sc->arg);
usr/src/cmd/bhyve/common/uart_emul.c
196
struct uart_ns16550_softc *sc;
usr/src/cmd/bhyve/common/uart_emul.c
199
sc = arg;
usr/src/cmd/bhyve/common/uart_emul.c
208
uart_softc_lock(sc->backend);
usr/src/cmd/bhyve/common/uart_emul.c
210
loopback = (sc->mcr & MCR_LOOPBACK) != 0;
usr/src/cmd/bhyve/common/uart_emul.c
211
uart_rxfifo_drain(sc->backend, loopback);
usr/src/cmd/bhyve/common/uart_emul.c
213
uart_toggle_intr(sc);
usr/src/cmd/bhyve/common/uart_emul.c
215
uart_softc_unlock(sc->backend);
usr/src/cmd/bhyve/common/uart_emul.c
222
struct uart_ns16550_softc *sc;
usr/src/cmd/bhyve/common/uart_emul.c
225
sc = arg;
usr/src/cmd/bhyve/common/uart_emul.c
231
uart_softc_lock(sc->backend);
usr/src/cmd/bhyve/common/uart_emul.c
233
loopback = (sc->mcr & MCR_LOOPBACK) != 0;
usr/src/cmd/bhyve/common/uart_emul.c
234
uart_rxfifo_sock_drain(sc->backend, loopback);
usr/src/cmd/bhyve/common/uart_emul.c
236
uart_toggle_intr(sc);
usr/src/cmd/bhyve/common/uart_emul.c
238
uart_softc_unlock(sc->backend);
usr/src/cmd/bhyve/common/uart_emul.c
243
uart_ns16550_write(struct uart_ns16550_softc *sc, int offset, uint8_t value)
usr/src/cmd/bhyve/common/uart_emul.c
248
uart_softc_lock(sc->backend);
usr/src/cmd/bhyve/common/uart_emul.c
253
if ((sc->lcr & LCR_DLAB) != 0) {
usr/src/cmd/bhyve/common/uart_emul.c
255
sc->dll = value;
usr/src/cmd/bhyve/common/uart_emul.c
260
sc->dlh = value;
usr/src/cmd/bhyve/common/uart_emul.c
267
if (uart_rxfifo_putchar(sc->backend, value,
usr/src/cmd/bhyve/common/uart_emul.c
268
(sc->mcr & MCR_LOOPBACK) != 0))
usr/src/cmd/bhyve/common/uart_emul.c
269
sc->lsr |= LSR_OE;
usr/src/cmd/bhyve/common/uart_emul.c
270
sc->thre_int_pending = true;
usr/src/cmd/bhyve/common/uart_emul.c
274
if ((sc->ier & IER_ETXRDY) == 0 && (value & IER_ETXRDY) != 0)
usr/src/cmd/bhyve/common/uart_emul.c
275
sc->thre_int_pending = true;
usr/src/cmd/bhyve/common/uart_emul.c
280
sc->ier = value & 0x0F;
usr/src/cmd/bhyve/common/uart_emul.c
287
if ((sc->fcr & FCR_ENABLE) ^ (value & FCR_ENABLE)) {
usr/src/cmd/bhyve/common/uart_emul.c
289
uart_rxfifo_size(sc->backend) : 1;
usr/src/cmd/bhyve/common/uart_emul.c
290
uart_rxfifo_reset(sc->backend, fifosz);
usr/src/cmd/bhyve/common/uart_emul.c
298
sc->fcr = 0;
usr/src/cmd/bhyve/common/uart_emul.c
301
uart_rxfifo_reset(sc->backend,
usr/src/cmd/bhyve/common/uart_emul.c
302
uart_rxfifo_size(sc->backend));
usr/src/cmd/bhyve/common/uart_emul.c
304
sc->fcr = value &
usr/src/cmd/bhyve/common/uart_emul.c
309
sc->lcr = value;
usr/src/cmd/bhyve/common/uart_emul.c
313
sc->mcr = value & 0x1F;
usr/src/cmd/bhyve/common/uart_emul.c
314
msr = modem_status(sc->mcr);
usr/src/cmd/bhyve/common/uart_emul.c
321
if ((msr & MSR_CTS) ^ (sc->msr & MSR_CTS))
usr/src/cmd/bhyve/common/uart_emul.c
322
sc->msr |= MSR_DCTS;
usr/src/cmd/bhyve/common/uart_emul.c
323
if ((msr & MSR_DSR) ^ (sc->msr & MSR_DSR))
usr/src/cmd/bhyve/common/uart_emul.c
324
sc->msr |= MSR_DDSR;
usr/src/cmd/bhyve/common/uart_emul.c
325
if ((msr & MSR_DCD) ^ (sc->msr & MSR_DCD))
usr/src/cmd/bhyve/common/uart_emul.c
326
sc->msr |= MSR_DDCD;
usr/src/cmd/bhyve/common/uart_emul.c
327
if ((sc->msr & MSR_RI) != 0 && (msr & MSR_RI) == 0)
usr/src/cmd/bhyve/common/uart_emul.c
328
sc->msr |= MSR_TERI;
usr/src/cmd/bhyve/common/uart_emul.c
334
sc->msr &= MSR_DELTA_MASK;
usr/src/cmd/bhyve/common/uart_emul.c
335
sc->msr |= msr;
usr/src/cmd/bhyve/common/uart_emul.c
349
sc->scr = value;
usr/src/cmd/bhyve/common/uart_emul.c
356
uart_toggle_intr(sc);
usr/src/cmd/bhyve/common/uart_emul.c
357
uart_softc_unlock(sc->backend);
usr/src/cmd/bhyve/common/uart_emul.c
361
uart_ns16550_read(struct uart_ns16550_softc *sc, int offset)
usr/src/cmd/bhyve/common/uart_emul.c
365
uart_softc_lock(sc->backend);
usr/src/cmd/bhyve/common/uart_emul.c
370
if ((sc->lcr & LCR_DLAB) != 0) {
usr/src/cmd/bhyve/common/uart_emul.c
372
reg = sc->dll;
usr/src/cmd/bhyve/common/uart_emul.c
377
reg = sc->dlh;
usr/src/cmd/bhyve/common/uart_emul.c
384
reg = uart_rxfifo_getchar(sc->backend);
usr/src/cmd/bhyve/common/uart_emul.c
387
reg = sc->ier;
usr/src/cmd/bhyve/common/uart_emul.c
390
iir = (sc->fcr & FCR_ENABLE) ? IIR_FIFO_MASK : 0;
usr/src/cmd/bhyve/common/uart_emul.c
392
intr_reason = uart_intr_reason(sc);
usr/src/cmd/bhyve/common/uart_emul.c
398
sc->thre_int_pending = false;
usr/src/cmd/bhyve/common/uart_emul.c
405
reg = sc->lcr;
usr/src/cmd/bhyve/common/uart_emul.c
408
reg = sc->mcr;
usr/src/cmd/bhyve/common/uart_emul.c
412
sc->lsr |= LSR_TEMT | LSR_THRE;
usr/src/cmd/bhyve/common/uart_emul.c
415
if (uart_rxfifo_numchars(sc->backend) > 0)
usr/src/cmd/bhyve/common/uart_emul.c
416
sc->lsr |= LSR_RXRDY;
usr/src/cmd/bhyve/common/uart_emul.c
418
sc->lsr &= ~LSR_RXRDY;
usr/src/cmd/bhyve/common/uart_emul.c
420
reg = sc->lsr;
usr/src/cmd/bhyve/common/uart_emul.c
423
sc->lsr &= ~LSR_OE;
usr/src/cmd/bhyve/common/uart_emul.c
429
reg = sc->msr;
usr/src/cmd/bhyve/common/uart_emul.c
430
sc->msr &= ~MSR_DELTA_MASK;
usr/src/cmd/bhyve/common/uart_emul.c
433
reg = sc->scr;
usr/src/cmd/bhyve/common/uart_emul.c
441
uart_toggle_intr(sc);
usr/src/cmd/bhyve/common/uart_emul.c
442
uart_softc_unlock(sc->backend);
usr/src/cmd/bhyve/common/uart_emul.c
465
struct uart_ns16550_softc *sc;
usr/src/cmd/bhyve/common/uart_emul.c
467
sc = calloc(1, sizeof(struct uart_ns16550_softc));
usr/src/cmd/bhyve/common/uart_emul.c
469
sc->arg = arg;
usr/src/cmd/bhyve/common/uart_emul.c
470
sc->intr_assert = intr_assert;
usr/src/cmd/bhyve/common/uart_emul.c
471
sc->intr_deassert = intr_deassert;
usr/src/cmd/bhyve/common/uart_emul.c
472
sc->backend = uart_init();
usr/src/cmd/bhyve/common/uart_emul.c
474
uart_reset(sc);
usr/src/cmd/bhyve/common/uart_emul.c
476
return (sc);
usr/src/cmd/bhyve/common/uart_emul.c
480
uart_ns16550_tty_open(struct uart_ns16550_softc *sc, const char *device)
usr/src/cmd/bhyve/common/uart_emul.c
484
return (uart_tty_open(sc->backend, device, uart_sock_drain,
usr/src/cmd/bhyve/common/uart_emul.c
485
sc));
usr/src/cmd/bhyve/common/uart_emul.c
488
return (uart_tty_open(sc->backend, device, uart_drain, sc));
usr/src/cmd/bhyve/common/uart_emul.h
42
uint8_t uart_ns16550_read(struct uart_ns16550_softc *sc, int offset);
usr/src/cmd/bhyve/common/uart_emul.h
43
void uart_ns16550_write(struct uart_ns16550_softc *sc, int offset,
usr/src/cmd/bhyve/common/uart_emul.h
45
int uart_ns16550_tty_open(struct uart_ns16550_softc *sc,
usr/src/cmd/bhyve/common/usb_emul.h
62
int (*ue_request)(void *sc, struct usb_data_xfer *xfer);
usr/src/cmd/bhyve/common/usb_emul.h
63
int (*ue_data)(void *sc, struct usb_data_xfer *xfer, int dir,
usr/src/cmd/bhyve/common/usb_emul.h
65
int (*ue_reset)(void *sc);
usr/src/cmd/bhyve/common/usb_emul.h
66
int (*ue_remove)(void *sc);
usr/src/cmd/bhyve/common/usb_emul.h
67
int (*ue_stop)(void *sc);
usr/src/cmd/bhyve/common/usb_mouse.c
257
struct umouse_softc *sc;
usr/src/cmd/bhyve/common/usb_mouse.c
266
sc = arg;
usr/src/cmd/bhyve/common/usb_mouse.c
268
pthread_mutex_lock(&sc->mtx);
usr/src/cmd/bhyve/common/usb_mouse.c
270
sc->um_report.buttons = 0;
usr/src/cmd/bhyve/common/usb_mouse.c
271
sc->um_report.z = 0;
usr/src/cmd/bhyve/common/usb_mouse.c
274
sc->um_report.buttons |= 0x01; /* left */
usr/src/cmd/bhyve/common/usb_mouse.c
276
sc->um_report.buttons |= 0x04; /* middle */
usr/src/cmd/bhyve/common/usb_mouse.c
278
sc->um_report.buttons |= 0x02; /* right */
usr/src/cmd/bhyve/common/usb_mouse.c
280
sc->um_report.z = 1;
usr/src/cmd/bhyve/common/usb_mouse.c
282
sc->um_report.z = -1;
usr/src/cmd/bhyve/common/usb_mouse.c
285
sc->um_report.x = MOUSE_MAX_X * x / gc->width;
usr/src/cmd/bhyve/common/usb_mouse.c
286
sc->um_report.y = MOUSE_MAX_Y * y / gc->height;
usr/src/cmd/bhyve/common/usb_mouse.c
287
sc->newdata = 1;
usr/src/cmd/bhyve/common/usb_mouse.c
288
pthread_mutex_unlock(&sc->mtx);
usr/src/cmd/bhyve/common/usb_mouse.c
290
pthread_mutex_lock(&sc->ev_mtx);
usr/src/cmd/bhyve/common/usb_mouse.c
291
sc->hci->hci_intr(sc->hci, UE_DIR_IN | UMOUSE_INTR_ENDPT);
usr/src/cmd/bhyve/common/usb_mouse.c
292
pthread_mutex_unlock(&sc->ev_mtx);
usr/src/cmd/bhyve/common/usb_mouse.c
298
struct umouse_softc *sc;
usr/src/cmd/bhyve/common/usb_mouse.c
300
sc = calloc(1, sizeof(struct umouse_softc));
usr/src/cmd/bhyve/common/usb_mouse.c
301
sc->hci = hci;
usr/src/cmd/bhyve/common/usb_mouse.c
303
sc->hid.protocol = 1; /* REPORT protocol */
usr/src/cmd/bhyve/common/usb_mouse.c
304
pthread_mutex_init(&sc->mtx, NULL);
usr/src/cmd/bhyve/common/usb_mouse.c
305
pthread_mutex_init(&sc->ev_mtx, NULL);
usr/src/cmd/bhyve/common/usb_mouse.c
307
console_ptr_register(umouse_event, sc, 10);
usr/src/cmd/bhyve/common/usb_mouse.c
309
return (sc);
usr/src/cmd/bhyve/common/usb_mouse.c
317
struct umouse_softc *sc;
usr/src/cmd/bhyve/common/usb_mouse.c
329
sc = scarg;
usr/src/cmd/bhyve/common/usb_mouse.c
349
DPRINTF(("umouse_request: port %d", sc->hci->hci_port));
usr/src/cmd/bhyve/common/usb_mouse.c
359
sc->hci->hci_port, xfer->ureq->bmRequestType,
usr/src/cmd/bhyve/common/usb_mouse.c
525
if (sc->hid.feature == UF_DEVICE_REMOTE_WAKEUP)
usr/src/cmd/bhyve/common/usb_mouse.c
566
sc->hid.feature = 0;
usr/src/cmd/bhyve/common/usb_mouse.c
572
sc->hid.feature = UF_DEVICE_REMOTE_WAKEUP;
usr/src/cmd/bhyve/common/usb_mouse.c
607
if ((value >> 8) == 0x01 && len >= sizeof(sc->um_report)) {
usr/src/cmd/bhyve/common/usb_mouse.c
610
if (len > sizeof(sc->um_report)) {
usr/src/cmd/bhyve/common/usb_mouse.c
611
data->blen = len - sizeof(sc->um_report);
usr/src/cmd/bhyve/common/usb_mouse.c
612
len = sizeof(sc->um_report);
usr/src/cmd/bhyve/common/usb_mouse.c
616
memcpy(data->buf, &sc->um_report, len);
usr/src/cmd/bhyve/common/usb_mouse.c
629
*udata = sc->hid.idle;
usr/src/cmd/bhyve/common/usb_mouse.c
640
*udata = sc->hid.protocol;
usr/src/cmd/bhyve/common/usb_mouse.c
652
sc->hid.idle = UGETW(xfer->ureq->wValue) >> 8;
usr/src/cmd/bhyve/common/usb_mouse.c
654
sc->hid.idle));
usr/src/cmd/bhyve/common/usb_mouse.c
658
sc->hid.protocol = UGETW(xfer->ureq->wValue) >> 8;
usr/src/cmd/bhyve/common/usb_mouse.c
660
sc->hid.protocol));
usr/src/cmd/bhyve/common/usb_mouse.c
693
struct umouse_softc *sc;
usr/src/cmd/bhyve/common/usb_mouse.c
732
sc = scarg;
usr/src/cmd/bhyve/common/usb_mouse.c
736
pthread_mutex_lock(&sc->mtx);
usr/src/cmd/bhyve/common/usb_mouse.c
738
if (!sc->newdata) {
usr/src/cmd/bhyve/common/usb_mouse.c
741
pthread_mutex_unlock(&sc->mtx);
usr/src/cmd/bhyve/common/usb_mouse.c
745
if (sc->polling) {
usr/src/cmd/bhyve/common/usb_mouse.c
748
pthread_mutex_unlock(&sc->mtx);
usr/src/cmd/bhyve/common/usb_mouse.c
751
sc->polling = 1;
usr/src/cmd/bhyve/common/usb_mouse.c
754
sc->newdata = 0;
usr/src/cmd/bhyve/common/usb_mouse.c
758
memcpy(udata, &sc->um_report, 6);
usr/src/cmd/bhyve/common/usb_mouse.c
764
sc->polling = 0;
usr/src/cmd/bhyve/common/usb_mouse.c
765
pthread_mutex_unlock(&sc->mtx);
usr/src/cmd/bhyve/common/usb_mouse.c
778
struct umouse_softc *sc;
usr/src/cmd/bhyve/common/usb_mouse.c
780
sc = scarg;
usr/src/cmd/bhyve/common/usb_mouse.c
782
sc->newdata = 0;
usr/src/cmd/cmd-inet/usr.bin/rdist/docmd.c
170
struct subcmd *sc;
usr/src/cmd/cmd-inet/usr.bin/rdist/docmd.c
207
for (sc = cmds; sc != NULL; sc = sc->sc_next) {
usr/src/cmd/cmd-inet/usr.bin/rdist/docmd.c
208
if (sc->sc_type != INSTALL)
usr/src/cmd/cmd-inet/usr.bin/rdist/docmd.c
211
install(f->n_name, sc->sc_name,
usr/src/cmd/cmd-inet/usr.bin/rdist/docmd.c
212
sc->sc_name == NULL ? 0 : ddir, sc->sc_options);
usr/src/cmd/cmd-inet/usr.bin/rdist/docmd.c
213
opts = sc->sc_options;
usr/src/cmd/cmd-inet/usr.bin/rdist/docmd.c
224
for (sc = cmds; sc != NULL; sc = sc->sc_next)
usr/src/cmd/cmd-inet/usr.bin/rdist/docmd.c
225
if (sc->sc_type == NOTIFY)
usr/src/cmd/cmd-inet/usr.bin/rdist/docmd.c
226
notify(Tmpfile, rhost, sc->sc_args, 0);
usr/src/cmd/cmd-inet/usr.bin/rdist/docmd.c
502
struct subcmd *sc;
usr/src/cmd/cmd-inet/usr.bin/rdist/docmd.c
550
for (sc = cmds; sc != NULL; sc = sc->sc_next)
usr/src/cmd/cmd-inet/usr.bin/rdist/docmd.c
551
if (sc->sc_type == NOTIFY)
usr/src/cmd/cmd-inet/usr.bin/rdist/docmd.c
552
notify(Tmpfile, NULL, sc->sc_args, lastmod);
usr/src/cmd/cmd-inet/usr.bin/rdist/docmd.c
743
struct subcmd *sc;
usr/src/cmd/cmd-inet/usr.bin/rdist/docmd.c
749
for (sc = subcmds; sc != NULL; sc = sc->sc_next) {
usr/src/cmd/cmd-inet/usr.bin/rdist/docmd.c
750
if (sc->sc_type != EXCEPT && sc->sc_type != PATTERN)
usr/src/cmd/cmd-inet/usr.bin/rdist/docmd.c
752
for (nl = sc->sc_args; nl != NULL; nl = nl->n_next) {
usr/src/cmd/cmd-inet/usr.bin/rdist/docmd.c
753
if (sc->sc_type == EXCEPT) {
usr/src/cmd/cmd-inet/usr.bin/rdist/gram.y
533
register struct subcmd *sc;
usr/src/cmd/cmd-inet/usr.bin/rdist/gram.y
535
sc = ALLOC(subcmd);
usr/src/cmd/cmd-inet/usr.bin/rdist/gram.y
536
if (sc == NULL)
usr/src/cmd/cmd-inet/usr.bin/rdist/gram.y
538
sc->sc_type = type;
usr/src/cmd/cmd-inet/usr.bin/rdist/gram.y
539
sc->sc_args = NULL;
usr/src/cmd/cmd-inet/usr.bin/rdist/gram.y
540
sc->sc_next = NULL;
usr/src/cmd/cmd-inet/usr.bin/rdist/gram.y
541
sc->sc_name = NULL;
usr/src/cmd/cmd-inet/usr.bin/rdist/gram.y
542
return(sc);
usr/src/cmd/cmd-inet/usr.bin/rdist/server.c
315
struct subcmd *sc;
usr/src/cmd/cmd-inet/usr.bin/rdist/server.c
538
for (sc = subcmds; sc != NULL; sc = sc->sc_next) {
usr/src/cmd/cmd-inet/usr.bin/rdist/server.c
539
if (sc->sc_type != SPECIAL)
usr/src/cmd/cmd-inet/usr.bin/rdist/server.c
541
if (sc->sc_args != NULL && !inlist(sc->sc_args, target))
usr/src/cmd/cmd-inet/usr.bin/rdist/server.c
543
log(lfp, "special \"%s\"\n", sc->sc_name);
usr/src/cmd/cmd-inet/usr.bin/rdist/server.c
547
sc->sc_name);
usr/src/cmd/cmd-inet/usr.bin/telnet/telnet.c
1998
register int sc;
usr/src/cmd/cmd-inet/usr.bin/telnet/telnet.c
2013
c = *tbp++ & 0xff, sc = strip(c), tcc--; count++;
usr/src/cmd/cmd-inet/usr.bin/telnet/telnet.c
2017
if (sc == rlogin) {
usr/src/cmd/cmd-inet/usr.bin/telnet/telnet.c
2023
if (sc == '.' || c == termEofChar) {
usr/src/cmd/cmd-inet/usr.bin/telnet/telnet.c
2028
if (sc == termSuspChar) {
usr/src/cmd/cmd-inet/usr.bin/telnet/telnet.c
2033
if (sc == escape) {
usr/src/cmd/cmd-inet/usr.bin/telnet/telnet.c
2041
if (sc != rlogin) {
usr/src/cmd/cmd-inet/usr.bin/telnet/telnet.c
2045
c = sc = rlogin;
usr/src/cmd/cmd-inet/usr.bin/telnet/telnet.c
2048
if ((sc == '\n') || (sc == '\r'))
usr/src/cmd/cmd-inet/usr.bin/telnet/telnet.c
2050
} else if (sc == escape && escape_valid) {
usr/src/cmd/cmd-inet/usr.bin/telnet/telnet.c
2071
if (kludgelinemode && (globalmode&MODE_EDIT) && (sc == echoc)) {
usr/src/cmd/cmd-inet/usr.bin/telnet/telnet.c
2084
if (TerminalSpecialChars(sc) == 0) {
usr/src/cmd/csh/i386/signal.c
101
if (sc.sc_onstack)
usr/src/cmd/csh/i386/signal.c
105
mask2set(sc.sc_mask, &ucp->uc_sigmask);
usr/src/cmd/csh/i386/signal.c
110
ucp->uc_mcontext.gregs[UESP] = (int) sc.sc_sp;
usr/src/cmd/csh/i386/signal.c
111
ucp->uc_mcontext.gregs[EIP] = (int) sc.sc_pc;
usr/src/cmd/csh/i386/signal.c
112
ucp->uc_mcontext.gregs[EFL] = (int) sc.sc_ps;
usr/src/cmd/csh/i386/signal.c
113
ucp->uc_mcontext.gregs[EAX] = (int) sc.sc_eax;
usr/src/cmd/csh/i386/signal.c
114
ucp->uc_mcontext.gregs[EDX] = (int) sc.sc_edx;
usr/src/cmd/csh/i386/signal.c
67
struct sigcontext sc;
usr/src/cmd/csh/i386/signal.c
73
sc.sc_onstack = ((ucp->uc_stack.ss_flags & SS_ONSTACK) != 0);
usr/src/cmd/csh/i386/signal.c
74
sc.sc_mask = set2mask(&ucp->uc_sigmask);
usr/src/cmd/csh/i386/signal.c
79
sc.sc_sp = (int) ucp->uc_mcontext.gregs[UESP];
usr/src/cmd/csh/i386/signal.c
80
sc.sc_pc = (int) ucp->uc_mcontext.gregs[EIP];
usr/src/cmd/csh/i386/signal.c
81
sc.sc_ps = (int) ucp->uc_mcontext.gregs[EFL];
usr/src/cmd/csh/i386/signal.c
82
sc.sc_eax = (int) ucp->uc_mcontext.gregs[EAX];
usr/src/cmd/csh/i386/signal.c
83
sc.sc_edx = (int) ucp->uc_mcontext.gregs[EDX];
usr/src/cmd/csh/i386/signal.c
99
(*_siguhandler[sig])(sig, code, &sc, addr);
usr/src/cmd/csh/sh.dol.c
349
int c, sc;
usr/src/cmd/csh/sh.dol.c
358
c = sc = DgetC(0);
usr/src/cmd/csh/sh.dol.c
568
if (sc == '{') {
usr/src/cmd/csh/sh.lex.c
385
int sc;
usr/src/cmd/csh/sh.lex.c
392
c = sc = getC(DOEXCL);
usr/src/cmd/csh/sh.lex.c
467
if (sc == '{') {
usr/src/cmd/csh/sh.lex.c
518
getexcl(tchar sc)
usr/src/cmd/csh/sh.lex.c
527
if (sc == 0) {
usr/src/cmd/csh/sh.lex.c
528
sc = getC(0);
usr/src/cmd/csh/sh.lex.c
529
if (sc != '{') {
usr/src/cmd/csh/sh.lex.c
530
ungetC(sc);
usr/src/cmd/csh/sh.lex.c
531
sc = 0;
usr/src/cmd/csh/sh.lex.c
536
hp = gethent(sc);
usr/src/cmd/csh/sh.lex.c
548
if (sc == HISTSUB) {
usr/src/cmd/csh/sh.lex.c
582
if (sc == HISTSUB || c == ':') {
usr/src/cmd/csh/sh.lex.c
589
if (sc == '{') {
usr/src/cmd/csh/sh.lex.c
603
int sc;
usr/src/cmd/csh/sh.lex.c
611
sc = c = getC(0);
usr/src/cmd/csh/sh.lex.c
723
en = dosub(sc, en, global);
usr/src/cmd/csh/sh.lex.c
729
dosub(int sc, struct wordent *en, bool global)
usr/src/cmd/csh/sh.lex.c
750
subword(en->word, sc, &didsub) : savestr(en->word);
usr/src/cmd/csh/sh.lex.c
975
gethent(int sc)
usr/src/cmd/csh/sh.lex.c
986
c = sc == HISTSUB ? HIST : getC(0);
usr/src/cmd/csh/sparc/signal.c
111
(*_siguhandler[sig])(sig, code, &sc, addr);
usr/src/cmd/csh/sparc/signal.c
113
if (sc.sc_onstack)
usr/src/cmd/csh/sparc/signal.c
117
mask2set(sc.sc_mask, &ucp->uc_sigmask);
usr/src/cmd/csh/sparc/signal.c
122
ucp->uc_mcontext.gregs[REG_O6] = sc.sc_sp;
usr/src/cmd/csh/sparc/signal.c
123
ucp->uc_mcontext.gregs[REG_PC] = sc.sc_pc;
usr/src/cmd/csh/sparc/signal.c
124
ucp->uc_mcontext.gregs[REG_nPC] = sc.sc_npc;
usr/src/cmd/csh/sparc/signal.c
125
ucp->uc_mcontext.gregs[REG_PSR] = sc.sc_psr;
usr/src/cmd/csh/sparc/signal.c
126
ucp->uc_mcontext.gregs[REG_G1] = sc.sc_g1;
usr/src/cmd/csh/sparc/signal.c
127
ucp->uc_mcontext.gregs[REG_O0] = sc.sc_o0;
usr/src/cmd/csh/sparc/signal.c
129
ucp->uc_mcontext.gwins->wbcnt = sc.sc_wbcnt;
usr/src/cmd/csh/sparc/signal.c
132
ucp->uc_mcontext.gwins->spbuf[j] = (greg_t *)sc.sc_spbuf[i][j];
usr/src/cmd/csh/sparc/signal.c
134
ucp->uc_mcontext.gwins->wbuf[i].rw_local[j] = sc.sc_wbuf[i][j];
usr/src/cmd/csh/sparc/signal.c
136
ucp->uc_mcontext.gwins->wbuf[i].rw_in[j] = sc.sc_wbuf[i][j+8];
usr/src/cmd/csh/sparc/signal.c
67
struct sigcontext sc;
usr/src/cmd/csh/sparc/signal.c
73
sc.sc_onstack = ((ucp->uc_stack.ss_flags & SS_ONSTACK) != 0);
usr/src/cmd/csh/sparc/signal.c
74
sc.sc_mask = set2mask(&ucp->uc_sigmask);
usr/src/cmd/csh/sparc/signal.c
79
sc.sc_sp = ucp->uc_mcontext.gregs[REG_O6];
usr/src/cmd/csh/sparc/signal.c
80
sc.sc_pc = ucp->uc_mcontext.gregs[REG_PC];
usr/src/cmd/csh/sparc/signal.c
81
sc.sc_npc = ucp->uc_mcontext.gregs[REG_nPC];
usr/src/cmd/csh/sparc/signal.c
82
sc.sc_psr = ucp->uc_mcontext.gregs[REG_PSR];
usr/src/cmd/csh/sparc/signal.c
83
sc.sc_g1 = ucp->uc_mcontext.gregs[REG_G1];
usr/src/cmd/csh/sparc/signal.c
84
sc.sc_o0 = ucp->uc_mcontext.gregs[REG_O0];
usr/src/cmd/csh/sparc/signal.c
87
sc.sc_wbcnt = ucp->uc_mcontext.gwins->wbcnt;
usr/src/cmd/csh/sparc/signal.c
90
sc.sc_spbuf[i][j] = (int)ucp->uc_mcontext.gwins->spbuf[j];
usr/src/cmd/csh/sparc/signal.c
92
sc.sc_wbuf[i][j] = ucp->uc_mcontext.gwins->wbuf[i].rw_local[j];
usr/src/cmd/csh/sparc/signal.c
94
sc.sc_wbuf[i][j+8] = ucp->uc_mcontext.gwins->wbuf[i].rw_in[j];
usr/src/cmd/dc/dc.c
1495
int sc; /* scale */
usr/src/cmd/dc/dc.c
1510
sc = sbackc(hptr); /* read scale off end of blk */
usr/src/cmd/dc/dc.c
1524
oneot(p, sc, 'd');
usr/src/cmd/dc/dc.c
1528
oneot(p, sc, '1');
usr/src/cmd/dc/dc.c
1532
tenot(p, sc);
usr/src/cmd/dc/dc.c
1536
dig = log10 * sc;
usr/src/cmd/dc/dc.c
1538
dec = getdec(p, sc);
usr/src/cmd/dc/dc.c
1539
p = removc(p, sc);
usr/src/cmd/dc/dc.c
1552
if (sc == 0) {
usr/src/cmd/dc/dc.c
1565
dec = getdec(q, sc);
usr/src/cmd/dc/dc.c
1566
p = removc(q, sc);
usr/src/cmd/dc/dc.c
1577
getdec(struct blk *p, int sc)
usr/src/cmd/dc/dc.c
1583
if (length(p) * 2 < sc) {
usr/src/cmd/dc/dc.c
1588
while (sc >= 1) {
usr/src/cmd/dc/dc.c
1590
sc -= 2;
usr/src/cmd/dc/dc.c
1592
if (sc != 0) {
usr/src/cmd/dc/dc.c
1610
tenot(struct blk *p, int sc)
usr/src/cmd/dc/dc.c
1624
while ((sfbeg(p) == 0) && ((p->rd-p->beg-1)*2 >= sc)) {
usr/src/cmd/dc/dc.c
1665
if (sc == 0) {
usr/src/cmd/dc/dc.c
1675
if ((p->rd - p->beg) * 2 > sc) {
usr/src/cmd/dc/dc.c
1690
sc--;
usr/src/cmd/dc/dc.c
1697
if (sc > (p->rd - p->beg) * 2) {
usr/src/cmd/dc/dc.c
1698
while (sc > (p->rd - p->beg) * 2) {
usr/src/cmd/dc/dc.c
1703
sc--;
usr/src/cmd/dc/dc.c
1708
while (sc > 1) {
usr/src/cmd/dc/dc.c
1727
sc -= 2;
usr/src/cmd/dc/dc.c
1730
if (sc == 1) { /* just in case the scaling factor was odd */
usr/src/cmd/dc/dc.c
1740
oneot(struct blk *p, int sc, char ch)
usr/src/cmd/dc/dc.c
1744
q = removc(p, sc);
usr/src/cmd/dc/dc.h
130
void tenot(struct blk *p, int sc);
usr/src/cmd/dc/dc.h
131
void oneot(struct blk *p, int sc, char ch);
usr/src/cmd/fdisk/fdisk.c
2243
uint32_t lba, cy, hd, sc;
usr/src/cmd/fdisk/fdisk.c
2253
sc = MAX_SECT;
usr/src/cmd/fdisk/fdisk.c
2257
sc = lba % hba_sectors + 1;
usr/src/cmd/fdisk/fdisk.c
2261
Table[ti].begsect = (uchar_t)(((cy >> 2) & 0xc0) | sc);
usr/src/cmd/fdisk/fdisk.c
2271
sc = MAX_SECT;
usr/src/cmd/fdisk/fdisk.c
2275
sc = lba % hba_sectors + 1;
usr/src/cmd/fdisk/fdisk.c
2279
Table[ti].endsect = (uchar_t)(((cy >> 2) & 0xc0) | sc);
usr/src/cmd/fm/schemes/mem/mem_read.c
102
for (sidx = 0; sidx < sc->seec_nsegs; sidx++) {
usr/src/cmd/fm/schemes/mem/mem_read.c
104
segp = ((seeprom_seg_t *)(sc + 1)) + sidx;
usr/src/cmd/fm/schemes/mem/mem_read.c
83
seeprom_container_t *sc;
usr/src/cmd/fm/schemes/mem/mem_read.c
90
sc = (seeprom_container_t *)(buf + SEEPROM_OFFSET_RO);
usr/src/cmd/fm/schemes/mem/mem_read.c
95
sc->seec_contsz)
usr/src/cmd/fm/schemes/mem/mem_read.c
98
if (sc->seec_tag == 0 || sc->seec_contsz == 0 ||
usr/src/cmd/fm/schemes/mem/mem_read.c
99
sc->seec_nsegs == 0)
usr/src/cmd/fs.d/smbclnt/smbutil/login.c
68
char sc, *p, *s1, *s2;
usr/src/cmd/fs.d/smbclnt/smbutil/login.c
80
sc = *p; /* Save the sep. char */
usr/src/cmd/fs.d/smbclnt/smbutil/login.c
93
if (sc == '@') {
usr/src/cmd/halt/halt.c
271
scf_scope_t *sc = NULL;
usr/src/cmd/halt/halt.c
302
if ((sc = scf_scope_create(h)) == NULL ||
usr/src/cmd/halt/halt.c
313
if (scf_handle_get_scope(h, SCF_SCOPE_LOCAL, sc) != 0)
usr/src/cmd/halt/halt.c
316
if (scf_iter_scope_services(siter, sc) != 0)
usr/src/cmd/halt/halt.c
365
scf_scope_destroy(sc);
usr/src/cmd/isns/isnsd/config.c
103
if (scf_scope_get_service(sc, ISNS_SERVER_SVC_NAME, svc) == -1) {
usr/src/cmd/isns/isnsd/config.c
276
if (sc != NULL) {
usr/src/cmd/isns/isnsd/config.c
277
scf_scope_destroy(sc);
usr/src/cmd/isns/isnsd/config.c
60
scf_scope_t *sc = NULL;
usr/src/cmd/isns/isnsd/config.c
75
sc = scf_scope_create(handle);
usr/src/cmd/isns/isnsd/config.c
83
if (handle == NULL || sc == NULL || svc == NULL || pg == NULL ||
usr/src/cmd/isns/isnsd/config.c
97
if (scf_handle_get_scope(handle, SCF_SCOPE_LOCAL, sc) == -1) {
usr/src/cmd/krb5/kadmin/dbutil/strtok.c
101
} while (sc != 0);
usr/src/cmd/krb5/kadmin/dbutil/strtok.c
57
register int c, sc;
usr/src/cmd/krb5/kadmin/dbutil/strtok.c
71
for (spanp = delim; (sc = *spanp++) != 0;) {
usr/src/cmd/krb5/kadmin/dbutil/strtok.c
72
if (c == sc)
usr/src/cmd/krb5/kadmin/dbutil/strtok.c
93
if ((sc = *spanp++) == c) {
usr/src/cmd/krb5/krb5kdc/kdc_preauth.c
1862
krb5_sam_challenge sc;
usr/src/cmd/krb5/krb5kdc/kdc_preauth.c
1871
(void) memset(&sc, 0, sizeof(sc));
usr/src/cmd/krb5/krb5kdc/kdc_preauth.c
1895
sc.sam_type = 0;
usr/src/cmd/krb5/krb5kdc/kdc_preauth.c
1917
sc.sam_type = sam_ptr->sam_type;
usr/src/cmd/krb5/krb5kdc/kdc_preauth.c
1929
if (sc.sam_type) {
usr/src/cmd/krb5/krb5kdc/kdc_preauth.c
1966
sc.magic = KV5M_SAM_CHALLENGE;
usr/src/cmd/krb5/krb5kdc/kdc_preauth.c
1967
psr.sam_flags = sc.sam_flags = KRB5_SAM_USE_SAD_AS_KEY;
usr/src/cmd/krb5/krb5kdc/kdc_preauth.c
1977
switch (sc.sam_type) {
usr/src/cmd/krb5/krb5kdc/kdc_preauth.c
1979
sc.sam_type_name.data = "Experimental System";
usr/src/cmd/krb5/krb5kdc/kdc_preauth.c
1980
sc.sam_type_name.length = strlen(sc.sam_type_name.data);
usr/src/cmd/krb5/krb5kdc/kdc_preauth.c
1981
sc.sam_challenge_label.data = "experimental challenge label";
usr/src/cmd/krb5/krb5kdc/kdc_preauth.c
1982
sc.sam_challenge_label.length = strlen(sc.sam_challenge_label.data);
usr/src/cmd/krb5/krb5kdc/kdc_preauth.c
1983
sc.sam_challenge.data = "12345";
usr/src/cmd/krb5/krb5kdc/kdc_preauth.c
1984
sc.sam_challenge.length = strlen(sc.sam_challenge.data);
usr/src/cmd/krb5/krb5kdc/kdc_preauth.c
1987
psr.sam_flags = sc.sam_flags = 0;
usr/src/cmd/krb5/krb5kdc/kdc_preauth.c
1996
if ((retval = krb5_c_string_to_key(context, type, &sc.sam_challenge,
usr/src/cmd/krb5/krb5kdc/kdc_preauth.c
2022
sc.sam_track_id = tmpdata.ciphertext;
usr/src/cmd/krb5/krb5kdc/kdc_preauth.c
2026
sc.sam_response_prompt.data = "response prompt";
usr/src/cmd/krb5/krb5kdc/kdc_preauth.c
2027
sc.sam_response_prompt.length = strlen(sc.sam_response_prompt.data);
usr/src/cmd/krb5/krb5kdc/kdc_preauth.c
2028
sc.sam_pk_for_sad.length = 0;
usr/src/cmd/krb5/krb5kdc/kdc_preauth.c
2029
sc.sam_nonce = 0;
usr/src/cmd/krb5/krb5kdc/kdc_preauth.c
2037
sc.sam_cksum.contents = (krb5_octet *)
usr/src/cmd/krb5/krb5kdc/kdc_preauth.c
2039
if (sc.sam_cksum.contents == NULL) return(ENOMEM);
usr/src/cmd/krb5/krb5kdc/kdc_preauth.c
2042
sc.sam_challenge.data,
usr/src/cmd/krb5/krb5kdc/kdc_preauth.c
2043
sc.sam_challenge.length,
usr/src/cmd/krb5/krb5kdc/kdc_preauth.c
2046
&sc.sam_cksum);
usr/src/cmd/krb5/krb5kdc/kdc_preauth.c
2047
if (retval) { free(sc.sam_cksum.contents); return(retval); }
usr/src/cmd/krb5/krb5kdc/kdc_preauth.c
2050
retval = encode_krb5_sam_challenge(&sc, &scratch);
usr/src/cmd/krb5/krb5kdc/kdc_preauth.c
2060
sc.sam_type_name.data = "Digital Pathways";
usr/src/cmd/krb5/krb5kdc/kdc_preauth.c
2061
sc.sam_type_name.length = strlen(sc.sam_type_name.data);
usr/src/cmd/krb5/krb5kdc/kdc_preauth.c
2063
sc.sam_challenge_label.data = "Enter the following on your keypad";
usr/src/cmd/krb5/krb5kdc/kdc_preauth.c
2064
sc.sam_challenge_label.length = strlen(sc.sam_challenge_label.data);
usr/src/cmd/krb5/krb5kdc/kdc_preauth.c
2104
sc.sam_challenge.data = inputblock;
usr/src/cmd/krb5/krb5kdc/kdc_preauth.c
2105
sc.sam_challenge.length = 6;
usr/src/cmd/krb5/krb5kdc/kdc_preauth.c
2161
sc.sam_challenge_label.data = response;
usr/src/cmd/krb5/krb5kdc/kdc_preauth.c
2162
sc.sam_challenge_label.length = strlen(sc.sam_challenge_label.data);
usr/src/cmd/krb5/krb5kdc/kdc_preauth.c
2197
sc.sam_track_id = tmpdata.ciphertext;
usr/src/cmd/krb5/krb5kdc/kdc_preauth.c
2202
sc.sam_response_prompt.data = "Enter the displayed response";
usr/src/cmd/krb5/krb5kdc/kdc_preauth.c
2203
sc.sam_response_prompt.length = strlen(sc.sam_response_prompt.data);
usr/src/cmd/krb5/krb5kdc/kdc_preauth.c
2204
sc.sam_pk_for_sad.length = 0;
usr/src/cmd/krb5/krb5kdc/kdc_preauth.c
2205
sc.sam_nonce = 0;
usr/src/cmd/krb5/krb5kdc/kdc_preauth.c
2213
sc.sam_cksum.contents = (krb5_octet *)
usr/src/cmd/krb5/krb5kdc/kdc_preauth.c
2215
if (sc.sam_cksum.contents == NULL) return(ENOMEM);
usr/src/cmd/krb5/krb5kdc/kdc_preauth.c
2218
sc.sam_challenge.data,
usr/src/cmd/krb5/krb5kdc/kdc_preauth.c
2219
sc.sam_challenge.length,
usr/src/cmd/krb5/krb5kdc/kdc_preauth.c
2222
&sc.sam_cksum);
usr/src/cmd/krb5/krb5kdc/kdc_preauth.c
2223
if (retval) { free(sc.sam_cksum.contents); return(retval); }
usr/src/cmd/krb5/krb5kdc/kdc_preauth.c
2226
retval = encode_krb5_sam_challenge(&sc, &scratch);
usr/src/cmd/lp/cmd/lpadmin/chkopts.c
802
(void) sprintf(cp, "%.3f%c", sdn.val, sdn.sc);
usr/src/cmd/lp/cmd/lpadmin/do_printer.c
348
prbufp->cpi.sc = 0;
usr/src/cmd/lp/cmd/lpadmin/do_printer.c
354
prbufp->lpi.sc = 0;
usr/src/cmd/lp/cmd/lpadmin/do_printer.c
356
prbufp->plen.sc = 0;
usr/src/cmd/lp/cmd/lpadmin/do_printer.c
361
prbufp->pwid.sc = 0;
usr/src/cmd/lp/cmd/lpadmin/do_printer.c
403
prbufp->cpi.sc = 0;
usr/src/cmd/lp/cmd/lpadmin/do_printer.c
407
prbufp->lpi.sc = 0;
usr/src/cmd/lp/cmd/lpadmin/do_printer.c
409
prbufp->plen.sc = 0;
usr/src/cmd/lp/cmd/lpadmin/do_printer.c
411
prbufp->pwid.sc = 0;
usr/src/cmd/lp/cmd/lpadmin/options.c
665
length_sdn.sc = 0;
usr/src/cmd/lp/cmd/lpadmin/options.c
687
width_sdn.sc = 0;
usr/src/cmd/lp/cmd/lpadmin/options.c
706
cpi_sdn.sc = 0;
usr/src/cmd/lp/cmd/lpadmin/options.c
724
lpi_sdn.sc = 0;
usr/src/cmd/lp/cmd/lpforms.c
591
fbuf.plen.sc = 0;
usr/src/cmd/lp/cmd/lpforms.c
593
fbuf.pwid.sc = 0;
usr/src/cmd/lp/cmd/lpforms.c
595
fbuf.lpi.sc = 0;
usr/src/cmd/lp/cmd/lpforms.c
597
fbuf.cpi.sc = 0;
usr/src/cmd/lp/cmd/lpforms.c
634
fbuf.plen.sc = 0;
usr/src/cmd/lp/cmd/lpforms.c
636
fbuf.pwid.sc = 0;
usr/src/cmd/lp/cmd/lpforms.c
638
fbuf.lpi.sc = 0;
usr/src/cmd/lp/cmd/lpforms.c
640
fbuf.cpi.sc = 0;
usr/src/cmd/lp/cmd/lpsched/fncs.c
600
(sdn.sc == 'c'? "c" : (sdn.sc == 'i'? "i" : ""))
usr/src/cmd/lp/include/lp.h
49
char sc; /* 'i' inches, 'c' centimeters, ' ' lines/cols */
usr/src/cmd/lp/lib/forms/rdform.c
87
formp->plen.sc = 0;
usr/src/cmd/lp/lib/forms/rdform.c
89
formp->pwid.sc = 0;
usr/src/cmd/lp/lib/forms/rdform.c
91
formp->lpi.sc = 0;
usr/src/cmd/lp/lib/forms/rdform.c
93
formp->cpi.sc = 0;
usr/src/cmd/lp/lib/lp/sdn.c
125
if (sdn.sc == 'i' || sdn.sc == 'c')
usr/src/cmd/lp/lib/lp/sdn.c
126
fdputc(sdn.sc, fd);
usr/src/cmd/lp/lib/lp/sdn.c
152
sdn.sc = 0;
usr/src/cmd/lp/lib/lp/sdn.c
158
sdn.sc = 0;
usr/src/cmd/lp/lib/lp/sdn.c
164
sdn.sc = 0;
usr/src/cmd/lp/lib/lp/sdn.c
181
sdn.sc = 0;
usr/src/cmd/lp/lib/lp/sdn.c
187
sdn.sc = *rest++;
usr/src/cmd/lp/lib/lp/sdn.c
194
sdn.sc = 0;
usr/src/cmd/lp/lib/papi/lpsched-printers.c
232
"lpsched-cpi-unit", tmp->cpi.sc);
usr/src/cmd/lp/lib/papi/lpsched-printers.c
236
"lpsched-lpi-unit", tmp->lpi.sc);
usr/src/cmd/lp/lib/papi/lpsched-printers.c
240
"lpsched-plen-unit", tmp->plen.sc);
usr/src/cmd/lp/lib/papi/lpsched-printers.c
244
"lpsched-pwid-unit", tmp->pwid.sc);
usr/src/cmd/mandoc/mdoc_html.c
520
int sc;
usr/src/cmd/mandoc/mdoc_html.c
532
sc = 0;
usr/src/cmd/mandoc/mdoc_html.c
535
if (++sc == 2)
usr/src/cmd/mandoc/mdoc_html.c
537
if (sc < 2)
usr/src/cmd/nscd/nscd_cfgdef.h
365
sc,
usr/src/cmd/nscd/nscd_cfgdef.h
377
sc,
usr/src/cmd/nscd/nscd_cfgdef.h
389
sc,
usr/src/cmd/nscd/nscd_cfgdef.h
97
nscd_cfg_global_selfcred_t sc;
usr/src/cmd/nscd/nscd_config.c
910
nscd_cfg_str_check_t *sc;
usr/src/cmd/nscd/nscd_config.c
922
sc = (nscd_cfg_str_check_t *)desc->p_check;
usr/src/cmd/nscd/nscd_config.c
923
if (sc->must_not_null == nscd_true && data == NULL) {
usr/src/cmd/nscd/nscd_config.c
940
if (sc->maxlen != 0 &&
usr/src/cmd/nscd/nscd_config.c
941
strlen((char *)data) > sc->maxlen) {
usr/src/cmd/nscd/nscd_config.c
949
(char *)data, desc->id.name, sc->maxlen);
usr/src/cmd/nvmeadm/nvmeadm.c
2782
uint32_t sct, sc;
usr/src/cmd/nvmeadm/nvmeadm.c
2788
nvme_ctrl_deverr(npa->npa_ctrl, &sct, &sc);
usr/src/cmd/nvmeadm/nvmeadm.c
2790
sct == NVME_CQE_SCT_GENERIC && sc == NVME_CQE_SC_GEN_INV_FLD) {
usr/src/cmd/nvmeadm/nvmeadm.c
2795
sct == NVME_CQE_SCT_GENERIC && (sc == NVME_CQE_SC_GEN_INV_FLD ||
usr/src/cmd/nvmeadm/nvmeadm.c
2796
sc == NVME_CQE_SC_GEN_INV_NS)) {
usr/src/cmd/nvmeadm/nvmeadm.c
3709
uint32_t sct, sc;
usr/src/cmd/nvmeadm/nvmeadm.c
3711
nvme_ctrl_deverr(npa->npa_ctrl, &sct, &sc);
usr/src/cmd/nvmeadm/nvmeadm.c
3713
sc == NVME_CQE_SC_SPC_FW_RESET ||
usr/src/cmd/nvmeadm/nvmeadm.c
3714
sc == NVME_CQE_SC_SPC_FW_NSSR ||
usr/src/cmd/nvmeadm/nvmeadm.c
3715
sc == NVME_CQE_SC_SPC_FW_NEXT_RESET)) {
usr/src/cmd/nvmeadm/nvmeadm.c
3719
sct, sc));
usr/src/cmd/nvmeadm/nvmeadm_print.c
1902
int sc = elog[i].el_sf.sf_sc;
usr/src/cmd/nvmeadm/nvmeadm_print.c
1910
if (sc < ARRAY_SIZE(generic_status_codes)) {
usr/src/cmd/nvmeadm/nvmeadm_print.c
1911
sc_str = generic_status_codes[sc];
usr/src/cmd/nvmeadm/nvmeadm_print.c
1912
} else if (sc >= 0x80 &&
usr/src/cmd/nvmeadm/nvmeadm_print.c
1913
sc - 0x80 < ARRAY_SIZE(generic_nvm_status_codes)) {
usr/src/cmd/nvmeadm/nvmeadm_print.c
1914
sc_str = generic_nvm_status_codes[sc - 0x80];
usr/src/cmd/nvmeadm/nvmeadm_print.c
1918
if (sc < ARRAY_SIZE(specific_status_codes)) {
usr/src/cmd/nvmeadm/nvmeadm_print.c
1919
sc_str = specific_status_codes[sc];
usr/src/cmd/nvmeadm/nvmeadm_print.c
1920
} else if (sc >= 0x80 &&
usr/src/cmd/nvmeadm/nvmeadm_print.c
1921
sc - 0x80 < ARRAY_SIZE(specific_nvm_status_codes)) {
usr/src/cmd/nvmeadm/nvmeadm_print.c
1922
sc_str = specific_nvm_status_codes[sc - 0x80];
usr/src/cmd/nvmeadm/nvmeadm_print.c
1926
if (sc >= 0x80 &&
usr/src/cmd/nvmeadm/nvmeadm_print.c
1927
sc - 0x80 < ARRAY_SIZE(media_nvm_status_codes)) {
usr/src/cmd/nvmeadm/nvmeadm_print.c
1928
sc_str = media_nvm_status_codes[sc - 0x80];
usr/src/cmd/nvmeadm/nvmeadm_print.c
1932
if (sc < ARRAY_SIZE(path_status_codes)) {
usr/src/cmd/nvmeadm/nvmeadm_print.c
1933
sc_str = path_status_codes[sc];
usr/src/cmd/nvmeadm/nvmeadm_print.c
1934
} else if (sc >= 0x60 &&
usr/src/cmd/nvmeadm/nvmeadm_print.c
1935
sc - 0x60 < ARRAY_SIZE(path_controller_codes)) {
usr/src/cmd/nvmeadm/nvmeadm_print.c
1936
sc_str = path_controller_codes[sc - 0x60];
usr/src/cmd/nvmeadm/nvmeadm_print.c
1937
} else if (sc >= 0x70 &&
usr/src/cmd/nvmeadm/nvmeadm_print.c
1938
sc - 0x70 < ARRAY_SIZE(path_host_codes)) {
usr/src/cmd/nvmeadm/nvmeadm_print.c
1939
sc_str = path_host_codes[sc - 0x70];
usr/src/cmd/nvmeadm/nvmeadm_print.c
1961
sc, sc_str);
usr/src/cmd/pools/poold/com/sun/solaris/domain/pools/DecisionHistory.java
590
int sc = decision.getStartingSampleCount();
usr/src/cmd/pools/poold/com/sun/solaris/domain/pools/DecisionHistory.java
591
if (sc < cutoff) {
usr/src/cmd/pools/poold/com/sun/solaris/domain/pools/DecisionHistory.java
592
if (sc > 0) {
usr/src/cmd/savecore/savecore.c
725
dumpcsize_t sc;
usr/src/cmd/savecore/savecore.c
918
dumpcsize_t sc;
usr/src/cmd/savecore/savecore.c
947
(void) memcpy(&sc, block + in, cs);
usr/src/cmd/savecore/savecore.c
949
csize = DUMP_GET_CSIZE(sc);
usr/src/cmd/sendmail/db/clib/strsep.c
80
register int c, sc;
usr/src/cmd/sendmail/db/clib/strsep.c
89
if ((sc = *spanp++) == c) {
usr/src/cmd/sendmail/db/clib/strsep.c
97
} while (sc != 0);
usr/src/cmd/sort/fields.c
1067
if (!field_separator.sc)
usr/src/cmd/sort/fields.c
469
T = xstrnchr(T, delimiter.sc, eol - T);
usr/src/cmd/sort/fields.c
484
if (S[L->l_data_length - 1] == delimiter.sc) {
usr/src/cmd/sort/invoke.c
50
if (S->m_field_separator.sc)
usr/src/cmd/sort/invoke.c
52
S->m_field_separator.sc);
usr/src/cmd/sort/options.c
487
S->m_field_separator.sc =
usr/src/cmd/sort/types.h
45
char sc;
usr/src/cmd/svc/svccfg/svccfg_xml.c
3369
scf_scope_t *sc = NULL;
usr/src/cmd/svc/svccfg/svccfg_xml.c
3375
(sc = scf_scope_create(h)) == NULL ||
usr/src/cmd/svc/svccfg/svccfg_xml.c
3383
if (scf_handle_get_scope(h, SCF_FMRI_LOCAL_SCOPE, sc) == -1)
usr/src/cmd/svc/svccfg/svccfg_xml.c
3386
if (scf_scope_get_service(sc, service, svc) != SCF_SUCCESS) {
usr/src/cmd/svc/svccfg/svccfg_xml.c
3400
scf_scope_destroy(sc);
usr/src/cmd/vi/port/ex_tty.c
209
static unsigned char sc[2];
usr/src/cmd/vi/port/ex_tty.c
213
sc[0] = tty.c_cc[VSUSP];
usr/src/cmd/vi/port/ex_tty.c
214
sc[1] = 0;
usr/src/cmd/vi/port/ex_tty.c
215
if (sc[0] == CTRL('z')) {
usr/src/cmd/vi/port/ex_tty.c
218
addmac(sc, NULL, NULL, arrows);
usr/src/cmd/vi/port/ex_tty.c
219
} else if(sc[0])
usr/src/cmd/vi/port/ex_tty.c
220
addmac(sc, "\32", "susp", arrows);
usr/src/cmd/vi/port/ex_vget.c
262
unsigned char *sc = cursor;
usr/src/cmd/vi/port/ex_vget.c
294
cursor = sc;
usr/src/cmd/vi/port/ex_vget.c
303
vnline(sc);
usr/src/cmd/zfs/zfs_iter.c
156
zfs_add_sort_column(zfs_sort_column_t **sc, const char *name,
usr/src/cmd/zfs/zfs_iter.c
175
if (*sc == NULL) {
usr/src/cmd/zfs/zfs_iter.c
177
*sc = col;
usr/src/cmd/zfs/zfs_iter.c
179
(*sc)->sc_last->sc_next = col;
usr/src/cmd/zfs/zfs_iter.c
180
(*sc)->sc_last = col;
usr/src/cmd/zfs/zfs_iter.c
187
zfs_free_sort_columns(zfs_sort_column_t *sc)
usr/src/cmd/zfs/zfs_iter.c
191
while (sc != NULL) {
usr/src/cmd/zfs/zfs_iter.c
192
col = sc->sc_next;
usr/src/cmd/zfs/zfs_iter.c
193
free(sc->sc_user_prop);
usr/src/cmd/zfs/zfs_iter.c
194
free(sc);
usr/src/cmd/zfs/zfs_iter.c
195
sc = col;
usr/src/cmd/zfs/zfs_iter.c
200
zfs_sort_only_by_name(const zfs_sort_column_t *sc)
usr/src/cmd/zfs/zfs_iter.c
203
return (sc != NULL && sc->sc_next == NULL &&
usr/src/cmd/zfs/zfs_iter.c
204
sc->sc_prop == ZFS_PROP_NAME);
usr/src/cmd/zfs/zfs_iter.c
285
zfs_sort_column_t *sc = (zfs_sort_column_t *)data;
usr/src/cmd/zfs/zfs_iter.c
288
for (psc = sc; psc != NULL; psc = psc->sc_next) {
usr/src/common/util/string.c
705
int c, sc;
usr/src/common/util/string.c
715
if ((sc = *spanp++) == c) {
usr/src/common/util/string.c
723
} while (sc != 0);
usr/src/lib/cfgadm_plugins/ac/common/mema.c
1263
cond_cvt(sysc_cfga_cond_t sc)
usr/src/lib/cfgadm_plugins/ac/common/mema.c
1267
switch (sc) {
usr/src/lib/cfgadm_plugins/sbd/common/ap_sbd.c
162
sc = &ctl->i_cmd.cmd_stat;
usr/src/lib/cfgadm_plugins/sbd/common/ap_sbd.c
163
sc->s_statp = (caddr_t)a->stat;
usr/src/lib/cfgadm_plugins/sbd/common/ap_sbd.c
164
sc->s_nbytes = stsize;
usr/src/lib/cfgadm_plugins/sbd/common/ap_sbd.c
179
fd, (void *)sc->s_statp, sc->s_nbytes, ctl->i_flags);
usr/src/lib/cfgadm_plugins/sbd/common/ap_sbd.c
85
sbd_stat_cmd_t *sc;
usr/src/lib/cfgadm_plugins/sysctrl/common/cfga.c
1001
if (ioctl(fd, SYSC_CFGA_CMD_CONFIGURE, sc) == -1)
usr/src/lib/cfgadm_plugins/sysctrl/common/cfga.c
1002
cfga_err(sc, errstring, CMD_CONFIGURE, 0);
usr/src/lib/cfgadm_plugins/sysctrl/common/cfga.c
1016
else if (ioctl(fd, SYSC_CFGA_CMD_UNCONFIGURE, sc) == -1)
usr/src/lib/cfgadm_plugins/sysctrl/common/cfga.c
1017
cfga_err(sc, errstring, CMD_UNCONFIGURE, 0);
usr/src/lib/cfgadm_plugins/sysctrl/common/cfga.c
1081
sysc_cfga_cmd_t *sc, sysc_cmd;
usr/src/lib/cfgadm_plugins/sysctrl/common/cfga.c
1100
sc = &sysc_cmd;
usr/src/lib/cfgadm_plugins/sysctrl/common/cfga.c
1108
sc->arg = cond;
usr/src/lib/cfgadm_plugins/sysctrl/common/cfga.c
1123
sysc_cmd_init(sc, outputstr, 0);
usr/src/lib/cfgadm_plugins/sysctrl/common/cfga.c
1128
(ioctl(fd, cmd, sc) == -1))
usr/src/lib/cfgadm_plugins/sysctrl/common/cfga.c
1207
cond_cvt(sysc_cfga_cond_t sc)
usr/src/lib/cfgadm_plugins/sysctrl/common/cfga.c
1211
switch (sc) {
usr/src/lib/cfgadm_plugins/sysctrl/common/cfga.c
1272
info_set(sysc_cfga_stat_t *sc, cfga_info_t info, int disabled)
usr/src/lib/cfgadm_plugins/sysctrl/common/cfga.c
1276
union bd_un *bd = &sc->bd;
usr/src/lib/cfgadm_plugins/sysctrl/common/cfga.c
1280
switch (sc->type) {
usr/src/lib/cfgadm_plugins/sysctrl/common/cfga.c
1325
if (sc->no_detach)
usr/src/lib/cfgadm_plugins/sysctrl/common/cfga.c
1328
if (sc->plus_board)
usr/src/lib/cfgadm_plugins/sysctrl/common/cfga.c
1333
sysc_cvt(sysc_cfga_stat_t *sc, cfga_stat_data_t *cs, int disabled)
usr/src/lib/cfgadm_plugins/sysctrl/common/cfga.c
1335
(void) strcpy(cs->ap_type, type_str(sc->type));
usr/src/lib/cfgadm_plugins/sysctrl/common/cfga.c
1336
cs->ap_r_state = rstate_cvt(sc->rstate);
usr/src/lib/cfgadm_plugins/sysctrl/common/cfga.c
1337
cs->ap_o_state = ostate_cvt(sc->ostate);
usr/src/lib/cfgadm_plugins/sysctrl/common/cfga.c
1338
cs->ap_cond = cond_cvt(sc->condition);
usr/src/lib/cfgadm_plugins/sysctrl/common/cfga.c
1339
cs->ap_busy = (cfga_busy_t)sc->in_transition;
usr/src/lib/cfgadm_plugins/sysctrl/common/cfga.c
1340
cs->ap_status_time = sc->last_change;
usr/src/lib/cfgadm_plugins/sysctrl/common/cfga.c
1341
info_set(sc, cs->ap_info, disabled);
usr/src/lib/cfgadm_plugins/sysctrl/common/cfga.c
1357
sysc_cfga_stat_t *sc;
usr/src/lib/cfgadm_plugins/sysctrl/common/cfga.c
1367
else if ((sc = sysc_stat(ap_id, NULL)) == NULL)
usr/src/lib/cfgadm_plugins/sysctrl/common/cfga.c
1374
for (*nlist = 0, i = 0; i < MAX_BOARDS; i++, sc++) {
usr/src/lib/cfgadm_plugins/sysctrl/common/cfga.c
1375
if (sc->board == -1)
usr/src/lib/cfgadm_plugins/sysctrl/common/cfga.c
1377
sysc_cvt(sc, cs++, 0); /* XXX - disable */
usr/src/lib/cfgadm_plugins/sysctrl/common/cfga.c
1402
sysc_cfga_stat_t *sc;
usr/src/lib/cfgadm_plugins/sysctrl/common/cfga.c
1421
else if ((sc = sysc_stat(ap_id, NULL)) == NULL)
usr/src/lib/cfgadm_plugins/sysctrl/common/cfga.c
1425
sysc_cvt(sc + idx, cs, disabled);
usr/src/lib/cfgadm_plugins/sysctrl/common/cfga.c
325
sysc_cmd_init(sysc_cfga_cmd_t *sc, char *outputstr, int force)
usr/src/lib/cfgadm_plugins/sysctrl/common/cfga.c
327
sc->force = force;
usr/src/lib/cfgadm_plugins/sysctrl/common/cfga.c
328
sc->outputstr = outputstr;
usr/src/lib/cfgadm_plugins/sysctrl/common/cfga.c
329
sc->errtype = SYSC_ERR_DEFAULT;
usr/src/lib/cfgadm_plugins/sysctrl/common/cfga.c
342
cfga_err(sysc_cfga_cmd_t *sc, char **errstring, ...)
usr/src/lib/cfgadm_plugins/sysctrl/common/cfga.c
444
if (sc)
usr/src/lib/cfgadm_plugins/sysctrl/common/cfga.c
445
i = cfga_sid(errno, (int)sc->errtype);
usr/src/lib/cfgadm_plugins/sysctrl/common/cfga.c
449
DBG4("cfga_sid(%d,%d)=%d\n", errno, sc->errtype, i);
usr/src/lib/cfgadm_plugins/sysctrl/common/cfga.c
888
sysc_cfga_cmd_t *sc, sysc_cmd;
usr/src/lib/cfgadm_plugins/sysctrl/common/cfga.c
935
sc = &sysc_cmd;
usr/src/lib/cfgadm_plugins/sysctrl/common/cfga.c
936
sysc_cmd_init(sc, outputstr, force);
usr/src/lib/cfgadm_plugins/sysctrl/common/cfga.c
950
} else if (ioctl(fd, SYSC_CFGA_CMD_CONNECT, sc) == -1)
usr/src/lib/cfgadm_plugins/sysctrl/common/cfga.c
951
cfga_err(sc, errstring, CMD_CONNECT, 0);
usr/src/lib/cfgadm_plugins/sysctrl/common/cfga.c
962
(ioctl(fd, SYSC_CFGA_CMD_UNCONFIGURE, sc) == -1)) {
usr/src/lib/cfgadm_plugins/sysctrl/common/cfga.c
963
cfga_err(sc, errstring, CMD_UNCONFIGURE, 0);
usr/src/lib/cfgadm_plugins/sysctrl/common/cfga.c
967
sysc_cmd_init(sc, outputstr, force);
usr/src/lib/cfgadm_plugins/sysctrl/common/cfga.c
970
if (ioctl(fd, SYSC_CFGA_CMD_DISCONNECT, sc) == -1)
usr/src/lib/cfgadm_plugins/sysctrl/common/cfga.c
971
cfga_err(sc, errstring, CMD_DISCONNECT, 0);
usr/src/lib/cfgadm_plugins/sysctrl/common/cfga.c
993
} else if (ioctl(fd, SYSC_CFGA_CMD_CONNECT, sc) == -1) {
usr/src/lib/cfgadm_plugins/sysctrl/common/cfga.c
994
cfga_err(sc, errstring, CMD_CONNECT, 0);
usr/src/lib/cfgadm_plugins/sysctrl/common/cfga.c
998
sysc_cmd_init(sc, outputstr, force);
usr/src/lib/commpage/common/cp_main.c
62
uint64_t sc = (uint32_t)(scale); \
usr/src/lib/commpage/common/cp_main.c
63
(hrt) += (uint64_t)(_l[1] * sc) << NSEC_SHIFT; \
usr/src/lib/commpage/common/cp_main.c
64
(hrt) += (uint64_t)(_l[0] * sc) >> (32 - NSEC_SHIFT); \
usr/src/lib/fm/libfmnotify/common/libfmnotify.c
143
scf_scope_t *sc = NULL;
usr/src/lib/fm/libfmnotify/common/libfmnotify.c
147
sc = scf_scope_create(handle);
usr/src/lib/fm/libfmnotify/common/libfmnotify.c
151
if (sc == NULL || svc == NULL || pg == NULL) {
usr/src/lib/fm/libfmnotify/common/libfmnotify.c
158
scf_handle_get_scope(handle, SCF_SCOPE_LOCAL, sc) != -1 &&
usr/src/lib/fm/libfmnotify/common/libfmnotify.c
159
scf_scope_get_service(sc, svcname, svc) != -1 &&
usr/src/lib/fm/libfmnotify/common/libfmnotify.c
167
scf_scope_destroy(sc);
usr/src/lib/fm/topo/libtopo/common/svc.c
242
scf_scope_t *sc = NULL;
usr/src/lib/fm/topo/libtopo/common/svc.c
257
if ((sc = scf_scope_create(hdl)) == NULL ||
usr/src/lib/fm/topo/libtopo/common/svc.c
264
if (scf_handle_get_scope(hdl, SCF_SCOPE_LOCAL, sc) != 0)
usr/src/lib/fm/topo/libtopo/common/svc.c
267
if (scf_iter_scope_services(svc_iter, sc) != 0)
usr/src/lib/fm/topo/libtopo/common/svc.c
316
scf_scope_destroy(sc);
usr/src/lib/gss_mechs/mech_krb5/krb5/krb/preauth.c
392
char *handle_sam_labels(krb5_sam_challenge *sc)
usr/src/lib/gss_mechs/mech_krb5/krb5/krb/preauth.c
394
char *label = sc->sam_challenge_label.data;
usr/src/lib/gss_mechs/mech_krb5/krb5/krb/preauth.c
395
unsigned int label_len = sc->sam_challenge_label.length;
usr/src/lib/gss_mechs/mech_krb5/krb5/krb/preauth.c
396
char *prompt = sc->sam_response_prompt.data;
usr/src/lib/gss_mechs/mech_krb5/krb5/krb/preauth.c
397
unsigned int prompt_len = sc->sam_response_prompt.length;
usr/src/lib/gss_mechs/mech_krb5/krb5/krb/preauth.c
398
char *challenge = sc->sam_challenge.data;
usr/src/lib/gss_mechs/mech_krb5/krb5/krb/preauth.c
399
unsigned int challenge_len = sc->sam_challenge.length;
usr/src/lib/gss_mechs/mech_krb5/krb5/krb/preauth.c
405
if (sc->sam_cksum.length == 0) {
usr/src/lib/gss_mechs/mech_krb5/krb5/krb/preauth.c
407
switch (sc->sam_type) {
usr/src/lib/gss_mechs/mech_spnego/mech/spnego_mech.c
1304
spnego_gss_ctx_id_t sc = NULL;
usr/src/lib/gss_mechs/mech_spnego/mech/spnego_mech.c
1343
sc = create_spnego_ctx();
usr/src/lib/gss_mechs/mech_spnego/mech/spnego_mech.c
1344
if (sc == NULL) {
usr/src/lib/gss_mechs/mech_spnego/mech/spnego_mech.c
1349
if (put_mech_set(supported_mechSet, &sc->DER_mechTypes) < 0) {
usr/src/lib/gss_mechs/mech_spnego/mech/spnego_mech.c
1354
sc->internal_mech = GSS_C_NO_OID;
usr/src/lib/gss_mechs/mech_spnego/mech/spnego_mech.c
1358
sc->firstpass = 1;
usr/src/lib/gss_mechs/mech_spnego/mech/spnego_mech.c
1359
*ctx = (gss_ctx_id_t)sc;
usr/src/lib/gss_mechs/mech_spnego/mech/spnego_mech.c
1456
spnego_gss_ctx_id_t sc = NULL;
usr/src/lib/gss_mechs/mech_spnego/mech/spnego_mech.c
1522
sc = (spnego_gss_ctx_id_t)*ctx;
usr/src/lib/gss_mechs/mech_spnego/mech/spnego_mech.c
1523
if (sc != NULL) {
usr/src/lib/gss_mechs/mech_spnego/mech/spnego_mech.c
1524
gss_release_buffer(&tmpmin, &sc->DER_mechTypes);
usr/src/lib/gss_mechs/mech_spnego/mech/spnego_mech.c
1527
sc = create_spnego_ctx();
usr/src/lib/gss_mechs/mech_spnego/mech/spnego_mech.c
1528
if (sc == NULL) {
usr/src/lib/gss_mechs/mech_spnego/mech/spnego_mech.c
1534
sc->internal_mech = mech_wanted;
usr/src/lib/gss_mechs/mech_spnego/mech/spnego_mech.c
1535
sc->DER_mechTypes = der_mechTypes;
usr/src/lib/gss_mechs/mech_spnego/mech/spnego_mech.c
1540
sc->mic_reqd = 1;
usr/src/lib/gss_mechs/mech_spnego/mech/spnego_mech.c
1543
sc->firstpass = 1;
usr/src/lib/gss_mechs/mech_spnego/mech/spnego_mech.c
1544
*ctx = (gss_ctx_id_t)sc;
usr/src/lib/gss_mechs/mech_spnego/mech/spnego_mech.c
1565
spnego_gss_ctx_id_t sc;
usr/src/lib/gss_mechs/mech_spnego/mech/spnego_mech.c
1569
sc = (spnego_gss_ctx_id_t)*ctx;
usr/src/lib/gss_mechs/mech_spnego/mech/spnego_mech.c
1612
sc->firstpass = 0;
usr/src/lib/gss_mechs/mech_spnego/mech/spnego_mech.c
1632
spnego_gss_ctx_id_t sc, gss_OID mechoid,
usr/src/lib/gss_mechs/mech_spnego/mech/spnego_mech.c
1640
if (g_OID_equal(sc->internal_mech, mechoid))
usr/src/lib/gss_mechs/mech_spnego/mech/spnego_mech.c
1647
if (is_kerb_mech(mechoid) && is_kerb_mech(sc->internal_mech)) {
usr/src/lib/gss_mechs/mech_spnego/mech/spnego_mech.c
1663
sc->internal_mech);
usr/src/lib/gss_mechs/mech_spnego/mech/spnego_mech.c
1665
sc->internal_mech,
usr/src/lib/gss_mechs/mech_spnego/mech/spnego_mech.c
1668
spnego_set_error_message(sc, *minor_status,
usr/src/lib/gss_mechs/mech_spnego/mech/spnego_mech.c
1690
ret = gss_test_oid_set_member(minor_status, sc->internal_mech,
usr/src/lib/gss_mechs/mech_spnego/mech/spnego_mech.c
1705
__gss_oid_to_mech(sc->internal_mech);
usr/src/lib/gss_mechs/mech_spnego/mech/spnego_mech.c
1706
maj = gss_oid_to_str(&min, sc->internal_mech, &oidstr);
usr/src/lib/gss_mechs/mech_spnego/mech/spnego_mech.c
1708
spnego_set_error_message(sc, *minor_status,
usr/src/lib/gss_mechs/mech_spnego/mech/spnego_mech.c
1734
acc_ctx_call_acc(OM_uint32 *minor_status, spnego_gss_ctx_id_t sc,
usr/src/lib/gss_mechs/mech_spnego/mech/spnego_mech.c
1744
if (sc->ctx_handle == GSS_C_NO_CONTEXT) {
usr/src/lib/gss_mechs/mech_spnego/mech/spnego_mech.c
1753
ret = acc_ctx_vfy_oid(minor_status, sc, &mechoid,
usr/src/lib/gss_mechs/mech_spnego/mech/spnego_mech.c
1760
&sc->ctx_handle,
usr/src/lib/gss_mechs/mech_spnego/mech/spnego_mech.c
1764
&sc->internal_name,
usr/src/lib/gss_mechs/mech_spnego/mech/spnego_mech.c
1767
&sc->ctx_flags,
usr/src/lib/gss_mechs/mech_spnego/mech/spnego_mech.c
1780
!(sc->ctx_flags & GSS_C_MUTUAL_FLAG) &&
usr/src/lib/gss_mechs/mech_spnego/mech/spnego_mech.c
1781
sc->mic_reqd) {
usr/src/lib/gss_mechs/mech_spnego/mech/spnego_mech.c
1783
sc->mic_reqd = 0;
usr/src/lib/gss_mechs/mech_spnego/mech/spnego_mech.c
1786
sc->mech_complete = 1;
usr/src/lib/gss_mechs/mech_spnego/mech/spnego_mech.c
1788
*ret_flags = sc->ctx_flags;
usr/src/lib/gss_mechs/mech_spnego/mech/spnego_mech.c
1790
if (!sc->mic_reqd) {
usr/src/lib/gss_mechs/mech_spnego/mech/spnego_mech.c
1852
spnego_gss_ctx_id_t sc = NULL;
usr/src/lib/gss_mechs/mech_spnego/mech/spnego_mech.c
1875
sc = (spnego_gss_ctx_id_t)*context_handle;
usr/src/lib/gss_mechs/mech_spnego/mech/spnego_mech.c
1876
if (sc == NULL || sc->internal_mech == GSS_C_NO_OID) {
usr/src/lib/gss_mechs/mech_spnego/mech/spnego_mech.c
1918
sc = (spnego_gss_ctx_id_t)*context_handle;
usr/src/lib/gss_mechs/mech_spnego/mech/spnego_mech.c
1927
ret = acc_ctx_call_acc(minor_status, sc,
usr/src/lib/gss_mechs/mech_spnego/mech/spnego_mech.c
1937
spnego_gss_save_error_info(*minor_status, sc);
usr/src/lib/gss_mechs/mech_spnego/mech/spnego_mech.c
1939
if (!HARD_ERROR(ret) && sc->mech_complete &&
usr/src/lib/gss_mechs/mech_spnego/mech/spnego_mech.c
1940
(sc->ctx_flags & GSS_C_INTEG_FLAG)) {
usr/src/lib/gss_mechs/mech_spnego/mech/spnego_mech.c
1944
sc, &mic_out,
usr/src/lib/gss_mechs/mech_spnego/mech/spnego_mech.c
1950
assert(sc != NULL);
usr/src/lib/gss_mechs/mech_spnego/mech/spnego_mech.c
1951
tmpret = make_spnego_tokenInit_msg(sc, 1, mic_out, 0,
usr/src/lib/gss_mechs/mech_spnego/mech/spnego_mech.c
1959
sc ? sc->internal_mech :
usr/src/lib/gss_mechs/mech_spnego/mech/spnego_mech.c
1968
*context_handle = (gss_ctx_id_t)sc->ctx_handle;
usr/src/lib/gss_mechs/mech_spnego/mech/spnego_mech.c
1969
if (sc->internal_name != GSS_C_NO_NAME &&
usr/src/lib/gss_mechs/mech_spnego/mech/spnego_mech.c
1971
*src_name = sc->internal_name;
usr/src/lib/gss_mechs/mech_spnego/mech/spnego_mech.c
1973
release_spnego_ctx(&sc);
usr/src/lib/gss_mechs/mech_spnego/mech/spnego_mech.c
497
int send_mechtok, spnego_gss_ctx_id_t sc,
usr/src/lib/gss_mechs/mech_spnego/mech/spnego_mech.c
506
if (sc->mic_rcvd) {
usr/src/lib/gss_mechs/mech_spnego/mech/spnego_mech.c
512
} else if (sc->mic_reqd && !send_mechtok) {
usr/src/lib/gss_mechs/mech_spnego/mech/spnego_mech.c
522
ret = process_mic(minor_status, mic_in, sc, mic_out,
usr/src/lib/gss_mechs/mech_spnego/mech/spnego_mech.c
527
if (sc->mic_reqd) {
usr/src/lib/gss_mechs/mech_spnego/mech/spnego_mech.c
528
assert(sc->mic_sent || sc->mic_rcvd);
usr/src/lib/gss_mechs/mech_spnego/mech/spnego_mech.c
530
if (sc->mic_sent && sc->mic_rcvd) {
usr/src/lib/gss_mechs/mech_spnego/mech/spnego_mech.c
543
} else if (sc->mic_reqd) {
usr/src/lib/gss_mechs/mech_spnego/mech/spnego_mech.c
559
spnego_gss_ctx_id_t sc, gss_buffer_t *mic_out,
usr/src/lib/gss_mechs/mech_spnego/mech/spnego_mech.c
568
ret = gss_verify_mic(minor_status, sc->ctx_handle,
usr/src/lib/gss_mechs/mech_spnego/mech/spnego_mech.c
569
&sc->DER_mechTypes,
usr/src/lib/gss_mechs/mech_spnego/mech/spnego_mech.c
577
sc->mic_reqd = 1;
usr/src/lib/gss_mechs/mech_spnego/mech/spnego_mech.c
578
sc->mic_rcvd = 1;
usr/src/lib/gss_mechs/mech_spnego/mech/spnego_mech.c
580
if (sc->mic_reqd && !sc->mic_sent) {
usr/src/lib/gss_mechs/mech_spnego/mech/spnego_mech.c
581
ret = gss_get_mic(minor_status, sc->ctx_handle,
usr/src/lib/gss_mechs/mech_spnego/mech/spnego_mech.c
583
&sc->DER_mechTypes,
usr/src/lib/gss_mechs/mech_spnego/mech/spnego_mech.c
597
sc->mic_sent = 1;
usr/src/lib/gss_mechs/mech_spnego/mech/spnego_mech.c
614
spnego_gss_ctx_id_t sc = NULL;
usr/src/lib/gss_mechs/mech_spnego/mech/spnego_mech.c
632
sc = create_spnego_ctx();
usr/src/lib/gss_mechs/mech_spnego/mech/spnego_mech.c
633
if (sc == NULL)
usr/src/lib/gss_mechs/mech_spnego/mech/spnego_mech.c
641
&sc->internal_mech);
usr/src/lib/gss_mechs/mech_spnego/mech/spnego_mech.c
647
if (put_mech_set(*mechSet, &sc->DER_mechTypes) < 0) {
usr/src/lib/gss_mechs/mech_spnego/mech/spnego_mech.c
648
generic_gss_release_oid(&tmpmin, &sc->internal_mech);
usr/src/lib/gss_mechs/mech_spnego/mech/spnego_mech.c
656
sc->ctx_handle = GSS_C_NO_CONTEXT;
usr/src/lib/gss_mechs/mech_spnego/mech/spnego_mech.c
657
*ctx = (gss_ctx_id_t)sc;
usr/src/lib/gss_mechs/mech_spnego/mech/spnego_mech.c
677
spnego_gss_ctx_id_t sc;
usr/src/lib/gss_mechs/mech_spnego/mech/spnego_mech.c
680
sc = (spnego_gss_ctx_id_t)*ctx;
usr/src/lib/gss_mechs/mech_spnego/mech/spnego_mech.c
700
spnego_set_error_message(sc, *minor_status,
usr/src/lib/gss_mechs/mech_spnego/mech/spnego_mech.c
711
if (!sc->nego_done) {
usr/src/lib/gss_mechs/mech_spnego/mech/spnego_mech.c
712
ret = init_ctx_nego(minor_status, sc,
usr/src/lib/gss_mechs/mech_spnego/mech/spnego_mech.c
717
} else if (!sc->mech_complete &&
usr/src/lib/gss_mechs/mech_spnego/mech/spnego_mech.c
723
} else if (sc->mic_reqd &&
usr/src/lib/gss_mechs/mech_spnego/mech/spnego_mech.c
724
(sc->ctx_flags & GSS_C_INTEG_FLAG)) {
usr/src/lib/gss_mechs/mech_spnego/mech/spnego_mech.c
745
init_ctx_nego(OM_uint32 *minor_status, spnego_gss_ctx_id_t sc,
usr/src/lib/gss_mechs/mech_spnego/mech/spnego_mech.c
767
spnego_set_error_message(sc, *minor_status,
usr/src/lib/gss_mechs/mech_spnego/mech/spnego_mech.c
782
is_kerb_mech(sc->internal_mech)) &&
usr/src/lib/gss_mechs/mech_spnego/mech/spnego_mech.c
783
!g_OID_equal(supportedMech, sc->internal_mech)) {
usr/src/lib/gss_mechs/mech_spnego/mech/spnego_mech.c
784
ret = init_ctx_reselect(minor_status, sc,
usr/src/lib/gss_mechs/mech_spnego/mech/spnego_mech.c
790
if (sc->mech_complete) {
usr/src/lib/gss_mechs/mech_spnego/mech/spnego_mech.c
808
} else if (sc->mech_complete) {
usr/src/lib/gss_mechs/mech_spnego/mech/spnego_mech.c
816
sc->nego_done = 1;
usr/src/lib/gss_mechs/mech_spnego/mech/spnego_mech.c
824
init_ctx_reselect(OM_uint32 *minor_status, spnego_gss_ctx_id_t sc,
usr/src/lib/gss_mechs/mech_spnego/mech/spnego_mech.c
831
generic_gss_release_oid(&tmpmin, &sc->internal_mech);
usr/src/lib/gss_mechs/mech_spnego/mech/spnego_mech.c
832
gss_delete_sec_context(&tmpmin, &sc->ctx_handle,
usr/src/lib/gss_mechs/mech_spnego/mech/spnego_mech.c
836
&sc->internal_mech);
usr/src/lib/gss_mechs/mech_spnego/mech/spnego_mech.c
839
sc->internal_mech = GSS_C_NO_OID;
usr/src/lib/gss_mechs/mech_spnego/mech/spnego_mech.c
856
sc->mech_complete = 0;
usr/src/lib/gss_mechs/mech_spnego/mech/spnego_mech.c
857
sc->mic_reqd = 1;
usr/src/lib/gss_mechs/mech_spnego/mech/spnego_mech.c
869
spnego_gss_ctx_id_t sc,
usr/src/lib/gss_mechs/mech_spnego/mech/spnego_mech.c
886
&sc->ctx_handle,
usr/src/lib/gss_mechs/mech_spnego/mech/spnego_mech.c
888
sc->internal_mech,
usr/src/lib/gss_mechs/mech_spnego/mech/spnego_mech.c
893
&sc->actual_mech,
usr/src/lib/gss_mechs/mech_spnego/mech/spnego_mech.c
895
&sc->ctx_flags,
usr/src/lib/gss_mechs/mech_spnego/mech/spnego_mech.c
898
sc->mech_complete = 1;
usr/src/lib/gss_mechs/mech_spnego/mech/spnego_mech.c
900
*ret_flags = sc->ctx_flags;
usr/src/lib/gss_mechs/mech_spnego/mech/spnego_mech.c
908
(!sc->mic_reqd ||
usr/src/lib/gss_mechs/mech_spnego/mech/spnego_mech.c
909
!(sc->ctx_flags & GSS_C_INTEG_FLAG))) {
usr/src/lib/lib9p/common/backend/fs.c
1035
file = open_fid(sc->fs_rootfd, ".", ai, true);
usr/src/lib/lib9p/common/backend/fs.c
1286
struct fs_softc *sc = softc;
usr/src/lib/lib9p/common/backend/fs.c
1296
if (sc->fs_readonly) {
usr/src/lib/lib9p/common/backend/fs.c
1733
struct fs_softc *sc;
usr/src/lib/lib9p/common/backend/fs.c
1738
sc = softc;
usr/src/lib/lib9p/common/backend/fs.c
1774
dostat(sc, &l9stat, d->d_name, &st, dotu);
usr/src/lib/lib9p/common/backend/fs.c
1813
struct fs_softc *sc = softc;
usr/src/lib/lib9p/common/backend/fs.c
1820
if (sc->fs_readonly)
usr/src/lib/lib9p/common/backend/fs.c
1823
error = fs_pdir(sc, fid, dirname, sizeof(dirname), &pst);
usr/src/lib/lib9p/common/backend/fs.c
1853
struct fs_softc *sc;
usr/src/lib/lib9p/common/backend/fs.c
1858
sc = softc;
usr/src/lib/lib9p/common/backend/fs.c
1866
dostat(sc, &req->lr_resp.rstat.stat, file->ff_name, &st, dotu);
usr/src/lib/lib9p/common/backend/fs.c
2071
struct fs_softc *sc = softc;
usr/src/lib/lib9p/common/backend/fs.c
2078
if (sc->fs_readonly)
usr/src/lib/lib9p/common/backend/fs.c
2106
struct fs_softc *sc = softc;
usr/src/lib/lib9p/common/backend/fs.c
2128
if (sc->fs_readonly)
usr/src/lib/lib9p/common/backend/fs.c
2387
struct fs_softc *sc = softc;
usr/src/lib/lib9p/common/backend/fs.c
2399
if (sc->fs_readonly)
usr/src/lib/lib9p/common/backend/fs.c
2414
error = fs_pdir(sc, fid, olddir, sizeof(olddir), &opst);
usr/src/lib/lib9p/common/backend/fs.c
2621
struct fs_softc *sc = softc;
usr/src/lib/lib9p/common/backend/fs.c
2631
if (sc->fs_readonly)
usr/src/lib/lib9p/common/backend/fs.c
2938
struct fs_softc *sc = softc;
usr/src/lib/lib9p/common/backend/fs.c
2949
if (sc->fs_readonly)
usr/src/lib/lib9p/common/backend/fs.c
3013
struct fs_softc *sc = softc;
usr/src/lib/lib9p/common/backend/fs.c
3022
if (sc->fs_readonly)
usr/src/lib/lib9p/common/backend/fs.c
3100
struct fs_softc *sc;
usr/src/lib/lib9p/common/backend/fs.c
3160
sc = l9p_malloc(sizeof(*sc));
usr/src/lib/lib9p/common/backend/fs.c
3161
sc->fs_rootfd = rootfd;
usr/src/lib/lib9p/common/backend/fs.c
3162
sc->fs_readonly = ro;
usr/src/lib/lib9p/common/backend/fs.c
3163
backend->softc = sc;
usr/src/lib/lib9p/common/backend/fs.c
3167
sc->fs_hasxattr = 1;
usr/src/lib/lib9p/common/backend/fs.c
3175
sc->fs_cappwd = cap_service_open(capcas, "system.pwd");
usr/src/lib/lib9p/common/backend/fs.c
3176
if (sc->fs_cappwd == NULL)
usr/src/lib/lib9p/common/backend/fs.c
3179
sc->fs_capgrp = cap_service_open(capcas, "system.grp");
usr/src/lib/lib9p/common/backend/fs.c
3180
if (sc->fs_capgrp == NULL)
usr/src/lib/lib9p/common/backend/fs.c
3183
cap_setpassent(sc->fs_cappwd, 1);
usr/src/lib/lib9p/common/backend/fs.c
3184
cap_setgroupent(sc->fs_capgrp, 1);
usr/src/lib/lib9p/common/backend/fs.c
3215
getcrtime(struct fs_softc *sc, int dirfd, const char *fname, uint64_t *secp,
usr/src/lib/lib9p/common/backend/fs.c
3226
if (!sc->fs_hasxattr)
usr/src/lib/lib9p/common/backend/fs.c
460
fs_getpwuid(struct fs_softc *sc, uid_t uid, struct r_pgdata *pg)
usr/src/lib/lib9p/common/backend/fs.c
463
return (r_cap_getpwuid(sc->fs_cappwd, uid, pg));
usr/src/lib/lib9p/common/backend/fs.c
465
(void)sc;
usr/src/lib/lib9p/common/backend/fs.c
471
fs_getgrgid(struct fs_softc *sc, gid_t gid, struct r_pgdata *pg)
usr/src/lib/lib9p/common/backend/fs.c
474
return (r_cap_getgrgid(sc->fs_capgrp, gid, pg));
usr/src/lib/lib9p/common/backend/fs.c
476
(void)sc;
usr/src/lib/lib9p/common/backend/fs.c
507
fs_pdir(struct fs_softc *sc __unused, struct l9p_fid *fid, char *buf,
usr/src/lib/lib9p/common/backend/fs.c
565
fs_nde(struct fs_softc *sc, struct l9p_fid *dir, bool isdir, gid_t egid,
usr/src/lib/lib9p/common/backend/fs.c
573
if (sc->fs_readonly)
usr/src/lib/lib9p/common/backend/fs.c
650
dostat(struct fs_softc *sc, struct l9p_stat *s, char *name,
usr/src/lib/lib9p/common/backend/fs.c
688
user = fs_getpwuid(sc, buf->st_uid, &udata);
usr/src/lib/lib9p/common/backend/fs.c
689
group = fs_getgrgid(sc, buf->st_gid, &gdata);
usr/src/lib/lib9p/common/backend/fs.c
918
struct fs_softc *sc = (struct fs_softc *)softc;
usr/src/lib/lib9p/common/backend/fs.c
942
pwd = fs_getpwuid(sc, uid, &udata);
usr/src/lib/lib9p/common/backend/fs.c
951
pwd = cap_getpwnam(sc->fs_cappwd, req->lr_req.tattach.uname);
usr/src/lib/lib9p/common/backend/fs.c
977
if (fstat(sc->fs_rootfd, &st) != 0)
usr/src/lib/lib9p/common/transport/socket.c
373
struct l9p_socket_softc *sc;
usr/src/lib/lib9p/common/transport/socket.c
402
sc = l9p_calloc(1, sizeof(*sc));
usr/src/lib/lib9p/common/transport/socket.c
403
sc->ls_conn = conn;
usr/src/lib/lib9p/common/transport/socket.c
404
sc->ls_fd = conn_fd;
usr/src/lib/lib9p/common/transport/socket.c
409
conn->lc_lt.lt_aux = sc;
usr/src/lib/lib9p/common/transport/socket.c
414
err = pthread_create(&sc->ls_thread, NULL, l9p_socket_thread, sc);
usr/src/lib/lib9p/common/transport/socket.c
419
l9p_connection_close(sc->ls_conn);
usr/src/lib/lib9p/common/transport/socket.c
420
free(sc);
usr/src/lib/lib9p/common/transport/socket.c
427
struct l9p_socket_softc *sc = (struct l9p_socket_softc *)arg;
usr/src/lib/lib9p/common/transport/socket.c
433
if (l9p_socket_readmsg(sc, &buf, &length) != 0)
usr/src/lib/lib9p/common/transport/socket.c
438
l9p_connection_recv(sc->ls_conn, &iov, 1, NULL);
usr/src/lib/lib9p/common/transport/socket.c
443
l9p_connection_close(sc->ls_conn);
usr/src/lib/lib9p/common/transport/socket.c
444
free(sc);
usr/src/lib/lib9p/common/transport/socket.c
449
l9p_socket_readmsg(struct l9p_socket_softc *sc, void **buf, size_t *size)
usr/src/lib/lib9p/common/transport/socket.c
455
int fd = sc->ls_fd;
usr/src/lib/lib9p/common/transport/socket.c
469
L9P_LOG(L9P_DEBUG, "%p: EOF", (void *)sc->ls_conn);
usr/src/lib/lib9p/common/transport/socket.c
497
(void *)sc->ls_conn, buffer, msize);
usr/src/lib/lib9p/common/transport/socket.c
522
struct l9p_socket_softc *sc = (struct l9p_socket_softc *)arg;
usr/src/lib/lib9p/common/transport/socket.c
524
assert(sc->ls_fd >= 0);
usr/src/lib/lib9p/common/transport/socket.c
529
if (xwrite(sc->ls_fd, iov[0].iov_base, iolen) != (int)iolen) {
usr/src/lib/libc/i386/fp/_X_cplx_div_ix.c
156
sc = c * scl[ew + 4].e;
usr/src/lib/libc/i386/fp/_X_cplx_div_ix.c
158
r = sc * sc + sd * sd;
usr/src/lib/libc/i386/fp/_X_cplx_div_ix.c
173
sc = scl[3].e; /* 2^4080 */
usr/src/lib/libc/i386/fp/_X_cplx_div_ix.c
176
sc = scl[5].e; /* 2^-4080 */
usr/src/lib/libc/i386/fp/_X_cplx_div_ix.c
179
c *= sc;
usr/src/lib/libc/i386/fp/_X_cplx_div_ix.c
98
long double c, d, sc, sd, r;
usr/src/lib/libc/i386/fp/_X_cplx_div_rx.c
156
sc = c * scl[ew + 4].e;
usr/src/lib/libc/i386/fp/_X_cplx_div_rx.c
158
r = sc * sc + sd * sd;
usr/src/lib/libc/i386/fp/_X_cplx_div_rx.c
173
sc = scl[3].e; /* 2^4080 */
usr/src/lib/libc/i386/fp/_X_cplx_div_rx.c
176
sc = scl[5].e; /* 2^-4080 */
usr/src/lib/libc/i386/fp/_X_cplx_div_rx.c
179
c *= sc;
usr/src/lib/libc/i386/fp/_X_cplx_div_rx.c
98
long double c, d, sc, sd, r;
usr/src/lib/libc/port/gen/strsep.c
70
register int c, sc;
usr/src/lib/libc/port/gen/strsep.c
79
if ((sc = *spanp++) == c) {
usr/src/lib/libc/port/gen/strsep.c
87
} while (sc != 0);
usr/src/lib/libc/port/locale/fnmatch.c
102
sclen = mbrtowc_l(&sc, string, MB_LEN_MAX, &strmbs, loc);
usr/src/lib/libc/port/locale/fnmatch.c
104
sc = (unsigned char)*string;
usr/src/lib/libc/port/locale/fnmatch.c
110
if ((flags & FNM_LEADING_DIR) && sc == '/')
usr/src/lib/libc/port/locale/fnmatch.c
112
if (sc == EOS)
usr/src/lib/libc/port/locale/fnmatch.c
116
if (sc == EOS)
usr/src/lib/libc/port/locale/fnmatch.c
118
if (sc == '/' && (flags & FNM_PATHNAME))
usr/src/lib/libc/port/locale/fnmatch.c
120
if (sc == '.' && (flags & FNM_PERIOD) &&
usr/src/lib/libc/port/locale/fnmatch.c
132
if (sc == '.' && (flags & FNM_PERIOD) &&
usr/src/lib/libc/port/locale/fnmatch.c
161
if (sc == EOS)
usr/src/lib/libc/port/locale/fnmatch.c
163
if (sc == '/' && (flags & FNM_PATHNAME))
usr/src/lib/libc/port/locale/fnmatch.c
165
if (sc == '.' && (flags & FNM_PERIOD) &&
usr/src/lib/libc/port/locale/fnmatch.c
170
switch (rangematch(pattern, sc, flags, &newp,
usr/src/lib/libc/port/locale/fnmatch.c
195
if (pc == sc)
usr/src/lib/libc/port/locale/fnmatch.c
198
(towlower_l(pc, loc) == towlower_l(sc, loc)))
usr/src/lib/libc/port/locale/fnmatch.c
210
sclen = mbrtowc_l(&sc, bt_string, MB_LEN_MAX,
usr/src/lib/libc/port/locale/fnmatch.c
214
sc = (unsigned char)*bt_string;
usr/src/lib/libc/port/locale/fnmatch.c
219
if (sc == EOS)
usr/src/lib/libc/port/locale/fnmatch.c
221
if (sc == '/' && flags & FNM_PATHNAME)
usr/src/lib/libc/port/locale/fnmatch.c
93
wchar_t pc, sc;
usr/src/lib/libc/port/regex/glob.c
881
char *sc;
usr/src/lib/libc/port/regex/glob.c
902
sc = dp->d_name;
usr/src/lib/libc/port/regex/glob.c
903
lensc = strlen(sc) + 1;
usr/src/lib/libc/port/regex/glob.c
905
if ((n = mbtowc(&w, sc, lensc)) <= 0) {
usr/src/lib/libc/port/regex/glob.c
906
sc += 1;
usr/src/lib/libc/port/regex/glob.c
911
sc += n;
usr/src/lib/libc/sparc/fp/_D_cplx_div_ix.c
100
double c, d, sc, sd, r;
usr/src/lib/libc/sparc/fp/_D_cplx_div_ix.c
173
sc = c * scl[hw + 4].d;
usr/src/lib/libc/sparc/fp/_D_cplx_div_ix.c
175
r = sc * sc + sd * sd;
usr/src/lib/libc/sparc/fp/_D_cplx_div_ix.c
190
sc = scl[3].d; /* 2^250 */
usr/src/lib/libc/sparc/fp/_D_cplx_div_ix.c
193
sc = scl[5].d; /* 2^-250 */
usr/src/lib/libc/sparc/fp/_D_cplx_div_ix.c
196
c *= sc;
usr/src/lib/libc/sparc/fp/_D_cplx_div_rx.c
100
double c, d, sc, sd, r;
usr/src/lib/libc/sparc/fp/_D_cplx_div_rx.c
173
sc = c * scl[hw + 4].d;
usr/src/lib/libc/sparc/fp/_D_cplx_div_rx.c
175
r = sc * sc + sd * sd;
usr/src/lib/libc/sparc/fp/_D_cplx_div_rx.c
190
sc = scl[3].d; /* 2^250 */
usr/src/lib/libc/sparc/fp/_D_cplx_div_rx.c
193
sc = scl[5].d; /* 2^-250 */
usr/src/lib/libc/sparc/fp/_D_cplx_div_rx.c
196
c *= sc;
usr/src/lib/libc/sparc/fp/_Q_cplx_div_ix.c
153
sc = c;
usr/src/lib/libc/sparc/fp/_Q_cplx_div_ix.c
155
_Q_scl(&sc, -hw);
usr/src/lib/libc/sparc/fp/_Q_cplx_div_ix.c
157
r = sc * sc + sd * sd;
usr/src/lib/libc/sparc/fp/_Q_cplx_div_ix.c
92
long double b, c, d, sc, sd, r;
usr/src/lib/libc/sparc/fp/_Q_cplx_div_rx.c
153
sc = c;
usr/src/lib/libc/sparc/fp/_Q_cplx_div_rx.c
155
_Q_scl(&sc, -hw);
usr/src/lib/libc/sparc/fp/_Q_cplx_div_rx.c
157
r = sc * sc + sd * sd;
usr/src/lib/libc/sparc/fp/_Q_cplx_div_rx.c
92
long double a, c, d, sc, sd, r;
usr/src/lib/libcurses/screen/wnoutref.c
132
sc = *scp;
usr/src/lib/libcurses/screen/wnoutref.c
166
if (ISMBIT(sc[lo + xorg]))
usr/src/lib/libcurses/screen/wnoutref.c
168
if (ISMBIT(sc[hi + xorg]))
usr/src/lib/libcurses/screen/wnoutref.c
188
sc = *scp + lo + xorg;
usr/src/lib/libcurses/screen/wnoutref.c
189
(void) memcpy((char *)sc, (char *)wc, (size_t)
usr/src/lib/libcurses/screen/wnoutref.c
52
chtype **wcp, **scp, *wc, *sc;
usr/src/lib/libcurses/screen/wrefresh.c
1045
chtype sc;
usr/src/lib/libcurses/screen/wrefresh.c
1060
sc = curscr->_y[cy][x];
usr/src/lib/libcurses/screen/wrefresh.c
1091
if (_ATTR(sc) != curscr->_attrs)
usr/src/lib/libcurses/screen/wrefresh.c
1092
_VIDS(_ATTR(sc), curscr->_attrs);
usr/src/lib/libcurses/screen/wrefresh.c
1097
if (marks && (_ATTR(sc) || _ATTR(wcp[wx])))
usr/src/lib/libcurses/screen/wrefresh.c
1098
_VIDS(_ATTR(wcp[wx]), ~_ATTR(sc));
usr/src/lib/libcurses/screen/wrefresh.c
369
chtype *wcp, *scp, *wp, *sp, wc, sc;
usr/src/lib/libcurses/screen/wrefresh.c
592
sc = *scp;
usr/src/lib/libcurses/screen/wrefresh.c
594
if (!redraw && !multi_col && wc == sc)
usr/src/lib/libcurses/screen/wrefresh.c
599
curscr->_attrs = _ATTR(sc);
usr/src/lib/libdwarf/common/dwarf_machoread.c
386
struct segment_command sc;
usr/src/lib/libdwarf/common/dwarf_machoread.c
390
Dwarf_Unsigned afterseghdr = segoffset + sizeof(sc);
usr/src/lib/libdwarf/common/dwarf_machoread.c
398
res = RRMOA(mfp->mo_fd, &sc, (off_t)mmp->offset_this_command, sizeof(sc),
usr/src/lib/libdwarf/common/dwarf_machoread.c
403
ASNAR(mfp->mo_copy_word,msp->cmd,sc.cmd);
usr/src/lib/libdwarf/common/dwarf_machoread.c
404
ASNAR(mfp->mo_copy_word,msp->cmdsize,sc.cmdsize);
usr/src/lib/libdwarf/common/dwarf_machoread.c
405
strncpy(msp->segname,sc.segname,16);
usr/src/lib/libdwarf/common/dwarf_machoread.c
407
ASNAR(mfp->mo_copy_word,msp->vmaddr,sc.vmaddr);
usr/src/lib/libdwarf/common/dwarf_machoread.c
408
ASNAR(mfp->mo_copy_word,msp->vmsize,sc.vmsize);
usr/src/lib/libdwarf/common/dwarf_machoread.c
409
ASNAR(mfp->mo_copy_word,msp->fileoff,sc.fileoff);
usr/src/lib/libdwarf/common/dwarf_machoread.c
410
ASNAR(mfp->mo_copy_word,msp->filesize,sc.filesize);
usr/src/lib/libdwarf/common/dwarf_machoread.c
422
ASNAR(mfp->mo_copy_word,msp->maxprot,sc.maxprot);
usr/src/lib/libdwarf/common/dwarf_machoread.c
423
ASNAR(mfp->mo_copy_word,msp->initprot,sc.initprot);
usr/src/lib/libdwarf/common/dwarf_machoread.c
424
ASNAR(mfp->mo_copy_word,msp->nsects,sc.nsects);
usr/src/lib/libdwarf/common/dwarf_machoread.c
425
ASNAR(mfp->mo_copy_word,msp->flags,sc.flags);
usr/src/lib/libdwarf/common/dwarf_machoread.c
437
struct segment_command_64 sc;
usr/src/lib/libdwarf/common/dwarf_machoread.c
441
Dwarf_Unsigned afterseghdr = segoffset + sizeof(sc);
usr/src/lib/libdwarf/common/dwarf_machoread.c
449
res = RRMOA(mfp->mo_fd, &sc, (off_t)mmp->offset_this_command, sizeof(sc),
usr/src/lib/libdwarf/common/dwarf_machoread.c
454
ASNAR(mfp->mo_copy_word,msp->cmd,sc.cmd);
usr/src/lib/libdwarf/common/dwarf_machoread.c
455
ASNAR(mfp->mo_copy_word,msp->cmdsize,sc.cmdsize);
usr/src/lib/libdwarf/common/dwarf_machoread.c
456
strncpy(msp->segname,sc.segname,16);
usr/src/lib/libdwarf/common/dwarf_machoread.c
458
ASNAR(mfp->mo_copy_word,msp->vmaddr,sc.vmaddr);
usr/src/lib/libdwarf/common/dwarf_machoread.c
459
ASNAR(mfp->mo_copy_word,msp->vmsize,sc.vmsize);
usr/src/lib/libdwarf/common/dwarf_machoread.c
460
ASNAR(mfp->mo_copy_word,msp->fileoff,sc.fileoff);
usr/src/lib/libdwarf/common/dwarf_machoread.c
461
ASNAR(mfp->mo_copy_word,msp->filesize,sc.filesize);
usr/src/lib/libdwarf/common/dwarf_machoread.c
473
ASNAR(mfp->mo_copy_word,msp->maxprot,sc.maxprot);
usr/src/lib/libdwarf/common/dwarf_machoread.c
474
ASNAR(mfp->mo_copy_word,msp->initprot,sc.initprot);
usr/src/lib/libdwarf/common/dwarf_machoread.c
475
ASNAR(mfp->mo_copy_word,msp->nsects,sc.nsects);
usr/src/lib/libdwarf/common/dwarf_machoread.c
476
ASNAR(mfp->mo_copy_word,msp->flags,sc.flags);
usr/src/lib/libfdisk/common/libfdisk.c
1050
uint32_t lba, cy, hd, sc;
usr/src/lib/libfdisk/common/libfdisk.c
1062
sc = MAX_SECT;
usr/src/lib/libfdisk/common/libfdisk.c
1066
sc = lba % sectors + 1;
usr/src/lib/libfdisk/common/libfdisk.c
1071
part->begsect = (uchar_t)(((cy >> 2) & 0xc0) | sc);
usr/src/lib/libfdisk/common/libfdisk.c
1081
sc = MAX_SECT;
usr/src/lib/libfdisk/common/libfdisk.c
1085
sc = lba % sectors + 1;
usr/src/lib/libfdisk/common/libfdisk.c
1089
part->endsect = (uchar_t)(((cy >> 2) & 0xc0) | sc);
usr/src/lib/libldap5/sources/ldap/common/getoption.c
288
int sc;
usr/src/lib/libldap5/sources/ldap/common/getoption.c
299
sc = sasl_getprop( ctx, SASL_SSF, (const void **) &ssf );
usr/src/lib/libldap5/sources/ldap/common/getoption.c
300
if ( sc != SASL_OK ) {
usr/src/lib/libldap5/sources/ldap/common/ldaputf8.c
149
unsigned long sc, bc;
usr/src/lib/libldap5/sources/ldap/common/ldaputf8.c
157
sc = LDAP_UTF8GETC(sp);
usr/src/lib/libldap5/sources/ldap/common/ldaputf8.c
159
if (sc == bc)
usr/src/lib/libldap5/sources/ldap/common/ldaputf8.c
163
if (sc == 0) { /* no non-delimiter characters */
usr/src/lib/libldap5/sources/ldap/common/ldaputf8.c
173
sc = LDAP_UTF8GETC(sp);
usr/src/lib/libldap5/sources/ldap/common/ldaputf8.c
176
if ((bc = LDAP_UTF8GETCC(bp)) == sc) {
usr/src/lib/libldap5/sources/ldap/common/ldaputf8.c
177
if (sc == 0) {
usr/src/lib/libldap5/sources/ldap/common/setoption.c
371
int sc;
usr/src/lib/libldap5/sources/ldap/common/setoption.c
385
sc = sasl_setprop(ctx, SASL_SSF_EXTERNAL,
usr/src/lib/libldap5/sources/ldap/common/setoption.c
387
if (sc != SASL_OK) {
usr/src/lib/libldap5/sources/ldap/common/setoption.c
394
int sc;
usr/src/lib/libldap5/sources/ldap/common/setoption.c
395
sc = nsldapi_sasl_secprops((char *)optdata,
usr/src/lib/libldap5/sources/ldap/common/setoption.c
397
return (sc == LDAP_SUCCESS ? 0 : -1);
usr/src/lib/libm/common/C/__cos.c
43
static const double sc[] = {
usr/src/lib/libm/common/C/__cos.c
75
#define ONE sc[0]
usr/src/lib/libm/common/C/__cos.c
76
#define NONE sc[1]
usr/src/lib/libm/common/C/__cos.c
77
#define PP1 sc[2]
usr/src/lib/libm/common/C/__cos.c
78
#define PP2 sc[3]
usr/src/lib/libm/common/C/__cos.c
79
#define P1 sc[4]
usr/src/lib/libm/common/C/__cos.c
80
#define P2 sc[5]
usr/src/lib/libm/common/C/__cos.c
81
#define P3 sc[6]
usr/src/lib/libm/common/C/__cos.c
82
#define P4 sc[7]
usr/src/lib/libm/common/C/__cos.c
83
#define QQ1 sc[8]
usr/src/lib/libm/common/C/__cos.c
84
#define QQ2 sc[9]
usr/src/lib/libm/common/C/__cos.c
85
#define Q1 sc[10]
usr/src/lib/libm/common/C/__cos.c
86
#define Q2 sc[11]
usr/src/lib/libm/common/C/__cos.c
87
#define Q3 sc[12]
usr/src/lib/libm/common/C/__cos.c
88
#define Q4 sc[13]
usr/src/lib/libm/common/C/__sin.c
43
static const double sc[] = {
usr/src/lib/libm/common/C/__sin.c
75
#define ONE sc[0]
usr/src/lib/libm/common/C/__sin.c
76
#define NONE sc[1]
usr/src/lib/libm/common/C/__sin.c
77
#define PP1 sc[2]
usr/src/lib/libm/common/C/__sin.c
78
#define PP2 sc[3]
usr/src/lib/libm/common/C/__sin.c
79
#define P1 sc[4]
usr/src/lib/libm/common/C/__sin.c
80
#define P2 sc[5]
usr/src/lib/libm/common/C/__sin.c
81
#define P3 sc[6]
usr/src/lib/libm/common/C/__sin.c
82
#define P4 sc[7]
usr/src/lib/libm/common/C/__sin.c
83
#define QQ1 sc[8]
usr/src/lib/libm/common/C/__sin.c
84
#define QQ2 sc[9]
usr/src/lib/libm/common/C/__sin.c
85
#define Q1 sc[10]
usr/src/lib/libm/common/C/__sin.c
86
#define Q2 sc[11]
usr/src/lib/libm/common/C/__sin.c
87
#define Q3 sc[12]
usr/src/lib/libm/common/C/__sin.c
88
#define Q4 sc[13]
usr/src/lib/libm/common/C/__sincos.c
101
#define ONE sc[0]
usr/src/lib/libm/common/C/__sincos.c
102
#define NONE sc[1]
usr/src/lib/libm/common/C/__sincos.c
103
#define PP1 sc[2]
usr/src/lib/libm/common/C/__sincos.c
104
#define PP2 sc[3]
usr/src/lib/libm/common/C/__sincos.c
105
#define P1 sc[4]
usr/src/lib/libm/common/C/__sincos.c
106
#define P2 sc[5]
usr/src/lib/libm/common/C/__sincos.c
107
#define P3 sc[6]
usr/src/lib/libm/common/C/__sincos.c
108
#define P4 sc[7]
usr/src/lib/libm/common/C/__sincos.c
109
#define QQ1 sc[8]
usr/src/lib/libm/common/C/__sincos.c
110
#define QQ2 sc[9]
usr/src/lib/libm/common/C/__sincos.c
111
#define Q1 sc[10]
usr/src/lib/libm/common/C/__sincos.c
112
#define Q2 sc[11]
usr/src/lib/libm/common/C/__sincos.c
113
#define Q3 sc[12]
usr/src/lib/libm/common/C/__sincos.c
114
#define Q4 sc[13]
usr/src/lib/libm/common/C/__sincos.c
69
static const double sc[] = {
usr/src/lib/libm/common/C/cos.c
100
#define PI3O2_L sc[19]
usr/src/lib/libm/common/C/cos.c
101
#define PI3O2_L0 sc[20]
usr/src/lib/libm/common/C/cos.c
102
#define PI3O2_L1 sc[21]
usr/src/lib/libm/common/C/cos.c
103
#define PI5O2_H sc[22]
usr/src/lib/libm/common/C/cos.c
104
#define PI5O2_L sc[23]
usr/src/lib/libm/common/C/cos.c
105
#define PI5O2_L0 sc[24]
usr/src/lib/libm/common/C/cos.c
106
#define PI5O2_L1 sc[25]
usr/src/lib/libm/common/C/cos.c
41
static const double sc[] = {
usr/src/lib/libm/common/C/cos.c
82
#define ONE sc[0]
usr/src/lib/libm/common/C/cos.c
83
#define PP1 sc[2]
usr/src/lib/libm/common/C/cos.c
84
#define PP2 sc[3]
usr/src/lib/libm/common/C/cos.c
85
#define P1 sc[4]
usr/src/lib/libm/common/C/cos.c
86
#define P2 sc[5]
usr/src/lib/libm/common/C/cos.c
87
#define P3 sc[6]
usr/src/lib/libm/common/C/cos.c
88
#define P4 sc[7]
usr/src/lib/libm/common/C/cos.c
89
#define QQ1 sc[8]
usr/src/lib/libm/common/C/cos.c
90
#define QQ2 sc[9]
usr/src/lib/libm/common/C/cos.c
91
#define Q1 sc[10]
usr/src/lib/libm/common/C/cos.c
92
#define Q2 sc[11]
usr/src/lib/libm/common/C/cos.c
93
#define Q3 sc[12]
usr/src/lib/libm/common/C/cos.c
94
#define Q4 sc[13]
usr/src/lib/libm/common/C/cos.c
95
#define PIO2_H sc[14]
usr/src/lib/libm/common/C/cos.c
96
#define PIO2_L sc[15]
usr/src/lib/libm/common/C/cos.c
97
#define PIO2_L0 sc[16]
usr/src/lib/libm/common/C/cos.c
98
#define PIO2_L1 sc[17]
usr/src/lib/libm/common/C/cos.c
99
#define PI3O2_H sc[18]
usr/src/lib/libm/common/C/sin.c
41
static const double sc[] = {
usr/src/lib/libm/common/C/sin.c
74
#define ONEA sc
usr/src/lib/libm/common/C/sin.c
75
#define ONE sc[0]
usr/src/lib/libm/common/C/sin.c
76
#define NONE sc[1]
usr/src/lib/libm/common/C/sin.c
77
#define PP1 sc[2]
usr/src/lib/libm/common/C/sin.c
78
#define PP2 sc[3]
usr/src/lib/libm/common/C/sin.c
79
#define P1 sc[4]
usr/src/lib/libm/common/C/sin.c
80
#define P2 sc[5]
usr/src/lib/libm/common/C/sin.c
81
#define P3 sc[6]
usr/src/lib/libm/common/C/sin.c
82
#define P4 sc[7]
usr/src/lib/libm/common/C/sin.c
83
#define QQ1 sc[8]
usr/src/lib/libm/common/C/sin.c
84
#define QQ2 sc[9]
usr/src/lib/libm/common/C/sin.c
85
#define PI_H sc[10]
usr/src/lib/libm/common/C/sin.c
86
#define PI_L sc[11]
usr/src/lib/libm/common/C/sin.c
87
#define PI_L0 sc[12]
usr/src/lib/libm/common/C/sin.c
88
#define PI_L1 sc[13]
usr/src/lib/libm/common/C/sin.c
89
#define PI2_H sc[14]
usr/src/lib/libm/common/C/sin.c
90
#define PI2_L sc[15]
usr/src/lib/libm/common/C/sin.c
91
#define PI2_L0 sc[16]
usr/src/lib/libm/common/C/sin.c
92
#define PI2_L1 sc[17]
usr/src/lib/libm/common/C/sincos.c
143
#define ONE sc[0]
usr/src/lib/libm/common/C/sincos.c
144
#define PP1 sc[2]
usr/src/lib/libm/common/C/sincos.c
145
#define PP2 sc[3]
usr/src/lib/libm/common/C/sincos.c
146
#define P1 sc[4]
usr/src/lib/libm/common/C/sincos.c
147
#define P2 sc[5]
usr/src/lib/libm/common/C/sincos.c
148
#define P3 sc[6]
usr/src/lib/libm/common/C/sincos.c
149
#define P4 sc[7]
usr/src/lib/libm/common/C/sincos.c
150
#define QQ1 sc[8]
usr/src/lib/libm/common/C/sincos.c
151
#define QQ2 sc[9]
usr/src/lib/libm/common/C/sincos.c
152
#define Q1 sc[10]
usr/src/lib/libm/common/C/sincos.c
153
#define Q2 sc[11]
usr/src/lib/libm/common/C/sincos.c
154
#define Q3 sc[12]
usr/src/lib/libm/common/C/sincos.c
155
#define Q4 sc[13]
usr/src/lib/libm/common/C/sincos.c
156
#define PIO2_H sc[14]
usr/src/lib/libm/common/C/sincos.c
157
#define PIO2_L sc[15]
usr/src/lib/libm/common/C/sincos.c
158
#define PIO2_L0 sc[16]
usr/src/lib/libm/common/C/sincos.c
159
#define PIO2_L1 sc[17]
usr/src/lib/libm/common/C/sincos.c
160
#define PI_H sc[18]
usr/src/lib/libm/common/C/sincos.c
161
#define PI_L sc[19]
usr/src/lib/libm/common/C/sincos.c
162
#define PI_L0 sc[20]
usr/src/lib/libm/common/C/sincos.c
163
#define PI_L1 sc[21]
usr/src/lib/libm/common/C/sincos.c
164
#define PI3O2_H sc[22]
usr/src/lib/libm/common/C/sincos.c
165
#define PI3O2_L sc[23]
usr/src/lib/libm/common/C/sincos.c
166
#define PI3O2_L0 sc[24]
usr/src/lib/libm/common/C/sincos.c
167
#define PI3O2_L1 sc[25]
usr/src/lib/libm/common/C/sincos.c
168
#define PI2_H sc[26]
usr/src/lib/libm/common/C/sincos.c
169
#define PI2_L sc[27]
usr/src/lib/libm/common/C/sincos.c
170
#define PI2_L0 sc[28]
usr/src/lib/libm/common/C/sincos.c
171
#define PI2_L1 sc[29]
usr/src/lib/libm/common/C/sincos.c
172
#define PI5O2_H sc[30]
usr/src/lib/libm/common/C/sincos.c
173
#define PI5O2_L sc[31]
usr/src/lib/libm/common/C/sincos.c
174
#define PI5O2_L0 sc[32]
usr/src/lib/libm/common/C/sincos.c
175
#define PI5O2_L1 sc[33]
usr/src/lib/libm/common/C/sincos.c
94
static const double sc[] = {
usr/src/lib/libnvme/common/libnvme_error.c
1206
const char *sct, *sc;
usr/src/lib/libnvme/common/libnvme_error.c
1211
sc = nvme_sctostr(ctrl, NVME_CSI_NVM, ioc->nioc_ctrl_sct,
usr/src/lib/libnvme/common/libnvme_error.c
1215
"sct/sc %s/%s (0x%x/0x%x)", desc, sct, sc,
usr/src/lib/libnvme/common/libnvme_error.c
38
nvme_scttostr(nvme_ctrl_t *ctrl __unused, uint32_t sc)
usr/src/lib/libnvme/common/libnvme_error.c
40
switch (sc) {
usr/src/lib/libnvme/common/libnvme_error.c
505
uint32_t sc)
usr/src/lib/libnvme/common/libnvme_error.c
509
if (sc <= NVME_CQE_SC_GEN_MAX) {
usr/src/lib/libnvme/common/libnvme_error.c
510
return (nvme_sctostr_gen_gen(sc));
usr/src/lib/libnvme/common/libnvme_error.c
511
} else if (sc <= NVME_CQE_SC_CSI_MAX) {
usr/src/lib/libnvme/common/libnvme_error.c
512
return (nvme_sctostr_gen_csi(csi, sc));
usr/src/lib/libnvme/common/libnvme_error.c
517
if (sc <= NVME_CQE_SC_GEN_MAX) {
usr/src/lib/libnvme/common/libnvme_error.c
518
return (nvme_sctostr_cmd_gen(sc));
usr/src/lib/libnvme/common/libnvme_error.c
519
} else if (sc <= NVME_CQE_SC_CSI_MAX) {
usr/src/lib/libnvme/common/libnvme_error.c
520
return (nvme_sctostr_cmd_csi(csi, sc));
usr/src/lib/libnvme/common/libnvme_error.c
525
return (nvme_sctostr_media(csi, sc));
usr/src/lib/libnvme/common/libnvme_error.c
527
return (nvme_sctostr_path(sc));
usr/src/lib/libnvme/common/libnvme_error.c
821
nvme_ctrl_deverr(nvme_ctrl_t *ctrl, uint32_t *sct, uint32_t *sc)
usr/src/lib/libnvme/common/libnvme_error.c
827
if (sc != NULL) {
usr/src/lib/libnvme/common/libnvme_error.c
828
*sc = ctrl->nc_err.ne_ctrl_sc;
usr/src/lib/libresolv2/common/bsd/strpbrk.c
53
int c, sc;
usr/src/lib/libresolv2/common/bsd/strpbrk.c
56
for (scanp = s2; (sc = *scanp++) != 0;)
usr/src/lib/libresolv2/common/bsd/strpbrk.c
57
if (sc == c)
usr/src/lib/libresolv2/common/bsd/strsep.c
59
int c, sc;
usr/src/lib/libresolv2/common/bsd/strsep.c
68
if ((sc = *spanp++) == c) {
usr/src/lib/libresolv2/common/bsd/strsep.c
76
} while (sc != 0);
usr/src/lib/libscf/common/lowlevel.c
1350
scf_scope_t *sc;
usr/src/lib/libscf/common/lowlevel.c
1388
sc = handle->rh_scope;
usr/src/lib/libscf/common/lowlevel.c
1409
if (sc != NULL)
usr/src/lib/libscf/common/lowlevel.c
1410
scf_scope_destroy(sc);
usr/src/lib/libscf/common/lowlevel.c
5498
scf_handle_decode_fmri(scf_handle_t *h, const char *fmri, scf_scope_t *sc,
usr/src/lib/libscf/common/lowlevel.c
5512
if ((sc != NULL && h != sc->rd_d.rd_handle) ||
usr/src/lib/libscf/common/lowlevel.c
5555
else if (sc != NULL)
usr/src/lib/libscf/common/lowlevel.c
5596
if (sc == NULL)
usr/src/lib/libscf/common/lowlevel.c
5597
sc = h->rh_scope;
usr/src/lib/libscf/common/lowlevel.c
5599
datael_reset(&sc->rd_d);
usr/src/lib/libscf/common/lowlevel.c
5626
if (scf_handle_get_scope(h, SCF_SCOPE_LOCAL, sc) == -1) {
usr/src/lib/libscf/common/lowlevel.c
5644
if (scf_scope_get_service(sc, service, svc) == -1) {
usr/src/lib/libscf/common/lowlevel.c
5717
if (sc != NULL)
usr/src/lib/libscf/common/lowlevel.c
5718
datael_reset(&sc->rd_d);
usr/src/lib/libtsnet/common/tsol_sgettpent.c
106
for (sc = 0; tokp != NULL && sc < NSLS_MAX; sc++) {
usr/src/lib/libtsnet/common/tsol_sgettpent.c
107
slp = &labels[sc];
usr/src/lib/libtsnet/common/tsol_sgettpent.c
113
if (tokp != NULL && sc >= NSLS_MAX)
usr/src/lib/libtsnet/common/tsol_sgettpent.c
99
int sc;
usr/src/lib/libzfs/common/libzfs_pool.c
3332
uint_t sc;
usr/src/lib/libzfs/common/libzfs_pool.c
3336
for (sc = 0; sc < schildren; sc++) {
usr/src/lib/libzfs/common/libzfs_pool.c
3338
schild[sc], 0);
usr/src/lib/rpcsec_gss/svc_rpcsec_gss.c
1399
svc_creds_list_t *sc;
usr/src/lib/rpcsec_gss/svc_rpcsec_gss.c
1404
for (sc = svc_creds_list; sc != NULL; sc = sc->next) {
usr/src/lib/rpcsec_gss/svc_rpcsec_gss.c
1405
if (program != sc->program || version != sc->version)
usr/src/lib/rpcsec_gss/svc_rpcsec_gss.c
1408
if (strcmp(service_name, sc->server_name) != 0)
usr/src/lib/rpcsec_gss/svc_rpcsec_gss.c
1410
return (sc);
usr/src/lib/rpcsec_gss/svc_rpcsec_gss.c
556
svc_creds_list_t *sc;
usr/src/lib/rpcsec_gss/svc_rpcsec_gss.c
710
for (sc = svc_creds_list; sc != NULL; sc = sc->next) {
usr/src/lib/rpcsec_gss/svc_rpcsec_gss.c
711
if (rqst->rq_prog != sc->program ||
usr/src/lib/rpcsec_gss/svc_rpcsec_gss.c
712
rqst->rq_vers != sc->version)
usr/src/lib/rpcsec_gss/svc_rpcsec_gss.c
715
mutex_lock(&sc->refresh_mutex);
usr/src/lib/rpcsec_gss/svc_rpcsec_gss.c
718
sc->cred,
usr/src/lib/rpcsec_gss/svc_rpcsec_gss.c
729
if (rpc_gss_refresh_svc_cred(sc)) {
usr/src/lib/rpcsec_gss/svc_rpcsec_gss.c
733
sc->cred,
usr/src/lib/rpcsec_gss/svc_rpcsec_gss.c
742
mutex_unlock(&sc->refresh_mutex);
usr/src/lib/rpcsec_gss/svc_rpcsec_gss.c
745
mutex_unlock(&sc->refresh_mutex);
usr/src/lib/rpcsec_gss/svc_rpcsec_gss.c
751
mutex_unlock(&sc->refresh_mutex);
usr/src/lib/rpcsec_gss/svc_rpcsec_gss.c
766
mutex_lock(&sc->refresh_mutex);
usr/src/lib/rpcsec_gss/svc_rpcsec_gss.c
767
client_data->server_creds = sc->cred;
usr/src/lib/rpcsec_gss/svc_rpcsec_gss.c
771
sc->server_name;
usr/src/lib/rpcsec_gss/svc_rpcsec_gss.c
772
mutex_unlock(&sc->refresh_mutex);
usr/src/lib/rpcsec_gss/svc_rpcsec_gss.c
797
mutex_lock(&sc->refresh_mutex);
usr/src/lib/rpcsec_gss/svc_rpcsec_gss.c
798
client_data->server_creds = sc->cred;
usr/src/lib/rpcsec_gss/svc_rpcsec_gss.c
799
mutex_unlock(&sc->refresh_mutex);
usr/src/test/nvme-tests/tests/libnvme/libnvme_test_common.c
527
uint32_t sct, sc;
usr/src/test/nvme-tests/tests/libnvme/libnvme_test_common.c
538
nvme_ctrl_deverr(ctrl, &sct, &sc);
usr/src/test/nvme-tests/tests/libnvme/libnvme_test_common.c
539
if (sct != exp_sct && sc != exp_sc) {
usr/src/test/nvme-tests/tests/libnvme/libnvme_test_common.c
543
nvme_sctostr(ctrl, NVME_CSI_NVM, sct, sc), sct, sc,
usr/src/test/nvme-tests/tests/libnvme/pev.c
101
nvme_sctostr(ctrl, NVME_CSI_NVM, sct, sc), sc,
usr/src/test/nvme-tests/tests/libnvme/pev.c
79
uint32_t sct, sc;
usr/src/test/nvme-tests/tests/libnvme/pev.c
82
nvme_ctrl_deverr(ctrl, &sct, &sc);
usr/src/test/nvme-tests/tests/libnvme/pev.c
98
} else if (sc != NVME_CQE_SC_GEN_CMD_SEQ_ERR) {
usr/src/tools/ndrgen/ndr_lex.c
226
int sc;
usr/src/tools/ndrgen/ndr_lex.c
239
sc = str_to_sv(lexeme, sv);
usr/src/tools/ndrgen/ndr_lex.c
240
if (sc < 2)
usr/src/ucblib/libucb/i386/sys/signal.c
101
sc.sc_onstack = ((ucp->uc_stack.ss_flags & SS_ONSTACK) != 0);
usr/src/ucblib/libucb/i386/sys/signal.c
102
sc.sc_mask = set2mask(&ucp->uc_sigmask);
usr/src/ucblib/libucb/i386/sys/signal.c
105
sc.sc_sp = (long)ucp->uc_mcontext.gregs[REG_RSP];
usr/src/ucblib/libucb/i386/sys/signal.c
106
sc.sc_pc = (long)ucp->uc_mcontext.gregs[REG_RIP];
usr/src/ucblib/libucb/i386/sys/signal.c
107
sc.sc_ps = (long)ucp->uc_mcontext.gregs[REG_RFL];
usr/src/ucblib/libucb/i386/sys/signal.c
108
sc.sc_r0 = (long)ucp->uc_mcontext.gregs[REG_RAX];
usr/src/ucblib/libucb/i386/sys/signal.c
109
sc.sc_r1 = (long)ucp->uc_mcontext.gregs[REG_RDX];
usr/src/ucblib/libucb/i386/sys/signal.c
111
sc.sc_sp = (int)ucp->uc_mcontext.gregs[UESP];
usr/src/ucblib/libucb/i386/sys/signal.c
112
sc.sc_pc = (int)ucp->uc_mcontext.gregs[EIP];
usr/src/ucblib/libucb/i386/sys/signal.c
113
sc.sc_ps = (int)ucp->uc_mcontext.gregs[EFL];
usr/src/ucblib/libucb/i386/sys/signal.c
114
sc.sc_r0 = (int)ucp->uc_mcontext.gregs[EAX];
usr/src/ucblib/libucb/i386/sys/signal.c
115
sc.sc_r1 = (int)ucp->uc_mcontext.gregs[EDX];
usr/src/ucblib/libucb/i386/sys/signal.c
168
(*_siguhandler[sig])(sig, code, &sc, addr);
usr/src/ucblib/libucb/i386/sys/signal.c
170
if (sc.sc_onstack)
usr/src/ucblib/libucb/i386/sys/signal.c
174
mask2set(sc.sc_mask, &ucp->uc_sigmask);
usr/src/ucblib/libucb/i386/sys/signal.c
177
ucp->uc_mcontext.gregs[REG_RSP] = (long)sc.sc_sp;
usr/src/ucblib/libucb/i386/sys/signal.c
178
ucp->uc_mcontext.gregs[REG_RIP] = (long)sc.sc_pc;
usr/src/ucblib/libucb/i386/sys/signal.c
179
ucp->uc_mcontext.gregs[REG_RFL] = (long)sc.sc_ps;
usr/src/ucblib/libucb/i386/sys/signal.c
180
ucp->uc_mcontext.gregs[REG_RAX] = (long)sc.sc_r0;
usr/src/ucblib/libucb/i386/sys/signal.c
181
ucp->uc_mcontext.gregs[REG_RDX] = (long)sc.sc_r1;
usr/src/ucblib/libucb/i386/sys/signal.c
183
ucp->uc_mcontext.gregs[UESP] = (int)sc.sc_sp;
usr/src/ucblib/libucb/i386/sys/signal.c
184
ucp->uc_mcontext.gregs[EIP] = (int)sc.sc_pc;
usr/src/ucblib/libucb/i386/sys/signal.c
185
ucp->uc_mcontext.gregs[EFL] = (int)sc.sc_ps;
usr/src/ucblib/libucb/i386/sys/signal.c
186
ucp->uc_mcontext.gregs[EAX] = (int)sc.sc_r0;
usr/src/ucblib/libucb/i386/sys/signal.c
187
ucp->uc_mcontext.gregs[EDX] = (int)sc.sc_r1;
usr/src/ucblib/libucb/i386/sys/signal.c
95
struct sigcontext sc;
usr/src/ucblib/libucb/sparc/sys/signal.c
108
struct sigcontext sc;
usr/src/ucblib/libucb/sparc/sys/signal.c
115
sc.sc_onstack = ((ucp->uc_stack.ss_flags & SS_ONSTACK) != 0);
usr/src/ucblib/libucb/sparc/sys/signal.c
116
sc.sc_mask = set2mask(&ucp->uc_sigmask);
usr/src/ucblib/libucb/sparc/sys/signal.c
130
sc.sc_sp = ucp->uc_mcontext.gregs[REG_SP];
usr/src/ucblib/libucb/sparc/sys/signal.c
131
sc.sc_pc = ucp->uc_mcontext.gregs[REG_PC];
usr/src/ucblib/libucb/sparc/sys/signal.c
132
sc.sc_npc = ucp->uc_mcontext.gregs[REG_nPC];
usr/src/ucblib/libucb/sparc/sys/signal.c
136
sc.sc_psr = ucp->uc_mcontext.gregs[REG_CCR];
usr/src/ucblib/libucb/sparc/sys/signal.c
138
sc.sc_psr = ucp->uc_mcontext.gregs[REG_PSR];
usr/src/ucblib/libucb/sparc/sys/signal.c
141
sc.sc_g1 = ucp->uc_mcontext.gregs[REG_G1];
usr/src/ucblib/libucb/sparc/sys/signal.c
142
sc.sc_o0 = ucp->uc_mcontext.gregs[REG_O0];
usr/src/ucblib/libucb/sparc/sys/signal.c
152
sc.sc_wbcnt = (int)(sizeof (*ucp));
usr/src/ucblib/libucb/sparc/sys/signal.c
153
sc.sc_spbuf[0] = (char *)(uintptr_t)sig;
usr/src/ucblib/libucb/sparc/sys/signal.c
154
sc.sc_spbuf[1] = (char *)ucp;
usr/src/ucblib/libucb/sparc/sys/signal.c
165
sc.sc_wbcnt = ucp->uc_mcontext.gwins->wbcnt;
usr/src/ucblib/libucb/sparc/sys/signal.c
168
sc.sc_spbuf[i] = ucp->uc_mcontext.gwins->spbuf[i];
usr/src/ucblib/libucb/sparc/sys/signal.c
170
sc.sc_wbuf[i][j] =
usr/src/ucblib/libucb/sparc/sys/signal.c
173
sc.sc_wbuf[i][j+8] =
usr/src/ucblib/libucb/sparc/sys/signal.c
272
(*_siguhandler[sig])(sig, code, &sc, addr);
usr/src/ucblib/libucb/sparc/sys/signal.c
274
if (sc.sc_onstack)
usr/src/ucblib/libucb/sparc/sys/signal.c
278
mask2set(sc.sc_mask, &ucp->uc_sigmask);
usr/src/ucblib/libucb/sparc/sys/signal.c
281
ucp->uc_mcontext.gregs[REG_SP] = sc.sc_sp;
usr/src/ucblib/libucb/sparc/sys/signal.c
282
ucp->uc_mcontext.gregs[REG_PC] = sc.sc_pc;
usr/src/ucblib/libucb/sparc/sys/signal.c
283
ucp->uc_mcontext.gregs[REG_nPC] = sc.sc_npc;
usr/src/ucblib/libucb/sparc/sys/signal.c
285
ucp->uc_mcontext.gregs[REG_CCR] = sc.sc_psr;
usr/src/ucblib/libucb/sparc/sys/signal.c
287
ucp->uc_mcontext.gregs[REG_PSR] = sc.sc_psr;
usr/src/ucblib/libucb/sparc/sys/signal.c
289
ucp->uc_mcontext.gregs[REG_G1] = sc.sc_g1;
usr/src/ucblib/libucb/sparc/sys/signal.c
290
ucp->uc_mcontext.gregs[REG_O0] = sc.sc_o0;
usr/src/ucblib/libucb/sparc/sys/signal.c
295
ucp->uc_mcontext.gwins->wbcnt = sc.sc_wbcnt;
usr/src/ucblib/libucb/sparc/sys/signal.c
297
for (i = 0; i < sc.sc_wbcnt; i++) {
usr/src/ucblib/libucb/sparc/sys/signal.c
298
ucp->uc_mcontext.gwins->spbuf[i] = sc.sc_spbuf[i];
usr/src/ucblib/libucb/sparc/sys/signal.c
301
sc.sc_wbuf[i][j];
usr/src/ucblib/libucb/sparc/sys/signal.c
304
sc.sc_wbuf[i][j+8];
usr/src/uts/common/crypto/io/skein_mod.c
171
skein_ctx_t *sc = (_skein_ctx); \
usr/src/uts/common/crypto/io/skein_mod.c
172
switch (sc->sc_mech_type) { \
usr/src/uts/common/crypto/io/skein_mod.c
175
(void) Skein_256_ ## _op(&sc->sc_u.sc_256, \
usr/src/uts/common/crypto/io/skein_mod.c
180
(void) Skein_512_ ## _op(&sc->sc_u.sc_512, \
usr/src/uts/common/crypto/io/skein_mod.c
185
(void) Skein1024_ ## _op(&sc->sc_u.sc_1024, \
usr/src/uts/common/disp/disp.c
249
sclass_t *sc;
usr/src/uts/common/disp/disp.c
251
sc = &sclass[cid];
usr/src/uts/common/disp/disp.c
252
if (SCHED_INSTALLED(sc)) {
usr/src/uts/common/disp/disp.c
253
cl_maxglobpri = sc->cl_init(cid, PC_CLPARMSZ,
usr/src/uts/common/disp/disp.c
254
&sc->cl_funcs);
usr/src/uts/common/fs/zfs/vdev_raidz_math_impl.h
194
raidz_copy_abd_cb(void *dc, void *sc, size_t size, void *private)
usr/src/uts/common/fs/zfs/vdev_raidz_math_impl.h
197
const v_t *src = (v_t *)sc;
usr/src/uts/common/fs/zfs/vdev_raidz_math_impl.h
233
raidz_add_abd_cb(void *dc, void *sc, size_t size, void *private)
usr/src/uts/common/fs/zfs/vdev_raidz_math_impl.h
236
const v_t *src = (v_t *)sc;
usr/src/uts/common/gssapi/mechs/krb5/krb5/krb/kfree.c
664
krb5_free_sam_challenge(krb5_context ctx, krb5_sam_challenge *sc)
usr/src/uts/common/gssapi/mechs/krb5/krb5/krb/kfree.c
666
if (!sc)
usr/src/uts/common/gssapi/mechs/krb5/krb5/krb/kfree.c
668
krb5_free_sam_challenge_contents(ctx, sc);
usr/src/uts/common/gssapi/mechs/krb5/krb5/krb/kfree.c
669
krb5_xfree(sc);
usr/src/uts/common/gssapi/mechs/krb5/krb5/krb/kfree.c
682
krb5_free_sam_challenge_contents(krb5_context ctx, krb5_sam_challenge *sc)
usr/src/uts/common/gssapi/mechs/krb5/krb5/krb/kfree.c
684
if (!sc)
usr/src/uts/common/gssapi/mechs/krb5/krb5/krb/kfree.c
686
if (sc->sam_type_name.data)
usr/src/uts/common/gssapi/mechs/krb5/krb5/krb/kfree.c
687
krb5_free_data_contents(ctx, &sc->sam_type_name);
usr/src/uts/common/gssapi/mechs/krb5/krb5/krb/kfree.c
688
if (sc->sam_track_id.data)
usr/src/uts/common/gssapi/mechs/krb5/krb5/krb/kfree.c
689
krb5_free_data_contents(ctx, &sc->sam_track_id);
usr/src/uts/common/gssapi/mechs/krb5/krb5/krb/kfree.c
690
if (sc->sam_challenge_label.data)
usr/src/uts/common/gssapi/mechs/krb5/krb5/krb/kfree.c
691
krb5_free_data_contents(ctx, &sc->sam_challenge_label);
usr/src/uts/common/gssapi/mechs/krb5/krb5/krb/kfree.c
692
if (sc->sam_challenge.data)
usr/src/uts/common/gssapi/mechs/krb5/krb5/krb/kfree.c
693
krb5_free_data_contents(ctx, &sc->sam_challenge);
usr/src/uts/common/gssapi/mechs/krb5/krb5/krb/kfree.c
694
if (sc->sam_response_prompt.data)
usr/src/uts/common/gssapi/mechs/krb5/krb5/krb/kfree.c
695
krb5_free_data_contents(ctx, &sc->sam_response_prompt);
usr/src/uts/common/gssapi/mechs/krb5/krb5/krb/kfree.c
696
if (sc->sam_pk_for_sad.data)
usr/src/uts/common/gssapi/mechs/krb5/krb5/krb/kfree.c
697
krb5_free_data_contents(ctx, &sc->sam_pk_for_sad);
usr/src/uts/common/gssapi/mechs/krb5/krb5/krb/kfree.c
698
if (sc->sam_cksum.contents) {
usr/src/uts/common/gssapi/mechs/krb5/krb5/krb/kfree.c
699
krb5_xfree(sc->sam_cksum.contents);
usr/src/uts/common/gssapi/mechs/krb5/krb5/krb/kfree.c
700
sc->sam_cksum.contents = 0;
usr/src/uts/common/inet/sctp/sctp_input.c
1753
sctp_sack_chunk_t *sc;
usr/src/uts/common/inet/sctp/sctp_input.c
1767
sc = (sctp_sack_chunk_t *)(sch + 1);
usr/src/uts/common/inet/sctp/sctp_input.c
1768
sc->ssc_cumtsn = htonl(sctp->sctp_lastacked);
usr/src/uts/common/inet/sctp/sctp_input.c
1770
sc->ssc_a_rwnd = htonl(sctp->sctp_rwnd - sctp->sctp_rxqueued);
usr/src/uts/common/inet/sctp/sctp_input.c
1772
sc->ssc_a_rwnd = 0;
usr/src/uts/common/inet/sctp/sctp_input.c
1775
sctp->sctp_arwnd = sc->ssc_a_rwnd;
usr/src/uts/common/inet/sctp/sctp_input.c
1776
sc->ssc_numfrags = htons(num_gaps);
usr/src/uts/common/inet/sctp/sctp_input.c
1777
sc->ssc_numdups = 0;
usr/src/uts/common/inet/sctp/sctp_input.c
1780
sf = (sctp_sack_frag_t *)(sc + 1);
usr/src/uts/common/inet/sctp/sctp_input.c
1826
sctp_sack_chunk_t *sc;
usr/src/uts/common/inet/sctp/sctp_input.c
1864
slen = sizeof (*sch) + sizeof (*sc) +
usr/src/uts/common/inet/sctp/sctp_input.c
1901
sc = (sctp_sack_chunk_t *)(sch + 1);
usr/src/uts/common/inet/sctp/sctp_input.c
1902
sc->ssc_numdups = htons(MBLKL(dups) / sizeof (uint32_t));
usr/src/uts/common/inet/sctp/sctp_input.c
2710
sctp_sack_chunk_t *sc;
usr/src/uts/common/inet/sctp/sctp_input.c
2734
if (chunklen < (sizeof (*sch) + sizeof (*sc)))
usr/src/uts/common/inet/sctp/sctp_input.c
2737
sc = (sctp_sack_chunk_t *)(sch + 1);
usr/src/uts/common/inet/sctp/sctp_input.c
2738
cumtsn = ntohl(sc->ssc_cumtsn);
usr/src/uts/common/inet/sctp/sctp_input.c
2781
ntohl(sc->ssc_a_rwnd) >= sctp->sctp_current->sf_pmss) {
usr/src/uts/common/inet/sctp/sctp_input.c
2836
num_gaps = ntohs(sc->ssc_numfrags);
usr/src/uts/common/inet/sctp/sctp_input.c
2839
chunklen < (sizeof (*sch) + sizeof (*sc) +
usr/src/uts/common/inet/sctp/sctp_input.c
2876
ssf = (sctp_sack_frag_t *)(sc + 1);
usr/src/uts/common/inet/sctp/sctp_input.c
3083
trysend += sctp_set_frwnd(sctp, ntohl(sc->ssc_a_rwnd));
usr/src/uts/common/inet/udp_impl.h
233
((us)->us->sc[CPU->cpu_seqid]->udp_sc_stats.x.value.ui64 += (n))
usr/src/uts/common/io/arn/arn_ath9k.h
859
struct ath_hal *ath9k_hw_attach(uint16_t devid, struct arn_softc *sc,
usr/src/uts/common/io/arn/arn_beacon.c
104
series[0].ChSel = sc->sc_tx_chainmask;
usr/src/uts/common/io/arn/arn_beacon.c
118
arn_beacon_start_adhoc(struct arn_softc *sc)
usr/src/uts/common/io/arn/arn_beacon.c
120
struct ath_buf *bf = list_head(&sc->sc_bcbuf_list);
usr/src/uts/common/io/arn/arn_beacon.c
123
struct ath_hal *ah = sc->sc_ah;
usr/src/uts/common/io/arn/arn_beacon.c
127
if (ieee80211_beacon_update(ic, bf->bf_in, &sc->asc_boff, mp, 0))
usr/src/uts/common/io/arn/arn_beacon.c
131
arn_beacon_setup(sc, bf);
usr/src/uts/common/io/arn/arn_beacon.c
138
if (!ath9k_hw_stoptxdma(ah, sc->sc_beaconq)) {
usr/src/uts/common/io/arn/arn_beacon.c
140
sc->sc_beaconq);
usr/src/uts/common/io/arn/arn_beacon.c
145
(void) ath9k_hw_puttxbuf(ah, sc->sc_beaconq, bf->bf_daddr);
usr/src/uts/common/io/arn/arn_beacon.c
146
(void) ath9k_hw_txstart(ah, sc->sc_beaconq);
usr/src/uts/common/io/arn/arn_beacon.c
149
"TXDP%u = %llx (%p)\n", sc->sc_beaconq,
usr/src/uts/common/io/arn/arn_beacon.c
168
arn_beacon_alloc(struct arn_softc *sc, struct ieee80211_node *in)
usr/src/uts/common/io/arn/arn_beacon.c
174
mutex_enter(&sc->sc_bcbuflock);
usr/src/uts/common/io/arn/arn_beacon.c
175
bf = list_head(&sc->sc_bcbuf_list);
usr/src/uts/common/io/arn/arn_beacon.c
179
mutex_exit(&sc->sc_bcbuflock);
usr/src/uts/common/io/arn/arn_beacon.c
183
mp = ieee80211_beacon_alloc(ic, in, &sc->asc_boff);
usr/src/uts/common/io/arn/arn_beacon.c
187
mutex_exit(&sc->sc_bcbuflock);
usr/src/uts/common/io/arn/arn_beacon.c
194
mutex_exit(&sc->sc_bcbuflock);
usr/src/uts/common/io/arn/arn_beacon.c
201
arn_beacon_return(struct arn_softc *sc)
usr/src/uts/common/io/arn/arn_beacon.c
205
mutex_enter(&sc->sc_bcbuflock);
usr/src/uts/common/io/arn/arn_beacon.c
206
bf = list_head(&sc->sc_bcbuf_list);
usr/src/uts/common/io/arn/arn_beacon.c
216
bf = list_next(&sc->sc_bcbuf_list, bf);
usr/src/uts/common/io/arn/arn_beacon.c
218
mutex_exit(&sc->sc_bcbuflock);
usr/src/uts/common/io/arn/arn_beacon.c
222
arn_beacon_config(struct arn_softc *sc)
usr/src/uts/common/io/arn/arn_beacon.c
225
ieee80211com_t *ic = (ieee80211com_t *)sc;
usr/src/uts/common/io/arn/arn_beacon.c
271
tsf = ath9k_hw_gettsf64(sc->sc_ah);
usr/src/uts/common/io/arn/arn_beacon.c
350
(void) ath9k_hw_set_interrupts(sc->sc_ah, 0);
usr/src/uts/common/io/arn/arn_beacon.c
351
ath9k_hw_set_sta_beacon_timers(sc->sc_ah, &bs);
usr/src/uts/common/io/arn/arn_beacon.c
352
sc->sc_imask |= ATH9K_INT_BMISS;
usr/src/uts/common/io/arn/arn_beacon.c
353
(void) ath9k_hw_set_interrupts(sc->sc_ah, sc->sc_imask);
usr/src/uts/common/io/arn/arn_beacon.c
357
ath_beacon_sync(struct arn_softc *sc)
usr/src/uts/common/io/arn/arn_beacon.c
363
arn_beacon_config(sc);
usr/src/uts/common/io/arn/arn_beacon.c
364
sc->sc_flags |= SC_OP_BEACONS;
usr/src/uts/common/io/arn/arn_beacon.c
370
struct arn_softc *sc = (struct arn_softc *)arg;
usr/src/uts/common/io/arn/arn_beacon.c
371
ieee80211com_t *ic = (ieee80211com_t *)sc;
usr/src/uts/common/io/arn/arn_beacon.c
38
arn_beacon_setup(struct arn_softc *sc, struct ath_buf *bf)
usr/src/uts/common/io/arn/arn_beacon.c
380
ARN_LOCK(sc);
usr/src/uts/common/io/arn/arn_beacon.c
381
lastrx = sc->sc_lastrx;
usr/src/uts/common/io/arn/arn_beacon.c
382
tsf = ath9k_hw_gettsf64(sc->sc_ah);
usr/src/uts/common/io/arn/arn_beacon.c
387
(unsigned long long)tsf, (unsigned long long)sc->sc_lastrx,
usr/src/uts/common/io/arn/arn_beacon.c
389
ARN_UNLOCK(sc);
usr/src/uts/common/io/arn/arn_beacon.c
44
struct ath_hal *ah = sc->sc_ah;
usr/src/uts/common/io/arn/arn_beacon.c
58
if (sc->sc_ah->ah_opmode == ATH9K_M_IBSS &&
usr/src/uts/common/io/arn/arn_beacon.c
72
antenna = ((sc->ast_be_xmit / sc->sc_nbcnvaps) & 1 ? 2 : 1);
usr/src/uts/common/io/arn/arn_beacon.c
81
rt = sc->hw_rate_table[sc->sc_curmode];
usr/src/uts/common/io/arn/arn_beacon.c
83
if (sc->sc_flags & SC_OP_PREAMBLE_SHORT)
usr/src/uts/common/io/arn/arn_core.h
1002
void arn_update_chainmask(struct arn_softc *sc);
usr/src/uts/common/io/arn/arn_core.h
164
#define ARN_TXQ_SETUP(sc, i) ((sc)->sc_txqsetup & (1<<i))
usr/src/uts/common/io/arn/arn_core.h
422
void arn_rx_buf_link(struct arn_softc *sc, struct ath_buf *bf);
usr/src/uts/common/io/arn/arn_core.h
423
int arn_startrecv(struct arn_softc *sc);
usr/src/uts/common/io/arn/arn_core.h
424
boolean_t arn_stoprecv(struct arn_softc *sc);
usr/src/uts/common/io/arn/arn_core.h
425
void arn_flushrecv(struct arn_softc *sc);
usr/src/uts/common/io/arn/arn_core.h
426
uint32_t arn_calcrxfilter(struct arn_softc *sc);
usr/src/uts/common/io/arn/arn_core.h
427
int arn_rx_init(struct arn_softc *sc, int nbufs);
usr/src/uts/common/io/arn/arn_core.h
428
void arn_rx_cleanup(struct arn_softc *sc);
usr/src/uts/common/io/arn/arn_core.h
430
void arn_setdefantenna(struct arn_softc *sc, uint32_t antenna);
usr/src/uts/common/io/arn/arn_core.h
554
void arn_tx_node_init(struct arn_softc *sc, struct ath_node *an);
usr/src/uts/common/io/arn/arn_core.h
555
void arn_tx_node_cleanup(struct arn_softc *sc, struct ieee80211_node *in);
usr/src/uts/common/io/arn/arn_core.h
556
struct ath_txq *arn_txq_setup(struct arn_softc *sc, int qtype, int subtype);
usr/src/uts/common/io/arn/arn_core.h
557
void arn_tx_cleanupq(struct arn_softc *sc, struct ath_txq *txq);
usr/src/uts/common/io/arn/arn_core.h
558
int arn_tx_setup(struct arn_softc *sc, int haltype);
usr/src/uts/common/io/arn/arn_core.h
559
void arn_draintxq(struct arn_softc *sc, boolean_t retry_tx);
usr/src/uts/common/io/arn/arn_core.h
560
void arn_tx_draintxq(struct arn_softc *sc, struct ath_txq *txq);
usr/src/uts/common/io/arn/arn_core.h
561
void arn_txq_schedule(struct arn_softc *sc, struct ath_txq *txq);
usr/src/uts/common/io/arn/arn_core.h
563
int arn_txq_update(struct arn_softc *sc, int qnum,
usr/src/uts/common/io/arn/arn_core.h
724
int arn_beacon_alloc(struct arn_softc *sc, struct ieee80211_node *in);
usr/src/uts/common/io/arn/arn_core.h
725
void arn_beacon_config(struct arn_softc *sc);
usr/src/uts/common/io/arn/arn_core.h
726
void arn_beacon_return(struct arn_softc *sc);
usr/src/uts/common/io/arn/arn_core.h
727
void arn_beacon_sync(struct arn_softc *sc);
usr/src/uts/common/io/arn/arn_core.h
765
struct arn_softc *sc;
usr/src/uts/common/io/arn/arn_core.h
998
int arn_get_hal_qnum(uint16_t queue, struct arn_softc *sc);
usr/src/uts/common/io/arn/arn_hw.c
1311
ath9k_hw_attach(uint16_t device_id, struct arn_softc *sc,
usr/src/uts/common/io/arn/arn_hw.c
1323
ah = ath9k_hw_do_attach(device_id, sc, mem, error);
usr/src/uts/common/io/arn/arn_hw.c
489
ath9k_hw_newstate(uint16_t device_id, struct arn_softc *sc, caddr_t mem,
usr/src/uts/common/io/arn/arn_hw.c
507
ah->ah_sc = sc;
usr/src/uts/common/io/arn/arn_hw.c
702
ath9k_hw_do_attach(uint16_t device_id, struct arn_softc *sc,
usr/src/uts/common/io/arn/arn_hw.c
711
ahp = ath9k_hw_newstate(device_id, sc, mem, status);
usr/src/uts/common/io/arn/arn_main.c
1000
sc->sc_ani.sc_noise_floor =
usr/src/uts/common/io/arn/arn_main.c
1009
sc->sc_ani.sc_noise_floor));
usr/src/uts/common/io/arn/arn_main.c
1017
sc->sc_ani.sc_caldone = iscaldone;
usr/src/uts/common/io/arn/arn_main.c
1028
if (sc->sc_ah->ah_config.enable_ani)
usr/src/uts/common/io/arn/arn_main.c
1032
if (!sc->sc_ani.sc_caldone)
usr/src/uts/common/io/arn/arn_main.c
1036
sc->sc_scan_timer = 0;
usr/src/uts/common/io/arn/arn_main.c
1037
sc->sc_scan_timer = timeout(arn_ani_calibrate, (void *)sc,
usr/src/uts/common/io/arn/arn_main.c
1042
arn_stop_caltimer(struct arn_softc *sc)
usr/src/uts/common/io/arn/arn_main.c
1046
while ((sc->sc_cal_timer != 0) && (tmp_id != sc->sc_cal_timer)) {
usr/src/uts/common/io/arn/arn_main.c
1047
tmp_id = sc->sc_cal_timer;
usr/src/uts/common/io/arn/arn_main.c
1050
sc->sc_cal_timer = 0;
usr/src/uts/common/io/arn/arn_main.c
1057
struct arn_softc *sc = (struct arn_softc *)arg;
usr/src/uts/common/io/arn/arn_main.c
1058
struct ath_hal *ah = sc->sc_ah;
usr/src/uts/common/io/arn/arn_main.c
1060
ieee80211com_t *ic = (ieee80211com_t *)sc;
usr/src/uts/common/io/arn/arn_main.c
1062
ARN_LOCK(sc);
usr/src/uts/common/io/arn/arn_main.c
1064
if (sc->sc_flags & SC_OP_INVALID) {
usr/src/uts/common/io/arn/arn_main.c
1070
ARN_UNLOCK(sc);
usr/src/uts/common/io/arn/arn_main.c
1074
ARN_UNLOCK(sc);
usr/src/uts/common/io/arn/arn_main.c
1086
status &= sc->sc_imask; /* discard unasked-for bits */
usr/src/uts/common/io/arn/arn_main.c
1093
ARN_UNLOCK(sc);
usr/src/uts/common/io/arn/arn_main.c
1097
sc->sc_intrstatus = status;
usr/src/uts/common/io/arn/arn_main.c
1118
sc->sc_rxlink = NULL;
usr/src/uts/common/io/arn/arn_main.c
1130
sc->sc_rx_pend = 1;
usr/src/uts/common/io/arn/arn_main.c
1131
ddi_trigger_softintr(sc->sc_softint_id);
usr/src/uts/common/io/arn/arn_main.c
1136
if (ddi_taskq_dispatch(sc->sc_tq,
usr/src/uts/common/io/arn/arn_main.c
1137
arn_tx_int_proc, sc, DDI_NOSLEEP) !=
usr/src/uts/common/io/arn/arn_main.c
1156
ath9k_hw_procmibevent(ah, &sc->sc_halstats);
usr/src/uts/common/io/arn/arn_main.c
1157
(void) ath9k_hw_set_interrupts(ah, sc->sc_imask);
usr/src/uts/common/io/arn/arn_main.c
1185
if (ddi_taskq_dispatch(sc->sc_tq, arn_bmiss_proc,
usr/src/uts/common/io/arn/arn_main.c
1186
sc, DDI_NOSLEEP) != DDI_SUCCESS) {
usr/src/uts/common/io/arn/arn_main.c
1196
ARN_UNLOCK(sc);
usr/src/uts/common/io/arn/arn_main.c
1219
ARN_UNLOCK(sc);
usr/src/uts/common/io/arn/arn_main.c
1224
arn_get_channel(struct arn_softc *sc, struct ieee80211_channel *chan)
usr/src/uts/common/io/arn/arn_main.c
1228
for (i = 0; i < sc->sc_ah->ah_nchan; i++) {
usr/src/uts/common/io/arn/arn_main.c
1229
if (sc->sc_ah->ah_channels[i].channel == chan->ich_freq)
usr/src/uts/common/io/arn/arn_main.c
1239
struct arn_softc *sc = (struct arn_softc *)ic;
usr/src/uts/common/io/arn/arn_main.c
1240
struct ath_hal *ah = sc->sc_ah;
usr/src/uts/common/io/arn/arn_main.c
1245
arn_draintxq(sc, 0);
usr/src/uts/common/io/arn/arn_main.c
1246
(void) arn_stoprecv(sc);
usr/src/uts/common/io/arn/arn_main.c
1248
if (!ath9k_hw_reset(ah, sc->sc_ah->ah_curchan, sc->tx_chan_width,
usr/src/uts/common/io/arn/arn_main.c
1249
sc->sc_tx_chainmask, sc->sc_rx_chainmask,
usr/src/uts/common/io/arn/arn_main.c
1250
sc->sc_ht_extprotspacing, B_FALSE, &status)) {
usr/src/uts/common/io/arn/arn_main.c
1256
if (arn_startrecv(sc) != 0)
usr/src/uts/common/io/arn/arn_main.c
1265
arn_setcurmode(sc, arn_chan2mode(sc->sc_ah->ah_curchan));
usr/src/uts/common/io/arn/arn_main.c
1267
arn_update_txpow(sc);
usr/src/uts/common/io/arn/arn_main.c
1269
if (sc->sc_flags & SC_OP_BEACONS)
usr/src/uts/common/io/arn/arn_main.c
1270
arn_beacon_config(sc); /* restart beacons */
usr/src/uts/common/io/arn/arn_main.c
1272
(void) ath9k_hw_set_interrupts(ah, sc->sc_imask);
usr/src/uts/common/io/arn/arn_main.c
1278
arn_get_hal_qnum(uint16_t queue, struct arn_softc *sc)
usr/src/uts/common/io/arn/arn_main.c
1284
qnum = sc->sc_haltype2q[ATH9K_WME_AC_VO];
usr/src/uts/common/io/arn/arn_main.c
1287
qnum = sc->sc_haltype2q[ATH9K_WME_AC_VI];
usr/src/uts/common/io/arn/arn_main.c
1290
qnum = sc->sc_haltype2q[ATH9K_WME_AC_BE];
usr/src/uts/common/io/arn/arn_main.c
1293
qnum = sc->sc_haltype2q[ATH9K_WME_AC_BK];
usr/src/uts/common/io/arn/arn_main.c
1296
qnum = sc->sc_haltype2q[ATH9K_WME_AC_BE];
usr/src/uts/common/io/arn/arn_main.c
1366
struct arn_softc *sc = (struct arn_softc *)ic;
usr/src/uts/common/io/arn/arn_main.c
1368
sc->sc_scan_timer = 0;
usr/src/uts/common/io/arn/arn_main.c
1370
sc->sc_scan_timer = timeout(arn_next_scan, (void *)sc,
usr/src/uts/common/io/arn/arn_main.c
1377
arn_stop_scantimer(struct arn_softc *sc)
usr/src/uts/common/io/arn/arn_main.c
1381
while ((sc->sc_scan_timer != 0) && (tmp_id != sc->sc_scan_timer)) {
usr/src/uts/common/io/arn/arn_main.c
1382
tmp_id = sc->sc_scan_timer;
usr/src/uts/common/io/arn/arn_main.c
1385
sc->sc_scan_timer = 0;
usr/src/uts/common/io/arn/arn_main.c
1391
struct arn_softc *sc = (struct arn_softc *)ic;
usr/src/uts/common/io/arn/arn_main.c
1392
struct ath_hal *ah = sc->sc_ah;
usr/src/uts/common/io/arn/arn_main.c
1403
if (sc->sc_flags & SC_OP_INVALID)
usr/src/uts/common/io/arn/arn_main.c
1410
ARN_LOCK(sc);
usr/src/uts/common/io/arn/arn_main.c
1413
arn_stop_scantimer(sc);
usr/src/uts/common/io/arn/arn_main.c
1415
arn_stop_caltimer(sc);
usr/src/uts/common/io/arn/arn_main.c
1420
sc->sc_imask &= ~(ATH9K_INT_SWBA | ATH9K_INT_BMISS);
usr/src/uts/common/io/arn/arn_main.c
1425
(ah, sc->sc_imask &~ ATH9K_INT_GLOBAL);
usr/src/uts/common/io/arn/arn_main.c
1429
(void) ath9k_hw_stoptxdma(ah, sc->sc_beaconq);
usr/src/uts/common/io/arn/arn_main.c
1430
arn_beacon_return(sc);
usr/src/uts/common/io/arn/arn_main.c
1433
ARN_UNLOCK(sc);
usr/src/uts/common/io/arn/arn_main.c
1439
pos = arn_get_channel(sc, ic->ic_curchan);
usr/src/uts/common/io/arn/arn_main.c
1445
ARN_UNLOCK(sc);
usr/src/uts/common/io/arn/arn_main.c
1450
arn_update_chainmask(sc);
usr/src/uts/common/io/arn/arn_main.c
1451
sc->tx_chan_width = ATH9K_HT_MACMODE_2040;
usr/src/uts/common/io/arn/arn_main.c
1453
sc->tx_chan_width = ATH9K_HT_MACMODE_20;
usr/src/uts/common/io/arn/arn_main.c
1455
sc->sc_ah->ah_channels[pos].chanmode =
usr/src/uts/common/io/arn/arn_main.c
1457
channel = &sc->sc_ah->ah_channels[pos];
usr/src/uts/common/io/arn/arn_main.c
1460
ARN_UNLOCK(sc);
usr/src/uts/common/io/arn/arn_main.c
1463
error = arn_set_channel(sc, channel);
usr/src/uts/common/io/arn/arn_main.c
1466
ARN_UNLOCK(sc);
usr/src/uts/common/io/arn/arn_main.c
1476
rfilt = arn_calcrxfilter(sc);
usr/src/uts/common/io/arn/arn_main.c
1507
(void) ath9k_hw_stoptxdma(ah, sc->sc_beaconq);
usr/src/uts/common/io/arn/arn_main.c
1508
arn_beacon_return(sc);
usr/src/uts/common/io/arn/arn_main.c
1509
error = arn_beacon_alloc(sc, in);
usr/src/uts/common/io/arn/arn_main.c
1511
ARN_UNLOCK(sc);
usr/src/uts/common/io/arn/arn_main.c
1522
sc->sc_bsync = 1;
usr/src/uts/common/io/arn/arn_main.c
1524
arn_beacon_config(sc);
usr/src/uts/common/io/arn/arn_main.c
1536
sc->sc_bsync = 1;
usr/src/uts/common/io/arn/arn_main.c
1539
arn_beacon_config(sc);
usr/src/uts/common/io/arn/arn_main.c
1541
sc->sc_halstats.ns_avgbrssi =
usr/src/uts/common/io/arn/arn_main.c
1543
sc->sc_halstats.ns_avgrssi =
usr/src/uts/common/io/arn/arn_main.c
1545
sc->sc_halstats.ns_avgtxrssi =
usr/src/uts/common/io/arn/arn_main.c
1547
sc->sc_halstats.ns_avgtxrate =
usr/src/uts/common/io/arn/arn_main.c
1558
sc->sc_imask &= ~(ATH9K_INT_SWBA | ATH9K_INT_BMISS);
usr/src/uts/common/io/arn/arn_main.c
1559
(void) ath9k_hw_set_interrupts(ah, sc->sc_imask);
usr/src/uts/common/io/arn/arn_main.c
1565
arn_rate_ctl_reset(sc, nstate);
usr/src/uts/common/io/arn/arn_main.c
1567
ARN_UNLOCK(sc);
usr/src/uts/common/io/arn/arn_main.c
1572
error = sc->sc_newstate(ic, nstate, arg);
usr/src/uts/common/io/arn/arn_main.c
1579
ASSERT(sc->sc_cal_timer == 0);
usr/src/uts/common/io/arn/arn_main.c
1580
sc->sc_cal_timer = timeout(arn_ani_calibrate, (void *)sc,
usr/src/uts/common/io/arn/arn_main.c
1585
if (sc->sc_scan_timer != 0) {
usr/src/uts/common/io/arn/arn_main.c
1586
(void) untimeout(sc->sc_scan_timer);
usr/src/uts/common/io/arn/arn_main.c
1587
sc->sc_scan_timer = 0;
usr/src/uts/common/io/arn/arn_main.c
1589
sc->sc_scan_timer = timeout(arn_next_scan, (void *)sc,
usr/src/uts/common/io/arn/arn_main.c
1600
struct arn_softc *sc = arg;
usr/src/uts/common/io/arn/arn_main.c
1601
ieee80211com_t *ic = &sc->sc_isc;
usr/src/uts/common/io/arn/arn_main.c
1604
ARN_LOCK(sc);
usr/src/uts/common/io/arn/arn_main.c
1606
if (sc->sc_flags & SC_OP_INVALID) {
usr/src/uts/common/io/arn/arn_main.c
1607
ARN_UNLOCK(sc);
usr/src/uts/common/io/arn/arn_main.c
1618
sc->sc_stats.ast_rate_calls ++;
usr/src/uts/common/io/arn/arn_main.c
1623
arn_rate_ctl, sc);
usr/src/uts/common/io/arn/arn_main.c
1635
ARN_UNLOCK(sc);
usr/src/uts/common/io/arn/arn_main.c
1643
ARN_UNLOCK(sc);
usr/src/uts/common/io/arn/arn_main.c
1656
struct arn_softc *sc = (struct arn_softc *)ic;
usr/src/uts/common/io/arn/arn_main.c
1663
arn_rate_update(sc, &an->an_node, 0);
usr/src/uts/common/io/arn/arn_main.c
1667
if (sc->sc_flags & SC_OP_TXAGGR) {
usr/src/uts/common/io/arn/arn_main.c
1668
arn_tx_node_init(sc, an);
usr/src/uts/common/io/arn/arn_main.c
1681
struct arn_softc *sc = (struct arn_softc *)ic;
usr/src/uts/common/io/arn/arn_main.c
1687
if (sc->sc_flags & SC_OP_TXAGGR)
usr/src/uts/common/io/arn/arn_main.c
1688
arn_tx_node_cleanup(sc, in);
usr/src/uts/common/io/arn/arn_main.c
1692
if (ARN_TXQ_SETUP(sc, i)) {
usr/src/uts/common/io/arn/arn_main.c
1693
txq = &sc->sc_txq[i];
usr/src/uts/common/io/arn/arn_main.c
1725
arn_key_alloc_pair(struct arn_softc *sc, ieee80211_keyix *txkeyix,
usr/src/uts/common/io/arn/arn_main.c
1730
ASSERT(!sc->sc_splitmic);
usr/src/uts/common/io/arn/arn_main.c
1731
for (i = 0; i < ARRAY_SIZE(sc->sc_keymap)/4; i++) {
usr/src/uts/common/io/arn/arn_main.c
1732
uint8_t b = sc->sc_keymap[i];
usr/src/uts/common/io/arn/arn_main.c
1737
if ((b & 1) || is_set(keyix+64, sc->sc_keymap)) {
usr/src/uts/common/io/arn/arn_main.c
1741
set_bit(keyix, sc->sc_keymap);
usr/src/uts/common/io/arn/arn_main.c
1742
set_bit(keyix+64, sc->sc_keymap);
usr/src/uts/common/io/arn/arn_main.c
1761
arn_key_alloc_2pair(struct arn_softc *sc, ieee80211_keyix *txkeyix,
usr/src/uts/common/io/arn/arn_main.c
1766
ASSERT(sc->sc_splitmic);
usr/src/uts/common/io/arn/arn_main.c
1767
for (i = 0; i < ARRAY_SIZE(sc->sc_keymap)/4; i++) {
usr/src/uts/common/io/arn/arn_main.c
1768
uint8_t b = sc->sc_keymap[i];
usr/src/uts/common/io/arn/arn_main.c
1780
if (is_set(keyix+32, sc->sc_keymap) ||
usr/src/uts/common/io/arn/arn_main.c
1781
is_set(keyix+64, sc->sc_keymap) ||
usr/src/uts/common/io/arn/arn_main.c
1782
is_set(keyix+32+64, sc->sc_keymap)) {
usr/src/uts/common/io/arn/arn_main.c
1790
set_bit(keyix, sc->sc_keymap);
usr/src/uts/common/io/arn/arn_main.c
1791
set_bit(keyix+64, sc->sc_keymap);
usr/src/uts/common/io/arn/arn_main.c
1792
set_bit(keyix+32, sc->sc_keymap);
usr/src/uts/common/io/arn/arn_main.c
1793
set_bit(keyix+32+64, sc->sc_keymap);
usr/src/uts/common/io/arn/arn_main.c
1811
arn_key_alloc_single(struct arn_softc *sc, ieee80211_keyix *txkeyix,
usr/src/uts/common/io/arn/arn_main.c
1817
for (i = 0; i < ARRAY_SIZE(sc->sc_keymap); i++) {
usr/src/uts/common/io/arn/arn_main.c
1818
uint8_t b = sc->sc_keymap[i];
usr/src/uts/common/io/arn/arn_main.c
1827
set_bit(keyix, sc->sc_keymap);
usr/src/uts/common/io/arn/arn_main.c
1851
struct arn_softc *sc = (struct arn_softc *)ic;
usr/src/uts/common/io/arn/arn_main.c
1862
return (arn_key_alloc_single(sc, keyix, rxkeyix));
usr/src/uts/common/io/arn/arn_main.c
1865
if (sc->sc_splitmic)
usr/src/uts/common/io/arn/arn_main.c
1866
return (arn_key_alloc_2pair(sc, keyix, rxkeyix));
usr/src/uts/common/io/arn/arn_main.c
1868
return (arn_key_alloc_pair(sc, keyix, rxkeyix));
usr/src/uts/common/io/arn/arn_main.c
1870
return (arn_key_alloc_single(sc, keyix, rxkeyix));
usr/src/uts/common/io/arn/arn_main.c
1880
struct arn_softc *sc = (struct arn_softc *)ic;
usr/src/uts/common/io/arn/arn_main.c
1881
struct ath_hal *ah = sc->sc_ah;
usr/src/uts/common/io/arn/arn_main.c
1893
(k->wk_flags & IEEE80211_KEY_SWMIC) == 0 && sc->sc_splitmic)
usr/src/uts/common/io/arn/arn_main.c
1901
clr_bit(keyix, sc->sc_keymap);
usr/src/uts/common/io/arn/arn_main.c
1908
clr_bit(keyix+64, sc->sc_keymap);
usr/src/uts/common/io/arn/arn_main.c
1909
if (sc->sc_splitmic) {
usr/src/uts/common/io/arn/arn_main.c
1911
clr_bit(keyix+32, sc->sc_keymap);
usr/src/uts/common/io/arn/arn_main.c
1913
clr_bit(keyix+32+64, sc->sc_keymap);
usr/src/uts/common/io/arn/arn_main.c
1926
arn_keyset_tkip(struct arn_softc *sc, const struct ieee80211_key *k,
usr/src/uts/common/io/arn/arn_main.c
1932
struct ath_hal *ah = sc->sc_ah;
usr/src/uts/common/io/arn/arn_main.c
1943
if (!sc->sc_splitmic) {
usr/src/uts/common/io/arn/arn_main.c
1977
struct arn_softc *sc = (struct arn_softc *)ic;
usr/src/uts/common/io/arn/arn_main.c
2009
return (arn_keyset_tkip(sc, k, &hk, mac));
usr/src/uts/common/io/arn/arn_main.c
2011
return (ath9k_hw_set_keycache_entry(sc->sc_ah,
usr/src/uts/common/io/arn/arn_main.c
2031
arn_open(struct arn_softc *sc)
usr/src/uts/common/io/arn/arn_main.c
2033
ieee80211com_t *ic = (ieee80211com_t *)sc;
usr/src/uts/common/io/arn/arn_main.c
2038
ARN_LOCK_ASSERT(sc);
usr/src/uts/common/io/arn/arn_main.c
2040
pos = arn_get_channel(sc, curchan);
usr/src/uts/common/io/arn/arn_main.c
2048
sc->tx_chan_width = ATH9K_HT_MACMODE_20;
usr/src/uts/common/io/arn/arn_main.c
2050
if (sc->sc_curmode == ATH9K_MODE_11A) {
usr/src/uts/common/io/arn/arn_main.c
2051
sc->sc_ah->ah_channels[pos].chanmode = CHANNEL_A;
usr/src/uts/common/io/arn/arn_main.c
2053
sc->sc_ah->ah_channels[pos].chanmode = CHANNEL_G;
usr/src/uts/common/io/arn/arn_main.c
2056
init_channel = &sc->sc_ah->ah_channels[pos];
usr/src/uts/common/io/arn/arn_main.c
2059
ath9k_hw_configpcipowersave(sc->sc_ah, 0);
usr/src/uts/common/io/arn/arn_main.c
2068
if (!ath9k_hw_reset(sc->sc_ah, init_channel,
usr/src/uts/common/io/arn/arn_main.c
2069
sc->tx_chan_width, sc->sc_tx_chainmask,
usr/src/uts/common/io/arn/arn_main.c
2070
sc->sc_rx_chainmask, sc->sc_ht_extprotspacing,
usr/src/uts/common/io/arn/arn_main.c
2085
arn_update_txpow(sc);
usr/src/uts/common/io/arn/arn_main.c
2094
if (arn_startrecv(sc) != 0) {
usr/src/uts/common/io/arn/arn_main.c
2102
sc->sc_imask = ATH9K_INT_RX | ATH9K_INT_TX |
usr/src/uts/common/io/arn/arn_main.c
2106
if (sc->sc_ah->ah_caps.hw_caps & ATH9K_HW_CAP_GTT)
usr/src/uts/common/io/arn/arn_main.c
2107
sc->sc_imask |= ATH9K_INT_GTT;
usr/src/uts/common/io/arn/arn_main.c
2111
if (sc->sc_ah->ah_caps.hw_caps & ATH9K_HW_CAP_HT)
usr/src/uts/common/io/arn/arn_main.c
2112
sc->sc_imask |= ATH9K_INT_CST;
usr/src/uts/common/io/arn/arn_main.c
2120
if (ath9k_hw_phycounters(sc->sc_ah) &&
usr/src/uts/common/io/arn/arn_main.c
2121
((sc->sc_ah->ah_opmode == ATH9K_M_STA) ||
usr/src/uts/common/io/arn/arn_main.c
2122
(sc->sc_ah->ah_opmode == ATH9K_M_IBSS)))
usr/src/uts/common/io/arn/arn_main.c
2123
sc->sc_imask |= ATH9K_INT_MIB;
usr/src/uts/common/io/arn/arn_main.c
2132
if ((sc->sc_ah->ah_caps.hw_caps & ATH9K_HW_CAP_ENHANCEDPM) &&
usr/src/uts/common/io/arn/arn_main.c
2133
(sc->sc_ah->ah_opmode == ATH9K_M_STA) &&
usr/src/uts/common/io/arn/arn_main.c
2134
!sc->sc_config.swBeaconProcess)
usr/src/uts/common/io/arn/arn_main.c
2135
sc->sc_imask |= ATH9K_INT_TIM;
usr/src/uts/common/io/arn/arn_main.c
2137
if (arn_chan2mode(init_channel) != sc->sc_curmode)
usr/src/uts/common/io/arn/arn_main.c
2138
arn_setcurmode(sc, arn_chan2mode(init_channel));
usr/src/uts/common/io/arn/arn_main.c
2141
__func__, sc->sc_curmode));
usr/src/uts/common/io/arn/arn_main.c
2143
sc->sc_isrunning = 1;
usr/src/uts/common/io/arn/arn_main.c
2146
sc->sc_imask &= ~(ATH9K_INT_SWBA | ATH9K_INT_BMISS);
usr/src/uts/common/io/arn/arn_main.c
2147
(void) ath9k_hw_set_interrupts(sc->sc_ah, sc->sc_imask);
usr/src/uts/common/io/arn/arn_main.c
2156
arn_close(struct arn_softc *sc)
usr/src/uts/common/io/arn/arn_main.c
2158
ieee80211com_t *ic = (ieee80211com_t *)sc;
usr/src/uts/common/io/arn/arn_main.c
2159
struct ath_hal *ah = sc->sc_ah;
usr/src/uts/common/io/arn/arn_main.c
2161
ARN_LOCK_ASSERT(sc);
usr/src/uts/common/io/arn/arn_main.c
2163
if (!sc->sc_isrunning)
usr/src/uts/common/io/arn/arn_main.c
2171
ARN_UNLOCK(sc);
usr/src/uts/common/io/arn/arn_main.c
2174
ARN_LOCK(sc);
usr/src/uts/common/io/arn/arn_main.c
2182
if (!(sc->sc_flags & SC_OP_INVALID)) {
usr/src/uts/common/io/arn/arn_main.c
2183
arn_draintxq(sc, 0);
usr/src/uts/common/io/arn/arn_main.c
2184
(void) arn_stoprecv(sc);
usr/src/uts/common/io/arn/arn_main.c
2187
sc->sc_rxlink = NULL;
usr/src/uts/common/io/arn/arn_main.c
2190
sc->sc_isrunning = 0;
usr/src/uts/common/io/arn/arn_main.c
2199
struct arn_softc *sc = arg;
usr/src/uts/common/io/arn/arn_main.c
2200
ieee80211com_t *ic = (ieee80211com_t *)sc;
usr/src/uts/common/io/arn/arn_main.c
2204
ARN_LOCK(sc);
usr/src/uts/common/io/arn/arn_main.c
2213
*val = sc->sc_stats.ast_tx_nobuf +
usr/src/uts/common/io/arn/arn_main.c
2214
sc->sc_stats.ast_tx_nobufmgt;
usr/src/uts/common/io/arn/arn_main.c
2217
*val = sc->sc_stats.ast_rx_tooshort;
usr/src/uts/common/io/arn/arn_main.c
2233
*val = sc->sc_stats.ast_tx_fifoerr +
usr/src/uts/common/io/arn/arn_main.c
2234
sc->sc_stats.ast_tx_xretries +
usr/src/uts/common/io/arn/arn_main.c
2235
sc->sc_stats.ast_tx_discard;
usr/src/uts/common/io/arn/arn_main.c
2238
*val = sc->sc_stats.ast_tx_xretries;
usr/src/uts/common/io/arn/arn_main.c
2241
*val = sc->sc_stats.ast_rx_crcerr;
usr/src/uts/common/io/arn/arn_main.c
2244
*val = sc->sc_stats.ast_rx_badcrypt;
usr/src/uts/common/io/arn/arn_main.c
2254
ARN_UNLOCK(sc);
usr/src/uts/common/io/arn/arn_main.c
2257
ARN_UNLOCK(sc);
usr/src/uts/common/io/arn/arn_main.c
2260
ARN_UNLOCK(sc);
usr/src/uts/common/io/arn/arn_main.c
2268
struct arn_softc *sc = arg;
usr/src/uts/common/io/arn/arn_main.c
2271
ARN_LOCK(sc);
usr/src/uts/common/io/arn/arn_main.c
2278
arn_close(sc);
usr/src/uts/common/io/arn/arn_main.c
2280
if ((err = arn_open(sc)) != 0) {
usr/src/uts/common/io/arn/arn_main.c
2281
ARN_UNLOCK(sc);
usr/src/uts/common/io/arn/arn_main.c
2286
sc->sc_flags &= ~SC_OP_INVALID;
usr/src/uts/common/io/arn/arn_main.c
2288
ARN_UNLOCK(sc);
usr/src/uts/common/io/arn/arn_main.c
2296
struct arn_softc *sc = arg;
usr/src/uts/common/io/arn/arn_main.c
2298
ARN_LOCK(sc);
usr/src/uts/common/io/arn/arn_main.c
2299
arn_close(sc);
usr/src/uts/common/io/arn/arn_main.c
2302
(void) ath9k_hw_disable(sc->sc_ah);
usr/src/uts/common/io/arn/arn_main.c
2303
ath9k_hw_configpcipowersave(sc->sc_ah, 1);
usr/src/uts/common/io/arn/arn_main.c
2306
sc->sc_flags |= SC_OP_INVALID;
usr/src/uts/common/io/arn/arn_main.c
2307
ARN_UNLOCK(sc);
usr/src/uts/common/io/arn/arn_main.c
2313
struct arn_softc *sc = arg;
usr/src/uts/common/io/arn/arn_main.c
2314
struct ath_hal *ah = sc->sc_ah;
usr/src/uts/common/io/arn/arn_main.c
2317
ARN_LOCK(sc);
usr/src/uts/common/io/arn/arn_main.c
2324
sc->sc_promisc = on;
usr/src/uts/common/io/arn/arn_main.c
2327
ARN_UNLOCK(sc);
usr/src/uts/common/io/arn/arn_main.c
2335
struct arn_softc *sc = arg;
usr/src/uts/common/io/arn/arn_main.c
2336
struct ath_hal *ah = sc->sc_ah;
usr/src/uts/common/io/arn/arn_main.c
2339
uint32_t *mfilt = sc->sc_mcast_hash;
usr/src/uts/common/io/arn/arn_main.c
2341
ARN_LOCK(sc);
usr/src/uts/common/io/arn/arn_main.c
2353
sc->sc_mcast_refs[pos]++;
usr/src/uts/common/io/arn/arn_main.c
2356
if (--sc->sc_mcast_refs[pos] == 0)
usr/src/uts/common/io/arn/arn_main.c
2361
ARN_UNLOCK(sc);
usr/src/uts/common/io/arn/arn_main.c
2368
struct arn_softc *sc = arg;
usr/src/uts/common/io/arn/arn_main.c
2369
struct ath_hal *ah = sc->sc_ah;
usr/src/uts/common/io/arn/arn_main.c
2370
ieee80211com_t *ic = (ieee80211com_t *)sc;
usr/src/uts/common/io/arn/arn_main.c
2377
ARN_LOCK(sc);
usr/src/uts/common/io/arn/arn_main.c
2378
IEEE80211_ADDR_COPY(sc->sc_isc.ic_macaddr, macaddr);
usr/src/uts/common/io/arn/arn_main.c
2379
(void) ath9k_hw_setmac(ah, sc->sc_isc.ic_macaddr);
usr/src/uts/common/io/arn/arn_main.c
2381
ARN_UNLOCK(sc);
usr/src/uts/common/io/arn/arn_main.c
2388
struct arn_softc *sc = arg;
usr/src/uts/common/io/arn/arn_main.c
2391
ieee80211com_t *ic = (ieee80211com_t *)sc;
usr/src/uts/common/io/arn/arn_main.c
2401
sc->sc_stats.ast_tx_discard++;
usr/src/uts/common/io/arn/arn_main.c
2428
struct arn_softc *sc = arg;
usr/src/uts/common/io/arn/arn_main.c
2431
err = ieee80211_ioctl(&sc->sc_isc, wq, mp);
usr/src/uts/common/io/arn/arn_main.c
2433
ARN_LOCK(sc);
usr/src/uts/common/io/arn/arn_main.c
2435
if (!(sc->sc_flags & SC_OP_INVALID)) {
usr/src/uts/common/io/arn/arn_main.c
2436
ARN_UNLOCK(sc);
usr/src/uts/common/io/arn/arn_main.c
2438
(void) arn_m_start(sc);
usr/src/uts/common/io/arn/arn_main.c
2440
(void) ieee80211_new_state(&sc->sc_isc,
usr/src/uts/common/io/arn/arn_main.c
2442
ARN_LOCK(sc);
usr/src/uts/common/io/arn/arn_main.c
2445
ARN_UNLOCK(sc);
usr/src/uts/common/io/arn/arn_main.c
2452
struct arn_softc *sc = arg;
usr/src/uts/common/io/arn/arn_main.c
2455
err = ieee80211_setprop(&sc->sc_isc, pr_name, wldp_pr_num,
usr/src/uts/common/io/arn/arn_main.c
2458
ARN_LOCK(sc);
usr/src/uts/common/io/arn/arn_main.c
2461
if (!(sc->sc_flags & SC_OP_INVALID)) {
usr/src/uts/common/io/arn/arn_main.c
2462
ARN_UNLOCK(sc);
usr/src/uts/common/io/arn/arn_main.c
2463
(void) arn_m_start(sc);
usr/src/uts/common/io/arn/arn_main.c
2464
(void) ieee80211_new_state(&sc->sc_isc,
usr/src/uts/common/io/arn/arn_main.c
2466
ARN_LOCK(sc);
usr/src/uts/common/io/arn/arn_main.c
2471
ARN_UNLOCK(sc);
usr/src/uts/common/io/arn/arn_main.c
2481
struct arn_softc *sc = arg;
usr/src/uts/common/io/arn/arn_main.c
2484
err = ieee80211_getprop(&sc->sc_isc, pr_name, wldp_pr_num,
usr/src/uts/common/io/arn/arn_main.c
2494
struct arn_softc *sc = arg;
usr/src/uts/common/io/arn/arn_main.c
2496
ieee80211_propinfo(&sc->sc_isc, pr_name, wldp_pr_num, prh);
usr/src/uts/common/io/arn/arn_main.c
2501
arn_pci_config_cachesize(struct arn_softc *sc)
usr/src/uts/common/io/arn/arn_main.c
2509
csz = pci_config_get8(sc->sc_cfg_handle, PCI_CONF_CACHE_LINESZ);
usr/src/uts/common/io/arn/arn_main.c
2517
pci_config_put8(sc->sc_cfg_handle, PCI_CONF_CACHE_LINESZ,
usr/src/uts/common/io/arn/arn_main.c
252
struct arn_softc *sc = ah->ah_sc;
usr/src/uts/common/io/arn/arn_main.c
2520
sc->sc_cachelsz = csz << 2;
usr/src/uts/common/io/arn/arn_main.c
2524
arn_pci_setup(struct arn_softc *sc)
usr/src/uts/common/io/arn/arn_main.c
2531
ASSERT(sc != NULL);
usr/src/uts/common/io/arn/arn_main.c
2532
command = pci_config_get16(sc->sc_cfg_handle, PCI_CONF_COMM);
usr/src/uts/common/io/arn/arn_main.c
2534
pci_config_put16(sc->sc_cfg_handle, PCI_CONF_COMM, command);
usr/src/uts/common/io/arn/arn_main.c
2535
command = pci_config_get16(sc->sc_cfg_handle, PCI_CONF_COMM);
usr/src/uts/common/io/arn/arn_main.c
254
mutex_enter(&sc->sc_serial_rw);
usr/src/uts/common/io/arn/arn_main.c
255
ddi_put32(sc->sc_io_handle,
usr/src/uts/common/io/arn/arn_main.c
2553
arn_get_hw_encap(struct arn_softc *sc)
usr/src/uts/common/io/arn/arn_main.c
2558
ic = (ieee80211com_t *)sc;
usr/src/uts/common/io/arn/arn_main.c
2559
ah = sc->sc_ah;
usr/src/uts/common/io/arn/arn_main.c
256
(uint32_t *)((uintptr_t)(sc->mem) + (reg_offset)), val);
usr/src/uts/common/io/arn/arn_main.c
257
mutex_exit(&sc->sc_serial_rw);
usr/src/uts/common/io/arn/arn_main.c
2579
arn_setup_ht_cap(struct arn_softc *sc)
usr/src/uts/common/io/arn/arn_main.c
2586
arn_ht_conf *ht_info = &sc->sc_ht_conf;
usr/src/uts/common/io/arn/arn_main.c
259
ddi_put32(sc->sc_io_handle,
usr/src/uts/common/io/arn/arn_main.c
260
(uint32_t *)((uintptr_t)(sc->mem) + (reg_offset)), val);
usr/src/uts/common/io/arn/arn_main.c
2600
rx_streams = ISP2(sc->sc_ah->ah_caps.rx_chainmask) ? 1 : 2;
usr/src/uts/common/io/arn/arn_main.c
2609
arn_overwrite_11n_rateset(struct arn_softc *sc)
usr/src/uts/common/io/arn/arn_main.c
2611
uint8_t *ht_rs = sc->sc_ht_conf.rx_mcs_mask;
usr/src/uts/common/io/arn/arn_main.c
2648
arn_tx_queue_update(struct arn_softc *sc, int ac)
usr/src/uts/common/io/arn/arn_main.c
2652
ieee80211com_t *ic = (ieee80211com_t *)sc;
usr/src/uts/common/io/arn/arn_main.c
2655
struct ath_hal *ah = sc->sc_ah;
usr/src/uts/common/io/arn/arn_main.c
2658
txq = &sc->sc_txq[arn_get_hal_qnum(ac, sc)];
usr/src/uts/common/io/arn/arn_main.c
268
struct arn_softc *sc = ah->ah_sc;
usr/src/uts/common/io/arn/arn_main.c
270
mutex_enter(&sc->sc_serial_rw);
usr/src/uts/common/io/arn/arn_main.c
271
val = ddi_get32(sc->sc_io_handle,
usr/src/uts/common/io/arn/arn_main.c
272
(uint32_t *)((uintptr_t)(sc->mem) + (reg_offset)));
usr/src/uts/common/io/arn/arn_main.c
2722
struct arn_softc *sc = (struct arn_softc *)ic;
usr/src/uts/common/io/arn/arn_main.c
2725
return (!arn_tx_queue_update(sc, WME_AC_BE) ||
usr/src/uts/common/io/arn/arn_main.c
2726
!arn_tx_queue_update(sc, WME_AC_BK) ||
usr/src/uts/common/io/arn/arn_main.c
2727
!arn_tx_queue_update(sc, WME_AC_VI) ||
usr/src/uts/common/io/arn/arn_main.c
2728
!arn_tx_queue_update(sc, WME_AC_VO) ? EIO : 0);
usr/src/uts/common/io/arn/arn_main.c
273
mutex_exit(&sc->sc_serial_rw);
usr/src/uts/common/io/arn/arn_main.c
2737
arn_update_chainmask(struct arn_softc *sc)
usr/src/uts/common/io/arn/arn_main.c
2740
sc->sc_flags |= SC_OP_CHAINMASK_UPDATE;
usr/src/uts/common/io/arn/arn_main.c
2742
is_ht = sc->sc_ht_conf.ht_supported;
usr/src/uts/common/io/arn/arn_main.c
2744
sc->sc_tx_chainmask = sc->sc_ah->ah_caps.tx_chainmask;
usr/src/uts/common/io/arn/arn_main.c
2745
sc->sc_rx_chainmask = sc->sc_ah->ah_caps.rx_chainmask;
usr/src/uts/common/io/arn/arn_main.c
2747
sc->sc_tx_chainmask = 1;
usr/src/uts/common/io/arn/arn_main.c
2748
sc->sc_rx_chainmask = 1;
usr/src/uts/common/io/arn/arn_main.c
275
val = ddi_get32(sc->sc_io_handle,
usr/src/uts/common/io/arn/arn_main.c
2753
sc->sc_tx_chainmask, sc->sc_rx_chainmask));
usr/src/uts/common/io/arn/arn_main.c
2759
struct arn_softc *sc;
usr/src/uts/common/io/arn/arn_main.c
276
(uint32_t *)((uintptr_t)(sc->mem) + (reg_offset)));
usr/src/uts/common/io/arn/arn_main.c
2762
sc = ddi_get_soft_state(arn_soft_state_p, ddi_get_instance(devinfo));
usr/src/uts/common/io/arn/arn_main.c
2763
if (sc == NULL) {
usr/src/uts/common/io/arn/arn_main.c
2769
ARN_LOCK(sc);
usr/src/uts/common/io/arn/arn_main.c
2774
if (arn_pci_setup(sc) != 0) {
usr/src/uts/common/io/arn/arn_main.c
2777
ARN_UNLOCK(sc);
usr/src/uts/common/io/arn/arn_main.c
2781
if (!(sc->sc_flags & SC_OP_INVALID))
usr/src/uts/common/io/arn/arn_main.c
2782
ret = arn_open(sc);
usr/src/uts/common/io/arn/arn_main.c
2783
ARN_UNLOCK(sc);
usr/src/uts/common/io/arn/arn_main.c
2791
struct arn_softc *sc;
usr/src/uts/common/io/arn/arn_main.c
2821
sc = ddi_get_soft_state(arn_soft_state_p, ddi_get_instance(devinfo));
usr/src/uts/common/io/arn/arn_main.c
2822
ic = (ieee80211com_t *)sc;
usr/src/uts/common/io/arn/arn_main.c
2823
sc->sc_dev = devinfo;
usr/src/uts/common/io/arn/arn_main.c
2825
mutex_init(&sc->sc_genlock, NULL, MUTEX_DRIVER, NULL);
usr/src/uts/common/io/arn/arn_main.c
2826
mutex_init(&sc->sc_serial_rw, NULL, MUTEX_DRIVER, NULL);
usr/src/uts/common/io/arn/arn_main.c
2827
mutex_init(&sc->sc_txbuflock, NULL, MUTEX_DRIVER, NULL);
usr/src/uts/common/io/arn/arn_main.c
2828
mutex_init(&sc->sc_rxbuflock, NULL, MUTEX_DRIVER, NULL);
usr/src/uts/common/io/arn/arn_main.c
2829
mutex_init(&sc->sc_resched_lock, NULL, MUTEX_DRIVER, NULL);
usr/src/uts/common/io/arn/arn_main.c
2831
mutex_init(&sc->sc_bcbuflock, NULL, MUTEX_DRIVER, NULL);
usr/src/uts/common/io/arn/arn_main.c
2834
sc->sc_flags |= SC_OP_INVALID;
usr/src/uts/common/io/arn/arn_main.c
2836
err = pci_config_setup(devinfo, &sc->sc_cfg_handle);
usr/src/uts/common/io/arn/arn_main.c
2843
if (arn_pci_setup(sc) != 0)
usr/src/uts/common/io/arn/arn_main.c
2847
arn_pci_config_cachesize(sc);
usr/src/uts/common/io/arn/arn_main.c
2849
vendor_id = pci_config_get16(sc->sc_cfg_handle, PCI_CONF_VENID);
usr/src/uts/common/io/arn/arn_main.c
2850
device_id = pci_config_get16(sc->sc_cfg_handle, PCI_CONF_DEVID);
usr/src/uts/common/io/arn/arn_main.c
2854
pci_config_get8(sc->sc_cfg_handle, PCI_CONF_CACHE_LINESZ)));
usr/src/uts/common/io/arn/arn_main.c
2856
pci_config_put8(sc->sc_cfg_handle, PCI_CONF_LATENCY_TIMER, 0xa8);
usr/src/uts/common/io/arn/arn_main.c
2857
val = pci_config_get32(sc->sc_cfg_handle, 0x40);
usr/src/uts/common/io/arn/arn_main.c
2859
pci_config_put32(sc->sc_cfg_handle, 0x40, val & 0xffff00ff);
usr/src/uts/common/io/arn/arn_main.c
2862
&sc->mem, 0, 0, &arn_reg_accattr, &sc->sc_io_handle);
usr/src/uts/common/io/arn/arn_main.c
2864
"regs map1 = %x err=%d\n", sc->mem, err));
usr/src/uts/common/io/arn/arn_main.c
2871
ah = ath9k_hw_attach(device_id, sc, sc->mem, &status);
usr/src/uts/common/io/arn/arn_main.c
2878
sc->sc_ah = ah;
usr/src/uts/common/io/arn/arn_main.c
2883
sc->sc_keymax = ah->ah_caps.keycache_size;
usr/src/uts/common/io/arn/arn_main.c
2884
if (sc->sc_keymax > ATH_KEYMAX) {
usr/src/uts/common/io/arn/arn_main.c
2887
ATH_KEYMAX, sc->sc_keymax));
usr/src/uts/common/io/arn/arn_main.c
2888
sc->sc_keymax = ATH_KEYMAX;
usr/src/uts/common/io/arn/arn_main.c
2895
for (i = 0; i < sc->sc_keymax; i++)
usr/src/uts/common/io/arn/arn_main.c
2904
set_bit(i, sc->sc_keymap);
usr/src/uts/common/io/arn/arn_main.c
2905
set_bit(i + 32, sc->sc_keymap);
usr/src/uts/common/io/arn/arn_main.c
2906
set_bit(i + 64, sc->sc_keymap);
usr/src/uts/common/io/arn/arn_main.c
2907
set_bit(i + 32 + 64, sc->sc_keymap);
usr/src/uts/common/io/arn/arn_main.c
2911
err = arn_setup_channels(sc);
usr/src/uts/common/io/arn/arn_main.c
2919
sc->sc_ah->ah_opmode = ATH9K_M_STA;
usr/src/uts/common/io/arn/arn_main.c
2922
arn_rate_attach(sc);
usr/src/uts/common/io/arn/arn_main.c
2923
arn_setup_rates(sc, IEEE80211_MODE_11A);
usr/src/uts/common/io/arn/arn_main.c
2924
arn_setup_rates(sc, IEEE80211_MODE_11B);
usr/src/uts/common/io/arn/arn_main.c
2925
arn_setup_rates(sc, IEEE80211_MODE_11G);
usr/src/uts/common/io/arn/arn_main.c
2928
arn_setcurmode(sc, ATH9K_MODE_11G);
usr/src/uts/common/io/arn/arn_main.c
2931
if (sc->sc_have11g)
usr/src/uts/common/io/arn/arn_main.c
2936
sc->sc_mrretry = 1;
usr/src/uts/common/io/arn/arn_main.c
2937
sc->sc_config.ath_aggr_prot = 0;
usr/src/uts/common/io/arn/arn_main.c
2940
err = arn_desc_alloc(devinfo, sc);
usr/src/uts/common/io/arn/arn_main.c
2947
if ((sc->sc_tq = ddi_taskq_create(devinfo, "ath_taskq", 1,
usr/src/uts/common/io/arn/arn_main.c
2961
sc->sc_beaconq = arn_beaconq_setup(ah);
usr/src/uts/common/io/arn/arn_main.c
2962
if (sc->sc_beaconq == (-1)) {
usr/src/uts/common/io/arn/arn_main.c
2969
sc->sc_cabq = arn_txq_setup(sc, ATH9K_TX_QUEUE_CAB, 0);
usr/src/uts/common/io/arn/arn_main.c
2970
if (sc->sc_cabq == NULL) {
usr/src/uts/common/io/arn/arn_main.c
2976
sc->sc_config.cabqReadytime = ATH_CABQ_READY_TIME;
usr/src/uts/common/io/arn/arn_main.c
2977
ath_cabq_update(sc);
usr/src/uts/common/io/arn/arn_main.c
2980
for (i = 0; i < ARRAY_SIZE(sc->sc_haltype2q); i++)
usr/src/uts/common/io/arn/arn_main.c
2981
sc->sc_haltype2q[i] = -1;
usr/src/uts/common/io/arn/arn_main.c
2985
if (!arn_tx_setup(sc, ATH9K_WME_AC_BK)) {
usr/src/uts/common/io/arn/arn_main.c
2990
if (!arn_tx_setup(sc, ATH9K_WME_AC_BE)) {
usr/src/uts/common/io/arn/arn_main.c
2995
if (!arn_tx_setup(sc, ATH9K_WME_AC_VI)) {
usr/src/uts/common/io/arn/arn_main.c
3000
if (!arn_tx_setup(sc, ATH9K_WME_AC_VO)) {
usr/src/uts/common/io/arn/arn_main.c
3011
sc->sc_ani.sc_noise_floor = ATH_DEFAULT_NOISE_FLOOR;
usr/src/uts/common/io/arn/arn_main.c
3022
(void) ath9k_hw_setcapability(sc->sc_ah, ATH9K_CAP_TKIP_MIC,
usr/src/uts/common/io/arn/arn_main.c
3027
arn_get_hw_encap(sc);
usr/src/uts/common/io/arn/arn_main.c
3041
sc->sc_splitmic = 1;
usr/src/uts/common/io/arn/arn_main.c
3048
sc->sc_config.txpowlimit = ATH_TXPOWER_MAX;
usr/src/uts/common/io/arn/arn_main.c
3049
sc->sc_config.txpowlimit_override = 0;
usr/src/uts/common/io/arn/arn_main.c
3053
sc->sc_flags |= SC_OP_TXAGGR;
usr/src/uts/common/io/arn/arn_main.c
3054
sc->sc_flags |= SC_OP_RXAGGR;
usr/src/uts/common/io/arn/arn_main.c
3055
arn_setup_ht_cap(sc);
usr/src/uts/common/io/arn/arn_main.c
3056
arn_overwrite_11n_rateset(sc);
usr/src/uts/common/io/arn/arn_main.c
3059
sc->sc_tx_chainmask = 1;
usr/src/uts/common/io/arn/arn_main.c
3060
sc->sc_rx_chainmask = 1;
usr/src/uts/common/io/arn/arn_main.c
3063
sc->sc_tx_chainmask, sc->sc_rx_chainmask));
usr/src/uts/common/io/arn/arn_main.c
3068
sc->sc_defant = ath9k_hw_getdefantenna(ah);
usr/src/uts/common/io/arn/arn_main.c
3070
ath9k_hw_getmac(ah, sc->sc_myaddr);
usr/src/uts/common/io/arn/arn_main.c
3072
ath9k_hw_getbssidmask(ah, sc->sc_bssidmask);
usr/src/uts/common/io/arn/arn_main.c
3073
ATH_SET_VAP_BSSID_MASK(sc->sc_bssidmask);
usr/src/uts/common/io/arn/arn_main.c
3074
(void) ath9k_hw_setbssidmask(ah, sc->sc_bssidmask);
usr/src/uts/common/io/arn/arn_main.c
3078
sc->sc_slottime = ATH9K_SLOT_TIME_9;
usr/src/uts/common/io/arn/arn_main.c
3082
for (i = 0; i < ARRAY_SIZE(sc->sc_bslot); i++)
usr/src/uts/common/io/arn/arn_main.c
3083
sc->sc_bslot[i] = ATH_IF_ID_ANY;
usr/src/uts/common/io/arn/arn_main.c
3086
sc->sc_config.swBeaconProcess = 1;
usr/src/uts/common/io/arn/arn_main.c
3093
if (sc->sc_ht_conf.ht_supported) {
usr/src/uts/common/io/arn/arn_main.c
3132
if (sc->sc_ht_conf.ht_supported) {
usr/src/uts/common/io/arn/arn_main.c
3133
sc->sc_recv_action = ic->ic_recv_action;
usr/src/uts/common/io/arn/arn_main.c
3138
ic->ic_ampdu_rxmax = sc->sc_ht_conf.ampdu_factor;
usr/src/uts/common/io/arn/arn_main.c
3139
ic->ic_ampdu_density = sc->sc_ht_conf.ampdu_density;
usr/src/uts/common/io/arn/arn_main.c
3144
sc->sc_newstate = ic->ic_newstate;
usr/src/uts/common/io/arn/arn_main.c
3147
sc->sc_recv_mgmt = ic->ic_recv_mgmt;
usr/src/uts/common/io/arn/arn_main.c
3164
sc->sc_rx_pend = 0;
usr/src/uts/common/io/arn/arn_main.c
3165
(void) ath9k_hw_set_interrupts(sc->sc_ah, 0);
usr/src/uts/common/io/arn/arn_main.c
3167
&sc->sc_softint_id, NULL, 0, arn_softint_handler, (caddr_t)sc);
usr/src/uts/common/io/arn/arn_main.c
3174
if (ddi_get_iblock_cookie(devinfo, 0, &sc->sc_iblock)
usr/src/uts/common/io/arn/arn_main.c
3182
(caddr_t)sc) != DDI_SUCCESS) {
usr/src/uts/common/io/arn/arn_main.c
3209
macp->m_driver = sc;
usr/src/uts/common/io/arn/arn_main.c
3238
sc->sc_promisc = B_FALSE;
usr/src/uts/common/io/arn/arn_main.c
3239
bzero(sc->sc_mcast_refs, sizeof (sc->sc_mcast_refs));
usr/src/uts/common/io/arn/arn_main.c
3240
bzero(sc->sc_mcast_hash, sizeof (sc->sc_mcast_hash));
usr/src/uts/common/io/arn/arn_main.c
3249
(unsigned long)sc->mem));
usr/src/uts/common/io/arn/arn_main.c
3252
sc->sc_flags |= SC_OP_INVALID;
usr/src/uts/common/io/arn/arn_main.c
3253
sc->sc_isrunning = 0;
usr/src/uts/common/io/arn/arn_main.c
3258
ddi_remove_intr(devinfo, 0, sc->sc_iblock);
usr/src/uts/common/io/arn/arn_main.c
3260
ddi_remove_softintr(sc->sc_softint_id);
usr/src/uts/common/io/arn/arn_main.c
3264
arn_desc_free(sc);
usr/src/uts/common/io/arn/arn_main.c
3265
if (sc->sc_tq)
usr/src/uts/common/io/arn/arn_main.c
3266
ddi_taskq_destroy(sc->sc_tq);
usr/src/uts/common/io/arn/arn_main.c
3270
ddi_regs_map_free(&sc->sc_io_handle);
usr/src/uts/common/io/arn/arn_main.c
3272
pci_config_teardown(&sc->sc_cfg_handle);
usr/src/uts/common/io/arn/arn_main.c
3274
sc->sc_flags |= SC_OP_INVALID;
usr/src/uts/common/io/arn/arn_main.c
3276
mutex_destroy(&sc->sc_txbuflock);
usr/src/uts/common/io/arn/arn_main.c
3278
if (ARN_TXQ_SETUP(sc, i)) {
usr/src/uts/common/io/arn/arn_main.c
3280
mutex_destroy(&((&sc->sc_txq[i])->axq_lock));
usr/src/uts/common/io/arn/arn_main.c
3283
mutex_destroy(&sc->sc_rxbuflock);
usr/src/uts/common/io/arn/arn_main.c
3284
mutex_destroy(&sc->sc_serial_rw);
usr/src/uts/common/io/arn/arn_main.c
3285
mutex_destroy(&sc->sc_genlock);
usr/src/uts/common/io/arn/arn_main.c
3286
mutex_destroy(&sc->sc_resched_lock);
usr/src/uts/common/io/arn/arn_main.c
3288
mutex_destroy(&sc->sc_bcbuflock);
usr/src/uts/common/io/arn/arn_main.c
3301
arn_suspend(struct arn_softc *sc)
usr/src/uts/common/io/arn/arn_main.c
3303
ARN_LOCK(sc);
usr/src/uts/common/io/arn/arn_main.c
3304
arn_close(sc);
usr/src/uts/common/io/arn/arn_main.c
3305
ARN_UNLOCK(sc);
usr/src/uts/common/io/arn/arn_main.c
3313
struct arn_softc *sc;
usr/src/uts/common/io/arn/arn_main.c
3316
sc = ddi_get_soft_state(arn_soft_state_p, ddi_get_instance(devinfo));
usr/src/uts/common/io/arn/arn_main.c
3317
ASSERT(sc != NULL);
usr/src/uts/common/io/arn/arn_main.c
3324
return (arn_suspend(sc));
usr/src/uts/common/io/arn/arn_main.c
3330
if (mac_disable(sc->sc_isc.ic_mach) != 0)
usr/src/uts/common/io/arn/arn_main.c
3333
arn_stop_scantimer(sc);
usr/src/uts/common/io/arn/arn_main.c
3334
arn_stop_caltimer(sc);
usr/src/uts/common/io/arn/arn_main.c
3337
(void) ath9k_hw_set_interrupts(sc->sc_ah, 0);
usr/src/uts/common/io/arn/arn_main.c
3342
(void) mac_unregister(sc->sc_isc.ic_mach);
usr/src/uts/common/io/arn/arn_main.c
3345
ddi_remove_intr(devinfo, 0, sc->sc_iblock);
usr/src/uts/common/io/arn/arn_main.c
3346
ddi_remove_softintr(sc->sc_softint_id);
usr/src/uts/common/io/arn/arn_main.c
3359
ieee80211_detach(&sc->sc_isc);
usr/src/uts/common/io/arn/arn_main.c
3361
arn_desc_free(sc);
usr/src/uts/common/io/arn/arn_main.c
3363
ddi_taskq_destroy(sc->sc_tq);
usr/src/uts/common/io/arn/arn_main.c
3365
if (!(sc->sc_flags & SC_OP_INVALID))
usr/src/uts/common/io/arn/arn_main.c
3366
(void) ath9k_hw_setpower(sc->sc_ah, ATH9K_PM_AWAKE);
usr/src/uts/common/io/arn/arn_main.c
3369
mutex_destroy(&sc->sc_txbuflock);
usr/src/uts/common/io/arn/arn_main.c
3371
if (ARN_TXQ_SETUP(sc, i)) {
usr/src/uts/common/io/arn/arn_main.c
3372
arn_tx_cleanupq(sc, &sc->sc_txq[i]);
usr/src/uts/common/io/arn/arn_main.c
3373
mutex_destroy(&((&sc->sc_txq[i])->axq_lock));
usr/src/uts/common/io/arn/arn_main.c
3377
ath9k_hw_detach(sc->sc_ah);
usr/src/uts/common/io/arn/arn_main.c
3380
ddi_regs_map_free(&sc->sc_io_handle);
usr/src/uts/common/io/arn/arn_main.c
3381
pci_config_teardown(&sc->sc_cfg_handle);
usr/src/uts/common/io/arn/arn_main.c
3384
mutex_destroy(&sc->sc_genlock);
usr/src/uts/common/io/arn/arn_main.c
3385
mutex_destroy(&sc->sc_serial_rw);
usr/src/uts/common/io/arn/arn_main.c
3386
mutex_destroy(&sc->sc_rxbuflock);
usr/src/uts/common/io/arn/arn_main.c
3387
mutex_destroy(&sc->sc_resched_lock);
usr/src/uts/common/io/arn/arn_main.c
3389
mutex_destroy(&sc->sc_bcbuflock);
usr/src/uts/common/io/arn/arn_main.c
3411
struct arn_softc *sc;
usr/src/uts/common/io/arn/arn_main.c
3415
sc = ddi_get_soft_state(arn_soft_state_p, ddi_get_instance(devinfo));
usr/src/uts/common/io/arn/arn_main.c
3417
if (sc == NULL || (ah = sc->sc_ah) == NULL)
usr/src/uts/common/io/arn/arn_main.c
3429
if (ARN_TXQ_SETUP(sc, i))
usr/src/uts/common/io/arn/arn_main.c
3430
(void) ath9k_hw_stoptxdma(ah, sc->sc_txq[i].axq_qnum);
usr/src/uts/common/io/arn/arn_main.c
349
struct arn_softc *sc,
usr/src/uts/common/io/arn/arn_main.c
365
bf->bf_daddr = sc->sc_desc_dma.cookie.dmac_address +
usr/src/uts/common/io/arn/arn_main.c
366
((uintptr_t)ds - (uintptr_t)sc->sc_desc);
usr/src/uts/common/io/arn/arn_main.c
412
arn_desc_free(struct arn_softc *sc)
usr/src/uts/common/io/arn/arn_main.c
414
arn_buflist_cleanup(&sc->sc_txbuf_list);
usr/src/uts/common/io/arn/arn_main.c
415
arn_buflist_cleanup(&sc->sc_rxbuf_list);
usr/src/uts/common/io/arn/arn_main.c
417
arn_buflist_cleanup(&sc->sc_bcbuf_list);
usr/src/uts/common/io/arn/arn_main.c
421
arn_free_dma_mem(&sc->sc_desc_dma);
usr/src/uts/common/io/arn/arn_main.c
423
kmem_free((void *)sc->sc_vbufptr, sc->sc_vbuflen);
usr/src/uts/common/io/arn/arn_main.c
424
sc->sc_vbufptr = NULL;
usr/src/uts/common/io/arn/arn_main.c
428
arn_desc_alloc(dev_info_t *devinfo, struct arn_softc *sc)
usr/src/uts/common/io/arn/arn_main.c
443
DDI_DMA_RDWR | DDI_DMA_CONSISTENT, &sc->sc_desc_dma);
usr/src/uts/common/io/arn/arn_main.c
446
sc->sc_desc = (struct ath_desc *)sc->sc_desc_dma.mem_va;
usr/src/uts/common/io/arn/arn_main.c
448
ds = sc->sc_desc;
usr/src/uts/common/io/arn/arn_main.c
451
sc->sc_desc, sc->sc_desc_dma.alength,
usr/src/uts/common/io/arn/arn_main.c
452
sc->sc_desc_dma.cookie.dmac_address));
usr/src/uts/common/io/arn/arn_main.c
456
sc->sc_vbuflen = sizeof (struct ath_buf) * (ATH_TXBUF + ATH_RXBUF +
usr/src/uts/common/io/arn/arn_main.c
459
sc->sc_vbuflen = sizeof (struct ath_buf) * (ATH_TXBUF + ATH_RXBUF);
usr/src/uts/common/io/arn/arn_main.c
461
bf = (struct ath_buf *)kmem_zalloc(sc->sc_vbuflen, KM_SLEEP);
usr/src/uts/common/io/arn/arn_main.c
462
sc->sc_vbufptr = bf;
usr/src/uts/common/io/arn/arn_main.c
466
sc->tx_dmabuf_size =
usr/src/uts/common/io/arn/arn_main.c
468
min(sc->sc_cachelsz, (uint16_t)64));
usr/src/uts/common/io/arn/arn_main.c
470
sc->tx_dmabuf_size =
usr/src/uts/common/io/arn/arn_main.c
471
roundup(IEEE80211_MAX_MPDU_LEN, min(sc->sc_cachelsz, (uint16_t)64));
usr/src/uts/common/io/arn/arn_main.c
473
sc->rx_dmabuf_size =
usr/src/uts/common/io/arn/arn_main.c
474
roundup(IEEE80211_MAX_MPDU_LEN, min(sc->sc_cachelsz, (uint16_t)64));
usr/src/uts/common/io/arn/arn_main.c
477
err = arn_buflist_setup(devinfo, sc, &sc->sc_rxbuf_list, &bf, &ds,
usr/src/uts/common/io/arn/arn_main.c
478
ATH_RXBUF, DDI_DMA_READ | DDI_DMA_STREAMING, sc->rx_dmabuf_size);
usr/src/uts/common/io/arn/arn_main.c
480
arn_desc_free(sc);
usr/src/uts/common/io/arn/arn_main.c
485
err = arn_buflist_setup(devinfo, sc, &sc->sc_txbuf_list, &bf, &ds,
usr/src/uts/common/io/arn/arn_main.c
486
ATH_TXBUF, DDI_DMA_STREAMING, sc->tx_dmabuf_size);
usr/src/uts/common/io/arn/arn_main.c
488
arn_desc_free(sc);
usr/src/uts/common/io/arn/arn_main.c
494
err = arn_buflist_setup(devinfo, sc, &sc->sc_bcbuf_list, &bf, &ds,
usr/src/uts/common/io/arn/arn_main.c
497
arn_desc_free(sc);
usr/src/uts/common/io/arn/arn_main.c
506
arn_setcurmode(struct arn_softc *sc, enum wireless_mode mode)
usr/src/uts/common/io/arn/arn_main.c
511
for (i = 0; i < sizeof (sc->asc_rixmap); i++)
usr/src/uts/common/io/arn/arn_main.c
512
sc->asc_rixmap[i] = 0xff;
usr/src/uts/common/io/arn/arn_main.c
514
rt = sc->hw_rate_table[mode];
usr/src/uts/common/io/arn/arn_main.c
518
sc->asc_rixmap[rt->info[i].dot11rate &
usr/src/uts/common/io/arn/arn_main.c
521
sc->sc_currates = rt;
usr/src/uts/common/io/arn/arn_main.c
522
sc->sc_curmode = mode;
usr/src/uts/common/io/arn/arn_main.c
529
sc->sc_protrix = (mode == ATH9K_MODE_11G ? 1 : 0);
usr/src/uts/common/io/arn/arn_main.c
558
arn_update_txpow(struct arn_softc *sc)
usr/src/uts/common/io/arn/arn_main.c
560
struct ath_hal *ah = sc->sc_ah;
usr/src/uts/common/io/arn/arn_main.c
563
if (sc->sc_curtxpow != sc->sc_config.txpowlimit) {
usr/src/uts/common/io/arn/arn_main.c
564
(void) ath9k_hw_set_txpowerlimit(ah, sc->sc_config.txpowlimit);
usr/src/uts/common/io/arn/arn_main.c
567
sc->sc_curtxpow = (uint32_t)txpow;
usr/src/uts/common/io/arn/arn_main.c
610
arn_setup_rates(struct arn_softc *sc, uint32_t mode)
usr/src/uts/common/io/arn/arn_main.c
615
ieee80211com_t *ic = (ieee80211com_t *)sc;
usr/src/uts/common/io/arn/arn_main.c
620
rate_table = sc->hw_rate_table[ATH9K_MODE_11A];
usr/src/uts/common/io/arn/arn_main.c
623
rate_table = sc->hw_rate_table[ATH9K_MODE_11B];
usr/src/uts/common/io/arn/arn_main.c
626
rate_table = sc->hw_rate_table[ATH9K_MODE_11G];
usr/src/uts/common/io/arn/arn_main.c
630
rate_table = sc->hw_rate_table[ATH9K_MODE_11NA_HT20];
usr/src/uts/common/io/arn/arn_main.c
633
rate_table = sc->hw_rate_table[ATH9K_MODE_11NG_HT20];
usr/src/uts/common/io/arn/arn_main.c
636
rate_table = sc->hw_rate_table[ATH9K_MODE_11NA_HT40PLUS];
usr/src/uts/common/io/arn/arn_main.c
639
rate_table = sc->hw_rate_table[ATH9K_MODE_11NA_HT40MINUS];
usr/src/uts/common/io/arn/arn_main.c
642
rate_table = sc->hw_rate_table[ATH9K_MODE_11NG_HT40PLUS];
usr/src/uts/common/io/arn/arn_main.c
645
rate_table = sc->hw_rate_table[ATH9K_MODE_11NG_HT40MINUS];
usr/src/uts/common/io/arn/arn_main.c
676
arn_setup_channels(struct arn_softc *sc)
usr/src/uts/common/io/arn/arn_main.c
678
struct ath_hal *ah = sc->sc_ah;
usr/src/uts/common/io/arn/arn_main.c
679
ieee80211com_t *ic = (ieee80211com_t *)sc;
usr/src/uts/common/io/arn/arn_main.c
743
sc->sc_have11g = 1;
usr/src/uts/common/io/arn/arn_main.c
801
arn_chan_change(struct arn_softc *sc, struct ieee80211_channel *chan)
usr/src/uts/common/io/arn/arn_main.c
803
struct ieee80211com *ic = &sc->sc_isc;
usr/src/uts/common/io/arn/arn_main.c
825
if (wlmode != sc->sc_curmode)
usr/src/uts/common/io/arn/arn_main.c
826
arn_setcurmode(sc, wlmode);
usr/src/uts/common/io/arn/arn_main.c
836
arn_set_channel(struct arn_softc *sc, struct ath9k_channel *hchan)
usr/src/uts/common/io/arn/arn_main.c
838
struct ath_hal *ah = sc->sc_ah;
usr/src/uts/common/io/arn/arn_main.c
839
ieee80211com_t *ic = &sc->sc_isc;
usr/src/uts/common/io/arn/arn_main.c
845
if (sc->sc_flags & SC_OP_INVALID)
usr/src/uts/common/io/arn/arn_main.c
848
if (hchan->channel != sc->sc_ah->ah_curchan->channel ||
usr/src/uts/common/io/arn/arn_main.c
849
hchan->channelFlags != sc->sc_ah->ah_curchan->channelFlags ||
usr/src/uts/common/io/arn/arn_main.c
850
(sc->sc_flags & SC_OP_CHAINMASK_UPDATE) ||
usr/src/uts/common/io/arn/arn_main.c
851
(sc->sc_flags & SC_OP_FULL_RESET)) {
usr/src/uts/common/io/arn/arn_main.c
864
arn_draintxq(sc, B_FALSE); /* clear pending tx frames */
usr/src/uts/common/io/arn/arn_main.c
865
stopped = arn_stoprecv(sc); /* turn off frame recv */
usr/src/uts/common/io/arn/arn_main.c
873
if (!stopped || (sc->sc_flags & SC_OP_FULL_RESET))
usr/src/uts/common/io/arn/arn_main.c
878
sc->sc_ah->ah_curchan->channel,
usr/src/uts/common/io/arn/arn_main.c
879
hchan->channel, hchan->channelFlags, sc->tx_chan_width));
usr/src/uts/common/io/arn/arn_main.c
881
if (!ath9k_hw_reset(ah, hchan, sc->tx_chan_width,
usr/src/uts/common/io/arn/arn_main.c
882
sc->sc_tx_chainmask, sc->sc_rx_chainmask,
usr/src/uts/common/io/arn/arn_main.c
883
sc->sc_ht_extprotspacing, fastcc, &status)) {
usr/src/uts/common/io/arn/arn_main.c
893
sc->sc_curchan = *hchan;
usr/src/uts/common/io/arn/arn_main.c
895
sc->sc_flags &= ~SC_OP_CHAINMASK_UPDATE;
usr/src/uts/common/io/arn/arn_main.c
896
sc->sc_flags &= ~SC_OP_FULL_RESET;
usr/src/uts/common/io/arn/arn_main.c
898
if (arn_startrecv(sc) != 0) {
usr/src/uts/common/io/arn/arn_main.c
913
if (curmode != sc->sc_curmode)
usr/src/uts/common/io/arn/arn_main.c
914
arn_setcurmode(sc, arn_chan2mode(hchan));
usr/src/uts/common/io/arn/arn_main.c
916
arn_update_txpow(sc);
usr/src/uts/common/io/arn/arn_main.c
918
(void) ath9k_hw_set_interrupts(ah, sc->sc_imask);
usr/src/uts/common/io/arn/arn_main.c
935
struct arn_softc *sc = (struct arn_softc *)ic;
usr/src/uts/common/io/arn/arn_main.c
936
struct ath_hal *ah = sc->sc_ah;
usr/src/uts/common/io/arn/arn_main.c
951
if ((timestamp - sc->sc_ani.sc_longcal_timer) >= ATH_LONG_CALINTERVAL) {
usr/src/uts/common/io/arn/arn_main.c
955
sc->sc_ani.sc_longcal_timer = timestamp;
usr/src/uts/common/io/arn/arn_main.c
959
if (!sc->sc_ani.sc_caldone) {
usr/src/uts/common/io/arn/arn_main.c
960
if ((timestamp - sc->sc_ani.sc_shortcal_timer) >=
usr/src/uts/common/io/arn/arn_main.c
966
sc->sc_ani.sc_shortcal_timer = timestamp;
usr/src/uts/common/io/arn/arn_main.c
967
sc->sc_ani.sc_resetcal_timer = timestamp;
usr/src/uts/common/io/arn/arn_main.c
970
if ((timestamp - sc->sc_ani.sc_resetcal_timer) >=
usr/src/uts/common/io/arn/arn_main.c
973
&sc->sc_ani.sc_caldone);
usr/src/uts/common/io/arn/arn_main.c
974
if (sc->sc_ani.sc_caldone)
usr/src/uts/common/io/arn/arn_main.c
975
sc->sc_ani.sc_resetcal_timer = timestamp;
usr/src/uts/common/io/arn/arn_main.c
980
if ((timestamp - sc->sc_ani.sc_checkani_timer) >=
usr/src/uts/common/io/arn/arn_main.c
983
sc->sc_ani.sc_checkani_timer = timestamp;
usr/src/uts/common/io/arn/arn_main.c
990
ath9k_hw_ani_monitor(ah, &sc->sc_halstats,
usr/src/uts/common/io/arn/arn_main.c
998
sc->sc_rx_chainmask, longcal, &iscaldone)) {
usr/src/uts/common/io/arn/arn_rc.c
1146
arn_rc_update_ht(struct arn_softc *sc,
usr/src/uts/common/io/arn/arn_rc.c
1161
struct ath_rate_table *rate_table = sc->sc_currates;
usr/src/uts/common/io/arn/arn_rc.c
1177
state_change = arn_rc_update_per(sc, rate_table, ath_rc_priv,
usr/src/uts/common/io/arn/arn_rc.c
1321
ath_rc_tx_status(struct arn_softc *sc, struct ath_rate_priv *ath_rc_priv,
usr/src/uts/common/io/arn/arn_rc.c
1331
rate_table = sc->sc_currates;
usr/src/uts/common/io/arn/arn_rc.c
1355
arn_rc_update_ht(sc, ath_rc_priv,
usr/src/uts/common/io/arn/arn_rc.c
1381
arn_rc_update_ht(sc, ath_rc_priv, tx_info_priv, rix,
usr/src/uts/common/io/arn/arn_rc.c
1386
arn_choose_rate_table(struct arn_softc *sc, uint32_t cur_mode,
usr/src/uts/common/io/arn/arn_rc.c
1448
return (sc->hw_rate_table[ath9k_mode]);
usr/src/uts/common/io/arn/arn_rc.c
1453
arn_rc_init(struct arn_softc *sc,
usr/src/uts/common/io/arn/arn_rc.c
1459
ieee80211com_t *ic = (ieee80211com_t *)sc;
usr/src/uts/common/io/arn/arn_rc.c
1466
if ((sc->sc_ah->ah_opmode == ATH9K_M_STA) ||
usr/src/uts/common/io/arn/arn_rc.c
1467
(sc->sc_ah->ah_opmode == ATH9K_M_IBSS)) {
usr/src/uts/common/io/arn/arn_rc.c
1473
arn_choose_rate_table(sc, cur_mode, is_ht, is_cw_40);
usr/src/uts/common/io/arn/arn_rc.c
1474
} else if (sc->sc_ah->ah_opmode == ATH9K_M_HOSTAP) {
usr/src/uts/common/io/arn/arn_rc.c
1476
rate_table = sc->sc_currates;
usr/src/uts/common/io/arn/arn_rc.c
1487
is_rc_ds = (AR_SREV_9280_20_OR_LATER(sc->sc_ah) &&
usr/src/uts/common/io/arn/arn_rc.c
1488
(ath9k_hw_get_eeprom(sc->sc_ah, EEP_RC_CHAIN_MASK) == 1)) ?
usr/src/uts/common/io/arn/arn_rc.c
1490
if (sc->sc_ah->ah_caps.tx_chainmask != 1 && is_rc_ds) {
usr/src/uts/common/io/arn/arn_rc.c
1491
if (sc->sc_ht_conf.rx_mcs_mask[1]) {
usr/src/uts/common/io/arn/arn_rc.c
1569
sc->sc_currates = rate_table;
usr/src/uts/common/io/arn/arn_rc.c
1573
arn_tx_status(struct arn_softc *sc, struct ath_buf *bf, boolean_t is_data)
usr/src/uts/common/io/arn/arn_rc.c
1599
((sc->sc_ah->ah_txTrigLevel) >= ath_rc_priv->tx_triglevel_max)) {
usr/src/uts/common/io/arn/arn_rc.c
1608
ath_rc_tx_status(sc,
usr/src/uts/common/io/arn/arn_rc.c
1617
arn_get_rate(struct arn_softc *sc, struct ath_buf *bf,
usr/src/uts/common/io/arn/arn_rc.c
1624
struct ath_rate_table *rt = sc->sc_currates;
usr/src/uts/common/io/arn/arn_rc.c
1625
ieee80211com_t *ic = (ieee80211com_t *)sc;
usr/src/uts/common/io/arn/arn_rc.c
1639
arn_rc_ratefind(sc, ath_rc_priv, bf, ATH_11N_TXMAXTRY, 4,
usr/src/uts/common/io/arn/arn_rc.c
1664
if (sc->sc_ht_conf.ht_supported) {
usr/src/uts/common/io/arn/arn_rc.c
1674
if (arn_tx_aggr_check(sc, an, tid))
usr/src/uts/common/io/arn/arn_rc.c
1682
arn_rate_init(struct arn_softc *sc, struct ieee80211_node *in)
usr/src/uts/common/io/arn/arn_rc.c
1693
sc->sc_ah->ah_caps.tx_triglevel_max;
usr/src/uts/common/io/arn/arn_rc.c
1720
if (sc->sc_ht_conf.ht_support &&
usr/src/uts/common/io/arn/arn_rc.c
1734
arn_rc_init(sc, ath_rc_priv, in);
usr/src/uts/common/io/arn/arn_rc.c
1738
arn_setup_rate_table(struct arn_softc *sc,
usr/src/uts/common/io/arn/arn_rc.c
1755
ath9k_hw_computetxtime(sc->sc_ah, rate_table,
usr/src/uts/common/io/arn/arn_rc.c
1760
ath9k_hw_computetxtime(sc->sc_ah, rate_table,
usr/src/uts/common/io/arn/arn_rc.c
1768
arn_rate_attach(struct arn_softc *sc)
usr/src/uts/common/io/arn/arn_rc.c
1770
sc->hw_rate_table[ATH9K_MODE_11B] =
usr/src/uts/common/io/arn/arn_rc.c
1772
sc->hw_rate_table[ATH9K_MODE_11A] =
usr/src/uts/common/io/arn/arn_rc.c
1774
sc->hw_rate_table[ATH9K_MODE_11G] =
usr/src/uts/common/io/arn/arn_rc.c
1776
sc->hw_rate_table[ATH9K_MODE_11NA_HT20] =
usr/src/uts/common/io/arn/arn_rc.c
1778
sc->hw_rate_table[ATH9K_MODE_11NG_HT20] =
usr/src/uts/common/io/arn/arn_rc.c
1780
sc->hw_rate_table[ATH9K_MODE_11NA_HT40PLUS] =
usr/src/uts/common/io/arn/arn_rc.c
1782
sc->hw_rate_table[ATH9K_MODE_11NA_HT40MINUS] =
usr/src/uts/common/io/arn/arn_rc.c
1784
sc->hw_rate_table[ATH9K_MODE_11NG_HT40PLUS] =
usr/src/uts/common/io/arn/arn_rc.c
1786
sc->hw_rate_table[ATH9K_MODE_11NG_HT40MINUS] =
usr/src/uts/common/io/arn/arn_rc.c
1789
arn_setup_rate_table(sc, &ar5416_11b_ratetable);
usr/src/uts/common/io/arn/arn_rc.c
1790
arn_setup_rate_table(sc, &ar5416_11a_ratetable);
usr/src/uts/common/io/arn/arn_rc.c
1791
arn_setup_rate_table(sc, &ar5416_11g_ratetable);
usr/src/uts/common/io/arn/arn_rc.c
1792
arn_setup_rate_table(sc, &ar5416_11na_ratetable);
usr/src/uts/common/io/arn/arn_rc.c
1793
arn_setup_rate_table(sc, &ar5416_11ng_ratetable);
usr/src/uts/common/io/arn/arn_rc.c
1798
arn_rate_update(struct arn_softc *sc, struct ieee80211_node *in, int32_t rate)
usr/src/uts/common/io/arn/arn_rc.c
1801
const struct ath_rate_table *rt = sc->sc_currates;
usr/src/uts/common/io/arn/arn_rc.c
1825
an->an_tx_rix0 = sc->asc_rixmap[
usr/src/uts/common/io/arn/arn_rc.c
1830
if (sc->sc_mrretry) {
usr/src/uts/common/io/arn/arn_rc.c
1840
rix = sc->asc_rixmap[
usr/src/uts/common/io/arn/arn_rc.c
1849
rix = sc->asc_rixmap[
usr/src/uts/common/io/arn/arn_rc.c
1878
arn_rate_ctl_start(struct arn_softc *sc, struct ieee80211_node *in)
usr/src/uts/common/io/arn/arn_rc.c
1880
ieee80211com_t *ic = (ieee80211com_t *)sc;
usr/src/uts/common/io/arn/arn_rc.c
1890
if (sc->sc_curmode != IEEE80211_MODE_11B) {
usr/src/uts/common/io/arn/arn_rc.c
1914
arn_rate_update(sc, in, srate);
usr/src/uts/common/io/arn/arn_rc.c
1927
arn_rate_ctl_reset(struct arn_softc *sc, enum ieee80211_state state)
usr/src/uts/common/io/arn/arn_rc.c
1929
ieee80211com_t *ic = (ieee80211com_t *)sc;
usr/src/uts/common/io/arn/arn_rc.c
1941
arn_rate_ctl_start(sc, in);
usr/src/uts/common/io/arn/arn_rc.c
1943
arn_rate_update(sc, in, 0);
usr/src/uts/common/io/arn/arn_rc.c
1947
arn_rate_init(sc, in);
usr/src/uts/common/io/arn/arn_rc.c
1958
ieee80211_iterate_nodes(&ic->ic_sta, arn_rate_cb, sc);
usr/src/uts/common/io/arn/arn_rc.c
1970
struct arn_softc *sc = arg;
usr/src/uts/common/io/arn/arn_rc.c
1978
sc->sc_stats.ast_rate_calls++;
usr/src/uts/common/io/arn/arn_rc.c
2003
sc->sc_stats.ast_rate_drop++;
usr/src/uts/common/io/arn/arn_rc.c
2013
sc->sc_stats.ast_rate_raise++;
usr/src/uts/common/io/arn/arn_rc.c
2024
arn_rate_update(sc, in, nrate);
usr/src/uts/common/io/arn/arn_rc.c
669
arn_rc_ratefind_ht(struct arn_softc *sc,
usr/src/uts/common/io/arn/arn_rc.c
808
ieee80211com_t *ic = (ieee80211com_t *)sc;
usr/src/uts/common/io/arn/arn_rc.c
831
arn_rc_rate_getidx(struct arn_softc *sc,
usr/src/uts/common/io/arn/arn_rc.c
861
arn_rc_ratefind(struct arn_softc *sc, struct ath_rate_priv *ath_rc_priv,
usr/src/uts/common/io/arn/arn_rc.c
868
ieee80211com_t *ic = (ieee80211com_t *)sc;
usr/src/uts/common/io/arn/arn_rc.c
870
rate_table = sc->sc_currates;
usr/src/uts/common/io/arn/arn_rc.c
871
rix = arn_rc_ratefind_ht(sc, ath_rc_priv, rate_table, 1,
usr/src/uts/common/io/arn/arn_rc.c
888
nrix = arn_rc_rate_getidx(sc,
usr/src/uts/common/io/arn/arn_rc.c
909
nrix = arn_rc_rate_getidx(sc, ath_rc_priv,
usr/src/uts/common/io/arn/arn_rc.c
945
arn_rc_update_per(struct arn_softc *sc,
usr/src/uts/common/io/arn/arn_rc.h
249
void arn_tx_status(struct arn_softc *sc, struct ath_buf *bf, boolean_t is_data);
usr/src/uts/common/io/arn/arn_rc.h
250
void arn_get_rate(struct arn_softc *sc, struct ath_buf *bf,
usr/src/uts/common/io/arn/arn_rc.h
252
void arn_rate_init(struct arn_softc *sc, struct ieee80211_node *in);
usr/src/uts/common/io/arn/arn_rc.h
255
void arn_rate_attach(struct arn_softc *sc);
usr/src/uts/common/io/arn/arn_rc.h
256
void arn_rate_update(struct arn_softc *sc,
usr/src/uts/common/io/arn/arn_rc.h
258
void arn_rate_ctl_start(struct arn_softc *sc, struct ieee80211_node *in);
usr/src/uts/common/io/arn/arn_rc.h
260
void arn_rate_ctl_reset(struct arn_softc *sc, enum ieee80211_state state);
usr/src/uts/common/io/arn/arn_recv.c
101
if (sc->sc_ah->ah_opmode != ATH9K_M_MONITOR)
usr/src/uts/common/io/arn/arn_recv.c
105
sc->sc_stats.ast_rx_crcerr++;
usr/src/uts/common/io/arn/arn_recv.c
110
sc->sc_stats.ast_rx_fifoerr++;
usr/src/uts/common/io/arn/arn_recv.c
114
sc->sc_stats.ast_rx_phyerr++;
usr/src/uts/common/io/arn/arn_recv.c
116
sc->sc_stats.ast_rx_phy[phyerr]++;
usr/src/uts/common/io/arn/arn_recv.c
121
sc->sc_stats.ast_rx_badcrypt++;
usr/src/uts/common/io/arn/arn_recv.c
129
if (sc->sc_ah->ah_opmode == ATH9K_M_MONITOR) {
usr/src/uts/common/io/arn/arn_recv.c
150
arn_opmode_init(struct arn_softc *sc)
usr/src/uts/common/io/arn/arn_recv.c
152
struct ath_hal *ah = sc->sc_ah;
usr/src/uts/common/io/arn/arn_recv.c
155
ieee80211com_t *ic = (ieee80211com_t *)sc;
usr/src/uts/common/io/arn/arn_recv.c
158
rfilt = arn_calcrxfilter(sc);
usr/src/uts/common/io/arn/arn_recv.c
163
(void) ath9k_hw_setbssidmask(ah, sc->sc_bssidmask);
usr/src/uts/common/io/arn/arn_recv.c
169
(void) ath9k_hw_setmac(ah, sc->sc_myaddr);
usr/src/uts/common/io/arn/arn_recv.c
202
arn_calcrxfilter(struct arn_softc *sc)
usr/src/uts/common/io/arn/arn_recv.c
209
rfilt = (ath9k_hw_getrxfilter(sc->sc_ah) & RX_FILTER_PRESERVE) |
usr/src/uts/common/io/arn/arn_recv.c
214
if (sc->sc_ah->ah_opmode != ATH9K_M_STA)
usr/src/uts/common/io/arn/arn_recv.c
218
if (((sc->sc_ah->ah_opmode != ATH9K_M_HOSTAP) &&
usr/src/uts/common/io/arn/arn_recv.c
219
(sc->sc_promisc)) ||
usr/src/uts/common/io/arn/arn_recv.c
220
(sc->sc_ah->ah_opmode == ATH9K_M_MONITOR)) {
usr/src/uts/common/io/arn/arn_recv.c
226
if (sc->sc_ah->ah_opmode == ATH9K_M_STA ||
usr/src/uts/common/io/arn/arn_recv.c
227
sc->sc_ah->ah_opmode == ATH9K_M_IBSS)
usr/src/uts/common/io/arn/arn_recv.c
234
if (sc->sc_ah->ah_opmode == ATH9K_M_HOSTAP)
usr/src/uts/common/io/arn/arn_recv.c
257
struct arn_softc *sc;
usr/src/uts/common/io/arn/arn_recv.c
265
sc = (struct arn_softc *)ic;
usr/src/uts/common/io/arn/arn_recv.c
267
if (!(sc->sc_flags & SC_OP_RXAGGR))
usr/src/uts/common/io/arn/arn_recv.c
270
sc->sc_recv_action(in, frm, efrm);
usr/src/uts/common/io/arn/arn_recv.c
274
arn_startrecv(struct arn_softc *sc)
usr/src/uts/common/io/arn/arn_recv.c
276
struct ath_hal *ah = sc->sc_ah;
usr/src/uts/common/io/arn/arn_recv.c
280
mutex_enter(&sc->sc_rxbuflock);
usr/src/uts/common/io/arn/arn_recv.c
281
if (list_empty(&sc->sc_rxbuf_list))
usr/src/uts/common/io/arn/arn_recv.c
285
sc->sc_rxlink = NULL;
usr/src/uts/common/io/arn/arn_recv.c
287
bf = list_head(&sc->sc_rxbuf_list);
usr/src/uts/common/io/arn/arn_recv.c
289
arn_rx_buf_link(sc, bf);
usr/src/uts/common/io/arn/arn_recv.c
290
bf = list_next(&sc->sc_rxbuf_list, bf);
usr/src/uts/common/io/arn/arn_recv.c
295
if (list_empty(&sc->sc_rxbuf_list))
usr/src/uts/common/io/arn/arn_recv.c
298
bf = list_head(&sc->sc_rxbuf_list);
usr/src/uts/common/io/arn/arn_recv.c
304
mutex_exit(&sc->sc_rxbuflock);
usr/src/uts/common/io/arn/arn_recv.c
305
arn_opmode_init(sc);
usr/src/uts/common/io/arn/arn_recv.c
312
arn_stoprecv(struct arn_softc *sc)
usr/src/uts/common/io/arn/arn_recv.c
314
struct ath_hal *ah = sc->sc_ah;
usr/src/uts/common/io/arn/arn_recv.c
324
sc->sc_rxlink = NULL;
usr/src/uts/common/io/arn/arn_recv.c
338
struct arn_softc *sc = (struct arn_softc *)ic;
usr/src/uts/common/io/arn/arn_recv.c
344
sc->sc_recv_mgmt(ic, mp, in, subtype, rssi, rstamp);
usr/src/uts/common/io/arn/arn_recv.c
346
ARN_LOCK(sc);
usr/src/uts/common/io/arn/arn_recv.c
35
arn_rx_buf_link(struct arn_softc *sc, struct ath_buf *bf)
usr/src/uts/common/io/arn/arn_recv.c
350
if (sc->sc_bsync && in == ic->ic_bss &&
usr/src/uts/common/io/arn/arn_recv.c
356
arn_beacon_config(sc);
usr/src/uts/common/io/arn/arn_recv.c
363
uint64_t tsf = arn_extend_tsf(sc, rstamp);
usr/src/uts/common/io/arn/arn_recv.c
379
ARN_UNLOCK(sc);
usr/src/uts/common/io/arn/arn_recv.c
397
ARN_UNLOCK(sc);
usr/src/uts/common/io/arn/arn_recv.c
416
arn_rx_handler(struct arn_softc *sc)
usr/src/uts/common/io/arn/arn_recv.c
422
ieee80211com_t *ic = (ieee80211com_t *)sc;
usr/src/uts/common/io/arn/arn_recv.c
424
struct ath_hal *ah = sc->sc_ah;
usr/src/uts/common/io/arn/arn_recv.c
441
mutex_enter(&sc->sc_rxbuflock);
usr/src/uts/common/io/arn/arn_recv.c
442
bf = list_head(&sc->sc_rxbuf_list);
usr/src/uts/common/io/arn/arn_recv.c
446
sc->sc_rxlink = NULL;
usr/src/uts/common/io/arn/arn_recv.c
447
mutex_exit(&sc->sc_rxbuflock);
usr/src/uts/common/io/arn/arn_recv.c
466
PA2DESC(sc, ds->ds_link), 0);
usr/src/uts/common/io/arn/arn_recv.c
471
if (list_is_last(&bf->bf_node, &sc->sc_rxbuf_list)) {
usr/src/uts/common/io/arn/arn_recv.c
474
sc->sc_rxlink = NULL;
usr/src/uts/common/io/arn/arn_recv.c
478
tbf = list_object(&sc->sc_rxbuf_list,
usr/src/uts/common/io/arn/arn_recv.c
494
PA2DESC(sc, tds->ds_link), 0);
usr/src/uts/common/io/arn/arn_recv.c
496
mutex_exit(&sc->sc_rxbuflock);
usr/src/uts/common/io/arn/arn_recv.c
500
list_remove(&sc->sc_rxbuf_list, bf);
usr/src/uts/common/io/arn/arn_recv.c
501
mutex_exit(&sc->sc_rxbuflock);
usr/src/uts/common/io/arn/arn_recv.c
508
sc->sc_stats.ast_rx_tooshort++;
usr/src/uts/common/io/arn/arn_recv.c
51
(void) ath9k_hw_setuprxdesc(sc->sc_ah, ds,
usr/src/uts/common/io/arn/arn_recv.c
513
if (sc->rx_dmabuf_size < rs->rs_datalen) {
usr/src/uts/common/io/arn/arn_recv.c
518
if (!arn_rx_prepare(ds, sc))
usr/src/uts/common/io/arn/arn_recv.c
521
if ((rx_mp = allocb(sc->rx_dmabuf_size, BPRI_MED)) == NULL) {
usr/src/uts/common/io/arn/arn_recv.c
55
if (sc->sc_rxlink == NULL)
usr/src/uts/common/io/arn/arn_recv.c
56
ath9k_hw_putrxbuf(sc->sc_ah, bf->bf_daddr);
usr/src/uts/common/io/arn/arn_recv.c
58
*sc->sc_rxlink = bf->bf_daddr;
usr/src/uts/common/io/arn/arn_recv.c
60
sc->sc_rxlink = &ds->ds_link;
usr/src/uts/common/io/arn/arn_recv.c
61
ath9k_hw_rxena(sc->sc_ah);
usr/src/uts/common/io/arn/arn_recv.c
614
sc->sc_halstats.ns_avgbrssi =
usr/src/uts/common/io/arn/arn_recv.c
65
arn_setdefantenna(struct arn_softc *sc, uint32_t antenna)
usr/src/uts/common/io/arn/arn_recv.c
660
if (sc->sc_defant != ds->ds_rxstat.rs_antenna) {
usr/src/uts/common/io/arn/arn_recv.c
661
if (++sc->sc_rxotherant >= 3) {
usr/src/uts/common/io/arn/arn_recv.c
662
ath9k_hw_setantenna(sc->sc_ah,
usr/src/uts/common/io/arn/arn_recv.c
664
sc->sc_defant = ds->ds_rxstat.rs_antenna;
usr/src/uts/common/io/arn/arn_recv.c
665
sc->sc_rxotherant = 0;
usr/src/uts/common/io/arn/arn_recv.c
668
sc->sc_rxotherant = 0;
usr/src/uts/common/io/arn/arn_recv.c
672
mutex_enter(&sc->sc_rxbuflock);
usr/src/uts/common/io/arn/arn_recv.c
673
list_insert_tail(&sc->sc_rxbuf_list, bf);
usr/src/uts/common/io/arn/arn_recv.c
674
mutex_exit(&sc->sc_rxbuflock);
usr/src/uts/common/io/arn/arn_recv.c
675
arn_rx_buf_link(sc, bf);
usr/src/uts/common/io/arn/arn_recv.c
679
sc->sc_lastrx = ath9k_hw_gettsf64(ah);
usr/src/uts/common/io/arn/arn_recv.c
68
ath9k_hw_setantenna(sc->sc_ah, antenna);
usr/src/uts/common/io/arn/arn_recv.c
687
struct arn_softc *sc = (struct arn_softc *)data;
usr/src/uts/common/io/arn/arn_recv.c
689
ARN_LOCK(sc);
usr/src/uts/common/io/arn/arn_recv.c
69
sc->sc_defant = (uint8_t)antenna; /* LINT */
usr/src/uts/common/io/arn/arn_recv.c
691
if (sc->sc_rx_pend) {
usr/src/uts/common/io/arn/arn_recv.c
693
sc->sc_rx_pend = 0;
usr/src/uts/common/io/arn/arn_recv.c
694
ARN_UNLOCK(sc);
usr/src/uts/common/io/arn/arn_recv.c
695
arn_rx_handler(sc);
usr/src/uts/common/io/arn/arn_recv.c
699
ARN_UNLOCK(sc);
usr/src/uts/common/io/arn/arn_recv.c
70
sc->sc_rxotherant = 0;
usr/src/uts/common/io/arn/arn_recv.c
79
arn_extend_tsf(struct arn_softc *sc, uint32_t rstamp)
usr/src/uts/common/io/arn/arn_recv.c
83
tsf = ath9k_hw_gettsf64(sc->sc_ah);
usr/src/uts/common/io/arn/arn_recv.c
90
arn_rx_prepare(struct ath_desc *ds, struct arn_softc *sc)
usr/src/uts/common/io/arn/arn_xmit.c
1007
ieee80211com_t *ic = (ieee80211com_t *)sc;
usr/src/uts/common/io/arn/arn_xmit.c
101
static void arn_tx_txqaddbuf(struct arn_softc *sc, struct ath_txq *txq,
usr/src/uts/common/io/arn/arn_xmit.c
103
static void arn_buf_set_rate(struct arn_softc *sc, struct ath_buf *bf);
usr/src/uts/common/io/arn/arn_xmit.c
104
static int arn_tx_num_badfrms(struct arn_softc *sc,
usr/src/uts/common/io/arn/arn_xmit.c
1053
arn_tx_num_badfrms(struct arn_softc *sc, struct ath_buf *bf, int txok)
usr/src/uts/common/io/arn/arn_xmit.c
1084
arn_tx_send_ht_normal(struct arn_softc *sc,
usr/src/uts/common/io/arn/arn_xmit.c
1099
ath_buf_set_rate(sc, bf);
usr/src/uts/common/io/arn/arn_xmit.c
1100
arn_tx_txqaddbuf(sc, txq, list);
usr/src/uts/common/io/arn/arn_xmit.c
1108
arn_tx_txqaddbuf(struct arn_softc *sc,
usr/src/uts/common/io/arn/arn_xmit.c
111
arn_get_beaconconfig(struct arn_softc *sc, struct ath_beacon_config *conf)
usr/src/uts/common/io/arn/arn_xmit.c
113
ieee80211com_t *ic = (ieee80211com_t *)sc;
usr/src/uts/common/io/arn/arn_xmit.c
1134
ath9k_hw_puttxbuf(sc->sc_ah, txq->axq_qnum, bf->bf_daddr);
usr/src/uts/common/io/arn/arn_xmit.c
1145
ath9k_hw_txstart(sc->sc_ah, txq->axq_qnum);
usr/src/uts/common/io/arn/arn_xmit.c
1150
arn_tx_get_buffer(struct arn_softc *sc)
usr/src/uts/common/io/arn/arn_xmit.c
1154
mutex_enter(&sc->sc_txbuflock);
usr/src/uts/common/io/arn/arn_xmit.c
1155
bf = list_head(&sc->sc_txbuf_list);
usr/src/uts/common/io/arn/arn_xmit.c
1158
list_remove(&sc->sc_txbuf_list, bf);
usr/src/uts/common/io/arn/arn_xmit.c
1159
if (list_empty(&sc->sc_txbuf_list)) {
usr/src/uts/common/io/arn/arn_xmit.c
1162
sc->sc_stats.ast_tx_qstop++;
usr/src/uts/common/io/arn/arn_xmit.c
1164
mutex_exit(&sc->sc_txbuflock);
usr/src/uts/common/io/arn/arn_xmit.c
1170
setup_tx_flags(struct arn_softc *sc,
usr/src/uts/common/io/arn/arn_xmit.c
1175
ieee80211com_t *ic = (ieee80211com_t *)sc;
usr/src/uts/common/io/arn/arn_xmit.c
1182
sc->sc_stats.ast_tx_noack++;
usr/src/uts/common/io/arn/arn_xmit.c
1186
sc->sc_stats.ast_tx_rts++;
usr/src/uts/common/io/arn/arn_xmit.c
1193
ath_tx_setup_buffer(struct arn_softc *sc, struct ath_buf *bf,
usr/src/uts/common/io/arn/arn_xmit.c
1197
ieee80211com_t *ic = (ieee80211com_t *)sc;
usr/src/uts/common/io/arn/arn_xmit.c
1232
bf->bf_flags = setup_tx_flags(sc, wh, pktlen);
usr/src/uts/common/io/arn/arn_xmit.c
1240
if (ieee80211_is_data_qos(wh) && (sc->sc_flags & SC_OP_TXAGGR))
usr/src/uts/common/io/arn/arn_xmit.c
1241
assign_aggr_tid_seqno(sc, bf, wh);
usr/src/uts/common/io/arn/arn_xmit.c
1255
ath_pkt_duration(struct arn_softc *sc, uint8_t rix, struct ath_buf *bf,
usr/src/uts/common/io/arn/arn_xmit.c
1258
struct ath_rate_table *rate_table = sc->sc_currates;
usr/src/uts/common/io/arn/arn_xmit.c
1268
return (ath9k_hw_computetxtime(sc->sc_ah, rate_table, pktlen,
usr/src/uts/common/io/arn/arn_xmit.c
1290
ath_buf_set_rate(struct arn_softc *sc,
usr/src/uts/common/io/arn/arn_xmit.c
1294
struct ath_hal *ah = sc->sc_ah;
usr/src/uts/common/io/arn/arn_xmit.c
131
arn_aggr_query(struct arn_softc *sc, struct ath_node *an, uint8_t tidno)
usr/src/uts/common/io/arn/arn_xmit.c
1316
rt = sc->sc_currates;
usr/src/uts/common/io/arn/arn_xmit.c
1331
if (sc->sc_protmode != PROT_M_NONE &&
usr/src/uts/common/io/arn/arn_xmit.c
1335
if (sc->sc_protmode == PROT_M_RTSCTS)
usr/src/uts/common/io/arn/arn_xmit.c
1337
else if (sc->sc_protmode == PROT_M_CTSONLY)
usr/src/uts/common/io/arn/arn_xmit.c
1340
cix = rt->info[sc->sc_protrix].ctrl_rate;
usr/src/uts/common/io/arn/arn_xmit.c
1356
if (sc->sc_config.ath_aggr_prot &&
usr/src/uts/common/io/arn/arn_xmit.c
1359
cix = rt->info[sc->sc_protrix].ctrl_rate;
usr/src/uts/common/io/arn/arn_xmit.c
1395
series[i].PktDuration = ath_pkt_duration(sc, rix, bf,
usr/src/uts/common/io/arn/arn_xmit.c
1400
series[i].ChSel = sc->sc_tx_chainmask;
usr/src/uts/common/io/arn/arn_xmit.c
1429
if (sc->sc_config.ath_aggr_prot && flags)
usr/src/uts/common/io/arn/arn_xmit.c
1434
ath_tx_complete(struct arn_softc *sc, struct ath_buf *bf,
usr/src/uts/common/io/arn/arn_xmit.c
1446
arn_tx_status(sc, bf, is_data);
usr/src/uts/common/io/arn/arn_xmit.c
1451
ath_tx_complete_buf(struct arn_softc *sc, struct ath_buf *bf,
usr/src/uts/common/io/arn/arn_xmit.c
1475
ath_tx_complete(sc, bf, &tx_status);
usr/src/uts/common/io/arn/arn_xmit.c
1483
arn_tx_stopdma(struct arn_softc *sc, struct ath_txq *txq)
usr/src/uts/common/io/arn/arn_xmit.c
1485
struct ath_hal *ah = sc->sc_ah;
usr/src/uts/common/io/arn/arn_xmit.c
1499
arn_drain_txdataq(struct arn_softc *sc, boolean_t retry_tx)
usr/src/uts/common/io/arn/arn_xmit.c
1501
struct ath_hal *ah = sc->sc_ah;
usr/src/uts/common/io/arn/arn_xmit.c
1504
if (!(sc->sc_flags & SC_OP_INVALID)) {
usr/src/uts/common/io/arn/arn_xmit.c
1506
if (ARN_TXQ_SETUP(sc, i)) {
usr/src/uts/common/io/arn/arn_xmit.c
1507
arn_tx_stopdma(sc, &sc->sc_txq[i]);
usr/src/uts/common/io/arn/arn_xmit.c
1513
sc->sc_txq[i].axq_qnum);
usr/src/uts/common/io/arn/arn_xmit.c
1524
sc->sc_ah->ah_curchan,
usr/src/uts/common/io/arn/arn_xmit.c
1525
sc->tx_chan_width,
usr/src/uts/common/io/arn/arn_xmit.c
1526
sc->sc_tx_chainmask, sc->sc_rx_chainmask,
usr/src/uts/common/io/arn/arn_xmit.c
1527
sc->sc_ht_extprotspacing, B_TRUE, &status)) {
usr/src/uts/common/io/arn/arn_xmit.c
1535
if (ARN_TXQ_SETUP(sc, i))
usr/src/uts/common/io/arn/arn_xmit.c
1536
arn_tx_draintxq(sc, &sc->sc_txq[i]);
usr/src/uts/common/io/arn/arn_xmit.c
1542
arn_txq_setup(struct arn_softc *sc, int qtype, int subtype)
usr/src/uts/common/io/arn/arn_xmit.c
1544
struct ath_hal *ah = sc->sc_ah;
usr/src/uts/common/io/arn/arn_xmit.c
1583
if (qnum >= ARRAY_SIZE(sc->sc_txq)) {
usr/src/uts/common/io/arn/arn_xmit.c
1586
qnum, (unsigned int)ARRAY_SIZE(sc->sc_txq)));
usr/src/uts/common/io/arn/arn_xmit.c
1590
if (!ARN_TXQ_SETUP(sc, qnum)) {
usr/src/uts/common/io/arn/arn_xmit.c
1591
struct ath_txq *txq = &sc->sc_txq[qnum];
usr/src/uts/common/io/arn/arn_xmit.c
1607
sc->sc_txqsetup |= 1<<qnum;
usr/src/uts/common/io/arn/arn_xmit.c
1609
return (&sc->sc_txq[qnum]);
usr/src/uts/common/io/arn/arn_xmit.c
1615
arn_tx_cleanupq(struct arn_softc *sc, struct ath_txq *txq)
usr/src/uts/common/io/arn/arn_xmit.c
1617
(void) ath9k_hw_releasetxqueue(sc->sc_ah, txq->axq_qnum);
usr/src/uts/common/io/arn/arn_xmit.c
1618
sc->sc_txqsetup &= ~(1<<txq->axq_qnum);
usr/src/uts/common/io/arn/arn_xmit.c
1632
arn_tx_setup(struct arn_softc *sc, int haltype)
usr/src/uts/common/io/arn/arn_xmit.c
1636
if (haltype >= ARRAY_SIZE(sc->sc_haltype2q)) {
usr/src/uts/common/io/arn/arn_xmit.c
1639
haltype, ARRAY_SIZE(sc->sc_haltype2q)));
usr/src/uts/common/io/arn/arn_xmit.c
1642
txq = arn_txq_setup(sc, ATH9K_TX_QUEUE_DATA, haltype);
usr/src/uts/common/io/arn/arn_xmit.c
1644
sc->sc_haltype2q[haltype] = txq->axq_qnum;
usr/src/uts/common/io/arn/arn_xmit.c
1651
arn_tx_draintxq(struct arn_softc *sc, struct ath_txq *txq)
usr/src/uts/common/io/arn/arn_xmit.c
1669
mutex_enter(&sc->sc_txbuflock);
usr/src/uts/common/io/arn/arn_xmit.c
1670
list_insert_tail(&sc->sc_txbuf_list, bf);
usr/src/uts/common/io/arn/arn_xmit.c
1671
mutex_exit(&sc->sc_txbuflock);
usr/src/uts/common/io/arn/arn_xmit.c
1678
arn_draintxq(struct arn_softc *sc, boolean_t retry_tx)
usr/src/uts/common/io/arn/arn_xmit.c
1684
if (!(sc->sc_flags & SC_OP_INVALID)) {
usr/src/uts/common/io/arn/arn_xmit.c
1685
(void) ath9k_hw_stoptxdma(sc->sc_ah, sc->sc_beaconq);
usr/src/uts/common/io/arn/arn_xmit.c
1688
ath9k_hw_gettxbuf(sc->sc_ah, sc->sc_beaconq)));
usr/src/uts/common/io/arn/arn_xmit.c
1691
arn_drain_txdataq(sc, retry_tx);
usr/src/uts/common/io/arn/arn_xmit.c
1695
arn_txq_depth(struct arn_softc *sc, int qnum)
usr/src/uts/common/io/arn/arn_xmit.c
1697
return (sc->sc_txq[qnum].axq_depth);
usr/src/uts/common/io/arn/arn_xmit.c
1701
arn_txq_aggr_depth(struct arn_softc *sc, int qnum)
usr/src/uts/common/io/arn/arn_xmit.c
1703
return (sc->sc_txq[qnum].axq_aggr_depth);
usr/src/uts/common/io/arn/arn_xmit.c
1708
arn_txq_update(struct arn_softc *sc, int qnum,
usr/src/uts/common/io/arn/arn_xmit.c
1711
struct ath_hal *ah = sc->sc_ah;
usr/src/uts/common/io/arn/arn_xmit.c
1715
if (qnum == sc->sc_beaconq) {
usr/src/uts/common/io/arn/arn_xmit.c
1721
sc->sc_beacon_qi = *qinfo;
usr/src/uts/common/io/arn/arn_xmit.c
1725
ASSERT(sc->sc_txq[qnum].axq_qnum == qnum);
usr/src/uts/common/io/arn/arn_xmit.c
173
arn_tx_pause_tid(struct arn_softc *sc, struct ath_atx_tid *tid)
usr/src/uts/common/io/arn/arn_xmit.c
1746
ath_cabq_update(struct arn_softc *sc)
usr/src/uts/common/io/arn/arn_xmit.c
1749
int qnum = sc->sc_cabq->axq_qnum;
usr/src/uts/common/io/arn/arn_xmit.c
175
struct ath_txq *txq = &sc->sc_txq[tid->ac->qnum];
usr/src/uts/common/io/arn/arn_xmit.c
1752
(void) ath9k_hw_get_txq_props(sc->sc_ah, qnum, &qi);
usr/src/uts/common/io/arn/arn_xmit.c
1756
if (sc->sc_config.cabqReadytime < ATH9K_READY_TIME_LO_BOUND)
usr/src/uts/common/io/arn/arn_xmit.c
1757
sc->sc_config.cabqReadytime = ATH9K_READY_TIME_LO_BOUND;
usr/src/uts/common/io/arn/arn_xmit.c
1758
else if (sc->sc_config.cabqReadytime > ATH9K_READY_TIME_HI_BOUND)
usr/src/uts/common/io/arn/arn_xmit.c
1759
sc->sc_config.cabqReadytime = ATH9K_READY_TIME_HI_BOUND;
usr/src/uts/common/io/arn/arn_xmit.c
1761
arn_get_beaconconfig(sc, &conf);
usr/src/uts/common/io/arn/arn_xmit.c
1763
(conf.beacon_interval * sc->sc_config.cabqReadytime) / 100;
usr/src/uts/common/io/arn/arn_xmit.c
1764
(void) arn_txq_update(sc, qnum, &qi);
usr/src/uts/common/io/arn/arn_xmit.c
1856
arn_tx_start(struct arn_softc *sc, struct ieee80211_node *in,
usr/src/uts/common/io/arn/arn_xmit.c
1859
ieee80211com_t *ic = (ieee80211com_t *)sc;
usr/src/uts/common/io/arn/arn_xmit.c
186
arn_tx_resume_tid(struct arn_softc *sc, struct ath_atx_tid *tid)
usr/src/uts/common/io/arn/arn_xmit.c
1861
struct ath_hal *ah = sc->sc_ah;
usr/src/uts/common/io/arn/arn_xmit.c
188
struct ath_txq *txq = &sc->sc_txq[tid->ac->qnum];
usr/src/uts/common/io/arn/arn_xmit.c
1940
ath_tx_setup_buffer(sc, bf, in, wh, pktlen, keytype);
usr/src/uts/common/io/arn/arn_xmit.c
1944
rt = sc->sc_currates;
usr/src/uts/common/io/arn/arn_xmit.c
1947
arn_get_rate(sc, bf, wh);
usr/src/uts/common/io/arn/arn_xmit.c
1967
txq = &sc->sc_txq[arn_get_hal_qnum(WME_AC_VO, sc)];
usr/src/uts/common/io/arn/arn_xmit.c
1974
txq = &sc->sc_txq[arn_get_hal_qnum(WME_AC_VO, sc)];
usr/src/uts/common/io/arn/arn_xmit.c
1982
txq = &sc->sc_txq[arn_get_hal_qnum(WME_AC_BE, sc)];
usr/src/uts/common/io/arn/arn_xmit.c
1986
sc->sc_stats.ast_tx_invalid++;
usr/src/uts/common/io/arn/arn_xmit.c
2020
ath_buf_set_rate(sc, bf, wh);
usr/src/uts/common/io/arn/arn_xmit.c
205
arn_txq_schedule(sc, txq);
usr/src/uts/common/io/arn/arn_xmit.c
2053
struct arn_softc *sc = (struct arn_softc *)ic;
usr/src/uts/common/io/arn/arn_xmit.c
2054
struct ath_hal *ah = sc->sc_ah;
usr/src/uts/common/io/arn/arn_xmit.c
2062
if (sc->sc_flags & SC_OP_INVALID) {
usr/src/uts/common/io/arn/arn_xmit.c
2071
bf = arn_tx_get_buffer(sc);
usr/src/uts/common/io/arn/arn_xmit.c
2078
sc->sc_stats.ast_tx_nobuf++;
usr/src/uts/common/io/arn/arn_xmit.c
2079
mutex_enter(&sc->sc_resched_lock);
usr/src/uts/common/io/arn/arn_xmit.c
2080
sc->sc_resched_needed = B_TRUE;
usr/src/uts/common/io/arn/arn_xmit.c
2081
mutex_exit(&sc->sc_resched_lock);
usr/src/uts/common/io/arn/arn_xmit.c
2083
sc->sc_stats.ast_tx_nobufmgt++;
usr/src/uts/common/io/arn/arn_xmit.c
2118
sc->sc_stats.ast_tx_mgmt++;
usr/src/uts/common/io/arn/arn_xmit.c
212
arn_tx_flush_tid(struct arn_softc *sc, struct ath_atx_tid *tid)
usr/src/uts/common/io/arn/arn_xmit.c
2122
error = arn_tx_start(sc, in, bf, mp);
usr/src/uts/common/io/arn/arn_xmit.c
2128
mutex_enter(&sc->sc_txbuflock);
usr/src/uts/common/io/arn/arn_xmit.c
2129
list_insert_tail(&sc->sc_txbuf_list, bf);
usr/src/uts/common/io/arn/arn_xmit.c
2130
mutex_exit(&sc->sc_txbuflock);
usr/src/uts/common/io/arn/arn_xmit.c
214
struct ath_txq *txq = &sc->sc_txq[tid->ac->qnum];
usr/src/uts/common/io/arn/arn_xmit.c
2185
arn_tx_processq(struct arn_softc *sc, struct ath_txq *txq)
usr/src/uts/common/io/arn/arn_xmit.c
2187
ieee80211com_t *ic = (ieee80211com_t *)sc;
usr/src/uts/common/io/arn/arn_xmit.c
2188
struct ath_hal *ah = sc->sc_ah;
usr/src/uts/common/io/arn/arn_xmit.c
2228
sc->sc_stats.ast_tx_rssidelta =
usr/src/uts/common/io/arn/arn_xmit.c
2229
ts->ts_rssi - sc->sc_stats.ast_tx_rssi;
usr/src/uts/common/io/arn/arn_xmit.c
2230
sc->sc_stats.ast_tx_rssi = ts->ts_rssi;
usr/src/uts/common/io/arn/arn_xmit.c
2234
sc->sc_stats.ast_tx_xretries++;
usr/src/uts/common/io/arn/arn_xmit.c
2237
sc->sc_stats.ast_tx_fifoerr++;
usr/src/uts/common/io/arn/arn_xmit.c
2240
sc->sc_stats.ast_tx_filtered++;
usr/src/uts/common/io/arn/arn_xmit.c
2246
sc->sc_stats.ast_tx_shortretry += sr;
usr/src/uts/common/io/arn/arn_xmit.c
2247
sc->sc_stats.ast_tx_longretry += lr;
usr/src/uts/common/io/arn/arn_xmit.c
2280
ath_tx_complete_buf(sc, bf, txok, 0);
usr/src/uts/common/io/arn/arn_xmit.c
2286
mutex_enter(&sc->sc_txbuflock);
usr/src/uts/common/io/arn/arn_xmit.c
2287
list_insert_tail(&sc->sc_txbuf_list, bf);
usr/src/uts/common/io/arn/arn_xmit.c
2288
mutex_exit(&sc->sc_txbuflock);
usr/src/uts/common/io/arn/arn_xmit.c
2293
mutex_enter(&sc->sc_resched_lock);
usr/src/uts/common/io/arn/arn_xmit.c
2294
if (sc->sc_resched_needed) {
usr/src/uts/common/io/arn/arn_xmit.c
2295
sc->sc_resched_needed = B_FALSE;
usr/src/uts/common/io/arn/arn_xmit.c
2298
mutex_exit(&sc->sc_resched_lock);
usr/src/uts/common/io/arn/arn_xmit.c
2305
arn_tx_handler(struct arn_softc *sc)
usr/src/uts/common/io/arn/arn_xmit.c
2310
ath9k_hw_gettxintrtxqs(sc->sc_ah, &qcumask);
usr/src/uts/common/io/arn/arn_xmit.c
2316
if (ARN_TXQ_SETUP(sc, i) && (qcumask & (1 << i))) {
usr/src/uts/common/io/arn/arn_xmit.c
2317
nacked += arn_tx_processq(sc, &sc->sc_txq[i]);
usr/src/uts/common/io/arn/arn_xmit.c
2322
sc->sc_lastrx = ath9k_hw_gettsf64(sc->sc_ah);
usr/src/uts/common/io/arn/arn_xmit.c
2330
struct arn_softc *sc = arg;
usr/src/uts/common/io/arn/arn_xmit.c
2331
arn_tx_handler(sc);
usr/src/uts/common/io/arn/arn_xmit.c
2338
arn_tx_node_init(struct arn_softc *sc, struct ath_node *an)
usr/src/uts/common/io/arn/arn_xmit.c
236
arn_tx_send_ht_normal(sc, txq, tid, &list);
usr/src/uts/common/io/arn/arn_xmit.c
2370
ac->qnum = arn_tx_get_qnum(sc,
usr/src/uts/common/io/arn/arn_xmit.c
2374
ac->qnum = arn_tx_get_qnum(sc,
usr/src/uts/common/io/arn/arn_xmit.c
2378
ac->qnum = arn_tx_get_qnum(sc,
usr/src/uts/common/io/arn/arn_xmit.c
2382
ac->qnum = arn_tx_get_qnum(sc,
usr/src/uts/common/io/arn/arn_xmit.c
2390
arn_tx_node_cleanup(struct arn_softc *sc, struct ieee80211_node *in)
usr/src/uts/common/io/arn/arn_xmit.c
2399
if (ARN_TXQ_SETUP(sc, i)) {
usr/src/uts/common/io/arn/arn_xmit.c
2400
txq = &sc->sc_txq[i];
usr/src/uts/common/io/arn/arn_xmit.c
2421
arn_tid_drain(sc, txq, tid);
usr/src/uts/common/io/arn/arn_xmit.c
244
arn_tx_update_baw(struct arn_softc *sc, struct ath_atx_tid *tid, int seqno)
usr/src/uts/common/io/arn/arn_xmit.c
261
arn_tx_addto_baw(struct arn_softc *sc, struct ath_atx_tid *tid,
usr/src/uts/common/io/arn/arn_xmit.c
289
arn_tid_drain(struct arn_softc *sc,
usr/src/uts/common/io/arn/arn_xmit.c
308
arn_tx_update_baw(sc, tid, bf->bf_seqno);
usr/src/uts/common/io/arn/arn_xmit.c
311
arn_tx_complete_buf(sc, bf, &list, 0, 0);
usr/src/uts/common/io/arn/arn_xmit.c
320
arn_tx_set_retry(struct arn_softc *sc, struct ath_buf *bf)
usr/src/uts/common/io/arn/arn_xmit.c
332
arn_clone_txbuf(struct arn_softc *sc, struct ath_buf *bf)
usr/src/uts/common/io/arn/arn_xmit.c
336
mutex_enter(&sc->sc_txbuflock);
usr/src/uts/common/io/arn/arn_xmit.c
337
ASSERT(!list_empty((&sc->sc_txbuf_list)));
usr/src/uts/common/io/arn/arn_xmit.c
339
tbf = list_head(&sc->sc_txbuf_list);
usr/src/uts/common/io/arn/arn_xmit.c
340
list_remove(&sc->sc_txbuf_list, tbf);
usr/src/uts/common/io/arn/arn_xmit.c
341
mutex_exit(&sc->sc_txbuflock);
usr/src/uts/common/io/arn/arn_xmit.c
354
arn_tx_complete_aggr(struct arn_softc *sc, struct ath_txq *txq,
usr/src/uts/common/io/arn/arn_xmit.c
388
if (sc->sc_ah->ah_opmode == ATH9K_M_STA)
usr/src/uts/common/io/arn/arn_xmit.c
398
nbad = arn_tx_num_badfrms(sc, bf, txok);
usr/src/uts/common/io/arn/arn_xmit.c
416
arn_tx_set_retry(sc, bf);
usr/src/uts/common/io/arn/arn_xmit.c
449
arn_tx_update_baw(sc, tid, bf->bf_seqno);
usr/src/uts/common/io/arn/arn_xmit.c
459
ath_tx_complete_buf(sc, bf, list, !txfail, sendbar);
usr/src/uts/common/io/arn/arn_xmit.c
466
tbf = arn_clone_txbuf(sc, bf_last);
usr/src/uts/common/io/arn/arn_xmit.c
467
ath9k_hw_cleartxdesc(sc->sc_ah, tbf->bf_desc);
usr/src/uts/common/io/arn/arn_xmit.c
474
ath9k_hw_cleartxdesc(sc->sc_ah, bf->bf_desc);
usr/src/uts/common/io/arn/arn_xmit.c
500
arn_tx_flush_tid(sc, tid);
usr/src/uts/common/io/arn/arn_xmit.c
519
arn_lookup_rate(struct arn_softc *sc, struct ath_buf *bf,
usr/src/uts/common/io/arn/arn_xmit.c
522
struct ath_rate_table *rate_table = sc->sc_currates;
usr/src/uts/common/io/arn/arn_xmit.c
582
arn_compute_num_delims(struct arn_softc *sc, struct ath_atx_tid *tid,
usr/src/uts/common/io/arn/arn_xmit.c
585
struct ath_rate_table *rt = sc->sc_currates;
usr/src/uts/common/io/arn/arn_xmit.c
645
arn_tx_form_aggr(struct arn_softc *sc, struct ath_atx_tid *tid,
usr/src/uts/common/io/arn/arn_xmit.c
667
aggr_limit = arn_lookup_rate(sc, bf, tid);
usr/src/uts/common/io/arn/arn_xmit.c
695
arn_compute_num_delims(sc, tid, bf_first, bf->bf_frmlen);
usr/src/uts/common/io/arn/arn_xmit.c
702
arn_tx_addto_baw(sc, tid, bf);
usr/src/uts/common/io/arn/arn_xmit.c
703
ath9k_hw_set11n_aggr_middle(sc->sc_ah, bf->bf_desc, ndelim);
usr/src/uts/common/io/arn/arn_xmit.c
721
arn_tx_sched_aggr(struct arn_softc *sc, struct ath_txq *txq,
usr/src/uts/common/io/arn/arn_xmit.c
736
status = arn_tx_form_aggr(sc, tid, &bf_q);
usr/src/uts/common/io/arn/arn_xmit.c
751
ath9k_hw_clr11n_aggr(sc->sc_ah, bf->bf_desc);
usr/src/uts/common/io/arn/arn_xmit.c
752
ath_buf_set_rate(sc, bf);
usr/src/uts/common/io/arn/arn_xmit.c
753
arn_tx_txqaddbuf(sc, txq, &bf_q);
usr/src/uts/common/io/arn/arn_xmit.c
759
ath_buf_set_rate(sc, bf);
usr/src/uts/common/io/arn/arn_xmit.c
760
ath9k_hw_set11n_aggr_first(sc->sc_ah, bf->bf_desc, bf->bf_al);
usr/src/uts/common/io/arn/arn_xmit.c
763
ath9k_hw_set11n_aggr_last(sc->sc_ah, bf->bf_lastbf->bf_desc);
usr/src/uts/common/io/arn/arn_xmit.c
766
arn_tx_txqaddbuf(sc, txq, &bf_q);
usr/src/uts/common/io/arn/arn_xmit.c
773
arn_tx_aggr_start(struct arn_softc *sc, struct ieee80211_node *in,
usr/src/uts/common/io/arn/arn_xmit.c
781
if (sc->sc_flags & SC_OP_TXAGGR) {
usr/src/uts/common/io/arn/arn_xmit.c
784
arn_tx_pause_tid(sc, txtid);
usr/src/uts/common/io/arn/arn_xmit.c
792
arn_tx_aggr_stop(struct arn_softc *sc, struct ieee80211_node *in, uint16_t tid)
usr/src/uts/common/io/arn/arn_xmit.c
796
struct ath_txq *txq = &sc->sc_txq[txtid->ac->qnum];
usr/src/uts/common/io/arn/arn_xmit.c
811
arn_tx_pause_tid(sc, txtid);
usr/src/uts/common/io/arn/arn_xmit.c
828
arn_tx_update_baw(sc, txtid, bf->bf_seqno);
usr/src/uts/common/io/arn/arn_xmit.c
838
arn_tx_flush_tid(sc, txtid);
usr/src/uts/common/io/arn/arn_xmit.c
845
arn_tx_aggr_resume(struct arn_softc *sc,
usr/src/uts/common/io/arn/arn_xmit.c
854
if (sc->sc_flags & SC_OP_TXAGGR) {
usr/src/uts/common/io/arn/arn_xmit.c
856
txtid->baw_size = (0x8) << sc->sc_ht_conf.ampdu_factor;
usr/src/uts/common/io/arn/arn_xmit.c
859
arn_tx_resume_tid(sc, txtid);
usr/src/uts/common/io/arn/arn_xmit.c
864
arn_tx_aggr_check(struct arn_softc *sc, struct ath_node *an, uint8_t tidno)
usr/src/uts/common/io/arn/arn_xmit.c
868
if (!(sc->sc_flags & SC_OP_TXAGGR))
usr/src/uts/common/io/arn/arn_xmit.c
887
arn_txq_drain_pending_buffers(struct arn_softc *sc, struct ath_txq *txq)
usr/src/uts/common/io/arn/arn_xmit.c
898
arn_tid_drain(sc, txq, tid);
usr/src/uts/common/io/arn/arn_xmit.c
904
arn_tx_get_qnum(struct arn_softc *sc, int qtype, int haltype)
usr/src/uts/common/io/arn/arn_xmit.c
910
if (haltype >= ARRAY_SIZE(sc->sc_haltype2q)) {
usr/src/uts/common/io/arn/arn_xmit.c
913
haltype, ARRAY_SIZE(sc->sc_haltype2q)));
usr/src/uts/common/io/arn/arn_xmit.c
916
qnum = sc->sc_haltype2q[haltype];
usr/src/uts/common/io/arn/arn_xmit.c
919
qnum = sc->sc_beaconq;
usr/src/uts/common/io/arn/arn_xmit.c
922
qnum = sc->sc_cabq->axq_qnum;
usr/src/uts/common/io/arn/arn_xmit.c
931
arn_test_get_txq(struct arn_softc *sc, struct ieee80211_node *in,
usr/src/uts/common/io/arn/arn_xmit.c
97
static void arn_tx_send_ht_normal(struct arn_softc *sc, struct ath_txq *txq,
usr/src/uts/common/io/arn/arn_xmit.c
976
qnum = arn_get_hal_qnum(qos_ac, sc);
usr/src/uts/common/io/arn/arn_xmit.c
977
txq = &sc->sc_txq[qnum];
usr/src/uts/common/io/arn/arn_xmit.c
986
sc->sc_resched_needed = B_TRUE;
usr/src/uts/common/io/arn/arn_xmit.c
99
static void arn_tx_complete_buf(struct arn_softc *sc, struct ath_buf *bf,
usr/src/uts/common/io/arn/arn_xmit.c
999
assign_aggr_tid_seqno(struct arn_softc *sc,
usr/src/uts/common/io/atu/atu.c
1002
sc->sc_name, state);
usr/src/uts/common/io/atu/atu.c
1004
err = atu_usb_request(sc, DFU_GETSTATUS, 0, 0, 6, status);
usr/src/uts/common/io/atu/atu.c
1007
sc->sc_name);
usr/src/uts/common/io/atu/atu.c
1011
err = atu_usb_request(sc, DFU_REMAP, 0, 0, 0, NULL);
usr/src/uts/common/io/atu/atu.c
1012
if (err && !(sc->sc_quirk & ATU_QUIRK_NO_REMAP)) {
usr/src/uts/common/io/atu/atu.c
1013
cmn_err(CE_WARN, "%s: DFU remap failed\n", sc->sc_name);
usr/src/uts/common/io/atu/atu.c
1031
struct atu_softc *sc = arg;
usr/src/uts/common/io/atu/atu.c
1036
if (sc->sc_radio == atu_fw_table[i].atur_type) {
usr/src/uts/common/io/atu/atu.c
1047
err = atu_usb_request(sc, ATU_VENDOR_DEV_OUT, 0x0e,
usr/src/uts/common/io/atu/atu.c
1051
sc->sc_name);
usr/src/uts/common/io/atu/atu.c
1060
err = atu_usb_request(sc, ATU_VENDOR_DEV_OUT, 0x0e, 0x0802,
usr/src/uts/common/io/atu/atu.c
1064
sc->sc_name);
usr/src/uts/common/io/atu/atu.c
1073
if (sc->sc_quirk & ATU_QUIRK_FW_DELAY)
usr/src/uts/common/io/atu/atu.c
108
uret = usb_pipe_ctrl_xfer_wait(sc->sc_udev->dev_default_ph,
usr/src/uts/common/io/atu/atu.c
1080
atu_load_microcode(struct atu_softc *sc, boolean_t attach)
usr/src/uts/common/io/atu/atu.c
1088
err = atu_get_opmode(sc, &mode);
usr/src/uts/common/io/atu/atu.c
1097
if (sc->sc_radio != RadioIntersil &&
usr/src/uts/common/io/atu/atu.c
1098
atu_get_mib(sc, MIB_PHY_CHANNEL, &chan) == 0)
usr/src/uts/common/io/atu/atu.c
1103
return (atu_dfu_stage2(sc));
usr/src/uts/common/io/atu/atu.c
1106
err = atu_dfu_stage1(sc);
usr/src/uts/common/io/atu/atu.c
1110
if (usb_reset_device(sc->sc_dip, reset) != USB_SUCCESS)
usr/src/uts/common/io/atu/atu.c
1122
struct atu_softc *sc;
usr/src/uts/common/io/atu/atu.c
1125
sc = ddi_get_soft_state(atu_soft_state_p, ddi_get_instance(dip));
usr/src/uts/common/io/atu/atu.c
1126
ic = &sc->sc_ic;
usr/src/uts/common/io/atu/atu.c
1131
ATU_LOCK(sc);
usr/src/uts/common/io/atu/atu.c
1132
if (sc->sc_scan_timer != 0) {
usr/src/uts/common/io/atu/atu.c
1133
ATU_UNLOCK(sc);
usr/src/uts/common/io/atu/atu.c
1134
(void) untimeout(sc->sc_scan_timer);
usr/src/uts/common/io/atu/atu.c
1135
ATU_LOCK(sc);
usr/src/uts/common/io/atu/atu.c
1136
sc->sc_scan_timer = 0;
usr/src/uts/common/io/atu/atu.c
1139
sc->sc_flags &= ~(ATU_FLAG_RUNNING | ATU_FLAG_RADIO_ON);
usr/src/uts/common/io/atu/atu.c
1140
atu_close_pipes(sc);
usr/src/uts/common/io/atu/atu.c
1142
ATU_UNLOCK(sc);
usr/src/uts/common/io/atu/atu.c
1149
struct atu_softc *sc;
usr/src/uts/common/io/atu/atu.c
1152
sc = ddi_get_soft_state(atu_soft_state_p, ddi_get_instance(dip));
usr/src/uts/common/io/atu/atu.c
1153
if (usb_check_same_device(sc->sc_dip, NULL, USB_LOG_L2, -1,
usr/src/uts/common/io/atu/atu.c
1157
ATU_LOCK(sc);
usr/src/uts/common/io/atu/atu.c
1158
err = atu_load_microcode(sc, B_FALSE);
usr/src/uts/common/io/atu/atu.c
1160
err = atu_init(sc);
usr/src/uts/common/io/atu/atu.c
1162
ATU_UNLOCK(sc);
usr/src/uts/common/io/atu/atu.c
1169
struct atu_softc *sc;
usr/src/uts/common/io/atu/atu.c
1179
sc = ddi_get_soft_state(atu_soft_state_p,
usr/src/uts/common/io/atu/atu.c
1181
if (usb_check_same_device(sc->sc_dip, NULL, USB_LOG_L2, -1,
usr/src/uts/common/io/atu/atu.c
1185
if (atu_load_microcode(sc, B_FALSE) == 0)
usr/src/uts/common/io/atu/atu.c
1186
(void) atu_init(sc);
usr/src/uts/common/io/atu/atu.c
119
atu_get_mib(struct atu_softc *sc, uint8_t type, uint8_t size,
usr/src/uts/common/io/atu/atu.c
1197
sc = ddi_get_soft_state(atu_soft_state_p, instance);
usr/src/uts/common/io/atu/atu.c
1198
ic = &sc->sc_ic;
usr/src/uts/common/io/atu/atu.c
1199
sc->sc_dip = dip;
usr/src/uts/common/io/atu/atu.c
1201
(void) snprintf(sc->sc_name, sizeof (sc->sc_name), "%s%d",
usr/src/uts/common/io/atu/atu.c
1208
err = usb_get_dev_data(dip, &sc->sc_udev, USB_PARSE_LVL_ALL, 0);
usr/src/uts/common/io/atu/atu.c
1210
sc->sc_udev = NULL;
usr/src/uts/common/io/atu/atu.c
1216
if (sc->sc_udev->dev_descr->idVendor == t->atu_vid &&
usr/src/uts/common/io/atu/atu.c
1217
sc->sc_udev->dev_descr->idProduct == t->atu_pid) {
usr/src/uts/common/io/atu/atu.c
1218
sc->sc_radio = t->atu_radio;
usr/src/uts/common/io/atu/atu.c
1219
sc->sc_quirk = t->atu_quirk;
usr/src/uts/common/io/atu/atu.c
122
return atu_usb_request(sc, ATU_VENDOR_IF_IN, 0x033,
usr/src/uts/common/io/atu/atu.c
1223
err = atu_load_microcode(sc, B_TRUE);
usr/src/uts/common/io/atu/atu.c
1225
sc->sc_flags |= ATU_FLAG_REATTACH; /* reattaching */
usr/src/uts/common/io/atu/atu.c
1230
sc->sc_flags &= ~ATU_FLAG_REATTACH;
usr/src/uts/common/io/atu/atu.c
1233
err = atu_get_config(sc);
usr/src/uts/common/io/atu/atu.c
1236
sc->sc_name);
usr/src/uts/common/io/atu/atu.c
1240
mutex_init(&sc->sc_genlock, NULL, MUTEX_DRIVER, NULL);
usr/src/uts/common/io/atu/atu.c
1241
mutex_init(&sc->sc_txlock, NULL, MUTEX_DRIVER, NULL);
usr/src/uts/common/io/atu/atu.c
1242
mutex_init(&sc->sc_rxlock, NULL, MUTEX_DRIVER, NULL);
usr/src/uts/common/io/atu/atu.c
1248
ic->ic_maxrssi = atu_fw_table[sc->sc_radio].max_rssi;
usr/src/uts/common/io/atu/atu.c
1260
sc->sc_newstate = ic->ic_newstate;
usr/src/uts/common/io/atu/atu.c
127
atu_get_cmd_status(struct atu_softc *sc, uint8_t cmd, uint8_t *status)
usr/src/uts/common/io/atu/atu.c
1275
macp->m_driver = sc;
usr/src/uts/common/io/atu/atu.c
1289
err = usb_register_hotplug_cbs(sc->sc_dip, atu_disconnect,
usr/src/uts/common/io/atu/atu.c
1294
err = ddi_create_minor_node(dip, sc->sc_name, S_IFCHR,
usr/src/uts/common/io/atu/atu.c
1298
sc->sc_name);
usr/src/uts/common/io/atu/atu.c
1306
mutex_destroy(&sc->sc_genlock);
usr/src/uts/common/io/atu/atu.c
1307
mutex_destroy(&sc->sc_rxlock);
usr/src/uts/common/io/atu/atu.c
1308
mutex_destroy(&sc->sc_txlock);
usr/src/uts/common/io/atu/atu.c
1310
usb_client_detach(sc->sc_dip, sc->sc_udev);
usr/src/uts/common/io/atu/atu.c
1320
struct atu_softc *sc;
usr/src/uts/common/io/atu/atu.c
1323
sc = ddi_get_soft_state(atu_soft_state_p, ddi_get_instance(dip));
usr/src/uts/common/io/atu/atu.c
1329
ieee80211_new_state(&sc->sc_ic, IEEE80211_S_INIT, -1);
usr/src/uts/common/io/atu/atu.c
1330
ieee80211_stop_watchdog(&sc->sc_ic);
usr/src/uts/common/io/atu/atu.c
1332
ATU_LOCK(sc);
usr/src/uts/common/io/atu/atu.c
1333
if (sc->sc_scan_timer != 0) {
usr/src/uts/common/io/atu/atu.c
1334
ATU_UNLOCK(sc);
usr/src/uts/common/io/atu/atu.c
1335
(void) untimeout(sc->sc_scan_timer);
usr/src/uts/common/io/atu/atu.c
1336
ATU_LOCK(sc);
usr/src/uts/common/io/atu/atu.c
1337
sc->sc_scan_timer = 0;
usr/src/uts/common/io/atu/atu.c
1339
(void) atu_stop(sc);
usr/src/uts/common/io/atu/atu.c
134
return atu_usb_request(sc, ATU_VENDOR_IF_IN, 0x22, cmd,
usr/src/uts/common/io/atu/atu.c
1341
ATU_UNLOCK(sc);
usr/src/uts/common/io/atu/atu.c
1347
if (!ATU_REATTACH(sc)) {
usr/src/uts/common/io/atu/atu.c
1348
err = mac_disable(sc->sc_ic.ic_mach);
usr/src/uts/common/io/atu/atu.c
1352
(void) atu_stop(sc);
usr/src/uts/common/io/atu/atu.c
1355
(void) mac_unregister(sc->sc_ic.ic_mach);
usr/src/uts/common/io/atu/atu.c
1356
ieee80211_detach(&sc->sc_ic);
usr/src/uts/common/io/atu/atu.c
1358
mutex_destroy(&sc->sc_genlock);
usr/src/uts/common/io/atu/atu.c
1359
mutex_destroy(&sc->sc_txlock);
usr/src/uts/common/io/atu/atu.c
1360
mutex_destroy(&sc->sc_rxlock);
usr/src/uts/common/io/atu/atu.c
1365
usb_client_detach(dip, sc->sc_udev);
usr/src/uts/common/io/atu/atu.c
139
atu_get_dfu_state(struct atu_softc *sc)
usr/src/uts/common/io/atu/atu.c
1427
struct atu_softc *sc = (struct atu_softc *)arg;
usr/src/uts/common/io/atu/atu.c
143
if (atu_usb_request(sc, DFU_GETSTATE, 0, 0, 1, &state))
usr/src/uts/common/io/atu/atu.c
1430
ATU_LOCK(sc);
usr/src/uts/common/io/atu/atu.c
1431
err = atu_init(sc);
usr/src/uts/common/io/atu/atu.c
1433
ATU_UNLOCK(sc);
usr/src/uts/common/io/atu/atu.c
1440
struct atu_softc *sc = (struct atu_softc *)arg;
usr/src/uts/common/io/atu/atu.c
1441
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/atu/atu.c
1446
ATU_LOCK(sc);
usr/src/uts/common/io/atu/atu.c
1447
if (sc->sc_scan_timer != 0) {
usr/src/uts/common/io/atu/atu.c
1448
ATU_UNLOCK(sc);
usr/src/uts/common/io/atu/atu.c
1449
(void) untimeout(sc->sc_scan_timer);
usr/src/uts/common/io/atu/atu.c
1450
ATU_LOCK(sc);
usr/src/uts/common/io/atu/atu.c
1451
sc->sc_scan_timer = 0;
usr/src/uts/common/io/atu/atu.c
1453
(void) atu_stop(sc);
usr/src/uts/common/io/atu/atu.c
1455
ATU_UNLOCK(sc);
usr/src/uts/common/io/atu/atu.c
1483
struct atu_softc *sc = (struct atu_softc *)arg;
usr/src/uts/common/io/atu/atu.c
1484
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/atu/atu.c
149
atu_get_opmode(struct atu_softc *sc, uint8_t *mode)
usr/src/uts/common/io/atu/atu.c
1493
ATU_LOCK(sc);
usr/src/uts/common/io/atu/atu.c
1494
if (ATU_RUNNING(sc)) {
usr/src/uts/common/io/atu/atu.c
1495
if (sc->sc_scan_timer != 0) {
usr/src/uts/common/io/atu/atu.c
1496
ATU_UNLOCK(sc);
usr/src/uts/common/io/atu/atu.c
1497
(void) untimeout(sc->sc_scan_timer);
usr/src/uts/common/io/atu/atu.c
1498
ATU_LOCK(sc);
usr/src/uts/common/io/atu/atu.c
1499
sc->sc_scan_timer = 0;
usr/src/uts/common/io/atu/atu.c
1501
err = atu_init(sc);
usr/src/uts/common/io/atu/atu.c
1503
ATU_UNLOCK(sc);
usr/src/uts/common/io/atu/atu.c
1507
ATU_LOCK(sc);
usr/src/uts/common/io/atu/atu.c
151
return atu_usb_request(sc, ATU_VENDOR_IF_IN, 0x33, 0x0001,
usr/src/uts/common/io/atu/atu.c
1510
ATU_UNLOCK(sc);
usr/src/uts/common/io/atu/atu.c
1518
struct atu_softc *sc = (struct atu_softc *)arg;
usr/src/uts/common/io/atu/atu.c
1519
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/atu/atu.c
1528
struct atu_softc *sc = (struct atu_softc *)arg;
usr/src/uts/common/io/atu/atu.c
1529
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/atu/atu.c
1537
struct atu_softc *sc = (struct atu_softc *)arg;
usr/src/uts/common/io/atu/atu.c
1538
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/atu/atu.c
1545
ATU_LOCK(sc);
usr/src/uts/common/io/atu/atu.c
1546
if (ATU_RUNNING(sc)) {
usr/src/uts/common/io/atu/atu.c
1547
if (sc->sc_scan_timer != 0) {
usr/src/uts/common/io/atu/atu.c
1548
ATU_UNLOCK(sc);
usr/src/uts/common/io/atu/atu.c
1549
(void) untimeout(sc->sc_scan_timer);
usr/src/uts/common/io/atu/atu.c
1550
ATU_LOCK(sc);
usr/src/uts/common/io/atu/atu.c
1551
sc->sc_scan_timer = 0;
usr/src/uts/common/io/atu/atu.c
1553
err = atu_init(sc);
usr/src/uts/common/io/atu/atu.c
1555
ATU_UNLOCK(sc);
usr/src/uts/common/io/atu/atu.c
1559
ATU_LOCK(sc);
usr/src/uts/common/io/atu/atu.c
156
atu_get_config(struct atu_softc *sc)
usr/src/uts/common/io/atu/atu.c
1562
ATU_UNLOCK(sc);
usr/src/uts/common/io/atu/atu.c
1568
struct atu_softc *sc = (struct atu_softc *)arg;
usr/src/uts/common/io/atu/atu.c
1569
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/atu/atu.c
158
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/atu/atu.c
1581
mutex_enter(&sc->sc_txlock);
usr/src/uts/common/io/atu/atu.c
1582
sc->sc_need_sched = 1;
usr/src/uts/common/io/atu/atu.c
1583
mutex_exit(&sc->sc_txlock);
usr/src/uts/common/io/atu/atu.c
1597
struct atu_softc *sc = (struct atu_softc *)arg;
usr/src/uts/common/io/atu/atu.c
1598
ieee80211com_t *ic = &sc->sc_ic;
usr/src/uts/common/io/atu/atu.c
1601
ATU_LOCK(sc);
usr/src/uts/common/io/atu/atu.c
1610
*val = sc->sc_tx_nobuf;
usr/src/uts/common/io/atu/atu.c
1613
*val = sc->sc_rx_nobuf;
usr/src/uts/common/io/atu/atu.c
1616
*val = sc->sc_rx_err;
usr/src/uts/common/io/atu/atu.c
163
switch (sc->sc_radio) {
usr/src/uts/common/io/atu/atu.c
1646
ATU_UNLOCK(sc);
usr/src/uts/common/io/atu/atu.c
1649
ATU_UNLOCK(sc);
usr/src/uts/common/io/atu/atu.c
1653
ATU_UNLOCK(sc);
usr/src/uts/common/io/atu/atu.c
169
err = atu_usb_request(sc, ATU_VENDOR_IF_IN, 0x33, 0x0a02,
usr/src/uts/common/io/atu/atu.c
173
sc->sc_name);
usr/src/uts/common/io/atu/atu.c
181
err = atu_usb_request(sc, ATU_VENDOR_IF_IN, 0x33, 0x0902,
usr/src/uts/common/io/atu/atu.c
185
sc->sc_name);
usr/src/uts/common/io/atu/atu.c
197
atu_wait_completion(struct atu_softc *sc, uint8_t cmd, uint8_t *status)
usr/src/uts/common/io/atu/atu.c
202
while ((err = atu_get_cmd_status(sc, cmd, statusreq)) == 0) {
usr/src/uts/common/io/atu/atu.c
211
sc->sc_name, cmd);
usr/src/uts/common/io/atu/atu.c
222
atu_send_command(struct atu_softc *sc, uint8_t *command, int size)
usr/src/uts/common/io/atu/atu.c
224
return atu_usb_request(sc, ATU_VENDOR_DEV_OUT, 0x0e, 0x0000,
usr/src/uts/common/io/atu/atu.c
229
atu_send_mib(struct atu_softc *sc, uint8_t type, uint8_t size,
usr/src/uts/common/io/atu/atu.c
262
err = atu_usb_request(sc, ATU_VENDOR_DEV_OUT, 0x0e, 0x0000,
usr/src/uts/common/io/atu/atu.c
267
return (atu_wait_completion(sc, CMD_SET_MIB, NULL));
usr/src/uts/common/io/atu/atu.c
271
atu_switch_radio(struct atu_softc *sc, boolean_t on)
usr/src/uts/common/io/atu/atu.c
278
if (sc->sc_radio == RadioIntersil)
usr/src/uts/common/io/atu/atu.c
281
ostate = ATU_RADIO_ON(sc) ? B_TRUE : B_FALSE;
usr/src/uts/common/io/atu/atu.c
286
err = atu_send_command(sc, (uint8_t *)&radio,
usr/src/uts/common/io/atu/atu.c
291
err = atu_wait_completion(sc, radio.Cmd, NULL);
usr/src/uts/common/io/atu/atu.c
296
sc->sc_flags |= ATU_FLAG_RADIO_ON;
usr/src/uts/common/io/atu/atu.c
298
sc->sc_flags &= ~ATU_FLAG_RADIO_ON;
usr/src/uts/common/io/atu/atu.c
305
atu_config(struct atu_softc *sc)
usr/src/uts/common/io/atu/atu.c
307
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/atu/atu.c
313
err = atu_send_mib(sc, MIB_MAC_ADDR_STA, ic->ic_macaddr);
usr/src/uts/common/io/atu/atu.c
316
sc->sc_name);
usr/src/uts/common/io/atu/atu.c
343
sc->sc_name, k->wk_keylen);
usr/src/uts/common/io/atu/atu.c
364
err = atu_send_command(sc, (uint8_t *)&cmd, sizeof (cmd));
usr/src/uts/common/io/atu/atu.c
367
err = atu_wait_completion(sc, CMD_STARTUP, NULL);
usr/src/uts/common/io/atu/atu.c
371
err = atu_switch_radio(sc, B_TRUE);
usr/src/uts/common/io/atu/atu.c
375
err = atu_send_mib(sc, MIB_MAC_MGMT_POWER_MODE,
usr/src/uts/common/io/atu/atu.c
384
atu_start_scan(struct atu_softc *sc)
usr/src/uts/common/io/atu/atu.c
386
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/atu/atu.c
390
if (!ATU_RUNNING(sc))
usr/src/uts/common/io/atu/atu.c
407
err = atu_send_command(sc, (uint8_t *)&scan, sizeof (scan));
usr/src/uts/common/io/atu/atu.c
410
sc->sc_name);
usr/src/uts/common/io/atu/atu.c
414
err = atu_wait_completion(sc, CMD_START_SCAN, NULL);
usr/src/uts/common/io/atu/atu.c
417
sc->sc_name);
usr/src/uts/common/io/atu/atu.c
425
atu_join(struct atu_softc *sc, struct ieee80211_node *node)
usr/src/uts/common/io/atu/atu.c
444
join.channel = ieee80211_chan2ieee(&sc->sc_ic, node->in_chan);
usr/src/uts/common/io/atu/atu.c
448
err = atu_send_command(sc, (uint8_t *)&join, sizeof (join));
usr/src/uts/common/io/atu/atu.c
451
sc->sc_name);
usr/src/uts/common/io/atu/atu.c
454
err = atu_wait_completion(sc, CMD_JOIN, &status);
usr/src/uts/common/io/atu/atu.c
460
sc->sc_name, status);
usr/src/uts/common/io/atu/atu.c
470
struct atu_softc *sc = (struct atu_softc *)ic;
usr/src/uts/common/io/atu/atu.c
474
ATU_LOCK(sc);
usr/src/uts/common/io/atu/atu.c
476
if (sc->sc_scan_timer != 0) {
usr/src/uts/common/io/atu/atu.c
477
ATU_UNLOCK(sc);
usr/src/uts/common/io/atu/atu.c
478
(void) untimeout(sc->sc_scan_timer);
usr/src/uts/common/io/atu/atu.c
479
ATU_LOCK(sc);
usr/src/uts/common/io/atu/atu.c
480
sc->sc_scan_timer = 0;
usr/src/uts/common/io/atu/atu.c
491
ATU_UNLOCK(sc);
usr/src/uts/common/io/atu/atu.c
492
sc->sc_newstate(ic, nstate, arg);
usr/src/uts/common/io/atu/atu.c
493
ATU_LOCK(sc);
usr/src/uts/common/io/atu/atu.c
494
if ((err = atu_start_scan(sc)) != 0) {
usr/src/uts/common/io/atu/atu.c
495
ATU_UNLOCK(sc);
usr/src/uts/common/io/atu/atu.c
499
sc->sc_scan_timer = timeout(
usr/src/uts/common/io/atu/atu.c
501
(void *)&sc->sc_ic, 0);
usr/src/uts/common/io/atu/atu.c
503
ATU_UNLOCK(sc);
usr/src/uts/common/io/atu/atu.c
514
err = atu_join(sc, ic->ic_bss);
usr/src/uts/common/io/atu/atu.c
516
ATU_UNLOCK(sc);
usr/src/uts/common/io/atu/atu.c
527
ATU_UNLOCK(sc);
usr/src/uts/common/io/atu/atu.c
528
err = sc->sc_newstate(ic, nstate, arg);
usr/src/uts/common/io/atu/atu.c
534
atu_open_pipes(struct atu_softc *sc)
usr/src/uts/common/io/atu/atu.c
540
ep = usb_lookup_ep_data(sc->sc_dip, sc->sc_udev, 0, 0, 0,
usr/src/uts/common/io/atu/atu.c
544
uret = usb_pipe_open(sc->sc_dip, &ep->ep_descr, &policy,
usr/src/uts/common/io/atu/atu.c
545
USB_FLAGS_SLEEP, &sc->sc_tx_pipe);
usr/src/uts/common/io/atu/atu.c
549
ep = usb_lookup_ep_data(sc->sc_dip, sc->sc_udev, 0, 0, 0,
usr/src/uts/common/io/atu/atu.c
553
uret = usb_pipe_open(sc->sc_dip, &ep->ep_descr, &policy,
usr/src/uts/common/io/atu/atu.c
554
USB_FLAGS_SLEEP, &sc->sc_rx_pipe);
usr/src/uts/common/io/atu/atu.c
560
if (sc->sc_rx_pipe != NULL) {
usr/src/uts/common/io/atu/atu.c
561
usb_pipe_close(sc->sc_dip, sc->sc_rx_pipe,
usr/src/uts/common/io/atu/atu.c
563
sc->sc_rx_pipe = NULL;
usr/src/uts/common/io/atu/atu.c
566
if (sc->sc_tx_pipe != NULL) {
usr/src/uts/common/io/atu/atu.c
567
usb_pipe_close(sc->sc_dip, sc->sc_tx_pipe,
usr/src/uts/common/io/atu/atu.c
569
sc->sc_tx_pipe = NULL;
usr/src/uts/common/io/atu/atu.c
576
atu_close_pipes(struct atu_softc *sc)
usr/src/uts/common/io/atu/atu.c
580
if (sc->sc_rx_pipe != NULL) {
usr/src/uts/common/io/atu/atu.c
581
usb_pipe_reset(sc->sc_dip, sc->sc_rx_pipe, flags, NULL, 0);
usr/src/uts/common/io/atu/atu.c
582
usb_pipe_close(sc->sc_dip, sc->sc_rx_pipe, flags, NULL, 0);
usr/src/uts/common/io/atu/atu.c
583
sc->sc_rx_pipe = NULL;
usr/src/uts/common/io/atu/atu.c
586
if (sc->sc_tx_pipe != NULL) {
usr/src/uts/common/io/atu/atu.c
587
usb_pipe_reset(sc->sc_dip, sc->sc_tx_pipe, flags, NULL, 0);
usr/src/uts/common/io/atu/atu.c
588
usb_pipe_close(sc->sc_dip, sc->sc_tx_pipe, flags, NULL, 0);
usr/src/uts/common/io/atu/atu.c
589
sc->sc_tx_pipe = NULL;
usr/src/uts/common/io/atu/atu.c
593
static int atu_rx_trigger(struct atu_softc *sc);
usr/src/uts/common/io/atu/atu.c
599
struct atu_softc *sc = (struct atu_softc *)req->bulk_client_private;
usr/src/uts/common/io/atu/atu.c
600
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/atu/atu.c
609
sc->sc_rx_err++;
usr/src/uts/common/io/atu/atu.c
616
sc->sc_name, len);
usr/src/uts/common/io/atu/atu.c
617
sc->sc_rx_err++;
usr/src/uts/common/io/atu/atu.c
625
sc->sc_name, len, pktlen);
usr/src/uts/common/io/atu/atu.c
626
sc->sc_rx_err++;
usr/src/uts/common/io/atu/atu.c
643
mutex_enter(&sc->sc_rxlock);
usr/src/uts/common/io/atu/atu.c
644
sc->rx_queued--;
usr/src/uts/common/io/atu/atu.c
645
mutex_exit(&sc->sc_rxlock);
usr/src/uts/common/io/atu/atu.c
647
if (ATU_RUNNING(sc))
usr/src/uts/common/io/atu/atu.c
648
(void) atu_rx_trigger(sc);
usr/src/uts/common/io/atu/atu.c
659
struct atu_softc *sc = (struct atu_softc *)req->bulk_client_private;
usr/src/uts/common/io/atu/atu.c
660
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/atu/atu.c
666
mutex_enter(&sc->sc_txlock);
usr/src/uts/common/io/atu/atu.c
667
sc->tx_queued--;
usr/src/uts/common/io/atu/atu.c
669
if (sc->sc_need_sched) {
usr/src/uts/common/io/atu/atu.c
670
sc->sc_need_sched = 0;
usr/src/uts/common/io/atu/atu.c
674
mutex_exit(&sc->sc_txlock);
usr/src/uts/common/io/atu/atu.c
678
atu_rx_trigger(struct atu_softc *sc)
usr/src/uts/common/io/atu/atu.c
683
req = usb_alloc_bulk_req(sc->sc_dip, ATU_RX_BUFSZ, USB_FLAGS_SLEEP);
usr/src/uts/common/io/atu/atu.c
688
req->bulk_client_private = (usb_opaque_t)sc;
usr/src/uts/common/io/atu/atu.c
696
uret = usb_pipe_bulk_xfer(sc->sc_rx_pipe, req, 0);
usr/src/uts/common/io/atu/atu.c
702
mutex_enter(&sc->sc_rxlock);
usr/src/uts/common/io/atu/atu.c
703
sc->rx_queued++;
usr/src/uts/common/io/atu/atu.c
704
mutex_exit(&sc->sc_rxlock);
usr/src/uts/common/io/atu/atu.c
710
atu_tx_trigger(struct atu_softc *sc, mblk_t *mp)
usr/src/uts/common/io/atu/atu.c
715
req = usb_alloc_bulk_req(sc->sc_dip, 0, USB_FLAGS_SLEEP);
usr/src/uts/common/io/atu/atu.c
721
req->bulk_client_private = (usb_opaque_t)sc;
usr/src/uts/common/io/atu/atu.c
729
uret = usb_pipe_bulk_xfer(sc->sc_tx_pipe, req, 0);
usr/src/uts/common/io/atu/atu.c
736
mutex_enter(&sc->sc_txlock);
usr/src/uts/common/io/atu/atu.c
737
sc->tx_queued++;
usr/src/uts/common/io/atu/atu.c
738
mutex_exit(&sc->sc_txlock);
usr/src/uts/common/io/atu/atu.c
744
atu_init_rx_queue(struct atu_softc *sc)
usr/src/uts/common/io/atu/atu.c
748
mutex_enter(&sc->sc_rxlock);
usr/src/uts/common/io/atu/atu.c
749
sc->rx_queued = 0;
usr/src/uts/common/io/atu/atu.c
75
atu_usb_request(struct atu_softc *sc, uint8_t type,
usr/src/uts/common/io/atu/atu.c
750
mutex_exit(&sc->sc_rxlock);
usr/src/uts/common/io/atu/atu.c
753
err = atu_rx_trigger(sc);
usr/src/uts/common/io/atu/atu.c
762
atu_init_tx_queue(struct atu_softc *sc)
usr/src/uts/common/io/atu/atu.c
764
mutex_enter(&sc->sc_txlock);
usr/src/uts/common/io/atu/atu.c
765
sc->tx_queued = 0;
usr/src/uts/common/io/atu/atu.c
766
mutex_exit(&sc->sc_txlock);
usr/src/uts/common/io/atu/atu.c
772
struct atu_softc *sc = (struct atu_softc *)ic;
usr/src/uts/common/io/atu/atu.c
779
mutex_enter(&sc->sc_txlock);
usr/src/uts/common/io/atu/atu.c
780
if (sc->tx_queued > ATU_TX_LIST_CNT) {
usr/src/uts/common/io/atu/atu.c
781
sc->sc_tx_nobuf++;
usr/src/uts/common/io/atu/atu.c
782
mutex_exit(&sc->sc_txlock);
usr/src/uts/common/io/atu/atu.c
786
mutex_exit(&sc->sc_txlock);
usr/src/uts/common/io/atu/atu.c
790
sc->sc_tx_nobuf++;
usr/src/uts/common/io/atu/atu.c
830
err = atu_tx_trigger(sc, m);
usr/src/uts/common/io/atu/atu.c
846
atu_stop(struct atu_softc *sc)
usr/src/uts/common/io/atu/atu.c
848
sc->sc_flags &= ~ATU_FLAG_RUNNING;
usr/src/uts/common/io/atu/atu.c
849
atu_close_pipes(sc);
usr/src/uts/common/io/atu/atu.c
851
return (atu_switch_radio(sc, B_FALSE));
usr/src/uts/common/io/atu/atu.c
855
atu_init(struct atu_softc *sc)
usr/src/uts/common/io/atu/atu.c
859
err = atu_stop(sc);
usr/src/uts/common/io/atu/atu.c
863
err = atu_open_pipes(sc);
usr/src/uts/common/io/atu/atu.c
867
err = atu_config(sc);
usr/src/uts/common/io/atu/atu.c
870
sc->sc_name);
usr/src/uts/common/io/atu/atu.c
874
atu_init_tx_queue(sc);
usr/src/uts/common/io/atu/atu.c
876
err = atu_init_rx_queue(sc);
usr/src/uts/common/io/atu/atu.c
878
cmn_err(CE_WARN, "%s: rx queue init failed\n", sc->sc_name);
usr/src/uts/common/io/atu/atu.c
882
sc->sc_flags |= ATU_FLAG_RUNNING;
usr/src/uts/common/io/atu/atu.c
886
(void) atu_stop(sc);
usr/src/uts/common/io/atu/atu.c
893
struct atu_softc *sc = arg;
usr/src/uts/common/io/atu/atu.c
894
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/atu/atu.c
898
ATU_LOCK(sc);
usr/src/uts/common/io/atu/atu.c
899
if (!ATU_RUNNING(sc)) {
usr/src/uts/common/io/atu/atu.c
900
ATU_UNLOCK(sc);
usr/src/uts/common/io/atu/atu.c
904
ATU_UNLOCK(sc);
usr/src/uts/common/io/atu/atu.c
919
struct atu_softc *sc = arg;
usr/src/uts/common/io/atu/atu.c
942
if (sc->sc_radio == atu_fw_table[i].atur_type) {
usr/src/uts/common/io/atu/atu.c
947
state = atu_get_dfu_state(sc);
usr/src/uts/common/io/atu/atu.c
95
uret = usb_pipe_ctrl_xfer_wait(sc->sc_udev->dev_default_ph,
usr/src/uts/common/io/atu/atu.c
952
err = atu_usb_request(sc, DFU_GETSTATUS, 0, 0, 6,
usr/src/uts/common/io/atu/atu.c
956
sc->sc_name);
usr/src/uts/common/io/atu/atu.c
970
err = atu_usb_request(sc, DFU_DNLOAD, block++, 0,
usr/src/uts/common/io/atu/atu.c
974
sc->sc_name);
usr/src/uts/common/io/atu/atu.c
985
cmn_err(CE_WARN, "%s: DFU state error\n", sc->sc_name);
usr/src/uts/common/io/atu/atu.c
992
sc->sc_name);
usr/src/uts/common/io/atu/atu.c
998
state = atu_get_dfu_state(sc);
usr/src/uts/common/io/atu/atu.h
107
#define ATU_RUNNING(sc) ((sc)->sc_flags & ATU_FLAG_RUNNING)
usr/src/uts/common/io/atu/atu.h
108
#define ATU_REATTACH(sc) ((sc)->sc_flags & ATU_FLAG_REATTACH)
usr/src/uts/common/io/atu/atu.h
109
#define ATU_RADIO_ON(sc) ((sc)->sc_flags & ATU_FLAG_RADIO_ON)
usr/src/uts/common/io/atu/atu.h
111
#define ATU_LOCK(sc) mutex_enter(&(sc)->sc_genlock)
usr/src/uts/common/io/atu/atu.h
112
#define ATU_UNLOCK(sc) mutex_exit(&(sc)->sc_genlock)
usr/src/uts/common/io/audio/impl/audio_format.c
535
int sc = sp->s_cnv_src_nchan;
usr/src/uts/common/io/audio/impl/audio_format.c
542
if (sc == 1) {
usr/src/uts/common/io/audio/impl/audio_format.c
556
} else if (sc == 2 && tc == 1) {
usr/src/uts/common/io/audio/impl/audio_format.c
577
nc = min(sc, tc);
usr/src/uts/common/io/audio/impl/audio_format.c
588
src += sc;
usr/src/uts/common/io/audio/impl/audio_oss.c
1924
ossclient_t *sc;
usr/src/uts/common/io/audio/impl/audio_oss.c
1933
if ((sc = kmem_zalloc(sizeof (*sc), KM_NOSLEEP)) == NULL) {
usr/src/uts/common/io/audio/impl/audio_oss.c
1936
sc->o_ss_sz = 8192;
usr/src/uts/common/io/audio/impl/audio_oss.c
1937
if ((sc->o_ss_buf = kmem_zalloc(sc->o_ss_sz, KM_NOSLEEP)) == NULL) {
usr/src/uts/common/io/audio/impl/audio_oss.c
1938
kmem_free(sc, sizeof (*sc));
usr/src/uts/common/io/audio/impl/audio_oss.c
1941
auclnt_set_private(c, sc);
usr/src/uts/common/io/audio/impl/audio_oss.c
1946
sc->o_client = c;
usr/src/uts/common/io/audio/impl/audio_oss.c
1947
sc->o_ossdev = odev;
usr/src/uts/common/io/audio/impl/audio_oss.c
1955
ossclient_t *sc;
usr/src/uts/common/io/audio/impl/audio_oss.c
1957
sc = auclnt_get_private(c);
usr/src/uts/common/io/audio/impl/audio_oss.c
1959
kmem_free(sc->o_ss_buf, sc->o_ss_sz);
usr/src/uts/common/io/audio/impl/audio_oss.c
1960
kmem_free(sc, sizeof (*sc));
usr/src/uts/common/io/audio/impl/audio_oss.c
479
ossclient_t *sc;
usr/src/uts/common/io/audio/impl/audio_oss.c
490
if ((sc = kmem_zalloc(sizeof (*sc), KM_NOSLEEP)) == NULL) {
usr/src/uts/common/io/audio/impl/audio_oss.c
494
auclnt_set_private(c, sc);
usr/src/uts/common/io/audio/impl/audio_oss.c
499
sc->o_client = c;
usr/src/uts/common/io/audio/impl/audio_oss.c
500
sc->o_ossdev = odev;
usr/src/uts/common/io/audio/impl/audio_oss.c
533
ossclient_t *sc;
usr/src/uts/common/io/audio/impl/audio_oss.c
535
sc = auclnt_get_private(c);
usr/src/uts/common/io/audio/impl/audio_oss.c
541
kmem_free(sc, sizeof (*sc));
usr/src/uts/common/io/cxgbe/common/t4_hw.c
12148
cmd.u.config.sc = FW_SCHED_SC_CONFIG;
usr/src/uts/common/io/cxgbe/common/t4_hw.c
12171
cmd.u.params.sc = FW_SCHED_SC_PARAMS;
usr/src/uts/common/io/cxgbe/common/t4_hw.c
12204
cmd.u.params.sc = FW_SCHED_SC_PARAMS;
usr/src/uts/common/io/cxgbe/common/t4_hw.c
45
t4_os_pci_read_cfg1(struct adapter *sc, int reg, uint8_t *val)
usr/src/uts/common/io/cxgbe/common/t4_hw.c
47
*val = pci_config_get8(sc->pci_regh, reg);
usr/src/uts/common/io/cxgbe/common/t4_hw.c
51
t4_os_pci_write_cfg1(struct adapter *sc, int reg, uint8_t val)
usr/src/uts/common/io/cxgbe/common/t4_hw.c
53
pci_config_put8(sc->pci_regh, reg, val);
usr/src/uts/common/io/cxgbe/common/t4_hw.c
57
t4_os_pci_read_cfg2(struct adapter *sc, int reg, uint16_t *val)
usr/src/uts/common/io/cxgbe/common/t4_hw.c
59
*val = pci_config_get16(sc->pci_regh, reg);
usr/src/uts/common/io/cxgbe/common/t4_hw.c
63
t4_os_pci_write_cfg2(struct adapter *sc, int reg, uint16_t val)
usr/src/uts/common/io/cxgbe/common/t4_hw.c
65
pci_config_put16(sc->pci_regh, reg, val);
usr/src/uts/common/io/cxgbe/common/t4_hw.c
69
t4_os_pci_read_cfg4(struct adapter *sc, int reg, uint32_t *val)
usr/src/uts/common/io/cxgbe/common/t4_hw.c
71
*val = pci_config_get32(sc->pci_regh, reg);
usr/src/uts/common/io/cxgbe/common/t4_hw.c
75
t4_os_pci_write_cfg4(struct adapter *sc, int reg, uint32_t val)
usr/src/uts/common/io/cxgbe/common/t4_hw.c
77
pci_config_put32(sc->pci_regh, reg, val);
usr/src/uts/common/io/cxgbe/firmware/t4fw_interface.h
8242
__u8 sc;
usr/src/uts/common/io/cxgbe/firmware/t4fw_interface.h
8246
__u8 sc;
usr/src/uts/common/io/cxgbe/firmware/t4fw_interface.h
8253
__u8 sc;
usr/src/uts/common/io/cxgbe/firmware/t4fw_interface.h
8748
__u8 sc;
usr/src/uts/common/io/cxgbe/firmware/t4fw_interface.h
8756
__u8 sc;
usr/src/uts/common/io/cxgbe/shared/shared.h
40
#define CH_ERR(sc, ...) cxgb_printf(sc->dip, CE_WARN, ##__VA_ARGS__)
usr/src/uts/common/io/cxgbe/shared/shared.h
41
#define CH_WARN(sc, ...) cxgb_printf(sc->dip, CE_WARN, ##__VA_ARGS__)
usr/src/uts/common/io/cxgbe/shared/shared.h
42
#define CH_WARN_RATELIMIT(sc, ...) cxgb_printf(sc->dip, CE_WARN, ##__VA_ARGS__)
usr/src/uts/common/io/cxgbe/shared/shared.h
43
#define CH_ALERT(sc, ...) cxgb_printf(sc->dip, CE_NOTE, ##__VA_ARGS__)
usr/src/uts/common/io/cxgbe/shared/shared.h
44
#define CH_INFO(sc, ...) cxgb_printf(sc->dip, CE_NOTE, ##__VA_ARGS__)
usr/src/uts/common/io/cxgbe/shared/shared.h
46
#define CH_MSG(sc, level, category, fmt, ...) do {} while (0)
usr/src/uts/common/io/cxgbe/shared/shared.h
48
#define CH_DBG(sc, category, fmt, ...) \
usr/src/uts/common/io/cxgbe/shared/shared.h
49
cxgb_printf(sc->dip, CE_NOTE, ##__VA_ARGS__)
usr/src/uts/common/io/cxgbe/shared/shared.h
51
#define CH_DBG(sc, category, fmt, ...) do {} while (0)
usr/src/uts/common/io/cxgbe/t4nex/adapter.h
532
#define ADAPTER_LOCK(sc) mutex_enter(&(sc)->lock)
usr/src/uts/common/io/cxgbe/t4nex/adapter.h
533
#define ADAPTER_UNLOCK(sc) mutex_exit(&(sc)->lock)
usr/src/uts/common/io/cxgbe/t4nex/adapter.h
534
#define ADAPTER_LOCK_ASSERT_OWNED(sc) ASSERT(mutex_owned(&(sc)->lock))
usr/src/uts/common/io/cxgbe/t4nex/adapter.h
535
#define ADAPTER_LOCK_ASSERT_NOTOWNED(sc) ASSERT(!mutex_owned(&(sc)->lock))
usr/src/uts/common/io/cxgbe/t4nex/adapter.h
579
#define NFIQ(sc) ((sc)->intr_count > 1 ? (sc)->intr_count - 1 : 1)
usr/src/uts/common/io/cxgbe/t4nex/adapter.h
607
adap2pinfo(struct adapter *sc, int idx)
usr/src/uts/common/io/cxgbe/t4nex/adapter.h
609
return (sc->port[idx]);
usr/src/uts/common/io/cxgbe/t4nex/adapter.h
668
void t4_sge_init(struct adapter *sc);
usr/src/uts/common/io/cxgbe/t4nex/adapter.h
679
int t4_mgmt_tx(struct adapter *sc, mblk_t *m);
usr/src/uts/common/io/cxgbe/t4nex/adapter.h
687
void t4_os_link_changed(struct adapter *sc, int idx, int link_stat);
usr/src/uts/common/io/cxgbe/t4nex/adapter.h
697
int t4_ioctl(struct adapter *sc, int cmd, void *data, int mode);
usr/src/uts/common/io/cxgbe/t4nex/t4_ioctl.c
109
t4_write_reg(sc, r.reg, r.value);
usr/src/uts/common/io/cxgbe/t4nex/t4_ioctl.c
111
r.value = t4_read_reg(sc, r.reg);
usr/src/uts/common/io/cxgbe/t4nex/t4_ioctl.c
120
reg_block_dump(struct adapter *sc, uint8_t *buf, unsigned int start,
usr/src/uts/common/io/cxgbe/t4nex/t4_ioctl.c
126
*p++ = t4_read_reg(sc, start);
usr/src/uts/common/io/cxgbe/t4nex/t4_ioctl.c
136
mk_adap_vers(const struct adapter *sc)
usr/src/uts/common/io/cxgbe/t4nex/t4_ioctl.c
138
return (CHELSIO_CHIP_VERSION(sc->params.chip) |
usr/src/uts/common/io/cxgbe/t4nex/t4_ioctl.c
139
(CHELSIO_CHIP_RELEASE(sc->params.chip) << 10) | (1 << 16));
usr/src/uts/common/io/cxgbe/t4nex/t4_ioctl.c
143
regdump(struct adapter *sc, void *data, int flags)
usr/src/uts/common/io/cxgbe/t4nex/t4_ioctl.c
1703
if (t4_cver_eq(sc, CHELSIO_T4)) {
usr/src/uts/common/io/cxgbe/t4nex/t4_ioctl.c
1716
r.version = mk_adap_vers(sc);
usr/src/uts/common/io/cxgbe/t4nex/t4_ioctl.c
1718
if (t4_cver_eq(sc, CHELSIO_T4)) {
usr/src/uts/common/io/cxgbe/t4nex/t4_ioctl.c
1722
} else if (t4_cver_eq(sc, CHELSIO_T5)) {
usr/src/uts/common/io/cxgbe/t4nex/t4_ioctl.c
1737
reg_block_dump(sc, buf, reg_ranges[i], reg_ranges[i + 1]);
usr/src/uts/common/io/cxgbe/t4nex/t4_ioctl.c
1754
get_devlog(struct adapter *sc, void *data, int flags)
usr/src/uts/common/io/cxgbe/t4nex/t4_ioctl.c
1756
struct devlog_params *dparams = &sc->params.devlog;
usr/src/uts/common/io/cxgbe/t4nex/t4_ioctl.c
1790
rc = -t4_memory_rw(sc, sc->params.drv_memwin, dparams->memtype,
usr/src/uts/common/io/cxgbe/t4nex/t4_ioctl.c
1811
flash_fw(struct adapter *sc, void *data, int flags)
usr/src/uts/common/io/cxgbe/t4nex/t4_ioctl.c
1834
if (sc->flags & TAF_INIT_DONE)
usr/src/uts/common/io/cxgbe/t4nex/t4_ioctl.c
1835
mbox = sc->mbox;
usr/src/uts/common/io/cxgbe/t4nex/t4_ioctl.c
1837
rc = -t4_fw_upgrade(sc, mbox, ptr, fw.len, true);
usr/src/uts/common/io/cxgbe/t4nex/t4_ioctl.c
1838
ddi_ufm_update(sc->ufm_hdl);
usr/src/uts/common/io/cxgbe/t4nex/t4_ioctl.c
1846
get_cudbg(struct adapter *sc, void *data, int flags)
usr/src/uts/common/io/cxgbe/t4nex/t4_ioctl.c
1869
cudbg->adap = sc;
usr/src/uts/common/io/cxgbe/t4nex/t4_ioctl.c
1876
cxgb_printf(sc->dip, CE_WARN, "cudbg collect failed\n");
usr/src/uts/common/io/cxgbe/t4nex/t4_ioctl.c
33
static int pci_rw(struct adapter *sc, void *data, int flags, int write);
usr/src/uts/common/io/cxgbe/t4nex/t4_ioctl.c
34
static int reg_rw(struct adapter *sc, void *data, int flags, int write);
usr/src/uts/common/io/cxgbe/t4nex/t4_ioctl.c
35
static void reg_block_dump(struct adapter *sc, uint8_t *buf, unsigned int start,
usr/src/uts/common/io/cxgbe/t4nex/t4_ioctl.c
37
static int regdump(struct adapter *sc, void *data, int flags);
usr/src/uts/common/io/cxgbe/t4nex/t4_ioctl.c
38
static int get_devlog(struct adapter *sc, void *data, int flags);
usr/src/uts/common/io/cxgbe/t4nex/t4_ioctl.c
43
t4_ioctl(struct adapter *sc, int cmd, void *data, int mode)
usr/src/uts/common/io/cxgbe/t4nex/t4_ioctl.c
50
rc = pci_rw(sc, data, mode, cmd == T4_IOCTL_PCIPUT32);
usr/src/uts/common/io/cxgbe/t4nex/t4_ioctl.c
54
rc = reg_rw(sc, data, mode, cmd == T4_IOCTL_PUT32);
usr/src/uts/common/io/cxgbe/t4nex/t4_ioctl.c
57
rc = regdump(sc, data, mode);
usr/src/uts/common/io/cxgbe/t4nex/t4_ioctl.c
60
rc = get_devlog(sc, data, mode);
usr/src/uts/common/io/cxgbe/t4nex/t4_ioctl.c
63
rc = flash_fw(sc, data, mode);
usr/src/uts/common/io/cxgbe/t4nex/t4_ioctl.c
66
rc = get_cudbg(sc, data, mode);
usr/src/uts/common/io/cxgbe/t4nex/t4_ioctl.c
76
pci_rw(struct adapter *sc, void *data, int flags, int write)
usr/src/uts/common/io/cxgbe/t4nex/t4_ioctl.c
87
pci_config_put32(sc->pci_regh, r.reg, r.value);
usr/src/uts/common/io/cxgbe/t4nex/t4_ioctl.c
89
r.value = pci_config_get32(sc->pci_regh, r.reg);
usr/src/uts/common/io/cxgbe/t4nex/t4_ioctl.c
98
reg_rw(struct adapter *sc, void *data, int flags, int write)
usr/src/uts/common/io/cxgbe/t4nex/t4_mac.c
1053
struct adapter *sc = pi->adapter;
usr/src/uts/common/io/cxgbe/t4nex/t4_mac.c
1054
struct sge_txq *txq = &sc->sge.txq[pi->first_txq];
usr/src/uts/common/io/cxgbe/t4nex/t4_mac.c
1089
struct adapter *sc = pi->adapter;
usr/src/uts/common/io/cxgbe/t4nex/t4_mac.c
1099
ADAPTER_LOCK(sc);
usr/src/uts/common/io/cxgbe/t4nex/t4_mac.c
1107
rc = -t4_i2c_rd(sc, sc->mbox, pi->port_id, page, offset, toread,
usr/src/uts/common/io/cxgbe/t4nex/t4_mac.c
1114
ADAPTER_UNLOCK(sc);
usr/src/uts/common/io/cxgbe/t4nex/t4_mac.c
1125
struct adapter *sc = pi->adapter;
usr/src/uts/common/io/cxgbe/t4nex/t4_mac.c
1143
ADAPTER_LOCK(sc);
usr/src/uts/common/io/cxgbe/t4nex/t4_mac.c
1144
rc = -t4_identify_port(sc, sc->mbox, pi->viid, val);
usr/src/uts/common/io/cxgbe/t4nex/t4_mac.c
1145
ADAPTER_UNLOCK(sc);
usr/src/uts/common/io/cxgbe/t4nex/t4_mac.c
1359
struct adapter *sc = pi->adapter;
usr/src/uts/common/io/cxgbe/t4nex/t4_mac.c
140
struct adapter *sc = pi->adapter;
usr/src/uts/common/io/cxgbe/t4nex/t4_mac.c
144
return ((sc->flags & TAF_DBQ_TIMER) != 0);
usr/src/uts/common/io/cxgbe/t4nex/t4_mac.c
1449
ADAPTER_LOCK(sc);
usr/src/uts/common/io/cxgbe/t4nex/t4_mac.c
1450
rc = -t4_link_l1cfg(sc, sc->mbox, pi->tx_chan, lc,
usr/src/uts/common/io/cxgbe/t4nex/t4_mac.c
1452
ADAPTER_UNLOCK(sc);
usr/src/uts/common/io/cxgbe/t4nex/t4_mac.c
1461
ADAPTER_LOCK(sc);
usr/src/uts/common/io/cxgbe/t4nex/t4_mac.c
1462
rc = -t4_set_rxmode(sc, sc->mbox, pi->viid, v32, -1,
usr/src/uts/common/io/cxgbe/t4nex/t4_mac.c
1464
ADAPTER_UNLOCK(sc);
usr/src/uts/common/io/cxgbe/t4nex/t4_mac.c
1708
struct adapter *sc = pi->adapter;
usr/src/uts/common/io/cxgbe/t4nex/t4_mac.c
1712
ASSERT(sc->flags & TAF_INIT_DONE);
usr/src/uts/common/io/cxgbe/t4nex/t4_mac.c
1731
rc = -t4_set_rxmode(sc, sc->mbox, pi->viid, pi->mtu, 0, 0, 1, 0, false);
usr/src/uts/common/io/cxgbe/t4nex/t4_mac.c
1736
rc = t4_change_mac(sc, sc->mbox, pi->viid, pi->xact_addr_filt,
usr/src/uts/common/io/cxgbe/t4nex/t4_mac.c
1746
rc = -t4_link_l1cfg(sc, sc->mbox, pi->tx_chan, &pi->link_cfg,
usr/src/uts/common/io/cxgbe/t4nex/t4_mac.c
1753
rc = -t4_enable_vi(sc, sc->mbox, pi->viid, true, true);
usr/src/uts/common/io/cxgbe/t4nex/t4_mac.c
1775
struct adapter *sc = pi->adapter;
usr/src/uts/common/io/cxgbe/t4nex/t4_mac.c
1788
rc = -t4_enable_vi(sc, sc->mbox, pi->viid, false, false);
usr/src/uts/common/io/cxgbe/t4nex/t4_mac.c
1807
t4_convert_holdoff_timer(struct adapter *sc, uint_t idx)
usr/src/uts/common/io/cxgbe/t4nex/t4_mac.c
1810
return (sc->props.holdoff_timer_us[idx]);
usr/src/uts/common/io/cxgbe/t4nex/t4_mac.c
1814
t4_convert_holdoff_pktcnt(struct adapter *sc, int idx)
usr/src/uts/common/io/cxgbe/t4nex/t4_mac.c
1820
return (sc->props.holdoff_pktcnt[idx]);
usr/src/uts/common/io/cxgbe/t4nex/t4_mac.c
1825
t4_convert_dbq_timer(struct adapter *sc, uint_t idx)
usr/src/uts/common/io/cxgbe/t4nex/t4_mac.c
1828
return (sc->sge.dbq_timers[idx]);
usr/src/uts/common/io/cxgbe/t4nex/t4_mac.c
1835
struct adapter *sc = pi->adapter;
usr/src/uts/common/io/cxgbe/t4nex/t4_mac.c
1836
struct driver_properties *dp = &sc->props;
usr/src/uts/common/io/cxgbe/t4nex/t4_mac.c
1847
v = t4_convert_holdoff_timer(sc, sc->props.fwq_tmr_idx);
usr/src/uts/common/io/cxgbe/t4nex/t4_mac.c
1850
v = t4_convert_holdoff_pktcnt(sc, sc->props.fwq_pktc_idx);
usr/src/uts/common/io/cxgbe/t4nex/t4_mac.c
1853
v = t4_convert_holdoff_timer(sc, t4_port_is_10xg(pi) ?
usr/src/uts/common/io/cxgbe/t4nex/t4_mac.c
1857
v = t4_convert_holdoff_pktcnt(sc, t4_port_is_10xg(pi) ?
usr/src/uts/common/io/cxgbe/t4nex/t4_mac.c
1861
v = t4_convert_dbq_timer(sc, dp->dbq_timer_idx);
usr/src/uts/common/io/cxgbe/t4nex/t4_mac.c
1887
struct adapter *sc = pi->adapter;
usr/src/uts/common/io/cxgbe/t4nex/t4_mac.c
1899
v = t4_convert_holdoff_timer(sc, sc->sge.fwq_tmr_idx);
usr/src/uts/common/io/cxgbe/t4nex/t4_mac.c
1902
v = t4_convert_holdoff_pktcnt(sc, sc->sge.fwq_pktc_idx);
usr/src/uts/common/io/cxgbe/t4nex/t4_mac.c
1905
v = t4_convert_holdoff_timer(sc, pi->tmr_idx);
usr/src/uts/common/io/cxgbe/t4nex/t4_mac.c
1908
v = t4_convert_holdoff_pktcnt(sc, pi->pktc_idx);
usr/src/uts/common/io/cxgbe/t4nex/t4_mac.c
1911
v = t4_convert_dbq_timer(sc, pi->dbq_timer_idx);
usr/src/uts/common/io/cxgbe/t4nex/t4_mac.c
1939
t4_choose_holdoff_timer(struct adapter *sc, uint_t target_us)
usr/src/uts/common/io/cxgbe/t4nex/t4_mac.c
1941
const uint_t *timer_us = sc->props.holdoff_timer_us;
usr/src/uts/common/io/cxgbe/t4nex/t4_mac.c
1959
t4_choose_holdoff_pktcnt(struct adapter *sc, int target_cnt)
usr/src/uts/common/io/cxgbe/t4nex/t4_mac.c
1961
const uint_t *pkt_cnt = sc->props.holdoff_pktcnt;
usr/src/uts/common/io/cxgbe/t4nex/t4_mac.c
1984
t4_choose_dbq_timer(struct adapter *sc, uint_t target_us)
usr/src/uts/common/io/cxgbe/t4nex/t4_mac.c
1986
const uint16_t *dbq_us = sc->sge.dbq_timers;
usr/src/uts/common/io/cxgbe/t4nex/t4_mac.c
2007
struct adapter *sc = pi->adapter;
usr/src/uts/common/io/cxgbe/t4nex/t4_mac.c
2031
struct sge_iq *fwq = &sc->sge.fwq;
usr/src/uts/common/io/cxgbe/t4nex/t4_mac.c
2032
const uint8_t idx = t4_choose_holdoff_timer(sc, MAX(0, v));
usr/src/uts/common/io/cxgbe/t4nex/t4_mac.c
2035
sc->sge.fwq_tmr_idx = idx;
usr/src/uts/common/io/cxgbe/t4nex/t4_mac.c
2036
t4_iq_update_intr_cfg(fwq, sc->sge.fwq_tmr_idx,
usr/src/uts/common/io/cxgbe/t4nex/t4_mac.c
2037
sc->sge.fwq_pktc_idx);
usr/src/uts/common/io/cxgbe/t4nex/t4_mac.c
2042
struct sge_iq *fwq = &sc->sge.fwq;
usr/src/uts/common/io/cxgbe/t4nex/t4_mac.c
2043
const int8_t idx = t4_choose_holdoff_pktcnt(sc, (int)v);
usr/src/uts/common/io/cxgbe/t4nex/t4_mac.c
2046
sc->sge.fwq_pktc_idx = idx;
usr/src/uts/common/io/cxgbe/t4nex/t4_mac.c
2047
t4_iq_update_intr_cfg(fwq, sc->sge.fwq_tmr_idx,
usr/src/uts/common/io/cxgbe/t4nex/t4_mac.c
2048
sc->sge.fwq_pktc_idx);
usr/src/uts/common/io/cxgbe/t4nex/t4_mac.c
2053
const uint8_t idx = t4_choose_holdoff_timer(sc, MAX(0, v));
usr/src/uts/common/io/cxgbe/t4nex/t4_mac.c
2061
const int8_t idx = t4_choose_holdoff_pktcnt(sc, (int)v);
usr/src/uts/common/io/cxgbe/t4nex/t4_mac.c
2069
ASSERT(sc->flags & TAF_DBQ_TIMER);
usr/src/uts/common/io/cxgbe/t4nex/t4_mac.c
2073
const uint_t idx = t4_choose_dbq_timer(sc, (uint_t)v);
usr/src/uts/common/io/cxgbe/t4nex/t4_mac.c
2153
rc = -t4_link_l1cfg(sc, sc->mbox, pi->tx_chan, lc,
usr/src/uts/common/io/cxgbe/t4nex/t4_mac.c
2183
t4_os_link_changed(struct adapter *sc, int idx, int link_stat)
usr/src/uts/common/io/cxgbe/t4nex/t4_mac.c
2185
struct port_info *pi = sc->port[idx];
usr/src/uts/common/io/cxgbe/t4nex/t4_mac.c
372
struct adapter *sc = pi->adapter;
usr/src/uts/common/io/cxgbe/t4nex/t4_mac.c
376
t4_read_reg64(sc, PORT_REG(pi->tx_chan, A_MPS_PORT_STAT_##name##_L))
usr/src/uts/common/io/cxgbe/t4nex/t4_mac.c
748
struct adapter *sc = pi->adapter;
usr/src/uts/common/io/cxgbe/t4nex/t4_mac.c
751
ADAPTER_LOCK(sc);
usr/src/uts/common/io/cxgbe/t4nex/t4_mac.c
752
rc = -t4_set_rxmode(sc, sc->mbox, pi->viid, -1, on ? 1 : 0, -1, -1, -1,
usr/src/uts/common/io/cxgbe/t4nex/t4_mac.c
754
ADAPTER_UNLOCK(sc);
usr/src/uts/common/io/cxgbe/t4nex/t4_mac.c
767
struct adapter *sc = pi->adapter;
usr/src/uts/common/io/cxgbe/t4nex/t4_mac.c
781
ADAPTER_LOCK(sc);
usr/src/uts/common/io/cxgbe/t4nex/t4_mac.c
782
rc = -t4_wr_mbox_meat(sc, sc->mbox, &c, len16 * 16, &c, true);
usr/src/uts/common/io/cxgbe/t4nex/t4_mac.c
783
ADAPTER_UNLOCK(sc);
usr/src/uts/common/io/cxgbe/t4nex/t4_mac.c
810
struct adapter *sc = pi->adapter;
usr/src/uts/common/io/cxgbe/t4nex/t4_mac.c
816
ADAPTER_LOCK(sc);
usr/src/uts/common/io/cxgbe/t4nex/t4_mac.c
820
ADAPTER_UNLOCK(sc);
usr/src/uts/common/io/cxgbe/t4nex/t4_mac.c
823
rc = t4_change_mac(sc, sc->mbox, pi->viid, pi->xact_addr_filt, ucaddr,
usr/src/uts/common/io/cxgbe/t4nex/t4_mac.c
832
ADAPTER_UNLOCK(sc);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
1004
cxgb_printf(sc->dip, CE_WARN,
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
1013
cxgb_printf(sc->dip, CE_WARN, "Failed to read from %s\n",
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
1022
fw_info->chip = CHELSIO_CHIP_VERSION(sc->params.chip);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
1039
rc = -t4_prep_fw(sc, fw_info, fw_data, fw_size, card_fw,
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
1046
cxgb_printf(sc->dip, CE_WARN,
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
1051
(void) t4_check_fw_version(sc);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
1055
rc = -t4_fw_reset(sc, sc->mbox, F_PIORSTMODE | F_PIORST);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
1057
cxgb_printf(sc->dip, CE_WARN,
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
1060
(void) t4_fw_bye(sc, sc->mbox);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
1065
if (sc->flags & TAF_MASTER_PF) {
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
1068
rc = partition_resources(sc);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
1073
sc->flags |= FW_OK;
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
1105
validate_mt_off_len(struct adapter *sc, int mtype, uint32_t off, int len,
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
1114
em = t4_read_reg(sc, A_MA_TARGET_MEM_ENABLE);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
1119
addr_len = t4_read_reg(sc, A_MA_EDRAM0_BAR);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
1126
addr_len = t4_read_reg(sc, A_MA_EDRAM1_BAR);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
1133
addr_len = t4_read_reg(sc, A_MA_EXT_MEMORY_BAR);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
1138
if (t4_cver_eq(sc, CHELSIO_T4) ||
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
1142
addr_len = t4_read_reg(sc, A_MA_EXT_MEMORY1_BAR);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
1159
memwin_info(struct adapter *sc, int win, uint32_t *base, uint32_t *aperture)
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
1163
if (t4_cver_eq(sc, CHELSIO_T4)) {
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
1179
upload_config_file(struct adapter *sc, uint32_t *mt, uint32_t *ma)
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
1192
rc = -t4_query_params(sc, sc->mbox, sc->pf, 0, 1, ¶m, &val);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
1195
cxgb_printf(sc->dip, CE_WARN,
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
120
struct adapter *sc;
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
1202
switch (CHELSIO_CHIP_VERSION(sc->params.chip)) {
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
1213
cxgb_printf(sc->dip, CE_WARN, "Invalid Adapter detected\n");
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
1218
cxgb_printf(sc->dip, CE_WARN, "Could not open %s\n", cfg_file);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
1231
cxgb_printf(sc->dip, CE_WARN,
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
1238
rc = validate_mt_off_len(sc, mtype, maddr, cflen, &addr);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
1240
cxgb_printf(sc->dip, CE_WARN,
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
1251
cxgb_printf(sc->dip, CE_WARN, "Failed to read from %s\n",
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
1259
memwin_info(sc, 2, &mw_base, &mw_aperture);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
126
sc = ddi_get_soft_state(t4_soft_state, minor);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
1261
off = t4_position_memwin(sc, 2, addr);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
1264
t4_write_reg(sc, mw_base + off + i, *cfdata++);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
127
if (sc == NULL)
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
1280
partition_resources(struct adapter *sc)
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
1286
rc = upload_config_file(sc, &mtype, &maddr);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
1289
maddr = t4_flash_cfg_addr(sc);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
1298
rc = -t4_wr_mbox(sc, sc->mbox, &caps, sizeof (caps), &caps);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
130
ASSERT(sc->dev == (dev_t)arg);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
1300
cxgb_printf(sc->dip, CE_WARN,
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
1308
cxgb_printf(sc->dip, CE_WARN,
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
131
*rp = (void *)sc->dip;
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
1312
sc->cfcsum = cfcsum;
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
1325
rc = -t4_wr_mbox(sc, sc->mbox, &caps, sizeof (caps), NULL);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
1327
cxgb_printf(sc->dip, CE_WARN,
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
1345
adap__pre_init_tweaks(struct adapter *sc)
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
1354
(void) t4_fixup_host_params_compat(sc, PAGE_SIZE, _CACHE_LINE_SIZE,
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
1357
t4_set_reg_field(sc, A_SGE_CONTROL, V_PKTSHIFT(M_PKTSHIFT),
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
1367
get_params__pre_init(struct adapter *sc)
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
1372
struct devlog_params *dlog = &sc->params.devlog;
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
1377
rc = -t4_get_raw_vpd_params(sc, &sc->params.vpd);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
1379
cxgb_printf(sc->dip, CE_WARN,
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
1386
rc = -t4_query_params(sc, sc->mbox, sc->pf, 0, 2, param, val);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
1388
cxgb_printf(sc->dip, CE_WARN,
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
1394
cxgb_printf(sc->dip, CE_WARN, "no usable ports");
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
1398
sc->params.portvec = val[0];
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
1399
sc->params.nports = 0;
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
1401
sc->params.nports++;
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
1405
sc->params.vpd.cclk = val[1];
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
1412
rc = -t4_wr_mbox(sc, sc->mbox, &cmd, sizeof (cmd), &cmd);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
1414
cxgb_printf(sc->dip, CE_WARN,
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
1433
get_params__post_init(struct adapter *sc)
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
1443
rc = -t4_query_params(sc, sc->mbox, sc->pf, 0, 4, param, val);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
1445
cxgb_printf(sc->dip, CE_WARN,
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
1450
sc->sge.iq_start = val[0];
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
1451
sc->sge.eq_start = val[1];
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
1452
sc->sge.iqmap_sz = val[2] - sc->sge.iq_start + 1;
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
1453
sc->sge.eqmap_sz = val[3] - sc->sge.eq_start + 1;
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
1455
uint32_t r = t4_read_reg(sc, A_SGE_EGRESS_QUEUES_PER_PAGE_PF);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
1457
(S_QUEUESPERPAGEPF1 - S_QUEUESPERPAGEPF0) * sc->pf;
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
1458
sc->sge.s_qpp = r & M_QUEUESPERPAGEPF0;
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
1465
rc = -t4_wr_mbox(sc, sc->mbox, &caps, sizeof (caps), &caps);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
1467
cxgb_printf(sc->dip, CE_WARN,
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
1475
rc = t4_query_params(sc, sc->mbox, sc->pf, 0, 1, param, val);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
1477
sc->sge.dbq_timer_tick = val[0];
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
1478
rc = t4_read_sge_dbqtimers(sc,
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
1479
ARRAY_SIZE(sc->sge.dbq_timers), sc->sge.dbq_timers);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
1481
sc->flags |= TAF_DBQ_TIMER;
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
1483
sc->sge.dbq_timer_tick = 0;
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
1491
struct driver_properties *prp = &sc->props;
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
1492
if ((sc->flags & TAF_DBQ_TIMER) != 0) {
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
1498
prp->dbq_timer_idx = t4_choose_dbq_timer(sc, 100);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
1499
prp->fwq_tmr_idx = t4_choose_holdoff_timer(sc, 10);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
1500
prp->fwq_pktc_idx = t4_choose_holdoff_pktcnt(sc, -1);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
1512
prp->fwq_tmr_idx = t4_choose_holdoff_timer(sc, 100);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
1513
prp->fwq_pktc_idx = t4_choose_holdoff_pktcnt(sc, 32);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
1515
sc->sge.fwq_tmr_idx = prp->fwq_tmr_idx;
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
1516
sc->sge.fwq_pktc_idx = prp->fwq_pktc_idx;
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
1518
rc = -t4_get_pfres(sc);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
1520
cxgb_printf(sc->dip, CE_WARN,
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
1526
val[0] = t4_read_reg(sc, A_TP_TIMER_RESOLUTION);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
1527
sc->params.tp.tre = G_TIMERRESOLUTION(val[0]);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
1528
sc->params.tp.dack_re = G_DELAYEDACKRESOLUTION(val[0]);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
1529
t4_read_mtu_tbl(sc, sc->params.mtus, NULL);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
1530
(void) t4_init_sge_params(sc);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
1536
set_params__post_init(struct adapter *sc)
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
1543
(void) t4_set_params(sc, sc->mbox, sc->pf, 0, 1, ¶m, &val);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
1550
t4_setup_adapter_memwin(struct adapter *sc)
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
1559
rc = ddi_prop_lookup_int_array(DDI_DEV_T_ANY, sc->dip,
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
1562
cxgb_printf(sc->dip, CE_WARN,
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
1571
if (t4_cver_eq(sc, CHELSIO_T4)) {
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
1584
t4_write_reg(sc, PCIE_MEM_ACCESS_REG(A_PCIE_MEM_ACCESS_BASE_WIN, 0),
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
1588
t4_write_reg(sc, PCIE_MEM_ACCESS_REG(A_PCIE_MEM_ACCESS_BASE_WIN, 1),
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
1592
t4_write_reg(sc, PCIE_MEM_ACCESS_REG(A_PCIE_MEM_ACCESS_BASE_WIN, 2),
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
1597
(void) t4_read_reg(sc,
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
1607
t4_position_memwin(struct adapter *sc, int n, uint32_t addr)
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
1613
cxgb_printf(sc->dip, CE_WARN,
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
1618
if (t4_cver_eq(sc, CHELSIO_T4)) {
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
1622
pf = V_PFNUM(sc->pf);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
1627
t4_write_reg(sc, reg, start | pf);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
1628
(void) t4_read_reg(sc, reg);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
1634
prop_lookup_int(struct adapter *sc, char *name, int defval)
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
1638
rc = ddi_prop_get_int(sc->dev, sc->dip, DDI_PROP_DONTPASS, name, -1);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
1642
return (ddi_prop_get_int(DDI_DEV_T_ANY, sc->dip, DDI_PROP_DONTPASS,
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
1650
init_driver_props(struct adapter *sc, struct driver_properties *p)
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
1652
dev_t dev = sc->dev;
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
1653
dev_info_t *dip = sc->dip;
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
1677
p->max_ntxq_10g = prop_lookup_int(sc, "max-ntxq-10G-port", 8);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
1681
p->max_nrxq_10g = prop_lookup_int(sc, "max-nrxq-10G-port", 8);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
1685
p->max_ntxq_1g = prop_lookup_int(sc, "max-ntxq-1G-port", 2);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
1689
p->max_nrxq_1g = prop_lookup_int(sc, "max-nrxq-1G-port", 2);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
1696
p->tmr_idx_10g = prop_lookup_int(sc, "holdoff-timer-idx-10G", 0);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
1700
p->pktc_idx_10g = prop_lookup_int(sc, "holdoff-pktc-idx-10G", 2);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
1704
p->tmr_idx_1g = prop_lookup_int(sc, "holdoff-timer-idx-1G", 0);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
1708
p->pktc_idx_1g = prop_lookup_int(sc, "holdoff-pktc-idx-1G", 2);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
171
struct adapter *sc = NULL;
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
1715
i = prop_lookup_int(sc, "qsize-txq", TX_EQ_QSIZE);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
1724
i = prop_lookup_int(sc, "qsize-rxq", RX_IQ_QSIZE);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
1739
p->intr_types = prop_lookup_int(sc, "interrupt-types",
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
1747
p->wc = prop_lookup_int(sc, "write-combine", 1);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
1756
p->t4_fw_install = prop_lookup_int(sc, "t4_fw_install", 1);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
1762
p->multi_rings = prop_lookup_int(sc, "multi-rings", 1);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
1775
remove_extra_props(struct adapter *sc, int n10g, int n1g)
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
1778
(void) ddi_prop_remove(sc->dev, sc->dip, "max-ntxq-10G-port");
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
1779
(void) ddi_prop_remove(sc->dev, sc->dip, "max-nrxq-10G-port");
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
1780
(void) ddi_prop_remove(sc->dev, sc->dip,
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
1782
(void) ddi_prop_remove(sc->dev, sc->dip,
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
1787
(void) ddi_prop_remove(sc->dev, sc->dip, "max-ntxq-1G-port");
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
1788
(void) ddi_prop_remove(sc->dev, sc->dip, "max-nrxq-1G-port");
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
1789
(void) ddi_prop_remove(sc->dev, sc->dip,
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
1791
(void) ddi_prop_remove(sc->dev, sc->dip, "holdoff-pktc-idx-1G");
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
1798
cfg_itype_and_nqueues(struct adapter *sc, int n10g, int n1g,
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
1801
struct driver_properties *p = &sc->props;
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
1839
MIN(sc->params.pfres.neq / 2, sc->params.pfres.niqflint);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
1859
MIN(sc->params.pfres.neq / 2, sc->params.pfres.nethctrl);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
1878
rc = ddi_intr_get_supported_types(sc->dip, &itypes);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
1880
cxgb_printf(sc->dip, CE_WARN,
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
1894
rc = ddi_intr_get_navail(sc->dip, itype, &navail);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
1896
cxgb_printf(sc->dip, CE_WARN,
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
1993
cxgb_printf(sc->dip, CE_WARN,
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
2000
add_child_node(struct adapter *sc, int idx)
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
2005
if (idx < 0 || idx >= sc->params.nports)
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
2008
pi = sc->port[idx];
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
2018
rc = ndi_devi_alloc(sc->dip, T4_PORT_NAME, DEVI_SID_NODEID, &pi->dip);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
203
sc = ddi_get_soft_state(t4_soft_state, instance);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
2033
remove_child_node(struct adapter *sc, int idx)
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
2038
if (idx < 0 || idx >= sc->params.nports)
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
204
sc->dip = dip;
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
2041
pi = sc->port[idx];
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
205
sc->dev = makedevice(ddi_driver_major(dip), instance);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
206
mutex_init(&sc->lock, NULL, MUTEX_DRIVER, NULL);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
207
cv_init(&sc->cv, NULL, CV_DRIVER, NULL);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
208
mutex_init(&sc->sfl_lock, NULL, MUTEX_DRIVER, NULL);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
209
TAILQ_INIT(&sc->sfl);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
210
mutex_init(&sc->mbox_lock, NULL, MUTEX_DRIVER, NULL);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
211
STAILQ_INIT(&sc->mbox_list);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
2110
setup_kstats(struct adapter *sc)
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
2115
struct pci_params *p = &sc->params.pci;
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
2116
struct vpd_params *v = &sc->params.vpd;
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
2121
ksp = kstat_create(T4_NEXUS_NAME, ddi_get_instance(sc->dip), "config",
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
2124
cxgb_printf(sc->dip, CE_WARN, "failed to initialize kstats.");
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
214
list_insert_tail(&t4_adapter_list, sc);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
2146
KS_U_SET(chip_ver, sc->params.chip);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
2148
G_FW_HDR_FW_VER_MAJOR(sc->params.fw_vers),
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
2149
G_FW_HDR_FW_VER_MINOR(sc->params.fw_vers),
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
2150
G_FW_HDR_FW_VER_MICRO(sc->params.fw_vers),
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
2151
G_FW_HDR_FW_VER_BUILD(sc->params.fw_vers));
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
2153
G_FW_HDR_FW_VER_MAJOR(sc->params.tp_vers),
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
2154
G_FW_HDR_FW_VER_MINOR(sc->params.tp_vers),
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
2155
G_FW_HDR_FW_VER_MICRO(sc->params.tp_vers),
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
2156
G_FW_HDR_FW_VER_BUILD(sc->params.tp_vers));
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
2165
KS_U_SET(port_cnt, sc->params.nports);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
2167
pci_vendor = pci_config_get16(sc->pci_regh, PCI_CONF_VENID);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
217
sc->pf = getpf(sc);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
2170
pci_device = pci_config_get16(sc->pci_regh, PCI_CONF_DEVID);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
2174
t4_port_speed_name(sc->port[0]),
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
2175
t4_port_speed_name(sc->port[1]),
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
2176
t4_port_speed_name(sc->port[2]),
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
2177
t4_port_speed_name(sc->port[3]));
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
218
if (sc->pf > 8) {
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
2182
ksp->ks_private = (void *)sc;
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
2196
setup_wc_kstats(struct adapter *sc)
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
2203
ksp = kstat_create(T4_NEXUS_NAME, ddi_get_instance(sc->dip), "stats",
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
2206
cxgb_printf(sc->dip, CE_WARN, "failed to initialize kstats.");
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
2217
ksp->ks_private = (void *)sc;
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
2227
struct adapter *sc = ksp->ks_private;
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
2233
if (t4_cver_ge(sc, CHELSIO_T5)) {
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
2234
wc_total = t4_read_reg(sc, A_SGE_STAT_TOTAL);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
2235
wc_failure = t4_read_reg(sc, A_SGE_STAT_MATCH);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
224
sc->mbox = sc->pf;
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
227
prp = &sc->props;
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
2277
struct adapter *sc = pi->adapter;
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
228
(void) init_driver_props(sc, prp);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
2281
low = t4_read_reg(sc, T5_PORT_REG(port, lo_reg));
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
2282
high = t4_read_reg(sc, T5_PORT_REG(port, high_reg));
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
233
rc = pci_config_setup(dip, &sc->pci_regh);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
2382
struct adapter *sc = pi->adapter;
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
2403
rc = -t4_config_rss_range(sc, sc->mbox, pi->viid, 0,
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
245
rc = ddi_regs_map_setup(dip, 1, &sc->regp, 0, 0, &da, &sc->regh);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
2455
struct adapter *sc = pi->adapter;
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
2458
mutex_enter(&sc->sfl_lock);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
2476
mutex_exit(&sc->sfl_lock);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
2483
struct adapter *sc = pi->adapter;
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
2498
mutex_enter(&sc->sfl_lock);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
2502
mutex_exit(&sc->sfl_lock);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
2507
t4_fatal_err(struct adapter *sc)
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
2509
t4_set_reg_field(sc, A_SGE_CONTROL, F_GLOBALENABLE, 0);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
2510
t4_intr_disable(sc);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
2511
cxgb_printf(sc->dip, CE_WARN,
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
2516
t4_os_find_pci_capability(struct adapter *sc, uint8_t cap)
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
2518
const uint16_t stat = pci_config_get16(sc->pci_regh, PCI_CONF_STAT);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
252
(void) memset(sc->chan_map, 0xff, sizeof (sc->chan_map));
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
2523
uint8_t cap_ptr = pci_config_get8(sc->pci_regh, PCI_CONF_CAP_PTR);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
2526
pci_config_get8(sc->pci_regh, cap_ptr + PCI_CAP_ID);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
2531
pci_config_get8(sc->pci_regh, cap_ptr + PCI_CAP_NEXT_PTR);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
2538
t4_os_portmod_changed(struct adapter *sc, int idx)
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
2543
struct port_info *pi = sc->port[idx];
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
2566
t4_os_set_hw_addr(struct adapter *sc, int idx, const uint8_t *hw_addr)
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
2568
bcopy(hw_addr, sc->port[idx]->hw_addr, ETHERADDRL);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
257
rc = -t4_prep_adapter(sc, false);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
2572
t4_read_reg(struct adapter *sc, uint32_t reg)
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
2574
const uint32_t val = ddi_get32(sc->regh, (uint32_t *)(sc->regp + reg));
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
2575
DTRACE_PROBE3(t4__reg__read, struct adapter *, sc, uint32_t, reg,
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
2581
t4_write_reg(struct adapter *sc, uint32_t reg, uint32_t val)
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
2583
DTRACE_PROBE3(t4__reg__write, struct adapter *, sc, uint32_t, reg,
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
2585
ddi_put32(sc->regh, (uint32_t *)(sc->regp + reg), val);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
2589
t4_read_reg64(struct adapter *sc, uint32_t reg)
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
2591
const uint64_t val = ddi_get64(sc->regh, (uint64_t *)(sc->regp + reg));
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
2592
DTRACE_PROBE3(t4__reg__read, struct adapter *, sc, uint32_t, reg,
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
2598
t4_write_reg64(struct adapter *sc, uint32_t reg, uint64_t val)
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
2600
DTRACE_PROBE3(t4__reg__write, struct adapter *, sc, uint32_t, reg,
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
2602
ddi_put64(sc->regh, (uint64_t *)(sc->regp + reg), val);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
2606
t4_sensor_read(struct adapter *sc, uint32_t diag, uint32_t *valp)
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
2611
ADAPTER_LOCK(sc);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
2615
rc = -t4_query_params(sc, sc->mbox, sc->pf, 0, 1, ¶m, &val);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
2616
ADAPTER_UNLOCK(sc);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
2632
struct adapter *sc = arg;
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
2635
ret = t4_sensor_read(sc, FW_PARAM_DEV_DIAG_TMP, &val);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
2656
struct adapter *sc = arg;
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
2659
ret = t4_sensor_read(sc, FW_PARAM_DEV_DIAG_VDD, &val);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
266
sc->doorbells |= DOORBELL_KDB;
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
267
rc = ddi_regs_map_setup(dip, 2, &sc->bar2_ptr, 0, 0, &da_bar2,
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
268
&sc->bar2_hdl);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
2721
struct adapter *sc = arg;
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
2730
G_FW_HDR_FW_VER_MAJOR(sc->params.fw_vers),
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
2731
G_FW_HDR_FW_VER_MINOR(sc->params.fw_vers),
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
2732
G_FW_HDR_FW_VER_MICRO(sc->params.fw_vers),
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
2733
G_FW_HDR_FW_VER_BUILD(sc->params.fw_vers)) >= sizeof (buf)) {
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
274
if (t4_cver_ge(sc, CHELSIO_T5)) {
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
2741
sc->params.tp_vers)) != 0) {
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
2746
sc->params.bs_vers)) != 0) {
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
275
sc->doorbells |= DOORBELL_UDB;
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
2751
sc->params.er_vers)) != 0) {
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
2756
sc->params.scfg_vers)) != 0) {
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
2761
sc->params.vpd_vers)) != 0) {
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
286
sc->doorbells &= ~DOORBELL_UDB;
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
287
sc->doorbells |= (DOORBELL_WCWR |
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
291
t4_cver_ge(sc, CHELSIO_T6) ?
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
293
t4_write_reg(sc, A_SGE_STAT_CFG,
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
312
t4_setup_adapter_memwin(sc);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
315
rc = prep_firmware(sc);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
319
rc = adap__pre_init_tweaks(sc);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
323
rc = get_params__pre_init(sc);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
327
t4_sge_init(sc);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
329
if (sc->flags & TAF_MASTER_PF) {
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
331
rc = -t4_fw_initialize(sc, sc->mbox);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
333
cxgb_printf(sc->dip, CE_WARN,
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
339
rc = get_params__post_init(sc);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
343
rc = set_params__post_init(sc);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
352
t4_write_reg(sc, A_TP_SHIFT_CNT,
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
360
t4_write_reg(sc, A_ULP_RX_TDDP_PSZ, V_HPZ0(PAGE_SHIFT - 12));
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
367
t4_set_reg_field(sc, A_TP_RSS_CONFIG_VRT, F_DISABLEVLAN, F_DISABLEVLAN);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
370
t4_read_indirect(sc, A_TP_PIO_ADDR, A_TP_PIO_DATA, &sc->filter_mode, 1,
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
379
for_each_port(sc, i) {
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
383
sc->port[i] = pi;
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
386
pi->adapter = sc;
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
391
rc = -t4_port_init(sc, sc->mbox, sc->pf, 0);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
397
for_each_port(sc, i) {
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
398
struct port_info *pi = sc->port[i];
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
417
(void) remove_extra_props(sc, nxg, n1g);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
419
rc = cfg_itype_and_nqueues(sc, nxg, n1g, &iaq);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
423
sc->intr_type = iaq.intr_type;
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
424
sc->intr_count = iaq.nirq;
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
426
if (sc->props.multi_rings && (sc->intr_type != DDI_INTR_TYPE_MSIX)) {
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
427
sc->props.multi_rings = 0;
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
432
if (sc->props.multi_rings && iaq.intr_fwd) {
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
433
sc->props.multi_rings = 0;
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
438
if (!sc->props.multi_rings) {
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
442
s = &sc->sge;
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
448
sc->flags |= TAF_INTR_FWD;
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
456
sc->intr_handle =
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
457
kmem_zalloc(sc->intr_count * sizeof (ddi_intr_handle_t), KM_SLEEP);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
464
for_each_port(sc, i) {
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
465
struct port_info *pi = sc->port[i];
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
491
rc = ddi_intr_alloc(dip, sc->intr_handle, sc->intr_type, 0,
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
492
sc->intr_count, &i, DDI_INTR_ALLOC_STRICT);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
496
sc->intr_count, sc->intr_type, rc, i);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
499
ASSERT(sc->intr_count == i); /* allocation was STRICT */
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
500
(void) ddi_intr_get_cap(sc->intr_handle[0], &sc->intr_cap);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
501
(void) ddi_intr_get_pri(sc->intr_handle[0], &sc->intr_pri);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
502
if (sc->intr_count == 1) {
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
503
ASSERT(sc->flags & TAF_INTR_FWD);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
504
(void) ddi_intr_add_handler(sc->intr_handle[0], t4_intr_all, sc,
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
508
(void) ddi_intr_add_handler(sc->intr_handle[0], t4_intr_err, sc,
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
513
(void) ddi_intr_add_handler(sc->intr_handle[1], t4_intr, sc,
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
524
for_each_port(sc, i) {
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
525
struct port_info *pi = sc->port[i];
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
530
sc->intr_handle[irq], t4_intr, sc,
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
537
sc->flags |= TAF_INTR_ALLOC;
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
540
&t4_temp_ops, sc, "temp", &sc->temp_sensor)) != 0) {
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
548
&t4_volt_ops, sc, "vdd", &sc->volt_sensor)) != 0) {
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
557
&sc->ufm_hdl, sc)) != 0) {
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
562
ddi_ufm_update(sc->ufm_hdl);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
564
if ((rc = t4_alloc_fwq(sc)) != 0) {
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
570
if (sc->intr_cap & DDI_INTR_FLAG_BLOCK) {
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
571
(void) ddi_intr_block_enable(sc->intr_handle, sc->intr_count);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
573
for (i = 0; i < sc->intr_count; i++)
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
574
(void) ddi_intr_enable(sc->intr_handle[i]);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
576
t4_intr_enable(sc);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
583
sc->flags |= TAF_INIT_DONE;
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
589
t4_dump_version_info(sc);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
592
rqidx, tqidx, sc->intr_count,
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
593
sc->intr_type == DDI_INTR_TYPE_MSIX ? "MSI-X interrupts" :
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
594
sc->intr_type == DDI_INTR_TYPE_MSI ? "MSI interrupts" :
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
597
sc->ksp = setup_kstats(sc);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
598
sc->ksp_stat = setup_wc_kstats(sc);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
599
sc->params.drv_memwin = MEMWIN_NIC;
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
616
struct adapter *sc;
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
624
sc = ddi_get_soft_state(t4_soft_state, instance);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
625
if (sc == NULL)
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
628
if (sc->flags & TAF_INIT_DONE) {
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
629
t4_intr_disable(sc);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
630
for_each_port(sc, i) {
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
631
pi = sc->port[i];
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
636
if (sc->intr_cap & DDI_INTR_FLAG_BLOCK) {
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
637
(void) ddi_intr_block_disable(sc->intr_handle,
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
638
sc->intr_count);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
640
for (i = 0; i < sc->intr_count; i++)
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
641
(void) ddi_intr_disable(sc->intr_handle[i]);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
644
(void) t4_free_fwq(sc);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
646
sc->flags &= ~TAF_INIT_DONE;
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
650
if (sc->ufm_hdl != NULL) {
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
651
ddi_ufm_fini(sc->ufm_hdl);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
652
sc->ufm_hdl = NULL;
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
658
if (sc->ksp != NULL)
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
659
kstat_delete(sc->ksp);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
660
if (sc->ksp_stat != NULL)
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
661
kstat_delete(sc->ksp_stat);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
663
s = &sc->sge;
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
676
if (sc->flags & TAF_INTR_ALLOC) {
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
677
for (i = 0; i < sc->intr_count; i++) {
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
678
(void) ddi_intr_remove_handler(sc->intr_handle[i]);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
679
(void) ddi_intr_free(sc->intr_handle[i]);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
681
sc->flags &= ~TAF_INTR_ALLOC;
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
684
if (sc->intr_handle != NULL) {
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
685
kmem_free(sc->intr_handle,
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
686
sc->intr_count * sizeof (*sc->intr_handle));
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
689
for_each_port(sc, i) {
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
690
pi = sc->port[i];
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
697
if (sc->flags & FW_OK)
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
698
(void) t4_fw_bye(sc, sc->mbox);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
70
static unsigned int getpf(struct adapter *sc);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
700
if (sc->bar2_hdl != NULL) {
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
701
ddi_regs_map_free(&sc->bar2_hdl);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
702
sc->bar2_hdl = NULL;
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
703
sc->bar2_ptr = NULL;
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
706
if (sc->regh != NULL) {
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
707
ddi_regs_map_free(&sc->regh);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
708
sc->regh = NULL;
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
709
sc->regp = NULL;
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
71
static int prep_firmware(struct adapter *sc);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
712
if (sc->pci_regh != NULL) {
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
713
pci_config_teardown(&sc->pci_regh);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
717
list_remove(&t4_adapter_list, sc);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
72
static int upload_config_file(struct adapter *sc, uint32_t *mt, uint32_t *ma);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
720
mutex_destroy(&sc->mbox_lock);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
721
mutex_destroy(&sc->lock);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
722
cv_destroy(&sc->cv);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
723
mutex_destroy(&sc->sfl_lock);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
726
bzero(sc, sizeof (*sc));
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
73
static int partition_resources(struct adapter *sc);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
737
struct adapter *sc;
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
74
static int adap__pre_init_tweaks(struct adapter *sc);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
740
sc = ddi_get_soft_state(t4_soft_state, instance);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
741
if (sc == NULL)
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
744
t4_set_reg_field(sc, A_SGE_CONTROL, F_GLOBALENABLE, 0);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
745
t4_intr_disable(sc);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
746
t4_write_reg(sc, A_PL_RST, F_PIORSTMODE | F_PIORST);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
75
static int get_params__pre_init(struct adapter *sc);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
76
static int get_params__post_init(struct adapter *sc);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
78
static void t4_setup_adapter_memwin(struct adapter *sc);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
792
struct adapter *sc;
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
795
sc = ddi_get_soft_state(t4_soft_state, instance);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
815
if (add_child_node(sc, i) != 0)
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
82
static int init_driver_props(struct adapter *sc, struct driver_properties *p);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
822
for_each_port(sc, i)
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
823
(void) add_child_node(sc, i);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
83
static int remove_extra_props(struct adapter *sc, int n10g, int n1g);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
835
struct adapter *sc;
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
838
sc = ddi_get_soft_state(t4_soft_state, instance);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
84
static int cfg_itype_and_nqueues(struct adapter *sc, int n10g, int n1g,
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
86
static int add_child_node(struct adapter *sc, int idx);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
860
rc = remove_child_node(sc, i);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
864
for_each_port(sc, i)
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
865
(void) remove_child_node(sc, i);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
87
static int remove_child_node(struct adapter *sc, int idx);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
875
struct adapter *sc;
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
88
static kstat_t *setup_kstats(struct adapter *sc);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
880
sc = ddi_get_soft_state(t4_soft_state, getminor(*devp));
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
881
if (sc == NULL)
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
884
return (atomic_cas_uint(&sc->open, 0, EBUSY));
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
891
struct adapter *sc;
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
893
sc = ddi_get_soft_state(t4_soft_state, getminor(dev));
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
894
if (sc == NULL)
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
897
(void) atomic_swap_uint(&sc->open, 0);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
906
struct adapter *sc;
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
913
sc = ddi_get_soft_state(t4_soft_state, instance);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
914
if (sc == NULL)
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
917
return (t4_ioctl(sc, cmd, data, mode));
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
921
getpf(struct adapter *sc)
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
926
rc = ddi_prop_lookup_int_array(DDI_DEV_T_ANY, sc->dip,
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
929
cxgb_printf(sc->dip, CE_WARN,
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
945
prep_firmware(struct adapter *sc)
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
957
struct driver_properties *p = &sc->props;
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
960
rc = t4_fw_hello(sc, sc->mbox, sc->mbox, MASTER_MUST, &state);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
963
cxgb_printf(sc->dip, CE_WARN,
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
968
if (rc == sc->mbox)
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
969
sc->flags |= TAF_MASTER_PF;
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
972
t4_get_version_info(sc);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
974
switch (CHELSIO_CHIP_VERSION(sc->params.chip)) {
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
985
cxgb_printf(sc->dip, CE_WARN, "Adapter type not supported\n");
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
990
cxgb_printf(sc->dip, CE_WARN, "Could not open %s\n", fw_file);
usr/src/uts/common/io/cxgbe/t4nex/t4_nexus.c
997
cxgb_printf(sc->dip, CE_WARN, "%s is too small (%ld bytes)\n",
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
100
static int alloc_eq(struct adapter *sc, struct port_info *pi,
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
102
static int free_eq(struct adapter *sc, struct sge_eq *eq);
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
105
static int alloc_dma_memory(struct adapter *sc, size_t len, int flags,
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
1090
init_iq(struct sge_iq *iq, struct adapter *sc, int tmr_idx, int8_t pktc_idx,
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
1097
iq->adapter = sc;
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
110
static int alloc_desc_ring(struct adapter *sc, size_t len, int rw,
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
1135
struct adapter *sc = iq->adapter;
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
1139
rc = alloc_desc_ring(sc, len, DDI_DMA_READ, &iq->dhdl, &iq->ahdl,
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
114
static int alloc_tx_copybuffer(struct adapter *sc, size_t len,
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
1146
F_FW_CMD_WRITE | F_FW_CMD_EXEC | V_FW_IQ_CMD_PFN(sc->pf) |
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
1153
if (iq == &sc->sge.fwq)
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
1157
ASSERT(intr_idx < sc->intr_count);
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
1190
DDI_INTR_PRI(sc->intr_pri));
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
1194
rc = alloc_desc_ring(sc, len, DDI_DMA_WRITE, &fl->dhdl,
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
120
static int refill_fl(struct adapter *sc, struct sge_fl *fl, int nbufs);
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
1200
fl->cap = (fl->qsize - sc->sge.stat_len / RX_FL_ESIZE) * 8;
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
1204
fl->lowat = roundup(sc->sge.fl_starve_threshold, 8);
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
122
static void add_fl_to_sfl(struct adapter *sc, struct sge_fl *fl);
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
1225
const uint_t fbmin = t4_cver_ge(sc, CHELSIO_T6) ?
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
1227
const uint_t fbmax = t4_cver_ge(sc, CHELSIO_T6) ?
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
1236
rc = -t4_wr_mbox(sc, sc->mbox, &c, sizeof (c), &c);
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
1238
cxgb_printf(sc->dip, CE_WARN,
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
124
static mblk_t *get_fl_payload(struct adapter *sc, struct sge_fl *fl,
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
1246
iq->adapter = sc;
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
1251
DDI_INTR_PRI(DDI_INTR_PRI(sc->intr_pri)));
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
1254
*t4_iqmap_slot(sc, iq->cntxt_id) = iq;
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
1261
*t4_eqmap_slot(sc, fl->cntxt_id) = (struct sge_eq *)fl;
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
1264
(void) refill_fl(sc, fl, fl->lowat);
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
1270
if (t4_cver_ge(sc, CHELSIO_T5) && cong >= 0) {
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
1286
rc = -t4_set_params(sc, sc->mbox, sc->pf, 0, 1, ¶m, &val);
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
1289
cxgb_printf(sc->dip, CE_WARN,
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
1308
struct adapter *sc = iq->adapter;
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
1311
dip = pi ? pi->dip : sc->dip;
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
1313
rc = -t4_iq_free(sc, sc->mbox, sc->pf, 0,
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
1361
t4_alloc_fwq(struct adapter *sc)
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
1364
struct sge_iq *fwq = &sc->sge.fwq;
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
1366
init_iq(fwq, sc, sc->sge.fwq_tmr_idx, sc->sge.fwq_pktc_idx,
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
1369
intr_idx = sc->intr_count > 1 ? 1 : 0;
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
1370
rc = alloc_iq_fl(sc->port[0], fwq, NULL, intr_idx, -1);
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
1372
cxgb_printf(sc->dip, CE_WARN,
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
1381
t4_free_fwq(struct adapter *sc)
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
1383
return (free_iq_fl(NULL, &sc->sge.fwq, NULL));
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
1420
eth_eq_alloc(struct adapter *sc, struct port_info *pi, struct sge_eq *eq)
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
1426
V_FW_EQ_ETH_CMD_PFN(sc->pf) |
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
1469
if (sc->flags & TAF_DBQ_TIMER) {
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
1479
int rc = -t4_wr_mbox(sc, sc->mbox, &c, sizeof (c), &c);
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
1489
*t4_eqmap_slot(sc, eq->cntxt_id) = eq;
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
149
static inline void ring_fl_db(struct adapter *sc, struct sge_fl *fl);
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
1495
alloc_eq(struct adapter *sc, struct port_info *pi, struct sge_eq *eq)
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
1500
mutex_init(&eq->lock, NULL, MUTEX_DRIVER, DDI_INTR_PRI(sc->intr_pri));
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
1504
rc = alloc_desc_ring(sc, len, DDI_DMA_WRITE, &eq->desc_dhdl,
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
1509
eq->cap = eq->qsize - sc->sge.stat_len / EQ_ESIZE;
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
1513
eq->doorbells = sc->doorbells;
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
1515
rc = eth_eq_alloc(sc, pi, eq);
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
1517
cxgb_printf(sc->dip, CE_WARN,
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
1525
rc = t4_bar2_sge_qregs(sc, eq->cntxt_id, T4_BAR2_QTYPE_EGRESS,
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
1529
eq->udb = sc->bar2_ptr + udb_offset;
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
1543
free_eq(struct adapter *sc, struct sge_eq *eq)
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
1548
rc = -t4_eth_eq_free(sc, sc->mbox, sc->pf, 0, eq->cntxt_id);
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
1550
cxgb_printf(sc->dip, CE_WARN,
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
1573
struct adapter *sc = pi->adapter;
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
1576
rc = alloc_eq(sc, pi, eq);
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
1584
rc = alloc_tx_copybuffer(sc, txq->txb_size, &txq->txb_dhdl,
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
1601
rc = ddi_dma_alloc_handle(sc->dip, &sc->sge.dma_attr_tx,
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
1604
cxgb_printf(sc->dip, CE_WARN,
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
1621
struct adapter *sc = pi->adapter;
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
1677
(void) free_eq(sc, &txq->eq);
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
1703
alloc_dma_memory(struct adapter *sc, size_t len, int flags,
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
1721
rc = ddi_dma_alloc_handle(sc->dip, dma_attr, DDI_DMA_SLEEP, 0, &dhdl);
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
177
t4_iqmap_slot(struct adapter *sc, uint_t cntxt_id)
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
1773
alloc_desc_ring(struct adapter *sc, size_t len, int rw,
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
1777
ddi_device_acc_attr_t *acc_attr = &sc->sge.acc_attr_desc;
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
1778
ddi_dma_attr_t *dma_attr = &sc->sge.dma_attr_desc;
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
1780
return (alloc_dma_memory(sc, len, DDI_DMA_CONSISTENT | rw, acc_attr,
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
179
const uint_t idx = cntxt_id - sc->sge.iq_start;
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
1791
alloc_tx_copybuffer(struct adapter *sc, size_t len,
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
1795
ddi_device_acc_attr_t *acc_attr = &sc->sge.acc_attr_tx;
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
1796
ddi_dma_attr_t *dma_attr = &sc->sge.dma_attr_desc; /* NOT dma_attr_tx */
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
1798
return (alloc_dma_memory(sc, len, DDI_DMA_STREAMING | DDI_DMA_WRITE,
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
180
VERIFY3U(idx, <, sc->sge.iqmap_sz);
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
181
return (&sc->sge.iqmap[idx]);
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
1832
refill_fl(struct adapter *sc, struct sge_fl *fl, int nbufs)
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
185
t4_eqmap_slot(struct adapter *sc, uint_t cntxt_id)
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
187
const uint_t idx = cntxt_id - sc->sge.eq_start;
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
1876
sd->rxb = rxbuf_alloc(sc->sge.rxbuf_cache, KM_NOSLEEP, 1);
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
188
VERIFY3U(idx, <, sc->sge.eqmap_sz);
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
189
return (&sc->sge.eqmap[idx]);
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
1892
ring_fl_db(sc, fl);
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
1910
struct adapter *sc = arg;
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
1913
mutex_enter(&sc->sfl_lock);
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
1914
TAILQ_FOREACH_SAFE(fl, &sc->sfl, link, fl_temp) {
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
1916
(void) refill_fl(sc, fl, 64);
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
1918
TAILQ_REMOVE(&sc->sfl, fl, link);
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
1924
if (!TAILQ_EMPTY(&sc->sfl) != 0)
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
1925
sc->sfl_timer = timeout(refill_sfl, sc, drv_usectohz(100000));
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
1926
mutex_exit(&sc->sfl_lock);
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
1930
add_fl_to_sfl(struct adapter *sc, struct sge_fl *fl)
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
1932
mutex_enter(&sc->sfl_lock);
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
1935
if (TAILQ_EMPTY(&sc->sfl) != 0) {
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
1936
sc->sfl_timer = timeout(refill_sfl, sc,
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
1940
TAILQ_INSERT_TAIL(&sc->sfl, fl, link);
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
1943
mutex_exit(&sc->sfl_lock);
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
1968
get_fl_payload(struct adapter *sc, struct sge_fl *fl, uint32_t len_newbuf,
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
2037
offset += roundup(n, sc->sge.fl_align);
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
207
t4_sge_init(struct adapter *sc)
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
209
struct driver_properties *p = &sc->props;
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
218
acc_attr = &sc->sge.acc_attr_desc;
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
223
dma_attr = &sc->sge.dma_attr_desc;
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
240
acc_attr = &sc->sge.acc_attr_tx;
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
244
dma_attr = &sc->sge.dma_attr_tx;
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
262
sge_control = t4_read_reg(sc, A_SGE_CONTROL);
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
263
sc->sge.pktshift = G_PKTSHIFT(sge_control);
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
264
sc->sge.stat_len = (sge_control & F_EGRSTATUSPAGESIZE) ? 128 : 64;
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
267
sc->sge.fl_align = t4_fl_pkt_align(sc, true);
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
272
sc->sge.rxb_params.dip = sc->dip;
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
273
sc->sge.rxb_params.buf_size = rx_buf_size;
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
275
acc_attr = &sc->sge.rxb_params.acc_attr_rx;
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
279
dma_attr = &sc->sge.rxb_params.dma_attr_rx;
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
289
dma_attr->dma_attr_align = sc->sge.fl_align;
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
2917
struct adapter *sc = txq->port->adapter;
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
2946
if (t4_cver_eq(sc, CHELSIO_T4))
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
298
sc->sge.rxbuf_cache = rxbuf_cache_create(&sc->sge.rxb_params);
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
2988
ddi_put32(sc->bar2_hdl,
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
2995
t4_write_reg(sc, MYPF_REG(A_SGE_PF_KDOORBELL),
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
3127
struct adapter *sc = iq->adapter;
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
313
sge_conm_ctrl = t4_read_reg(sc, A_SGE_CONM_CTRL);
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
3137
return (t4_handle_fw_rpl(sc, &cpl->data[0]));
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
3139
cxgb_printf(sc->dip, CE_WARN,
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
314
switch (CHELSIO_CHIP_VERSION(sc->params.chip)) {
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
3152
struct adapter *sc = iq->adapter;
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
3155
m->b_rptr += sc->sge.pktshift;
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
3158
if (sc->params.tp.rx_pkt_encap)
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
3190
ring_fl_db(struct adapter *sc, struct sge_fl *fl)
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
3193
uint32_t v = sc->params.arch.sge_fl_db;
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
3229
if (t4_cver_eq(sc, CHELSIO_T4))
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
3237
t4_write_reg(sc, MYPF_REG(A_SGE_PF_KDOORBELL), v);
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
3249
struct adapter *sc = iq->adapter;
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
325
sc->sge.fl_starve_threshold = 2*egress_threshold + 1;
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
3252
struct sge_txq *txq = (struct sge_txq *)(*t4_eqmap_slot(sc, qid));
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
327
t4_write_reg(sc, A_SGE_FL_BUFFER_SIZE0, rx_buf_size);
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
329
t4_write_reg(sc, A_SGE_INGRESS_RX_THRESHOLD,
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
335
t4_write_reg(sc, A_SGE_TIMER_VALUE_0_AND_1,
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
336
V_TIMERVALUE0(us_to_core_ticks(sc, p->holdoff_timer_us[0])) |
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
337
V_TIMERVALUE1(us_to_core_ticks(sc, p->holdoff_timer_us[1])));
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
338
t4_write_reg(sc, A_SGE_TIMER_VALUE_2_AND_3,
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
339
V_TIMERVALUE2(us_to_core_ticks(sc, p->holdoff_timer_us[2])) |
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
340
V_TIMERVALUE3(us_to_core_ticks(sc, p->holdoff_timer_us[3])));
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
341
t4_write_reg(sc, A_SGE_TIMER_VALUE_4_AND_5,
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
342
V_TIMERVALUE4(us_to_core_ticks(sc, p->holdoff_timer_us[4])) |
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
343
V_TIMERVALUE5(us_to_core_ticks(sc, p->holdoff_timer_us[5])));
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
349
struct adapter *sc = pi->adapter;
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
352
if (sc->intr_count == 1)
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
355
for_each_port(sc, i) {
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
356
struct port_info *p = sc->port[i];
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
366
ASSERT(!(sc->flags & TAF_INTR_FWD));
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
380
struct adapter *sc = pi->adapter;
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
381
struct sge *s = &sc->sge;
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
384
if (sc->intr_count == 1)
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
385
return (&sc->sge.fwq);
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
391
ASSERT(!(sc->flags & TAF_INTR_FWD));
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
405
struct adapter *sc = pi->adapter;
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
406
struct driver_properties *p = &sc->props;
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
422
init_iq(&rxq->iq, sc, pi->tmr_idx, pi->pktc_idx, p->qsize_rxq,
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
427
if ((!(sc->flags & TAF_INTR_FWD)) ||
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
428
(sc->intr_count > 1 && pi->nrxq)) {
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
465
txq->eq.iqid = sc->sge.fwq.cntxt_id;
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
563
struct adapter *sc = iq->adapter;
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
565
-t4_set_params(sc, sc->mbox, sc->pf, 0, 1, ¶m, &val);
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
568
cxgb_printf(sc->dip, CE_WARN,
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
579
struct adapter *sc = pi->adapter;
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
586
int rc = -t4_set_params(sc, sc->mbox, sc->pf, 0, 1, ¶m, &val);
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
589
cxgb_printf(sc->dip, CE_WARN,
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
675
struct adapter *sc = (struct adapter *)arg1;
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
677
t4_write_reg(sc, MYPF_REG(A_PCIE_PF_CLI), 0);
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
678
(void) t4_slow_intr_handler(sc);
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
698
struct adapter *sc = iq->adapter;
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
736
m = get_fl_payload(sc, fl, data_len,
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
741
m->b_rptr += sc->sge.pktshift;
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
742
if (sc->params.tp.rx_pkt_encap) {
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
769
m = get_fl_payload(sc, fl, data_len, &fl_bufs_used);
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
795
starved = refill_fl(sc, fl, fl->cap / 8);
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
798
add_fl_to_sfl(sc, fl);
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
812
struct adapter *sc = iq->adapter;
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
841
m = get_fl_payload(sc, fl, dlen_qid,
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
854
starved = refill_fl(sc, fl,
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
858
add_fl_to_sfl(sc, fl);
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
878
q = *t4_iqmap_slot(sc, dlen_qid);
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
88
static inline void init_iq(struct sge_iq *iq, struct adapter *sc, int tmr_idx,
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
905
(void) refill_fl(sc, fl, fl->cap / 8);
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
935
starved = refill_fl(sc, fl, fl->cap / 4);
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
938
add_fl_to_sfl(sc, fl);
usr/src/uts/common/io/cxgbe/t4nex/t4_sge.c
98
static int eth_eq_alloc(struct adapter *sc, struct port_info *pi,
usr/src/uts/common/io/elxl/elxl.c
1000
elxl_t *sc = arg;
usr/src/uts/common/io/elxl/elxl.c
1002
mutex_enter(&sc->ex_intrlock);
usr/src/uts/common/io/elxl/elxl.c
1003
mutex_enter(&sc->ex_txlock);
usr/src/uts/common/io/elxl/elxl.c
1004
sc->ex_promisc = on;
usr/src/uts/common/io/elxl/elxl.c
1005
elxl_set_rxfilter(sc);
usr/src/uts/common/io/elxl/elxl.c
1006
mutex_exit(&sc->ex_txlock);
usr/src/uts/common/io/elxl/elxl.c
1007
mutex_exit(&sc->ex_intrlock);
usr/src/uts/common/io/elxl/elxl.c
1014
elxl_t *sc = arg;
usr/src/uts/common/io/elxl/elxl.c
1018
mutex_enter(&sc->ex_intrlock);
usr/src/uts/common/io/elxl/elxl.c
1019
mutex_enter(&sc->ex_txlock);
usr/src/uts/common/io/elxl/elxl.c
1021
sc->ex_mccount++;
usr/src/uts/common/io/elxl/elxl.c
1022
if (sc->ex_mccount == 1) {
usr/src/uts/common/io/elxl/elxl.c
1023
elxl_set_rxfilter(sc);
usr/src/uts/common/io/elxl/elxl.c
1026
sc->ex_mccount--;
usr/src/uts/common/io/elxl/elxl.c
1027
if (sc->ex_mccount == 0) {
usr/src/uts/common/io/elxl/elxl.c
1028
elxl_set_rxfilter(sc);
usr/src/uts/common/io/elxl/elxl.c
1031
mutex_exit(&sc->ex_txlock);
usr/src/uts/common/io/elxl/elxl.c
1032
mutex_exit(&sc->ex_intrlock);
usr/src/uts/common/io/elxl/elxl.c
1039
elxl_t *sc = arg;
usr/src/uts/common/io/elxl/elxl.c
1041
mutex_enter(&sc->ex_intrlock);
usr/src/uts/common/io/elxl/elxl.c
1042
mutex_enter(&sc->ex_txlock);
usr/src/uts/common/io/elxl/elxl.c
1043
bcopy(addr, sc->ex_curraddr, ETHERADDRL);
usr/src/uts/common/io/elxl/elxl.c
1044
elxl_set_rxfilter(sc);
usr/src/uts/common/io/elxl/elxl.c
1045
mutex_exit(&sc->ex_txlock);
usr/src/uts/common/io/elxl/elxl.c
1046
mutex_exit(&sc->ex_intrlock);
usr/src/uts/common/io/elxl/elxl.c
1054
elxl_t *sc = arg;
usr/src/uts/common/io/elxl/elxl.c
1067
r = &sc->ex_txring;
usr/src/uts/common/io/elxl/elxl.c
1068
mutex_enter(&sc->ex_txlock);
usr/src/uts/common/io/elxl/elxl.c
1069
if (sc->ex_suspended) {
usr/src/uts/common/io/elxl/elxl.c
1071
sc->ex_nocarrier++;
usr/src/uts/common/io/elxl/elxl.c
1076
mutex_exit(&sc->ex_txlock);
usr/src/uts/common/io/elxl/elxl.c
1087
sc->ex_excoll++;
usr/src/uts/common/io/elxl/elxl.c
1092
sc->ex_jabber++;
usr/src/uts/common/io/elxl/elxl.c
1095
sc->ex_txerr++;
usr/src/uts/common/io/elxl/elxl.c
1098
sc->ex_uflo++;
usr/src/uts/common/io/elxl/elxl.c
1107
WAIT_CMD(sc);
usr/src/uts/common/io/elxl/elxl.c
1109
WAIT_CMD(sc);
usr/src/uts/common/io/elxl/elxl.c
1110
elxl_setup_tx(sc);
usr/src/uts/common/io/elxl/elxl.c
1140
WAIT_CMD(sc);
usr/src/uts/common/io/elxl/elxl.c
1158
sc->ex_txerr++;
usr/src/uts/common/io/elxl/elxl.c
1165
if ((sc->ex_conf & CONF_90XB) != 0) {
usr/src/uts/common/io/elxl/elxl.c
1182
sc->ex_opackets++;
usr/src/uts/common/io/elxl/elxl.c
1183
sc->ex_obytes += len;
usr/src/uts/common/io/elxl/elxl.c
1186
sc->ex_multixmt++;
usr/src/uts/common/io/elxl/elxl.c
1188
sc->ex_brdcstxmt++;
usr/src/uts/common/io/elxl/elxl.c
1253
if (sc->ex_txring.r_head) {
usr/src/uts/common/io/elxl/elxl.c
1254
PUT32(REG_DNLISTPTR, sc->ex_txring.r_head->ed_descaddr);
usr/src/uts/common/io/elxl/elxl.c
1258
mutex_exit(&sc->ex_txlock);
usr/src/uts/common/io/elxl/elxl.c
1264
elxl_recv(elxl_t *sc, ex_desc_t *rxd, uint32_t stat)
usr/src/uts/common/io/elxl/elxl.c
1272
sc->ex_runt++;
usr/src/uts/common/io/elxl/elxl.c
1275
sc->ex_oflo++;
usr/src/uts/common/io/elxl/elxl.c
1278
sc->ex_fcs++;
usr/src/uts/common/io/elxl/elxl.c
1281
sc->ex_align++;
usr/src/uts/common/io/elxl/elxl.c
1284
sc->ex_toolong++;
usr/src/uts/common/io/elxl/elxl.c
1289
sc->ex_runt++;
usr/src/uts/common/io/elxl/elxl.c
1294
sc->ex_toolong++;
usr/src/uts/common/io/elxl/elxl.c
1298
sc->ex_allocbfail++;
usr/src/uts/common/io/elxl/elxl.c
1307
sc->ex_ipackets++;
usr/src/uts/common/io/elxl/elxl.c
1308
sc->ex_ibytes += len;
usr/src/uts/common/io/elxl/elxl.c
1311
sc->ex_multircv++;
usr/src/uts/common/io/elxl/elxl.c
1313
sc->ex_brdcstrcv++;
usr/src/uts/common/io/elxl/elxl.c
1320
if (((sc->ex_conf & CONF_90XB) != 0) &&
usr/src/uts/common/io/elxl/elxl.c
1339
elxl_t *sc = arg;
usr/src/uts/common/io/elxl/elxl.c
1341
mutex_enter(&sc->ex_intrlock);
usr/src/uts/common/io/elxl/elxl.c
1342
mutex_enter(&sc->ex_txlock);
usr/src/uts/common/io/elxl/elxl.c
1344
elxl_init(sc);
usr/src/uts/common/io/elxl/elxl.c
1345
sc->ex_running = B_TRUE;
usr/src/uts/common/io/elxl/elxl.c
1347
mutex_exit(&sc->ex_txlock);
usr/src/uts/common/io/elxl/elxl.c
1348
mutex_exit(&sc->ex_intrlock);
usr/src/uts/common/io/elxl/elxl.c
1350
if (sc->ex_miih) {
usr/src/uts/common/io/elxl/elxl.c
1351
mii_start(sc->ex_miih);
usr/src/uts/common/io/elxl/elxl.c
1359
elxl_t *sc = arg;
usr/src/uts/common/io/elxl/elxl.c
1361
if (sc->ex_miih) {
usr/src/uts/common/io/elxl/elxl.c
1362
mii_stop(sc->ex_miih);
usr/src/uts/common/io/elxl/elxl.c
1365
mutex_enter(&sc->ex_intrlock);
usr/src/uts/common/io/elxl/elxl.c
1366
mutex_enter(&sc->ex_txlock);
usr/src/uts/common/io/elxl/elxl.c
1368
elxl_stop(sc);
usr/src/uts/common/io/elxl/elxl.c
1369
sc->ex_running = B_FALSE;
usr/src/uts/common/io/elxl/elxl.c
1371
mutex_exit(&sc->ex_txlock);
usr/src/uts/common/io/elxl/elxl.c
1372
mutex_exit(&sc->ex_intrlock);
usr/src/uts/common/io/elxl/elxl.c
1378
elxl_t *sc = arg;
usr/src/uts/common/io/elxl/elxl.c
1382
if (sc->ex_conf & CONF_90XB) {
usr/src/uts/common/io/elxl/elxl.c
1397
elxl_t *sc = arg;
usr/src/uts/common/io/elxl/elxl.c
1400
if (sc->ex_mii_active) {
usr/src/uts/common/io/elxl/elxl.c
1401
rv = mii_m_getprop(sc->ex_miih, name, num, sz, val);
usr/src/uts/common/io/elxl/elxl.c
1408
*(uint8_t *)val = sc->ex_duplex;
usr/src/uts/common/io/elxl/elxl.c
1411
*(uint8_t *)val = sc->ex_speed;
usr/src/uts/common/io/elxl/elxl.c
1414
bcopy(&sc->ex_link, val, sizeof (link_state_t));
usr/src/uts/common/io/elxl/elxl.c
1421
switch (sc->ex_xcvr) {
usr/src/uts/common/io/elxl/elxl.c
1427
str = sc->ex_fdx ? "tp-fdx" : "tp-hdx";
usr/src/uts/common/io/elxl/elxl.c
1433
if (sc->ex_mediaopt & MEDIAOPT_10FL) {
usr/src/uts/common/io/elxl/elxl.c
1434
str = sc->ex_fdx ? "fl-fdx" : "fl-hdx";
usr/src/uts/common/io/elxl/elxl.c
1440
str = sc->ex_fdx ? "fx-fdx" : "fx-hdx";
usr/src/uts/common/io/elxl/elxl.c
1457
(void) snprintf(val, sz, "%s", sc->ex_medias);
usr/src/uts/common/io/elxl/elxl.c
1469
elxl_t *sc = arg;
usr/src/uts/common/io/elxl/elxl.c
1472
if (sc->ex_mii_active) {
usr/src/uts/common/io/elxl/elxl.c
1473
rv = mii_m_setprop(sc->ex_miih, name, num, sz, val);
usr/src/uts/common/io/elxl/elxl.c
1482
uint32_t mopt = sc->ex_mediaopt;
usr/src/uts/common/io/elxl/elxl.c
1486
sc->ex_xcvr = XCVR_SEL_AUTO;
usr/src/uts/common/io/elxl/elxl.c
1488
sc->ex_xcvr = XCVR_SEL_MII;
usr/src/uts/common/io/elxl/elxl.c
1495
sc->ex_xcvr = XCVR_SEL_10T;
usr/src/uts/common/io/elxl/elxl.c
1496
sc->ex_fdx = B_TRUE;
usr/src/uts/common/io/elxl/elxl.c
1503
sc->ex_xcvr = XCVR_SEL_10T;
usr/src/uts/common/io/elxl/elxl.c
1504
sc->ex_fdx = B_FALSE;
usr/src/uts/common/io/elxl/elxl.c
1510
sc->ex_xcvr = XCVR_SEL_100FX;
usr/src/uts/common/io/elxl/elxl.c
1511
sc->ex_fdx = B_TRUE;
usr/src/uts/common/io/elxl/elxl.c
1517
sc->ex_xcvr = XCVR_SEL_100FX;
usr/src/uts/common/io/elxl/elxl.c
1518
sc->ex_fdx = B_FALSE;
usr/src/uts/common/io/elxl/elxl.c
1524
sc->ex_xcvr = XCVR_SEL_BNC;
usr/src/uts/common/io/elxl/elxl.c
1525
sc->ex_fdx = B_FALSE;
usr/src/uts/common/io/elxl/elxl.c
1531
sc->ex_xcvr = XCVR_SEL_AUI;
usr/src/uts/common/io/elxl/elxl.c
1532
sc->ex_fdx = B_FALSE;
usr/src/uts/common/io/elxl/elxl.c
1538
sc->ex_xcvr = XCVR_SEL_AUI;
usr/src/uts/common/io/elxl/elxl.c
1539
sc->ex_fdx = B_TRUE;
usr/src/uts/common/io/elxl/elxl.c
1545
sc->ex_xcvr = XCVR_SEL_AUI;
usr/src/uts/common/io/elxl/elxl.c
1546
sc->ex_fdx = B_FALSE;
usr/src/uts/common/io/elxl/elxl.c
1564
mutex_enter(&sc->ex_intrlock);
usr/src/uts/common/io/elxl/elxl.c
1565
mutex_enter(&sc->ex_txlock);
usr/src/uts/common/io/elxl/elxl.c
1566
if (!sc->ex_suspended) {
usr/src/uts/common/io/elxl/elxl.c
1567
elxl_reset(sc);
usr/src/uts/common/io/elxl/elxl.c
1568
if (sc->ex_running) {
usr/src/uts/common/io/elxl/elxl.c
1569
elxl_init(sc);
usr/src/uts/common/io/elxl/elxl.c
1572
mutex_exit(&sc->ex_txlock);
usr/src/uts/common/io/elxl/elxl.c
1573
mutex_exit(&sc->ex_intrlock);
usr/src/uts/common/io/elxl/elxl.c
1581
elxl_t *sc = arg;
usr/src/uts/common/io/elxl/elxl.c
1583
if (sc->ex_mii_active)
usr/src/uts/common/io/elxl/elxl.c
1584
mii_m_propinfo(sc->ex_miih, name, num, prh);
usr/src/uts/common/io/elxl/elxl.c
1603
elxl_t *sc = arg;
usr/src/uts/common/io/elxl/elxl.c
1606
elxl_getstats(sc);
usr/src/uts/common/io/elxl/elxl.c
1609
if ((sc->ex_mii_active) &&
usr/src/uts/common/io/elxl/elxl.c
1610
(mii_m_getstat(sc->ex_miih, stat, val) == 0)) {
usr/src/uts/common/io/elxl/elxl.c
1616
*val = sc->ex_speed;
usr/src/uts/common/io/elxl/elxl.c
1620
*val = sc->ex_duplex;
usr/src/uts/common/io/elxl/elxl.c
1624
*val = sc->ex_multircv;
usr/src/uts/common/io/elxl/elxl.c
1628
*val = sc->ex_brdcstrcv;
usr/src/uts/common/io/elxl/elxl.c
1632
*val = sc->ex_multixmt;
usr/src/uts/common/io/elxl/elxl.c
1636
*val = sc->ex_brdcstxmt;
usr/src/uts/common/io/elxl/elxl.c
1640
*val = sc->ex_ipackets;
usr/src/uts/common/io/elxl/elxl.c
1644
*val = sc->ex_opackets;
usr/src/uts/common/io/elxl/elxl.c
1648
*val = sc->ex_ibytes;
usr/src/uts/common/io/elxl/elxl.c
1651
*val = sc->ex_obytes;
usr/src/uts/common/io/elxl/elxl.c
1656
*val = sc->ex_singlecol + sc->ex_multcol;
usr/src/uts/common/io/elxl/elxl.c
1660
*val = sc->ex_multcol;
usr/src/uts/common/io/elxl/elxl.c
1664
*val = sc->ex_latecol;
usr/src/uts/common/io/elxl/elxl.c
1668
*val = sc->ex_align;
usr/src/uts/common/io/elxl/elxl.c
1672
*val = sc->ex_fcs;
usr/src/uts/common/io/elxl/elxl.c
1676
*val = sc->ex_sqe;
usr/src/uts/common/io/elxl/elxl.c
1680
*val = sc->ex_defer;
usr/src/uts/common/io/elxl/elxl.c
1684
*val = sc->ex_nocarrier;
usr/src/uts/common/io/elxl/elxl.c
1688
*val = sc->ex_toolong;
usr/src/uts/common/io/elxl/elxl.c
1692
*val = sc->ex_excoll;
usr/src/uts/common/io/elxl/elxl.c
1696
*val = sc->ex_oflo;
usr/src/uts/common/io/elxl/elxl.c
1700
*val = sc->ex_uflo;
usr/src/uts/common/io/elxl/elxl.c
1704
*val = sc->ex_runt;
usr/src/uts/common/io/elxl/elxl.c
1708
*val = sc->ex_jabber;
usr/src/uts/common/io/elxl/elxl.c
1712
*val = sc->ex_allocbfail;
usr/src/uts/common/io/elxl/elxl.c
1716
*val = sc->ex_jabber + sc->ex_latecol + sc->ex_uflo;
usr/src/uts/common/io/elxl/elxl.c
1720
*val = sc->ex_align + sc->ex_fcs + sc->ex_runt +
usr/src/uts/common/io/elxl/elxl.c
1721
sc->ex_toolong + sc->ex_oflo + sc->ex_allocbfail;
usr/src/uts/common/io/elxl/elxl.c
1733
elxl_t *sc = (void *)arg;
usr/src/uts/common/io/elxl/elxl.c
1740
mutex_enter(&sc->ex_intrlock);
usr/src/uts/common/io/elxl/elxl.c
1741
if (sc->ex_suspended) {
usr/src/uts/common/io/elxl/elxl.c
1742
mutex_exit(&sc->ex_intrlock);
usr/src/uts/common/io/elxl/elxl.c
1749
mutex_exit(&sc->ex_intrlock);
usr/src/uts/common/io/elxl/elxl.c
1760
elxl_error(sc, "Adapter failure (%x)", stat);
usr/src/uts/common/io/elxl/elxl.c
1761
mutex_enter(&sc->ex_txlock);
usr/src/uts/common/io/elxl/elxl.c
1762
elxl_reset(sc);
usr/src/uts/common/io/elxl/elxl.c
1763
if (sc->ex_running)
usr/src/uts/common/io/elxl/elxl.c
1764
elxl_init(sc);
usr/src/uts/common/io/elxl/elxl.c
1765
mutex_exit(&sc->ex_txlock);
usr/src/uts/common/io/elxl/elxl.c
1766
mutex_exit(&sc->ex_intrlock);
usr/src/uts/common/io/elxl/elxl.c
1776
r = &sc->ex_rxring;
usr/src/uts/common/io/elxl/elxl.c
1794
if ((mp = elxl_recv(sc, rxd, pktstat)) != NULL) {
usr/src/uts/common/io/elxl/elxl.c
1816
mutex_enter(&sc->ex_txlock);
usr/src/uts/common/io/elxl/elxl.c
1817
if (sc->ex_running)
usr/src/uts/common/io/elxl/elxl.c
1818
elxl_init(sc);
usr/src/uts/common/io/elxl/elxl.c
1819
mutex_exit(&sc->ex_txlock);
usr/src/uts/common/io/elxl/elxl.c
1824
mutex_exit(&sc->ex_intrlock);
usr/src/uts/common/io/elxl/elxl.c
1827
mac_rx(sc->ex_mach, NULL, mphead);
usr/src/uts/common/io/elxl/elxl.c
1830
elxl_getstats(sc);
usr/src/uts/common/io/elxl/elxl.c
1833
mac_tx_update(sc->ex_mach);
usr/src/uts/common/io/elxl/elxl.c
1840
elxl_getstats(elxl_t *sc)
usr/src/uts/common/io/elxl/elxl.c
1842
mutex_enter(&sc->ex_txlock);
usr/src/uts/common/io/elxl/elxl.c
1843
if (sc->ex_suspended) {
usr/src/uts/common/io/elxl/elxl.c
1844
mutex_exit(&sc->ex_txlock);
usr/src/uts/common/io/elxl/elxl.c
1860
sc->ex_defer += GET8(W6_DEFER);
usr/src/uts/common/io/elxl/elxl.c
1861
sc->ex_latecol += GET8(W6_TX_LATE_COL);
usr/src/uts/common/io/elxl/elxl.c
1862
sc->ex_singlecol += GET8(W6_SINGLE_COL);
usr/src/uts/common/io/elxl/elxl.c
1863
sc->ex_multcol += GET8(W6_MULT_COL);
usr/src/uts/common/io/elxl/elxl.c
1864
sc->ex_sqe += GET8(W6_SQE_ERRORS);
usr/src/uts/common/io/elxl/elxl.c
1865
sc->ex_nocarrier += GET8(W6_NO_CARRIER);
usr/src/uts/common/io/elxl/elxl.c
1871
mutex_exit(&sc->ex_txlock);
usr/src/uts/common/io/elxl/elxl.c
1875
elxl_reset(elxl_t *sc)
usr/src/uts/common/io/elxl/elxl.c
1886
WAIT_CMD(sc);
usr/src/uts/common/io/elxl/elxl.c
1890
elxl_stop(elxl_t *sc)
usr/src/uts/common/io/elxl/elxl.c
1892
ASSERT(mutex_owned(&sc->ex_intrlock));
usr/src/uts/common/io/elxl/elxl.c
1893
ASSERT(mutex_owned(&sc->ex_txlock));
usr/src/uts/common/io/elxl/elxl.c
1895
if (sc->ex_suspended)
usr/src/uts/common/io/elxl/elxl.c
1902
elxl_reset_ring(&sc->ex_rxring, DDI_DMA_READ);
usr/src/uts/common/io/elxl/elxl.c
1903
elxl_reset_ring(&sc->ex_txring, DDI_DMA_WRITE);
usr/src/uts/common/io/elxl/elxl.c
1911
elxl_suspend(elxl_t *sc)
usr/src/uts/common/io/elxl/elxl.c
1913
if (sc->ex_miih) {
usr/src/uts/common/io/elxl/elxl.c
1914
mii_suspend(sc->ex_miih);
usr/src/uts/common/io/elxl/elxl.c
1917
mutex_enter(&sc->ex_intrlock);
usr/src/uts/common/io/elxl/elxl.c
1918
mutex_enter(&sc->ex_txlock);
usr/src/uts/common/io/elxl/elxl.c
1919
elxl_stop(sc);
usr/src/uts/common/io/elxl/elxl.c
1920
sc->ex_suspended = B_TRUE;
usr/src/uts/common/io/elxl/elxl.c
1921
mutex_exit(&sc->ex_txlock);
usr/src/uts/common/io/elxl/elxl.c
1922
mutex_exit(&sc->ex_intrlock);
usr/src/uts/common/io/elxl/elxl.c
1928
elxl_t *sc;
usr/src/uts/common/io/elxl/elxl.c
1931
sc = ddi_get_driver_private(dip);
usr/src/uts/common/io/elxl/elxl.c
1932
ASSERT(sc);
usr/src/uts/common/io/elxl/elxl.c
1934
mutex_enter(&sc->ex_intrlock);
usr/src/uts/common/io/elxl/elxl.c
1935
mutex_enter(&sc->ex_txlock);
usr/src/uts/common/io/elxl/elxl.c
1936
sc->ex_suspended = B_FALSE;
usr/src/uts/common/io/elxl/elxl.c
1937
elxl_reset(sc);
usr/src/uts/common/io/elxl/elxl.c
1938
if (sc->ex_running)
usr/src/uts/common/io/elxl/elxl.c
1939
elxl_init(sc);
usr/src/uts/common/io/elxl/elxl.c
1940
mutex_exit(&sc->ex_txlock);
usr/src/uts/common/io/elxl/elxl.c
1941
mutex_exit(&sc->ex_intrlock);
usr/src/uts/common/io/elxl/elxl.c
1943
if (sc->ex_miih) {
usr/src/uts/common/io/elxl/elxl.c
1944
mii_resume(sc->ex_miih);
usr/src/uts/common/io/elxl/elxl.c
1949
elxl_detach(elxl_t *sc)
usr/src/uts/common/io/elxl/elxl.c
1951
if (sc->ex_miih) {
usr/src/uts/common/io/elxl/elxl.c
1953
mii_free(sc->ex_miih);
usr/src/uts/common/io/elxl/elxl.c
1955
if (sc->ex_linkcheck) {
usr/src/uts/common/io/elxl/elxl.c
1956
ddi_periodic_delete(sc->ex_linkcheck);
usr/src/uts/common/io/elxl/elxl.c
1959
if (sc->ex_intrh != NULL) {
usr/src/uts/common/io/elxl/elxl.c
1960
(void) ddi_intr_disable(sc->ex_intrh);
usr/src/uts/common/io/elxl/elxl.c
1961
(void) ddi_intr_remove_handler(sc->ex_intrh);
usr/src/uts/common/io/elxl/elxl.c
1962
(void) ddi_intr_free(sc->ex_intrh);
usr/src/uts/common/io/elxl/elxl.c
1963
mutex_destroy(&sc->ex_intrlock);
usr/src/uts/common/io/elxl/elxl.c
1964
mutex_destroy(&sc->ex_txlock);
usr/src/uts/common/io/elxl/elxl.c
1967
if (sc->ex_pcih) {
usr/src/uts/common/io/elxl/elxl.c
1968
pci_config_teardown(&sc->ex_pcih);
usr/src/uts/common/io/elxl/elxl.c
1970
if (sc->ex_regsh) {
usr/src/uts/common/io/elxl/elxl.c
1971
ddi_regs_map_free(&sc->ex_regsh);
usr/src/uts/common/io/elxl/elxl.c
1973
ex_free_ring(&sc->ex_txring);
usr/src/uts/common/io/elxl/elxl.c
1974
ex_free_ring(&sc->ex_rxring);
usr/src/uts/common/io/elxl/elxl.c
1976
kmem_free(sc, sizeof (*sc));
usr/src/uts/common/io/elxl/elxl.c
1984
elxl_read_eeprom(elxl_t *sc, int offset)
usr/src/uts/common/io/elxl/elxl.c
1989
if (elxl_eeprom_busy(sc))
usr/src/uts/common/io/elxl/elxl.c
1993
if (elxl_eeprom_busy(sc))
usr/src/uts/common/io/elxl/elxl.c
2001
elxl_eeprom_busy(elxl_t *sc)
usr/src/uts/common/io/elxl/elxl.c
2010
elxl_error(sc, "Eeprom stays busy.");
usr/src/uts/common/io/elxl/elxl.c
2015
ex_mii_send_bits(struct ex_softc *sc, uint16_t bits, int cnt)
usr/src/uts/common/io/elxl/elxl.c
2039
ex_mii_sync(struct ex_softc *sc)
usr/src/uts/common/io/elxl/elxl.c
2058
elxl_t *sc = arg;
usr/src/uts/common/io/elxl/elxl.c
2062
if ((sc->ex_conf & CONF_INTPHY) && phy != INTPHY_ID)
usr/src/uts/common/io/elxl/elxl.c
2065
mutex_enter(&sc->ex_txlock);
usr/src/uts/common/io/elxl/elxl.c
2068
ex_mii_sync(sc);
usr/src/uts/common/io/elxl/elxl.c
2070
ex_mii_send_bits(sc, 1, 2); /* start */
usr/src/uts/common/io/elxl/elxl.c
2071
ex_mii_send_bits(sc, 2, 2); /* read command */
usr/src/uts/common/io/elxl/elxl.c
2072
ex_mii_send_bits(sc, phy, 5);
usr/src/uts/common/io/elxl/elxl.c
2073
ex_mii_send_bits(sc, reg, 5);
usr/src/uts/common/io/elxl/elxl.c
2102
mutex_exit(&sc->ex_txlock);
usr/src/uts/common/io/elxl/elxl.c
2110
elxl_t *sc = arg;
usr/src/uts/common/io/elxl/elxl.c
2112
if ((sc->ex_conf & CONF_INTPHY) && phy != INTPHY_ID)
usr/src/uts/common/io/elxl/elxl.c
2115
mutex_enter(&sc->ex_txlock);
usr/src/uts/common/io/elxl/elxl.c
2118
ex_mii_sync(sc);
usr/src/uts/common/io/elxl/elxl.c
2119
ex_mii_send_bits(sc, 1, 2); /* start */
usr/src/uts/common/io/elxl/elxl.c
2120
ex_mii_send_bits(sc, 1, 2); /* write */
usr/src/uts/common/io/elxl/elxl.c
2121
ex_mii_send_bits(sc, phy, 5);
usr/src/uts/common/io/elxl/elxl.c
2122
ex_mii_send_bits(sc, reg, 5);
usr/src/uts/common/io/elxl/elxl.c
2123
ex_mii_send_bits(sc, 2, 2); /* ack/turnaround */
usr/src/uts/common/io/elxl/elxl.c
2124
ex_mii_send_bits(sc, data, 16);
usr/src/uts/common/io/elxl/elxl.c
2130
mutex_exit(&sc->ex_txlock);
usr/src/uts/common/io/elxl/elxl.c
2136
elxl_t *sc = arg;
usr/src/uts/common/io/elxl/elxl.c
2140
duplex = mii_get_duplex(sc->ex_miih);
usr/src/uts/common/io/elxl/elxl.c
2142
mutex_enter(&sc->ex_txlock);
usr/src/uts/common/io/elxl/elxl.c
2143
if (!sc->ex_mii_active) {
usr/src/uts/common/io/elxl/elxl.c
2145
mutex_exit(&sc->ex_txlock);
usr/src/uts/common/io/elxl/elxl.c
2148
if (!sc->ex_suspended) {
usr/src/uts/common/io/elxl/elxl.c
2157
mutex_exit(&sc->ex_txlock);
usr/src/uts/common/io/elxl/elxl.c
2159
mac_link_update(sc->ex_mach, link);
usr/src/uts/common/io/elxl/elxl.c
2181
elxl_t *sc;
usr/src/uts/common/io/elxl/elxl.c
2183
sc = ddi_get_driver_private(dip);
usr/src/uts/common/io/elxl/elxl.c
2184
ASSERT(sc);
usr/src/uts/common/io/elxl/elxl.c
2188
if (mac_disable(sc->ex_mach) != 0) {
usr/src/uts/common/io/elxl/elxl.c
2191
(void) mac_unregister(sc->ex_mach);
usr/src/uts/common/io/elxl/elxl.c
2192
elxl_detach(sc);
usr/src/uts/common/io/elxl/elxl.c
2196
elxl_suspend(sc);
usr/src/uts/common/io/elxl/elxl.c
2207
elxl_t *sc;
usr/src/uts/common/io/elxl/elxl.c
2209
sc = ddi_get_driver_private(dip);
usr/src/uts/common/io/elxl/elxl.c
2210
ASSERT(sc);
usr/src/uts/common/io/elxl/elxl.c
2212
if (!sc->ex_suspended)
usr/src/uts/common/io/elxl/elxl.c
2213
elxl_reset(sc);
usr/src/uts/common/io/elxl/elxl.c
2218
elxl_error(elxl_t *sc, char *fmt, ...)
usr/src/uts/common/io/elxl/elxl.c
2228
ddi_driver_name(sc->ex_dip), ddi_get_instance(sc->ex_dip), buf);
usr/src/uts/common/io/elxl/elxl.c
346
ex_alloc_ring(elxl_t *sc, int count, ex_ring_t *r, uint_t dir)
usr/src/uts/common/io/elxl/elxl.c
348
dev_info_t *dip = sc->ex_dip;
usr/src/uts/common/io/elxl/elxl.c
361
elxl_error(sc, "unable to allocate descriptor dma handle");
usr/src/uts/common/io/elxl/elxl.c
369
elxl_error(sc, "unable to allocate descriptor memory");
usr/src/uts/common/io/elxl/elxl.c
378
elxl_error(sc, "unable to map descriptor memory");
usr/src/uts/common/io/elxl/elxl.c
398
elxl_error(sc, "can't allocate buf dma handle");
usr/src/uts/common/io/elxl/elxl.c
405
elxl_error(sc, "unable to allocate buf memory");
usr/src/uts/common/io/elxl/elxl.c
414
elxl_error(sc, "unable to map buf memory");
usr/src/uts/common/io/elxl/elxl.c
426
elxl_add_intr(elxl_t *sc)
usr/src/uts/common/io/elxl/elxl.c
434
dip = sc->ex_dip;
usr/src/uts/common/io/elxl/elxl.c
436
rv = ddi_intr_alloc(dip, &sc->ex_intrh, DDI_INTR_TYPE_FIXED,
usr/src/uts/common/io/elxl/elxl.c
439
elxl_error(sc, "Unable to allocate interrupt, %d, count %d",
usr/src/uts/common/io/elxl/elxl.c
444
if (ddi_intr_get_pri(sc->ex_intrh, &ipri) != DDI_SUCCESS) {
usr/src/uts/common/io/elxl/elxl.c
445
elxl_error(sc, "Unable to get interrupt priority");
usr/src/uts/common/io/elxl/elxl.c
449
if (ddi_intr_add_handler(sc->ex_intrh, elxl_intr, sc, NULL) !=
usr/src/uts/common/io/elxl/elxl.c
451
elxl_error(sc, "Can't add interrupt handler");
usr/src/uts/common/io/elxl/elxl.c
452
(void) ddi_intr_free(sc->ex_intrh);
usr/src/uts/common/io/elxl/elxl.c
453
sc->ex_intrh = NULL;
usr/src/uts/common/io/elxl/elxl.c
456
mutex_init(&sc->ex_intrlock, NULL, MUTEX_DRIVER, DDI_INTR_PRI(ipri));
usr/src/uts/common/io/elxl/elxl.c
457
mutex_init(&sc->ex_txlock, NULL, MUTEX_DRIVER, DDI_INTR_PRI(ipri));
usr/src/uts/common/io/elxl/elxl.c
465
elxl_t *sc;
usr/src/uts/common/io/elxl/elxl.c
472
sc = kmem_zalloc(sizeof (*sc), KM_SLEEP);
usr/src/uts/common/io/elxl/elxl.c
473
ddi_set_driver_private(dip, sc);
usr/src/uts/common/io/elxl/elxl.c
474
sc->ex_dip = dip;
usr/src/uts/common/io/elxl/elxl.c
476
if (pci_config_setup(dip, &sc->ex_pcih) != DDI_SUCCESS) {
usr/src/uts/common/io/elxl/elxl.c
477
elxl_error(sc, "unable to setup PCI config handle");
usr/src/uts/common/io/elxl/elxl.c
480
venid = pci_config_get16(sc->ex_pcih, PCI_CONF_VENID);
usr/src/uts/common/io/elxl/elxl.c
481
devid = pci_config_get16(sc->ex_pcih, PCI_CONF_DEVID);
usr/src/uts/common/io/elxl/elxl.c
485
elxl_error(sc, "Unsupported vendor id (0x%x)", venid);
usr/src/uts/common/io/elxl/elxl.c
494
sc->ex_conf = ex_products[i].epp_flags;
usr/src/uts/common/io/elxl/elxl.c
500
elxl_error(sc, "Unsupported device id (0x%x)", devid);
usr/src/uts/common/io/elxl/elxl.c
501
elxl_error(sc, "Driver may or may not function.");
usr/src/uts/common/io/elxl/elxl.c
504
pci_config_put16(sc->ex_pcih, PCI_CONF_COMM,
usr/src/uts/common/io/elxl/elxl.c
505
pci_config_get16(sc->ex_pcih, PCI_CONF_COMM) |
usr/src/uts/common/io/elxl/elxl.c
508
if (ddi_regs_map_setup(dip, 1, &sc->ex_regsva, 0, 0, &ex_dev_acc_attr,
usr/src/uts/common/io/elxl/elxl.c
509
&sc->ex_regsh) != DDI_SUCCESS) {
usr/src/uts/common/io/elxl/elxl.c
510
elxl_error(sc, "Unable to map device registers");
usr/src/uts/common/io/elxl/elxl.c
514
if (!elxl_add_intr(sc)) {
usr/src/uts/common/io/elxl/elxl.c
518
elxl_reset(sc);
usr/src/uts/common/io/elxl/elxl.c
520
val = elxl_read_eeprom(sc, EE_OEM_ADDR_0);
usr/src/uts/common/io/elxl/elxl.c
521
sc->ex_factaddr[0] = val >> 8;
usr/src/uts/common/io/elxl/elxl.c
522
sc->ex_factaddr[1] = val & 0xff;
usr/src/uts/common/io/elxl/elxl.c
523
val = elxl_read_eeprom(sc, EE_OEM_ADDR_1);
usr/src/uts/common/io/elxl/elxl.c
524
sc->ex_factaddr[2] = val >> 8;
usr/src/uts/common/io/elxl/elxl.c
525
sc->ex_factaddr[3] = val & 0xff;
usr/src/uts/common/io/elxl/elxl.c
526
val = elxl_read_eeprom(sc, EE_OEM_ADDR_2);
usr/src/uts/common/io/elxl/elxl.c
527
sc->ex_factaddr[4] = val >> 8;
usr/src/uts/common/io/elxl/elxl.c
528
sc->ex_factaddr[5] = val & 0xff;
usr/src/uts/common/io/elxl/elxl.c
529
bcopy(sc->ex_factaddr, sc->ex_curraddr, 6);
usr/src/uts/common/io/elxl/elxl.c
531
sc->ex_capab = elxl_read_eeprom(sc, EE_CAPABILITIES);
usr/src/uts/common/io/elxl/elxl.c
538
if ((sc->ex_capab & (1 << 2)) || !(sc->ex_capab & (1 << 9))) {
usr/src/uts/common/io/elxl/elxl.c
539
sc->ex_conf &= ~CONF_90XB;
usr/src/uts/common/io/elxl/elxl.c
541
sc->ex_conf |= CONF_90XB;
usr/src/uts/common/io/elxl/elxl.c
544
if (!ex_alloc_ring(sc, EX_NRX, &sc->ex_rxring, DDI_DMA_READ)) {
usr/src/uts/common/io/elxl/elxl.c
548
if (!ex_alloc_ring(sc, EX_NTX, &sc->ex_txring, DDI_DMA_WRITE)) {
usr/src/uts/common/io/elxl/elxl.c
552
elxl_probe_media(sc);
usr/src/uts/common/io/elxl/elxl.c
557
if (sc->ex_mediaopt & (MEDIAOPT_MII | MEDIAOPT_100TX)) {
usr/src/uts/common/io/elxl/elxl.c
558
sc->ex_miih = mii_alloc(sc, sc->ex_dip, &ex_mii_ops);
usr/src/uts/common/io/elxl/elxl.c
559
if (sc->ex_miih == NULL) {
usr/src/uts/common/io/elxl/elxl.c
569
mii_set_pauseable(sc->ex_miih, B_FALSE, B_FALSE);
usr/src/uts/common/io/elxl/elxl.c
572
elxl_error(sc, "MAC register allocation failed");
usr/src/uts/common/io/elxl/elxl.c
576
macp->m_driver = sc;
usr/src/uts/common/io/elxl/elxl.c
578
macp->m_src_addr = sc->ex_curraddr;
usr/src/uts/common/io/elxl/elxl.c
585
(void) ddi_intr_enable(sc->ex_intrh);
usr/src/uts/common/io/elxl/elxl.c
587
if (mac_register(macp, &sc->ex_mach) == DDI_SUCCESS) {
usr/src/uts/common/io/elxl/elxl.c
593
if (sc->ex_mediaopt &
usr/src/uts/common/io/elxl/elxl.c
597
sc->ex_linkcheck =
usr/src/uts/common/io/elxl/elxl.c
598
ddi_periodic_add(elxl_linkcheck, sc, 10000000, 0);
usr/src/uts/common/io/elxl/elxl.c
608
elxl_detach(sc);
usr/src/uts/common/io/elxl/elxl.c
616
elxl_probe_media(elxl_t *sc)
usr/src/uts/common/io/elxl/elxl.c
637
if (sc->ex_conf & CONF_90XB) {
usr/src/uts/common/io/elxl/elxl.c
665
sc->ex_conf |= CONF_INTPHY;
usr/src/uts/common/io/elxl/elxl.c
680
sc->ex_mediaopt = media_options;
usr/src/uts/common/io/elxl/elxl.c
688
APPEND_MEDIA(sc->ex_medias, (MEDIAOPT_MII|MEDIAOPT_100TX), "mii");
usr/src/uts/common/io/elxl/elxl.c
689
APPEND_MEDIA(sc->ex_medias, MEDIAOPT_10T, "tp-hdx,tp-fdx");
usr/src/uts/common/io/elxl/elxl.c
690
APPEND_MEDIA(sc->ex_medias, MEDIAOPT_100FX, "fx-hdx,fx-fdx");
usr/src/uts/common/io/elxl/elxl.c
691
APPEND_MEDIA(sc->ex_medias, MEDIAOPT_BNC, "bnc");
usr/src/uts/common/io/elxl/elxl.c
692
APPEND_MEDIA(sc->ex_medias, MEDIAOPT_AUI, "aui");
usr/src/uts/common/io/elxl/elxl.c
693
APPEND_MEDIA(sc->ex_medias, MEDIAOPT_10FL, "fl-hdx,fl-fdx");
usr/src/uts/common/io/elxl/elxl.c
705
elxl_error(sc,
usr/src/uts/common/io/elxl/elxl.c
711
sc->ex_xcvr = default_media;
usr/src/uts/common/io/elxl/elxl.c
718
sc->ex_xcvr = default_media;
usr/src/uts/common/io/elxl/elxl.c
722
sc->ex_xcvr = exm->exm_xcvr;
usr/src/uts/common/io/elxl/elxl.c
732
elxl_setup_tx(elxl_t *sc)
usr/src/uts/common/io/elxl/elxl.c
738
if (sc->ex_conf & CONF_90XB)
usr/src/uts/common/io/elxl/elxl.c
754
elxl_init(elxl_t *sc)
usr/src/uts/common/io/elxl/elxl.c
756
if (sc->ex_suspended)
usr/src/uts/common/io/elxl/elxl.c
759
WAIT_CMD(sc);
usr/src/uts/common/io/elxl/elxl.c
760
elxl_stop(sc);
usr/src/uts/common/io/elxl/elxl.c
763
WAIT_CMD(sc);
usr/src/uts/common/io/elxl/elxl.c
765
WAIT_CMD(sc);
usr/src/uts/common/io/elxl/elxl.c
768
elxl_setup_tx(sc);
usr/src/uts/common/io/elxl/elxl.c
777
elxl_set_media(sc);
usr/src/uts/common/io/elxl/elxl.c
778
elxl_set_rxfilter(sc);
usr/src/uts/common/io/elxl/elxl.c
782
if (sc->ex_conf & CONF_90XB) {
usr/src/uts/common/io/elxl/elxl.c
793
PUT32(REG_UPLISTPTR, sc->ex_rxring.r_paddr);
usr/src/uts/common/io/elxl/elxl.c
812
elxl_set_rxfilter(elxl_t *sc)
usr/src/uts/common/io/elxl/elxl.c
816
if (sc->ex_suspended)
usr/src/uts/common/io/elxl/elxl.c
825
PUT8(W2_STATION_ADDRESS + i, sc->ex_curraddr[i]);
usr/src/uts/common/io/elxl/elxl.c
829
if (sc->ex_mccount) {
usr/src/uts/common/io/elxl/elxl.c
832
if (sc->ex_promisc) {
usr/src/uts/common/io/elxl/elxl.c
839
elxl_set_media(elxl_t *sc)
usr/src/uts/common/io/elxl/elxl.c
851
switch (sc->ex_xcvr) {
usr/src/uts/common/io/elxl/elxl.c
853
sc->ex_mii_active = B_FALSE;
usr/src/uts/common/io/elxl/elxl.c
860
sc->ex_mii_active = B_FALSE;
usr/src/uts/common/io/elxl/elxl.c
866
sc->ex_mii_active = B_FALSE; /* Is this really true? */
usr/src/uts/common/io/elxl/elxl.c
872
sc->ex_mii_active = B_FALSE;
usr/src/uts/common/io/elxl/elxl.c
886
if (sc->ex_miih) {
usr/src/uts/common/io/elxl/elxl.c
887
sc->ex_mii_active = B_TRUE;
usr/src/uts/common/io/elxl/elxl.c
889
sc->ex_mii_active = B_FALSE;
usr/src/uts/common/io/elxl/elxl.c
894
sc->ex_mii_active = B_FALSE;
usr/src/uts/common/io/elxl/elxl.c
895
elxl_error(sc, "Impossible media setting!");
usr/src/uts/common/io/elxl/elxl.c
903
configreg |= (sc->ex_xcvr);
usr/src/uts/common/io/elxl/elxl.c
912
if (!sc->ex_mii_active) {
usr/src/uts/common/io/elxl/elxl.c
915
if (sc->ex_fdx) {
usr/src/uts/common/io/elxl/elxl.c
931
elxl_t *sc = arg;
usr/src/uts/common/io/elxl/elxl.c
935
mutex_enter(&sc->ex_txlock);
usr/src/uts/common/io/elxl/elxl.c
936
if (sc->ex_mii_active) {
usr/src/uts/common/io/elxl/elxl.c
937
mutex_exit(&sc->ex_txlock);
usr/src/uts/common/io/elxl/elxl.c
940
if (sc->ex_running && !sc->ex_suspended) {
usr/src/uts/common/io/elxl/elxl.c
941
switch (sc->ex_xcvr) {
usr/src/uts/common/io/elxl/elxl.c
947
sc->ex_link = LINK_STATE_UP;
usr/src/uts/common/io/elxl/elxl.c
948
sc->ex_speed = 100000000;
usr/src/uts/common/io/elxl/elxl.c
950
sc->ex_link = LINK_STATE_DOWN;
usr/src/uts/common/io/elxl/elxl.c
951
sc->ex_speed = 0;
usr/src/uts/common/io/elxl/elxl.c
960
sc->ex_link = LINK_STATE_UP;
usr/src/uts/common/io/elxl/elxl.c
961
sc->ex_speed = 10000000;
usr/src/uts/common/io/elxl/elxl.c
963
sc->ex_link = LINK_STATE_DOWN;
usr/src/uts/common/io/elxl/elxl.c
964
sc->ex_speed = 0;
usr/src/uts/common/io/elxl/elxl.c
979
sc->ex_speed = 10000000;
usr/src/uts/common/io/elxl/elxl.c
980
sc->ex_link = LINK_STATE_UP;
usr/src/uts/common/io/elxl/elxl.c
984
sc->ex_duplex = GET16(W3_MAC_CONTROL) & MAC_CONTROL_FDX ?
usr/src/uts/common/io/elxl/elxl.c
987
sc->ex_speed = 0;
usr/src/uts/common/io/elxl/elxl.c
988
sc->ex_duplex = LINK_DUPLEX_UNKNOWN;
usr/src/uts/common/io/elxl/elxl.c
989
sc->ex_link = LINK_STATE_UNKNOWN;
usr/src/uts/common/io/elxl/elxl.c
991
link = sc->ex_link;
usr/src/uts/common/io/elxl/elxl.c
992
mutex_exit(&sc->ex_txlock);
usr/src/uts/common/io/elxl/elxl.c
994
mac_link_update(sc->ex_mach, link);
usr/src/uts/common/io/elxl/elxl.h
529
#define WAIT_CMD(sc) \
usr/src/uts/common/io/elxl/elxl.h
538
ddi_get8(sc->ex_regsh, (void *)(sc->ex_regsva + (off)))
usr/src/uts/common/io/elxl/elxl.h
540
ddi_get16(sc->ex_regsh, (void *)(sc->ex_regsva + (off)))
usr/src/uts/common/io/elxl/elxl.h
542
ddi_get32(sc->ex_regsh, (void *)(sc->ex_regsva + (off)))
usr/src/uts/common/io/elxl/elxl.h
544
ddi_put8(sc->ex_regsh, (void *)(sc->ex_regsva + (off)), val)
usr/src/uts/common/io/elxl/elxl.h
546
ddi_put16(sc->ex_regsh, (void *)(sc->ex_regsva + (off)), val)
usr/src/uts/common/io/elxl/elxl.h
548
ddi_put32(sc->ex_regsh, (void *)(sc->ex_regsva + (off)), val)
usr/src/uts/common/io/idm/idm_so.c
697
idm_set_ini_preconnect_options(idm_so_conn_t *sc, boolean_t boot_conn)
usr/src/uts/common/io/idm/idm_so.c
704
(void) ksocket_setsockopt(sc->ic_so, IPPROTO_TCP,
usr/src/uts/common/io/idm/idm_so.c
708
(void) ksocket_setsockopt(sc->ic_so, IPPROTO_TCP,
usr/src/uts/common/io/idm/idm_so.c
711
(void) ksocket_setsockopt(sc->ic_so, IPPROTO_TCP,
usr/src/uts/common/io/idm/idm_so.c
76
static void idm_set_ini_preconnect_options(idm_so_conn_t *sc,
usr/src/uts/common/io/ipw/ipw2100.c
1000
IPW2100_DBG(IPW2100_DBG_WIFI, (sc->sc_dip, CE_CONT,
usr/src/uts/common/io/ipw/ipw2100.c
1003
return (ipw2100_cmd(sc, IPW2100_CMD_ENABLE, NULL, 0));
usr/src/uts/common/io/ipw/ipw2100.c
1007
ipw2100_cmd(struct ipw2100_softc *sc, uint32_t type, void *buf, size_t len)
usr/src/uts/common/io/ipw/ipw2100.c
1016
sc->sc_cmd->type = LE_32(type);
usr/src/uts/common/io/ipw/ipw2100.c
1017
sc->sc_cmd->subtype = LE_32(0);
usr/src/uts/common/io/ipw/ipw2100.c
1018
sc->sc_cmd->seq = LE_32(0);
usr/src/uts/common/io/ipw/ipw2100.c
1023
(void) memcpy(sc->sc_cmd->data, buf, len);
usr/src/uts/common/io/ipw/ipw2100.c
1024
sc->sc_cmd->len = LE_32(len);
usr/src/uts/common/io/ipw/ipw2100.c
1029
mutex_enter(&sc->sc_tx_lock);
usr/src/uts/common/io/ipw/ipw2100.c
1031
IPW2100_DBG(IPW2100_DBG_RING, (sc->sc_dip, CE_CONT,
usr/src/uts/common/io/ipw/ipw2100.c
1032
"ipw2100_cmd(): tx-free=%d\n", sc->sc_tx_free));
usr/src/uts/common/io/ipw/ipw2100.c
1037
while (sc->sc_tx_free < 1) {
usr/src/uts/common/io/ipw/ipw2100.c
1038
sc->sc_flags |= IPW2100_FLAG_CMD_WAIT;
usr/src/uts/common/io/ipw/ipw2100.c
1039
cv_wait(&sc->sc_tx_cond, &sc->sc_tx_lock);
usr/src/uts/common/io/ipw/ipw2100.c
1041
idx = sc->sc_tx_cur;
usr/src/uts/common/io/ipw/ipw2100.c
1043
IPW2100_DBG(IPW2100_DBG_RING, (sc->sc_dip, CE_CONT,
usr/src/uts/common/io/ipw/ipw2100.c
1046
sc->sc_done = 0;
usr/src/uts/common/io/ipw/ipw2100.c
1048
txbd = &sc->sc_txbd[idx];
usr/src/uts/common/io/ipw/ipw2100.c
1049
txbd->phyaddr = LE_32(sc->sc_dma_cmd.dr_pbase);
usr/src/uts/common/io/ipw/ipw2100.c
1057
(void) ddi_dma_sync(sc->sc_dma_cmd.dr_hnd, 0,
usr/src/uts/common/io/ipw/ipw2100.c
1059
(void) ddi_dma_sync(sc->sc_dma_txbd.dr_hnd,
usr/src/uts/common/io/ipw/ipw2100.c
1066
sc->sc_tx_cur = RING_FORWARD(sc->sc_tx_cur, 1, IPW2100_NUM_TXBD);
usr/src/uts/common/io/ipw/ipw2100.c
1067
sc->sc_tx_free--;
usr/src/uts/common/io/ipw/ipw2100.c
1068
ipw2100_csr_put32(sc, IPW2100_CSR_TX_WRITE_INDEX, sc->sc_tx_cur);
usr/src/uts/common/io/ipw/ipw2100.c
1069
mutex_exit(&sc->sc_tx_lock);
usr/src/uts/common/io/ipw/ipw2100.c
1075
mutex_enter(&sc->sc_ilock);
usr/src/uts/common/io/ipw/ipw2100.c
1076
while (sc->sc_done == 0) {
usr/src/uts/common/io/ipw/ipw2100.c
1080
if (cv_reltimedwait(&sc->sc_cmd_cond, &sc->sc_ilock,
usr/src/uts/common/io/ipw/ipw2100.c
1084
mutex_exit(&sc->sc_ilock);
usr/src/uts/common/io/ipw/ipw2100.c
1086
IPW2100_DBG(IPW2100_DBG_RING, (sc->sc_dip, CE_CONT,
usr/src/uts/common/io/ipw/ipw2100.c
1087
"ipw2100_cmd(): cmd-done=%s\n", sc->sc_done ? "yes" : "no"));
usr/src/uts/common/io/ipw/ipw2100.c
1089
if (sc->sc_done == 0)
usr/src/uts/common/io/ipw/ipw2100.c
1096
ipw2100_init(struct ipw2100_softc *sc)
usr/src/uts/common/io/ipw/ipw2100.c
1100
IPW2100_DBG(IPW2100_DBG_INIT, (sc->sc_dip, CE_CONT,
usr/src/uts/common/io/ipw/ipw2100.c
1106
if (!(sc->sc_flags & IPW2100_FLAG_FW_CACHED)) {
usr/src/uts/common/io/ipw/ipw2100.c
1107
IPW2100_WARN((sc->sc_dip, CE_WARN,
usr/src/uts/common/io/ipw/ipw2100.c
1112
ipw2100_stop(sc);
usr/src/uts/common/io/ipw/ipw2100.c
1114
err = ipw2100_chip_reset(sc);
usr/src/uts/common/io/ipw/ipw2100.c
1116
IPW2100_WARN((sc->sc_dip, CE_WARN,
usr/src/uts/common/io/ipw/ipw2100.c
112
static void ipw2100_hwconf_get(struct ipw2100_softc *sc);
usr/src/uts/common/io/ipw/ipw2100.c
1124
IPW2100_DBG(IPW2100_DBG_INIT, (sc->sc_dip, CE_CONT,
usr/src/uts/common/io/ipw/ipw2100.c
1126
err = ipw2100_load_uc(sc);
usr/src/uts/common/io/ipw/ipw2100.c
1128
IPW2100_WARN((sc->sc_dip, CE_WARN,
usr/src/uts/common/io/ipw/ipw2100.c
113
static int ipw2100_chip_reset(struct ipw2100_softc *sc);
usr/src/uts/common/io/ipw/ipw2100.c
1133
ipw2100_master_stop(sc);
usr/src/uts/common/io/ipw/ipw2100.c
1135
ipw2100_ring_hwsetup(sc);
usr/src/uts/common/io/ipw/ipw2100.c
114
static void ipw2100_master_stop(struct ipw2100_softc *sc);
usr/src/uts/common/io/ipw/ipw2100.c
1140
IPW2100_DBG(IPW2100_DBG_INIT, (sc->sc_dip, CE_CONT,
usr/src/uts/common/io/ipw/ipw2100.c
1142
err = ipw2100_load_fw(sc);
usr/src/uts/common/io/ipw/ipw2100.c
1144
IPW2100_WARN((sc->sc_dip, CE_WARN,
usr/src/uts/common/io/ipw/ipw2100.c
115
static void ipw2100_stop(struct ipw2100_softc *sc);
usr/src/uts/common/io/ipw/ipw2100.c
1152
ipw2100_tables_init(sc);
usr/src/uts/common/io/ipw/ipw2100.c
1153
ipw2100_table1_put32(sc, IPW2100_INFO_LOCK, 0);
usr/src/uts/common/io/ipw/ipw2100.c
1158
err = ipw2100_config(sc);
usr/src/uts/common/io/ipw/ipw2100.c
116
static int ipw2100_config(struct ipw2100_softc *sc);
usr/src/uts/common/io/ipw/ipw2100.c
1160
IPW2100_WARN((sc->sc_dip, CE_WARN,
usr/src/uts/common/io/ipw/ipw2100.c
117
static int ipw2100_cmd(struct ipw2100_softc *sc, uint32_t type,
usr/src/uts/common/io/ipw/ipw2100.c
1170
ipw2100_stop(sc);
usr/src/uts/common/io/ipw/ipw2100.c
1179
ipw2100_hwconf_get(struct ipw2100_softc *sc)
usr/src/uts/common/io/ipw/ipw2100.c
1188
val = ipw2100_rom_get16(sc, IPW2100_ROM_MAC + 0);
usr/src/uts/common/io/ipw/ipw2100.c
1189
sc->sc_macaddr[i++] = val >> 8;
usr/src/uts/common/io/ipw/ipw2100.c
119
static int ipw2100_dma_region_alloc(struct ipw2100_softc *sc,
usr/src/uts/common/io/ipw/ipw2100.c
1190
sc->sc_macaddr[i++] = val & 0xff;
usr/src/uts/common/io/ipw/ipw2100.c
1191
val = ipw2100_rom_get16(sc, IPW2100_ROM_MAC + 1);
usr/src/uts/common/io/ipw/ipw2100.c
1192
sc->sc_macaddr[i++] = val >> 8;
usr/src/uts/common/io/ipw/ipw2100.c
1193
sc->sc_macaddr[i++] = val & 0xff;
usr/src/uts/common/io/ipw/ipw2100.c
1194
val = ipw2100_rom_get16(sc, IPW2100_ROM_MAC + 2);
usr/src/uts/common/io/ipw/ipw2100.c
1195
sc->sc_macaddr[i++] = val >> 8;
usr/src/uts/common/io/ipw/ipw2100.c
1196
sc->sc_macaddr[i++] = val & 0xff;
usr/src/uts/common/io/ipw/ipw2100.c
1201
(void) snprintf(sc->sc_macstr, sizeof (sc->sc_macstr),
usr/src/uts/common/io/ipw/ipw2100.c
1203
sc->sc_macaddr[0], sc->sc_macaddr[1],
usr/src/uts/common/io/ipw/ipw2100.c
1204
sc->sc_macaddr[2], sc->sc_macaddr[3],
usr/src/uts/common/io/ipw/ipw2100.c
1205
sc->sc_macaddr[4], sc->sc_macaddr[5]);
usr/src/uts/common/io/ipw/ipw2100.c
1210
val = ipw2100_rom_get16(sc, IPW2100_ROM_CHANNEL_LIST);
usr/src/uts/common/io/ipw/ipw2100.c
1213
sc->sc_chmask = val << 1;
usr/src/uts/common/io/ipw/ipw2100.c
1214
IPW2100_DBG(IPW2100_DBG_HWCAP, (sc->sc_dip, CE_CONT,
usr/src/uts/common/io/ipw/ipw2100.c
1215
"ipw2100_hwconf_get(): channel-mask=0x%08x\n", sc->sc_chmask));
usr/src/uts/common/io/ipw/ipw2100.c
122
static void ipw2100_tables_init(struct ipw2100_softc *sc);
usr/src/uts/common/io/ipw/ipw2100.c
1220
val = ipw2100_rom_get16(sc, IPW2100_ROM_RADIO);
usr/src/uts/common/io/ipw/ipw2100.c
1222
sc->sc_flags |= IPW2100_FLAG_HAS_RADIO_SWITCH;
usr/src/uts/common/io/ipw/ipw2100.c
1224
IPW2100_DBG(IPW2100_DBG_HWCAP, (sc->sc_dip, CE_CONT,
usr/src/uts/common/io/ipw/ipw2100.c
1226
(sc->sc_flags & IPW2100_FLAG_HAS_RADIO_SWITCH)? "yes" : "no",
usr/src/uts/common/io/ipw/ipw2100.c
123
static void ipw2100_ring_hwsetup(struct ipw2100_softc *sc);
usr/src/uts/common/io/ipw/ipw2100.c
1234
ipw2100_master_stop(struct ipw2100_softc *sc)
usr/src/uts/common/io/ipw/ipw2100.c
124
static int ipw2100_ring_alloc(struct ipw2100_softc *sc);
usr/src/uts/common/io/ipw/ipw2100.c
1242
ipw2100_csr_put32(sc, IPW2100_CSR_INTR_MASK, 0);
usr/src/uts/common/io/ipw/ipw2100.c
1244
ipw2100_csr_put32(sc, IPW2100_CSR_RST, IPW2100_RST_STOP_MASTER);
usr/src/uts/common/io/ipw/ipw2100.c
1246
if (ipw2100_csr_get32(sc, IPW2100_CSR_RST)
usr/src/uts/common/io/ipw/ipw2100.c
125
static void ipw2100_ring_free(struct ipw2100_softc *sc);
usr/src/uts/common/io/ipw/ipw2100.c
1251
if (ntries == 50 && !(sc->sc_flags & IPW2100_FLAG_QUIESCED))
usr/src/uts/common/io/ipw/ipw2100.c
1252
IPW2100_WARN((sc->sc_dip, CE_WARN,
usr/src/uts/common/io/ipw/ipw2100.c
1255
tmp = ipw2100_csr_get32(sc, IPW2100_CSR_RST);
usr/src/uts/common/io/ipw/ipw2100.c
1256
ipw2100_csr_put32(sc, IPW2100_CSR_RST,
usr/src/uts/common/io/ipw/ipw2100.c
1259
sc->sc_flags &= ~IPW2100_FLAG_FW_INITED;
usr/src/uts/common/io/ipw/ipw2100.c
126
static void ipw2100_ring_reset(struct ipw2100_softc *sc);
usr/src/uts/common/io/ipw/ipw2100.c
1266
ipw2100_chip_reset(struct ipw2100_softc *sc)
usr/src/uts/common/io/ipw/ipw2100.c
127
static int ipw2100_ring_init(struct ipw2100_softc *sc);
usr/src/uts/common/io/ipw/ipw2100.c
1271
ipw2100_master_stop(sc);
usr/src/uts/common/io/ipw/ipw2100.c
1276
tmp = ipw2100_csr_get32(sc, IPW2100_CSR_CTL);
usr/src/uts/common/io/ipw/ipw2100.c
1277
ipw2100_csr_put32(sc, IPW2100_CSR_CTL, tmp | IPW2100_CTL_INIT);
usr/src/uts/common/io/ipw/ipw2100.c
1283
if (ipw2100_csr_get32(sc, IPW2100_CSR_CTL)
usr/src/uts/common/io/ipw/ipw2100.c
1291
tmp = ipw2100_csr_get32(sc, IPW2100_CSR_RST);
usr/src/uts/common/io/ipw/ipw2100.c
1292
ipw2100_csr_put32(sc, IPW2100_CSR_RST, tmp | IPW2100_RST_SW_RESET);
usr/src/uts/common/io/ipw/ipw2100.c
1296
tmp = ipw2100_csr_get32(sc, IPW2100_CSR_CTL);
usr/src/uts/common/io/ipw/ipw2100.c
1297
ipw2100_csr_put32(sc, IPW2100_CSR_CTL, tmp | IPW2100_CTL_INIT);
usr/src/uts/common/io/ipw/ipw2100.c
1306
ipw2100_get_radio(struct ipw2100_softc *sc)
usr/src/uts/common/io/ipw/ipw2100.c
1308
if (ipw2100_csr_get32(sc, IPW2100_CSR_IO) & IPW2100_IO_RADIO_DISABLED)
usr/src/uts/common/io/ipw/ipw2100.c
1318
ipw2100_get_statistics(struct ipw2100_softc *sc)
usr/src/uts/common/io/ipw/ipw2100.c
1320
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/ipw/ipw2100.c
1326
if (!(sc->sc_flags & IPW2100_FLAG_FW_INITED)) {
usr/src/uts/common/io/ipw/ipw2100.c
1327
IPW2100_DBG(IPW2100_DBG_STATISTIC, (sc->sc_dip, CE_CONT,
usr/src/uts/common/io/ipw/ipw2100.c
1332
ipw2100_csr_put32(sc, IPW2100_CSR_AUTOINC_ADDR, sc->sc_table1_base);
usr/src/uts/common/io/ipw/ipw2100.c
1334
size = ipw2100_csr_get32(sc, IPW2100_CSR_AUTOINC_DATA);
usr/src/uts/common/io/ipw/ipw2100.c
1337
addr = ipw2100_csr_get32(sc, IPW2100_CSR_AUTOINC_DATA);
usr/src/uts/common/io/ipw/ipw2100.c
1338
*datatbl = ipw2100_imem_get32(sc, addr);
usr/src/uts/common/io/ipw/ipw2100.c
1345
IPW2100_DBG(IPW2100_DBG_STATISTIC, (sc->sc_dip, CE_CONT,
usr/src/uts/common/io/ipw/ipw2100.c
1378
ipw2100_dma_region_alloc(struct ipw2100_softc *sc,
usr/src/uts/common/io/ipw/ipw2100.c
1381
dev_info_t *dip = sc->sc_dip;
usr/src/uts/common/io/ipw/ipw2100.c
1448
ipw2100_ring_alloc(struct ipw2100_softc *sc)
usr/src/uts/common/io/ipw/ipw2100.c
1455
sc->sc_dma_txbd.dr_name = "ipw2100-tx-ring-bd";
usr/src/uts/common/io/ipw/ipw2100.c
1456
err = ipw2100_dma_region_alloc(sc, &sc->sc_dma_txbd,
usr/src/uts/common/io/ipw/ipw2100.c
1464
sc->sc_dma_txbufs[i].dr_name = "ipw2100-tx-buf";
usr/src/uts/common/io/ipw/ipw2100.c
1465
err = ipw2100_dma_region_alloc(sc, &sc->sc_dma_txbufs[i],
usr/src/uts/common/io/ipw/ipw2100.c
1470
ipw2100_dma_region_free(&sc->sc_dma_txbufs[i]);
usr/src/uts/common/io/ipw/ipw2100.c
1478
sc->sc_dma_rxbd.dr_name = "ipw2100-rx-ring-bd";
usr/src/uts/common/io/ipw/ipw2100.c
1479
err = ipw2100_dma_region_alloc(sc, &sc->sc_dma_rxbd,
usr/src/uts/common/io/ipw/ipw2100.c
1487
sc->sc_dma_rxbufs[i].dr_name = "ipw2100-rx-buf";
usr/src/uts/common/io/ipw/ipw2100.c
1488
err = ipw2100_dma_region_alloc(sc, &sc->sc_dma_rxbufs[i],
usr/src/uts/common/io/ipw/ipw2100.c
1493
ipw2100_dma_region_free(&sc->sc_dma_rxbufs[i]);
usr/src/uts/common/io/ipw/ipw2100.c
1501
sc->sc_dma_status.dr_name = "ipw2100-rx-status";
usr/src/uts/common/io/ipw/ipw2100.c
1502
err = ipw2100_dma_region_alloc(sc, &sc->sc_dma_status,
usr/src/uts/common/io/ipw/ipw2100.c
1509
sc->sc_dma_cmd.dr_name = "ipw2100-cmd";
usr/src/uts/common/io/ipw/ipw2100.c
1510
err = ipw2100_dma_region_alloc(sc, &sc->sc_dma_cmd, IPW2100_CMD_SIZE,
usr/src/uts/common/io/ipw/ipw2100.c
1518
ipw2100_dma_region_free(&sc->sc_dma_status);
usr/src/uts/common/io/ipw/ipw2100.c
152
static void ipw2100_rcvpkt(struct ipw2100_softc *sc,
usr/src/uts/common/io/ipw/ipw2100.c
1521
ipw2100_dma_region_free(&sc->sc_dma_rxbufs[i]);
usr/src/uts/common/io/ipw/ipw2100.c
1523
ipw2100_dma_region_free(&sc->sc_dma_rxbd);
usr/src/uts/common/io/ipw/ipw2100.c
1526
ipw2100_dma_region_free(&sc->sc_dma_txbufs[i]);
usr/src/uts/common/io/ipw/ipw2100.c
1528
ipw2100_dma_region_free(&sc->sc_dma_txbd);
usr/src/uts/common/io/ipw/ipw2100.c
1534
ipw2100_ring_free(struct ipw2100_softc *sc)
usr/src/uts/common/io/ipw/ipw2100.c
1541
ipw2100_dma_region_free(&sc->sc_dma_txbd);
usr/src/uts/common/io/ipw/ipw2100.c
1546
ipw2100_dma_region_free(&sc->sc_dma_txbufs[i]);
usr/src/uts/common/io/ipw/ipw2100.c
1550
ipw2100_dma_region_free(&sc->sc_dma_rxbd);
usr/src/uts/common/io/ipw/ipw2100.c
1555
ipw2100_dma_region_free(&sc->sc_dma_rxbufs[i]);
usr/src/uts/common/io/ipw/ipw2100.c
1559
ipw2100_dma_region_free(&sc->sc_dma_status);
usr/src/uts/common/io/ipw/ipw2100.c
1563
ipw2100_dma_region_free(&sc->sc_dma_cmd);
usr/src/uts/common/io/ipw/ipw2100.c
1567
ipw2100_ring_reset(struct ipw2100_softc *sc)
usr/src/uts/common/io/ipw/ipw2100.c
1574
sc->sc_tx_cur = 0;
usr/src/uts/common/io/ipw/ipw2100.c
1575
sc->sc_tx_free = IPW2100_NUM_TXBD;
usr/src/uts/common/io/ipw/ipw2100.c
1576
sc->sc_txbd = (struct ipw2100_bd *)sc->sc_dma_txbd.dr_base;
usr/src/uts/common/io/ipw/ipw2100.c
1578
sc->sc_txbufs[i] =
usr/src/uts/common/io/ipw/ipw2100.c
1579
(struct ipw2100_txb *)sc->sc_dma_txbufs[i].dr_base;
usr/src/uts/common/io/ipw/ipw2100.c
1583
sc->sc_rx_cur = 0;
usr/src/uts/common/io/ipw/ipw2100.c
1584
sc->sc_rx_free = IPW2100_NUM_RXBD;
usr/src/uts/common/io/ipw/ipw2100.c
1585
sc->sc_status = (struct ipw2100_status *)sc->sc_dma_status.dr_base;
usr/src/uts/common/io/ipw/ipw2100.c
1586
sc->sc_rxbd = (struct ipw2100_bd *)sc->sc_dma_rxbd.dr_base;
usr/src/uts/common/io/ipw/ipw2100.c
1588
sc->sc_rxbufs[i] =
usr/src/uts/common/io/ipw/ipw2100.c
1589
(struct ipw2100_rxb *)sc->sc_dma_rxbufs[i].dr_base;
usr/src/uts/common/io/ipw/ipw2100.c
1593
sc->sc_rxbd[i].phyaddr = LE_32(sc->sc_dma_rxbufs[i].dr_pbase);
usr/src/uts/common/io/ipw/ipw2100.c
1594
sc->sc_rxbd[i].len = LE_32(sc->sc_dma_rxbufs[i].dr_size);
usr/src/uts/common/io/ipw/ipw2100.c
1595
sc->sc_rxbd[i].flags = 0;
usr/src/uts/common/io/ipw/ipw2100.c
1596
sc->sc_rxbd[i].nfrag = 1;
usr/src/uts/common/io/ipw/ipw2100.c
160
static void ipw2100_thread(struct ipw2100_softc *sc);
usr/src/uts/common/io/ipw/ipw2100.c
1601
sc->sc_cmd = (struct ipw2100_cmd *)sc->sc_dma_cmd.dr_base;
usr/src/uts/common/io/ipw/ipw2100.c
1608
ipw2100_ring_init(struct ipw2100_softc *sc)
usr/src/uts/common/io/ipw/ipw2100.c
1612
err = ipw2100_ring_alloc(sc);
usr/src/uts/common/io/ipw/ipw2100.c
1616
ipw2100_ring_reset(sc);
usr/src/uts/common/io/ipw/ipw2100.c
1622
ipw2100_ring_hwsetup(struct ipw2100_softc *sc)
usr/src/uts/common/io/ipw/ipw2100.c
1624
ipw2100_ring_reset(sc);
usr/src/uts/common/io/ipw/ipw2100.c
1628
ipw2100_csr_put32(sc, IPW2100_CSR_TX_BD_BASE, sc->sc_dma_txbd.dr_pbase);
usr/src/uts/common/io/ipw/ipw2100.c
1629
ipw2100_csr_put32(sc, IPW2100_CSR_TX_BD_SIZE, IPW2100_NUM_TXBD);
usr/src/uts/common/io/ipw/ipw2100.c
1633
ipw2100_csr_put32(sc, IPW2100_CSR_TX_READ_INDEX, sc->sc_tx_cur);
usr/src/uts/common/io/ipw/ipw2100.c
1634
ipw2100_csr_put32(sc, IPW2100_CSR_TX_WRITE_INDEX, sc->sc_tx_cur);
usr/src/uts/common/io/ipw/ipw2100.c
1638
ipw2100_csr_put32(sc, IPW2100_CSR_RX_BD_BASE, sc->sc_dma_rxbd.dr_pbase);
usr/src/uts/common/io/ipw/ipw2100.c
1639
ipw2100_csr_put32(sc, IPW2100_CSR_RX_BD_SIZE, IPW2100_NUM_RXBD);
usr/src/uts/common/io/ipw/ipw2100.c
1643
IPW2100_DBG(IPW2100_DBG_RING, (sc->sc_dip, CE_CONT,
usr/src/uts/common/io/ipw/ipw2100.c
1645
sc->sc_rx_cur, RING_BACKWARD(sc->sc_rx_cur, 1, IPW2100_NUM_RXBD)));
usr/src/uts/common/io/ipw/ipw2100.c
1646
ipw2100_csr_put32(sc, IPW2100_CSR_RX_READ_INDEX, sc->sc_rx_cur);
usr/src/uts/common/io/ipw/ipw2100.c
1647
ipw2100_csr_put32(sc, IPW2100_CSR_RX_WRITE_INDEX,
usr/src/uts/common/io/ipw/ipw2100.c
1648
RING_BACKWARD(sc->sc_rx_cur, 1, IPW2100_NUM_RXBD));
usr/src/uts/common/io/ipw/ipw2100.c
165
static int ipw2100_ioctl(struct ipw2100_softc *sc, queue_t *q, mblk_t *m);
usr/src/uts/common/io/ipw/ipw2100.c
1652
ipw2100_csr_put32(sc, IPW2100_CSR_RX_STATUS_BASE,
usr/src/uts/common/io/ipw/ipw2100.c
1653
sc->sc_dma_status.dr_pbase);
usr/src/uts/common/io/ipw/ipw2100.c
166
static int ipw2100_getset(struct ipw2100_softc *sc,
usr/src/uts/common/io/ipw/ipw2100.c
1665
struct ipw2100_softc *sc = (struct ipw2100_softc *)ic;
usr/src/uts/common/io/ipw/ipw2100.c
1671
IPW2100_DBG(IPW2100_DBG_WIFI, (sc->sc_dip, CE_CONT,
usr/src/uts/common/io/ipw/ipw2100.c
168
static int ipw_wificfg_radio(struct ipw2100_softc *sc,
usr/src/uts/common/io/ipw/ipw2100.c
1682
(void) ipw2100_table2_getbuf(sc, IPW2100_INFO_CURRENT_BSSID,
usr/src/uts/common/io/ipw/ipw2100.c
171
static int ipw_wificfg_disassoc(struct ipw2100_softc *sc,
usr/src/uts/common/io/ipw/ipw2100.c
1720
sc->sc_linkstate = LINK_STATE_UP;
usr/src/uts/common/io/ipw/ipw2100.c
1721
sc->sc_flags |= IPW2100_FLAG_LINK_CHANGE;
usr/src/uts/common/io/ipw/ipw2100.c
1727
sc->sc_linkstate = LINK_STATE_DOWN;
usr/src/uts/common/io/ipw/ipw2100.c
1728
sc->sc_flags |= IPW2100_FLAG_LINK_CHANGE;
usr/src/uts/common/io/ipw/ipw2100.c
177
static int ipw2100_cpr_suspend(struct ipw2100_softc *sc);
usr/src/uts/common/io/ipw/ipw2100.c
178
static int ipw2100_cpr_resume(struct ipw2100_softc *sc);
usr/src/uts/common/io/ipw/ipw2100.c
1810
ipw2100_thread(struct ipw2100_softc *sc)
usr/src/uts/common/io/ipw/ipw2100.c
1812
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/ipw/ipw2100.c
1816
IPW2100_DBG(IPW2100_DBG_SOFTINT, (sc->sc_dip, CE_CONT,
usr/src/uts/common/io/ipw/ipw2100.c
1818
sc->sc_linkstate));
usr/src/uts/common/io/ipw/ipw2100.c
1820
mutex_enter(&sc->sc_mflock);
usr/src/uts/common/io/ipw/ipw2100.c
1822
while (sc->sc_mfthread_switch) {
usr/src/uts/common/io/ipw/ipw2100.c
1826
if (ic->ic_mach && (sc->sc_flags & IPW2100_FLAG_LINK_CHANGE)) {
usr/src/uts/common/io/ipw/ipw2100.c
1827
IPW2100_DBG(IPW2100_DBG_SOFTINT, (sc->sc_dip, CE_CONT,
usr/src/uts/common/io/ipw/ipw2100.c
1829
sc->sc_linkstate));
usr/src/uts/common/io/ipw/ipw2100.c
1831
sc->sc_flags &= ~IPW2100_FLAG_LINK_CHANGE;
usr/src/uts/common/io/ipw/ipw2100.c
1832
nlstate = sc->sc_linkstate;
usr/src/uts/common/io/ipw/ipw2100.c
1834
mutex_exit(&sc->sc_mflock);
usr/src/uts/common/io/ipw/ipw2100.c
1836
mutex_enter(&sc->sc_mflock);
usr/src/uts/common/io/ipw/ipw2100.c
1843
(sc->sc_flags & IPW2100_FLAG_HW_ERR_RECOVER)) {
usr/src/uts/common/io/ipw/ipw2100.c
1845
IPW2100_DBG(IPW2100_DBG_FATAL, (sc->sc_dip, CE_CONT,
usr/src/uts/common/io/ipw/ipw2100.c
1847
sc->sc_flags &= ~IPW2100_FLAG_HW_ERR_RECOVER;
usr/src/uts/common/io/ipw/ipw2100.c
1849
mutex_exit(&sc->sc_mflock);
usr/src/uts/common/io/ipw/ipw2100.c
1850
(void) ipw2100_init(sc); /* Force stat machine */
usr/src/uts/common/io/ipw/ipw2100.c
1852
mutex_enter(&sc->sc_mflock);
usr/src/uts/common/io/ipw/ipw2100.c
1861
mutex_exit(&sc->sc_mflock);
usr/src/uts/common/io/ipw/ipw2100.c
1862
ipw2100_get_statistics(sc);
usr/src/uts/common/io/ipw/ipw2100.c
1863
mutex_enter(&sc->sc_mflock);
usr/src/uts/common/io/ipw/ipw2100.c
1867
mutex_exit(&sc->sc_mflock);
usr/src/uts/common/io/ipw/ipw2100.c
1869
mutex_enter(&sc->sc_mflock);
usr/src/uts/common/io/ipw/ipw2100.c
1871
sc->sc_mf_thread = NULL;
usr/src/uts/common/io/ipw/ipw2100.c
1872
cv_broadcast(&sc->sc_mfthread_cv);
usr/src/uts/common/io/ipw/ipw2100.c
1873
mutex_exit(&sc->sc_mflock);
usr/src/uts/common/io/ipw/ipw2100.c
1879
struct ipw2100_softc *sc = (struct ipw2100_softc *)arg;
usr/src/uts/common/io/ipw/ipw2100.c
1881
IPW2100_DBG(IPW2100_DBG_GLD, (sc->sc_dip, CE_CONT,
usr/src/uts/common/io/ipw/ipw2100.c
1887
(void) ipw2100_init(sc);
usr/src/uts/common/io/ipw/ipw2100.c
1889
sc->sc_flags |= IPW2100_FLAG_RUNNING;
usr/src/uts/common/io/ipw/ipw2100.c
1901
struct ipw2100_softc *sc = (struct ipw2100_softc *)arg;
usr/src/uts/common/io/ipw/ipw2100.c
1903
IPW2100_DBG(IPW2100_DBG_GLD, (sc->sc_dip, CE_CONT,
usr/src/uts/common/io/ipw/ipw2100.c
1906
ipw2100_stop(sc);
usr/src/uts/common/io/ipw/ipw2100.c
1908
sc->sc_flags &= ~IPW2100_FLAG_RUNNING;
usr/src/uts/common/io/ipw/ipw2100.c
1914
struct ipw2100_softc *sc = (struct ipw2100_softc *)arg;
usr/src/uts/common/io/ipw/ipw2100.c
1915
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/ipw/ipw2100.c
1918
IPW2100_DBG(IPW2100_DBG_GLD, (sc->sc_dip, CE_CONT,
usr/src/uts/common/io/ipw/ipw2100.c
1921
IPW2100_DBG(IPW2100_DBG_GLD, (sc->sc_dip, CE_CONT,
usr/src/uts/common/io/ipw/ipw2100.c
1930
if (sc->sc_flags & IPW2100_FLAG_RUNNING) {
usr/src/uts/common/io/ipw/ipw2100.c
1931
err = ipw2100_config(sc);
usr/src/uts/common/io/ipw/ipw2100.c
1933
IPW2100_WARN((sc->sc_dip, CE_WARN,
usr/src/uts/common/io/ipw/ipw2100.c
1949
struct ipw2100_softc *sc = (struct ipw2100_softc *)arg;
usr/src/uts/common/io/ipw/ipw2100.c
1952
IPW2100_DBG(IPW2100_DBG_GLD, (sc->sc_dip, CE_CONT,
usr/src/uts/common/io/ipw/ipw2100.c
1958
if (!(sc->if_flags & IFF_PROMISC)) {
usr/src/uts/common/io/ipw/ipw2100.c
1959
sc->if_flags |= IFF_PROMISC;
usr/src/uts/common/io/ipw/ipw2100.c
1963
if (sc->if_flags & IFF_PROMISC) {
usr/src/uts/common/io/ipw/ipw2100.c
1964
sc->if_flags &= ~IFF_PROMISC;
usr/src/uts/common/io/ipw/ipw2100.c
1968
if (recfg && (sc->sc_flags & IPW2100_FLAG_RUNNING)) {
usr/src/uts/common/io/ipw/ipw2100.c
1969
err = ipw2100_config(sc);
usr/src/uts/common/io/ipw/ipw2100.c
1971
IPW2100_WARN((sc->sc_dip, CE_WARN,
usr/src/uts/common/io/ipw/ipw2100.c
1986
struct ipw2100_softc *sc = (struct ipw2100_softc *)arg;
usr/src/uts/common/io/ipw/ipw2100.c
1987
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/ipw/ipw2100.c
1996
IPW2100_DBG(IPW2100_DBG_GLD, (sc->sc_dip, CE_CONT,
usr/src/uts/common/io/ipw/ipw2100.c
2020
struct ipw2100_softc *sc = (struct ipw2100_softc *)ic;
usr/src/uts/common/io/ipw/ipw2100.c
2040
IPW2100_DBG(IPW2100_DBG_GLD, (sc->sc_dip, CE_CONT,
usr/src/uts/common/io/ipw/ipw2100.c
2053
mutex_enter(&sc->sc_tx_lock);
usr/src/uts/common/io/ipw/ipw2100.c
2060
if (sc->sc_tx_free < 2) {
usr/src/uts/common/io/ipw/ipw2100.c
2061
mutex_enter(&sc->sc_resched_lock);
usr/src/uts/common/io/ipw/ipw2100.c
2062
IPW2100_DBG(IPW2100_DBG_RING, (sc->sc_dip, CE_WARN,
usr/src/uts/common/io/ipw/ipw2100.c
2064
sc->sc_tx_free));
usr/src/uts/common/io/ipw/ipw2100.c
2066
sc->sc_flags |= IPW2100_FLAG_TX_SCHED;
usr/src/uts/common/io/ipw/ipw2100.c
2068
mutex_exit(&sc->sc_resched_lock);
usr/src/uts/common/io/ipw/ipw2100.c
2071
IPW2100_DBG(IPW2100_DBG_RING, (sc->sc_dip, CE_CONT,
usr/src/uts/common/io/ipw/ipw2100.c
2073
sc->sc_tx_free, sc->sc_tx_cur));
usr/src/uts/common/io/ipw/ipw2100.c
2097
IPW2100_DBG(IPW2100_DBG_WIFI, (sc->sc_dip, CE_CONT,
usr/src/uts/common/io/ipw/ipw2100.c
2116
IPW2100_DBG(IPW2100_DBG_WIFI, (sc->sc_dip, CE_CONT,
usr/src/uts/common/io/ipw/ipw2100.c
2122
IPW2100_DBG(IPW2100_DBG_WIFI, (sc->sc_dip, CE_CONT,
usr/src/uts/common/io/ipw/ipw2100.c
2130
IPW2100_DBG(IPW2100_DBG_WIFI, (sc->sc_dip, CE_CONT,
usr/src/uts/common/io/ipw/ipw2100.c
2139
idx = sc->sc_tx_cur;
usr/src/uts/common/io/ipw/ipw2100.c
2140
txbd[0] = &sc->sc_txbd[idx];
usr/src/uts/common/io/ipw/ipw2100.c
2143
sc->sc_tx_cur = RING_FORWARD(sc->sc_tx_cur, 1, IPW2100_NUM_TXBD);
usr/src/uts/common/io/ipw/ipw2100.c
2144
sc->sc_tx_free--;
usr/src/uts/common/io/ipw/ipw2100.c
2149
idx = sc->sc_tx_cur;
usr/src/uts/common/io/ipw/ipw2100.c
2150
txbd[1] = &sc->sc_txbd[idx];
usr/src/uts/common/io/ipw/ipw2100.c
2153
sc->sc_tx_cur = RING_FORWARD(sc->sc_tx_cur, 1, IPW2100_NUM_TXBD);
usr/src/uts/common/io/ipw/ipw2100.c
2154
sc->sc_tx_free--;
usr/src/uts/common/io/ipw/ipw2100.c
2159
txbuf = sc->sc_txbufs[bidx];
usr/src/uts/common/io/ipw/ipw2100.c
2160
dr = &sc->sc_dma_txbufs[bidx];
usr/src/uts/common/io/ipw/ipw2100.c
2238
(void) ddi_dma_sync(sc->sc_dma_txbd.dr_hnd,
usr/src/uts/common/io/ipw/ipw2100.c
2239
(txbd[0] - sc->sc_txbd) * sizeof (struct ipw2100_bd),
usr/src/uts/common/io/ipw/ipw2100.c
2245
(void) ddi_dma_sync(sc->sc_dma_txbd.dr_hnd,
usr/src/uts/common/io/ipw/ipw2100.c
2246
(txbd[1] - sc->sc_txbd) * sizeof (struct ipw2100_bd),
usr/src/uts/common/io/ipw/ipw2100.c
2251
ipw2100_csr_put32(sc, IPW2100_CSR_TX_WRITE_INDEX, sc->sc_tx_cur);
usr/src/uts/common/io/ipw/ipw2100.c
2259
mutex_exit(&sc->sc_tx_lock);
usr/src/uts/common/io/ipw/ipw2100.c
2261
IPW2100_DBG(IPW2100_DBG_GLD, (sc->sc_dip, CE_CONT,
usr/src/uts/common/io/ipw/ipw2100.c
2275
struct ipw2100_softc *sc = (struct ipw2100_softc *)arg;
usr/src/uts/common/io/ipw/ipw2100.c
2276
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/ipw/ipw2100.c
2279
IPW2100_DBG(IPW2100_DBG_GLD, (sc->sc_dip, CE_CONT,
usr/src/uts/common/io/ipw/ipw2100.c
2285
if (ipw2100_ioctl(sc, q, m) == IEEE80211_IOCTL_NOT_REQUIRED)
usr/src/uts/common/io/ipw/ipw2100.c
2290
if (sc->sc_flags & IPW2100_FLAG_RUNNING) {
usr/src/uts/common/io/ipw/ipw2100.c
2291
(void) ipw2100_m_start(sc);
usr/src/uts/common/io/ipw/ipw2100.c
2297
if (sc->sc_flags & IPW2100_FLAG_RUNNING)
usr/src/uts/common/io/ipw/ipw2100.c
2298
(void) ipw2100_chip_reset(sc);
usr/src/uts/common/io/ipw/ipw2100.c
2303
ipw2100_ioctl(struct ipw2100_softc *sc, queue_t *q, mblk_t *m)
usr/src/uts/common/io/ipw/ipw2100.c
2312
IPW2100_DBG(IPW2100_DBG_IOCTL, (sc->sc_dip, CE_CONT,
usr/src/uts/common/io/ipw/ipw2100.c
2334
IPW2100_DBG(IPW2100_DBG_IOCTL, (sc->sc_dip, CE_CONT,
usr/src/uts/common/io/ipw/ipw2100.c
2363
ret = ipw2100_getset(sc, m0, cmd, &need_net80211);
usr/src/uts/common/io/ipw/ipw2100.c
2367
IPW2100_DBG(IPW2100_DBG_IOCTL, (sc->sc_dip, CE_CONT,
usr/src/uts/common/io/ipw/ipw2100.c
2381
ipw2100_getset(struct ipw2100_softc *sc, mblk_t *m, uint32_t cmd,
usr/src/uts/common/io/ipw/ipw2100.c
2393
IPW2100_DBG(IPW2100_DBG_IOCTL, (sc->sc_dip, CE_CONT,
usr/src/uts/common/io/ipw/ipw2100.c
2401
ret = ipw_wificfg_radio(sc, cmd, outfp);
usr/src/uts/common/io/ipw/ipw2100.c
2417
ret = ipw_wificfg_disassoc(sc, outfp);
usr/src/uts/common/io/ipw/ipw2100.c
2445
if ((ipw2100_get_radio(sc) == 0) &&
usr/src/uts/common/io/ipw/ipw2100.c
2448
IPW2100_REPORT((sc->sc_dip, CE_WARN,
usr/src/uts/common/io/ipw/ipw2100.c
2475
struct ipw2100_softc *sc = (struct ipw2100_softc *)arg;
usr/src/uts/common/io/ipw/ipw2100.c
2476
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/ipw/ipw2100.c
2482
IPW2100_DBG(IPW2100_DBG_BRUSSELS, (sc->sc_dip, CE_CONT,
usr/src/uts/common/io/ipw/ipw2100.c
2486
*(wl_linkstatus_t *)wldp_buf = ipw2100_get_radio(sc);
usr/src/uts/common/io/ipw/ipw2100.c
2502
struct ipw2100_softc *sc = (struct ipw2100_softc *)arg;
usr/src/uts/common/io/ipw/ipw2100.c
2503
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/ipw/ipw2100.c
2513
struct ipw2100_softc *sc = (struct ipw2100_softc *)arg;
usr/src/uts/common/io/ipw/ipw2100.c
2514
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/ipw/ipw2100.c
2520
IPW2100_DBG(IPW2100_DBG_BRUSSELS, (sc->sc_dip, CE_CONT,
usr/src/uts/common/io/ipw/ipw2100.c
2525
IPW2100_DBG(IPW2100_DBG_BRUSSELS, (sc->sc_dip, CE_CONT,
usr/src/uts/common/io/ipw/ipw2100.c
2537
if (sc->sc_flags & IPW2100_FLAG_RUNNING) {
usr/src/uts/common/io/ipw/ipw2100.c
2538
(void) ipw2100_m_start(sc);
usr/src/uts/common/io/ipw/ipw2100.c
2550
ipw_wificfg_radio(struct ipw2100_softc *sc, uint32_t cmd, wldp_t *outfp)
usr/src/uts/common/io/ipw/ipw2100.c
2556
*(wl_linkstatus_t *)(outfp->wldp_buf) = ipw2100_get_radio(sc);
usr/src/uts/common/io/ipw/ipw2100.c
256
struct ipw2100_softc *sc;
usr/src/uts/common/io/ipw/ipw2100.c
2580
ipw_wificfg_disassoc(struct ipw2100_softc *sc, wldp_t *outfp)
usr/src/uts/common/io/ipw/ipw2100.c
2582
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/ipw/ipw2100.c
2638
ipw2100_rcvpkt(struct ipw2100_softc *sc, struct ipw2100_status *status,
usr/src/uts/common/io/ipw/ipw2100.c
2641
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/ipw/ipw2100.c
2657
IPW2100_WARN((sc->sc_dip, CE_WARN,
usr/src/uts/common/io/ipw/ipw2100.c
2666
struct ipw2100_softc *sc = (struct ipw2100_softc *)(uintptr_t)arg;
usr/src/uts/common/io/ipw/ipw2100.c
2668
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/ipw/ipw2100.c
2677
if (sc->sc_suspended)
usr/src/uts/common/io/ipw/ipw2100.c
2680
ireg = ipw2100_csr_get32(sc, IPW2100_CSR_INTR);
usr/src/uts/common/io/ipw/ipw2100.c
2688
ipw2100_csr_put32(sc, IPW2100_CSR_INTR_MASK, 0);
usr/src/uts/common/io/ipw/ipw2100.c
269
sc = ddi_get_soft_state(ipw2100_ssp, ddi_get_instance(dip));
usr/src/uts/common/io/ipw/ipw2100.c
2693
ipw2100_csr_put32(sc, IPW2100_CSR_INTR, ireg);
usr/src/uts/common/io/ipw/ipw2100.c
2695
IPW2100_DBG(IPW2100_DBG_INT, (sc->sc_dip, CE_CONT,
usr/src/uts/common/io/ipw/ipw2100.c
270
if (sc == NULL) {
usr/src/uts/common/io/ipw/ipw2100.c
2700
IPW2100_DBG(IPW2100_DBG_FATAL, (sc->sc_dip, CE_CONT,
usr/src/uts/common/io/ipw/ipw2100.c
2707
mutex_enter(&sc->sc_mflock);
usr/src/uts/common/io/ipw/ipw2100.c
2708
sc->sc_flags |= IPW2100_FLAG_HW_ERR_RECOVER;
usr/src/uts/common/io/ipw/ipw2100.c
2709
mutex_exit(&sc->sc_mflock);
usr/src/uts/common/io/ipw/ipw2100.c
2718
mutex_enter(&sc->sc_ilock);
usr/src/uts/common/io/ipw/ipw2100.c
2719
sc->sc_flags |= IPW2100_FLAG_FW_INITED;
usr/src/uts/common/io/ipw/ipw2100.c
2720
cv_signal(&sc->sc_fw_cond);
usr/src/uts/common/io/ipw/ipw2100.c
2721
mutex_exit(&sc->sc_ilock);
usr/src/uts/common/io/ipw/ipw2100.c
2728
ridx = ipw2100_csr_get32(sc,
usr/src/uts/common/io/ipw/ipw2100.c
2731
for (; sc->sc_rx_cur != ridx;
usr/src/uts/common/io/ipw/ipw2100.c
2732
sc->sc_rx_cur = RING_FORWARD(
usr/src/uts/common/io/ipw/ipw2100.c
2733
sc->sc_rx_cur, 1, IPW2100_NUM_RXBD)) {
usr/src/uts/common/io/ipw/ipw2100.c
2735
i = sc->sc_rx_cur;
usr/src/uts/common/io/ipw/ipw2100.c
2736
status = &sc->sc_status[i];
usr/src/uts/common/io/ipw/ipw2100.c
2737
rxbuf = &sc->sc_rxbufs[i]->rxb_dat[0];
usr/src/uts/common/io/ipw/ipw2100.c
2738
dr = &sc->sc_dma_rxbufs[i];
usr/src/uts/common/io/ipw/ipw2100.c
274
return (ipw2100_cpr_resume(sc));
usr/src/uts/common/io/ipw/ipw2100.c
2743
(void) ddi_dma_sync(sc->sc_dma_status.dr_hnd,
usr/src/uts/common/io/ipw/ipw2100.c
2747
(void) ddi_dma_sync(sc->sc_dma_rxbd.dr_hnd,
usr/src/uts/common/io/ipw/ipw2100.c
2754
IPW2100_DBG(IPW2100_DBG_INT, (sc->sc_dip, CE_CONT,
usr/src/uts/common/io/ipw/ipw2100.c
2760
rxbd = &sc->sc_rxbd[i];
usr/src/uts/common/io/ipw/ipw2100.c
2761
IPW2100_DBG(IPW2100_DBG_INT, (sc->sc_dip, CE_CONT,
usr/src/uts/common/io/ipw/ipw2100.c
2772
mutex_enter(&sc->sc_ilock);
usr/src/uts/common/io/ipw/ipw2100.c
2773
sc->sc_done = 1;
usr/src/uts/common/io/ipw/ipw2100.c
2774
cv_signal(&sc->sc_cmd_cond);
usr/src/uts/common/io/ipw/ipw2100.c
2775
mutex_exit(&sc->sc_ilock);
usr/src/uts/common/io/ipw/ipw2100.c
2783
(sc->sc_dip, CE_CONT,
usr/src/uts/common/io/ipw/ipw2100.c
2803
IPW2100_REPORT((sc->sc_dip, CE_WARN,
usr/src/uts/common/io/ipw/ipw2100.c
2805
ipw2100_stop(sc);
usr/src/uts/common/io/ipw/ipw2100.c
2823
ipw2100_rcvpkt(sc, status, rxbuf);
usr/src/uts/common/io/ipw/ipw2100.c
2828
IPW2100_WARN((sc->sc_dip, CE_WARN,
usr/src/uts/common/io/ipw/ipw2100.c
2838
ipw2100_csr_put32(sc, IPW2100_CSR_RX_WRITE_INDEX,
usr/src/uts/common/io/ipw/ipw2100.c
2839
RING_BACKWARD(sc->sc_rx_cur, 1, IPW2100_NUM_RXBD));
usr/src/uts/common/io/ipw/ipw2100.c
2846
mutex_enter(&sc->sc_tx_lock);
usr/src/uts/common/io/ipw/ipw2100.c
2847
ridx = ipw2100_csr_get32(sc, IPW2100_CSR_TX_READ_INDEX);
usr/src/uts/common/io/ipw/ipw2100.c
2848
len = RING_FLEN(RING_FORWARD(sc->sc_tx_cur,
usr/src/uts/common/io/ipw/ipw2100.c
2849
sc->sc_tx_free, IPW2100_NUM_TXBD),
usr/src/uts/common/io/ipw/ipw2100.c
2851
sc->sc_tx_free += len;
usr/src/uts/common/io/ipw/ipw2100.c
2852
IPW2100_DBG(IPW2100_DBG_INT, (sc->sc_dip, CE_CONT,
usr/src/uts/common/io/ipw/ipw2100.c
2854
mutex_exit(&sc->sc_tx_lock);
usr/src/uts/common/io/ipw/ipw2100.c
2856
mutex_enter(&sc->sc_resched_lock);
usr/src/uts/common/io/ipw/ipw2100.c
2857
if (len > 1 && (sc->sc_flags & IPW2100_FLAG_TX_SCHED)) {
usr/src/uts/common/io/ipw/ipw2100.c
2858
sc->sc_flags &= ~IPW2100_FLAG_TX_SCHED;
usr/src/uts/common/io/ipw/ipw2100.c
2861
mutex_exit(&sc->sc_resched_lock);
usr/src/uts/common/io/ipw/ipw2100.c
2868
ipw2100_csr_put32(sc, IPW2100_CSR_INTR_MASK, IPW2100_INTR_MASK_ALL);
usr/src/uts/common/io/ipw/ipw2100.c
287
sc = ddi_get_soft_state(ipw2100_ssp, instance);
usr/src/uts/common/io/ipw/ipw2100.c
288
sc->sc_dip = dip;
usr/src/uts/common/io/ipw/ipw2100.c
306
err = ddi_regs_map_setup(dip, IPW2100_PCI_CSR_RNUM, &sc->sc_regs,
usr/src/uts/common/io/ipw/ipw2100.c
307
0, 0, &ipw2100_csr_accattr, &sc->sc_ioh);
usr/src/uts/common/io/ipw/ipw2100.c
317
err = ipw2100_chip_reset(sc);
usr/src/uts/common/io/ipw/ipw2100.c
327
ipw2100_hwconf_get(sc);
usr/src/uts/common/io/ipw/ipw2100.c
328
err = ipw2100_ring_init(sc);
usr/src/uts/common/io/ipw/ipw2100.c
339
err = ddi_get_iblock_cookie(dip, 0, &sc->sc_iblk);
usr/src/uts/common/io/ipw/ipw2100.c
348
mutex_init(&sc->sc_ilock, "interrupt-lock", MUTEX_DRIVER,
usr/src/uts/common/io/ipw/ipw2100.c
349
(void *) sc->sc_iblk);
usr/src/uts/common/io/ipw/ipw2100.c
350
cv_init(&sc->sc_fw_cond, "firmware", CV_DRIVER, NULL);
usr/src/uts/common/io/ipw/ipw2100.c
351
cv_init(&sc->sc_cmd_cond, "command", CV_DRIVER, NULL);
usr/src/uts/common/io/ipw/ipw2100.c
355
mutex_init(&sc->sc_tx_lock, "tx-ring", MUTEX_DRIVER,
usr/src/uts/common/io/ipw/ipw2100.c
356
(void *) sc->sc_iblk);
usr/src/uts/common/io/ipw/ipw2100.c
357
cv_init(&sc->sc_tx_cond, "tx-ring", CV_DRIVER, NULL);
usr/src/uts/common/io/ipw/ipw2100.c
361
mutex_init(&sc->sc_resched_lock, "reschedule-lock", MUTEX_DRIVER,
usr/src/uts/common/io/ipw/ipw2100.c
362
(void *) sc->sc_iblk);
usr/src/uts/common/io/ipw/ipw2100.c
366
mutex_init(&sc->sc_mflock, "function-lock", MUTEX_DRIVER,
usr/src/uts/common/io/ipw/ipw2100.c
367
(void *) sc->sc_iblk);
usr/src/uts/common/io/ipw/ipw2100.c
368
cv_init(&sc->sc_mfthread_cv, NULL, CV_DRIVER, NULL);
usr/src/uts/common/io/ipw/ipw2100.c
369
sc->sc_mf_thread = NULL;
usr/src/uts/common/io/ipw/ipw2100.c
370
sc->sc_mfthread_switch = 0;
usr/src/uts/common/io/ipw/ipw2100.c
375
ic = &sc->sc_ic;
usr/src/uts/common/io/ipw/ipw2100.c
387
IEEE80211_ADDR_COPY(ic->ic_macaddr, sc->sc_macaddr);
usr/src/uts/common/io/ipw/ipw2100.c
389
if (sc->sc_chmask &(1 << i)) {
usr/src/uts/common/io/ipw/ipw2100.c
408
sc->sc_newstate = ic->ic_newstate;
usr/src/uts/common/io/ipw/ipw2100.c
417
sc->sc_authmode = IEEE80211_AUTH_OPEN;
usr/src/uts/common/io/ipw/ipw2100.c
422
err = ddi_add_intr(dip, 0, &sc->sc_iblk, NULL,
usr/src/uts/common/io/ipw/ipw2100.c
423
ipw2100_intr, (caddr_t)sc);
usr/src/uts/common/io/ipw/ipw2100.c
445
macp->m_driver = sc;
usr/src/uts/common/io/ipw/ipw2100.c
479
(void) ipw2100_cache_firmware(sc);
usr/src/uts/common/io/ipw/ipw2100.c
490
sc->sc_mfthread_switch = 1;
usr/src/uts/common/io/ipw/ipw2100.c
491
if (sc->sc_mf_thread == NULL)
usr/src/uts/common/io/ipw/ipw2100.c
492
sc->sc_mf_thread = thread_create((caddr_t)NULL, 0,
usr/src/uts/common/io/ipw/ipw2100.c
493
ipw2100_thread, sc, 0, &p0, TS_RUN, minclsyspri);
usr/src/uts/common/io/ipw/ipw2100.c
498
ddi_remove_intr(dip, 0, sc->sc_iblk);
usr/src/uts/common/io/ipw/ipw2100.c
502
mutex_destroy(&sc->sc_ilock);
usr/src/uts/common/io/ipw/ipw2100.c
503
mutex_destroy(&sc->sc_tx_lock);
usr/src/uts/common/io/ipw/ipw2100.c
504
mutex_destroy(&sc->sc_mflock);
usr/src/uts/common/io/ipw/ipw2100.c
505
mutex_destroy(&sc->sc_resched_lock);
usr/src/uts/common/io/ipw/ipw2100.c
506
cv_destroy(&sc->sc_mfthread_cv);
usr/src/uts/common/io/ipw/ipw2100.c
507
cv_destroy(&sc->sc_tx_cond);
usr/src/uts/common/io/ipw/ipw2100.c
508
cv_destroy(&sc->sc_cmd_cond);
usr/src/uts/common/io/ipw/ipw2100.c
509
cv_destroy(&sc->sc_fw_cond);
usr/src/uts/common/io/ipw/ipw2100.c
511
ipw2100_ring_free(sc);
usr/src/uts/common/io/ipw/ipw2100.c
513
ddi_regs_map_free(&sc->sc_ioh);
usr/src/uts/common/io/ipw/ipw2100.c
523
struct ipw2100_softc *sc =
usr/src/uts/common/io/ipw/ipw2100.c
527
ASSERT(sc != NULL);
usr/src/uts/common/io/ipw/ipw2100.c
533
return (ipw2100_cpr_suspend(sc));
usr/src/uts/common/io/ipw/ipw2100.c
541
mutex_enter(&sc->sc_mflock);
usr/src/uts/common/io/ipw/ipw2100.c
542
sc->sc_mfthread_switch = 0;
usr/src/uts/common/io/ipw/ipw2100.c
543
while (sc->sc_mf_thread != NULL) {
usr/src/uts/common/io/ipw/ipw2100.c
544
if (cv_wait_sig(&sc->sc_mfthread_cv, &sc->sc_mflock) == 0)
usr/src/uts/common/io/ipw/ipw2100.c
547
mutex_exit(&sc->sc_mflock);
usr/src/uts/common/io/ipw/ipw2100.c
552
err = mac_unregister(sc->sc_ic.ic_mach);
usr/src/uts/common/io/ipw/ipw2100.c
556
ddi_remove_intr(dip, 0, sc->sc_iblk);
usr/src/uts/common/io/ipw/ipw2100.c
561
mutex_destroy(&sc->sc_ilock);
usr/src/uts/common/io/ipw/ipw2100.c
562
mutex_destroy(&sc->sc_tx_lock);
usr/src/uts/common/io/ipw/ipw2100.c
563
mutex_destroy(&sc->sc_mflock);
usr/src/uts/common/io/ipw/ipw2100.c
564
mutex_destroy(&sc->sc_resched_lock);
usr/src/uts/common/io/ipw/ipw2100.c
565
cv_destroy(&sc->sc_mfthread_cv);
usr/src/uts/common/io/ipw/ipw2100.c
566
cv_destroy(&sc->sc_tx_cond);
usr/src/uts/common/io/ipw/ipw2100.c
567
cv_destroy(&sc->sc_cmd_cond);
usr/src/uts/common/io/ipw/ipw2100.c
568
cv_destroy(&sc->sc_fw_cond);
usr/src/uts/common/io/ipw/ipw2100.c
573
ieee80211_detach(&sc->sc_ic);
usr/src/uts/common/io/ipw/ipw2100.c
575
(void) ipw2100_free_firmware(sc);
usr/src/uts/common/io/ipw/ipw2100.c
576
ipw2100_ring_free(sc);
usr/src/uts/common/io/ipw/ipw2100.c
578
ddi_regs_map_free(&sc->sc_ioh);
usr/src/uts/common/io/ipw/ipw2100.c
586
ipw2100_cpr_suspend(struct ipw2100_softc *sc)
usr/src/uts/common/io/ipw/ipw2100.c
588
IPW2100_DBG(IPW2100_DBG_INIT, (sc->sc_dip, CE_CONT,
usr/src/uts/common/io/ipw/ipw2100.c
594
mutex_enter(&sc->sc_mflock);
usr/src/uts/common/io/ipw/ipw2100.c
595
sc->sc_mfthread_switch = 0;
usr/src/uts/common/io/ipw/ipw2100.c
596
while (sc->sc_mf_thread != NULL) {
usr/src/uts/common/io/ipw/ipw2100.c
597
if (cv_wait_sig(&sc->sc_mfthread_cv, &sc->sc_mflock) == 0)
usr/src/uts/common/io/ipw/ipw2100.c
600
mutex_exit(&sc->sc_mflock);
usr/src/uts/common/io/ipw/ipw2100.c
605
ipw2100_stop(sc);
usr/src/uts/common/io/ipw/ipw2100.c
606
sc->sc_flags &= ~IPW2100_FLAG_RUNNING;
usr/src/uts/common/io/ipw/ipw2100.c
607
sc->sc_suspended = 1;
usr/src/uts/common/io/ipw/ipw2100.c
609
(void) ipw2100_free_firmware(sc);
usr/src/uts/common/io/ipw/ipw2100.c
610
ipw2100_ring_free(sc);
usr/src/uts/common/io/ipw/ipw2100.c
616
ipw2100_cpr_resume(struct ipw2100_softc *sc)
usr/src/uts/common/io/ipw/ipw2100.c
618
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/ipw/ipw2100.c
619
dev_info_t *dip = sc->sc_dip;
usr/src/uts/common/io/ipw/ipw2100.c
622
IPW2100_DBG(IPW2100_DBG_INIT, (sc->sc_dip, CE_CONT,
usr/src/uts/common/io/ipw/ipw2100.c
628
err = ipw2100_chip_reset(sc);
usr/src/uts/common/io/ipw/ipw2100.c
639
err = ipw2100_ring_init(sc);
usr/src/uts/common/io/ipw/ipw2100.c
650
(void) ipw2100_cache_firmware(sc);
usr/src/uts/common/io/ipw/ipw2100.c
661
sc->sc_mfthread_switch = 1;
usr/src/uts/common/io/ipw/ipw2100.c
662
if (sc->sc_mf_thread == NULL)
usr/src/uts/common/io/ipw/ipw2100.c
663
sc->sc_mf_thread = thread_create((caddr_t)NULL, 0,
usr/src/uts/common/io/ipw/ipw2100.c
664
ipw2100_thread, sc, 0, &p0, TS_RUN, minclsyspri);
usr/src/uts/common/io/ipw/ipw2100.c
669
sc->sc_suspended = 0;
usr/src/uts/common/io/ipw/ipw2100.c
670
ipw2100_csr_put32(sc, IPW2100_CSR_INTR_MASK, IPW2100_INTR_MASK_ALL);
usr/src/uts/common/io/ipw/ipw2100.c
675
(void) ipw2100_init(sc);
usr/src/uts/common/io/ipw/ipw2100.c
677
sc->sc_flags |= IPW2100_FLAG_RUNNING;
usr/src/uts/common/io/ipw/ipw2100.c
694
struct ipw2100_softc *sc =
usr/src/uts/common/io/ipw/ipw2100.c
697
if (sc == NULL)
usr/src/uts/common/io/ipw/ipw2100.c
704
sc->sc_flags |= IPW2100_FLAG_QUIESCED;
usr/src/uts/common/io/ipw/ipw2100.c
709
ipw2100_stop(sc);
usr/src/uts/common/io/ipw/ipw2100.c
714
ipw2100_tables_init(struct ipw2100_softc *sc)
usr/src/uts/common/io/ipw/ipw2100.c
716
sc->sc_table1_base = ipw2100_csr_get32(sc, IPW2100_CSR_TABLE1_BASE);
usr/src/uts/common/io/ipw/ipw2100.c
717
sc->sc_table2_base = ipw2100_csr_get32(sc, IPW2100_CSR_TABLE2_BASE);
usr/src/uts/common/io/ipw/ipw2100.c
721
ipw2100_stop(struct ipw2100_softc *sc)
usr/src/uts/common/io/ipw/ipw2100.c
723
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/ipw/ipw2100.c
725
ipw2100_master_stop(sc);
usr/src/uts/common/io/ipw/ipw2100.c
726
ipw2100_csr_put32(sc, IPW2100_CSR_RST, IPW2100_RST_SW_RESET);
usr/src/uts/common/io/ipw/ipw2100.c
727
sc->sc_flags &= ~IPW2100_FLAG_FW_INITED;
usr/src/uts/common/io/ipw/ipw2100.c
729
if (!(sc->sc_flags & IPW2100_FLAG_QUIESCED))
usr/src/uts/common/io/ipw/ipw2100.c
734
ipw2100_config(struct ipw2100_softc *sc)
usr/src/uts/common/io/ipw/ipw2100.c
736
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/ipw/ipw2100.c
759
IPW2100_DBG(IPW2100_DBG_WIFI, (sc->sc_dip, CE_CONT,
usr/src/uts/common/io/ipw/ipw2100.c
762
err = ipw2100_cmd(sc, IPW2100_CMD_SET_MODE,
usr/src/uts/common/io/ipw/ipw2100.c
774
IPW2100_DBG(IPW2100_DBG_WIFI, (sc->sc_dip, CE_CONT,
usr/src/uts/common/io/ipw/ipw2100.c
777
err = ipw2100_cmd(sc, IPW2100_CMD_SET_CHANNEL,
usr/src/uts/common/io/ipw/ipw2100.c
786
IPW2100_DBG(IPW2100_DBG_WIFI, (sc->sc_dip, CE_CONT,
usr/src/uts/common/io/ipw/ipw2100.c
791
err = ipw2100_cmd(sc, IPW2100_CMD_SET_MAC_ADDRESS, ic->ic_macaddr,
usr/src/uts/common/io/ipw/ipw2100.c
803
if (sc->if_flags & IFF_PROMISC)
usr/src/uts/common/io/ipw/ipw2100.c
806
cfg.bss_chan = LE_32(sc->sc_chmask >> 1);
usr/src/uts/common/io/ipw/ipw2100.c
807
cfg.ibss_chan = LE_32(sc->sc_chmask >> 1);
usr/src/uts/common/io/ipw/ipw2100.c
809
IPW2100_DBG(IPW2100_DBG_WIFI, (sc->sc_dip, CE_CONT,
usr/src/uts/common/io/ipw/ipw2100.c
813
err = ipw2100_cmd(sc, IPW2100_CMD_SET_CONFIGURATION,
usr/src/uts/common/io/ipw/ipw2100.c
823
IPW2100_DBG(IPW2100_DBG_WIFI, (sc->sc_dip, CE_CONT,
usr/src/uts/common/io/ipw/ipw2100.c
826
err = ipw2100_cmd(sc, IPW2100_CMD_SET_BASIC_TX_RATES,
usr/src/uts/common/io/ipw/ipw2100.c
835
IPW2100_DBG(IPW2100_DBG_WIFI, (sc->sc_dip, CE_CONT,
usr/src/uts/common/io/ipw/ipw2100.c
838
err = ipw2100_cmd(sc, IPW2100_CMD_SET_TX_RATES, &data, sizeof (data));
usr/src/uts/common/io/ipw/ipw2100.c
846
IPW2100_DBG(IPW2100_DBG_WIFI, (sc->sc_dip, CE_CONT,
usr/src/uts/common/io/ipw/ipw2100.c
848
err = ipw2100_cmd(sc, IPW2100_CMD_SET_POWER_MODE, &data, sizeof (data));
usr/src/uts/common/io/ipw/ipw2100.c
857
IPW2100_DBG(IPW2100_DBG_WIFI, (sc->sc_dip, CE_CONT,
usr/src/uts/common/io/ipw/ipw2100.c
860
err = ipw2100_cmd(sc, IPW2100_CMD_SET_TX_POWER_INDEX,
usr/src/uts/common/io/ipw/ipw2100.c
871
IPW2100_DBG(IPW2100_DBG_WIFI, (sc->sc_dip, CE_CONT,
usr/src/uts/common/io/ipw/ipw2100.c
873
err = ipw2100_cmd(sc, IPW2100_CMD_SET_RTS_THRESHOLD,
usr/src/uts/common/io/ipw/ipw2100.c
883
IPW2100_DBG(IPW2100_DBG_WIFI, (sc->sc_dip, CE_CONT,
usr/src/uts/common/io/ipw/ipw2100.c
885
err = ipw2100_cmd(sc, IPW2100_CMD_SET_FRAG_THRESHOLD,
usr/src/uts/common/io/ipw/ipw2100.c
893
IPW2100_DBG(IPW2100_DBG_WIFI, (sc->sc_dip, CE_CONT,
usr/src/uts/common/io/ipw/ipw2100.c
896
err = ipw2100_cmd(sc, IPW2100_CMD_SET_ESSID,
usr/src/uts/common/io/ipw/ipw2100.c
904
err = ipw2100_cmd(sc, IPW2100_CMD_SET_MANDATORY_BSSID, NULL, 0);
usr/src/uts/common/io/ipw/ipw2100.c
912
IPW2100_DBG(IPW2100_DBG_WIFI, (sc->sc_dip, CE_CONT,
usr/src/uts/common/io/ipw/ipw2100.c
915
err = ipw2100_cmd(sc, IPW2100_CMD_SET_DESIRED_BSSID,
usr/src/uts/common/io/ipw/ipw2100.c
931
IPW2100_DBG(IPW2100_DBG_WIFI, (sc->sc_dip, CE_CONT,
usr/src/uts/common/io/ipw/ipw2100.c
933
err = ipw2100_cmd(sc, IPW2100_CMD_SET_SECURITY_INFORMATION,
usr/src/uts/common/io/ipw/ipw2100.c
952
err = ipw2100_cmd(sc, IPW2100_CMD_SET_WEP_KEY,
usr/src/uts/common/io/ipw/ipw2100.c
958
err = ipw2100_cmd(sc, IPW2100_CMD_SET_WEP_KEY_INDEX,
usr/src/uts/common/io/ipw/ipw2100.c
968
IPW2100_DBG(IPW2100_DBG_WIFI, (sc->sc_dip, CE_CONT,
usr/src/uts/common/io/ipw/ipw2100.c
970
err = ipw2100_cmd(sc, IPW2100_CMD_SET_WEP_FLAGS, &data, sizeof (data));
usr/src/uts/common/io/ipw/ipw2100.c
981
IPW2100_DBG(IPW2100_DBG_WIFI, (sc->sc_dip, CE_CONT,
usr/src/uts/common/io/ipw/ipw2100.c
984
err = ipw2100_cmd(sc, IPW2100_CMD_SET_BEACON_INTERVAL,
usr/src/uts/common/io/ipw/ipw2100.c
994
sopt.channels = LE_32(sc->sc_chmask >> 1);
usr/src/uts/common/io/ipw/ipw2100.c
995
err = ipw2100_cmd(sc, IPW2100_CMD_SET_SCAN_OPTIONS,
usr/src/uts/common/io/ipw/ipw2100_hw.c
102
ipw2100_csr_put32(struct ipw2100_softc *sc, uint32_t off, uint32_t val)
usr/src/uts/common/io/ipw/ipw2100_hw.c
104
ddi_put32(sc->sc_ioh,
usr/src/uts/common/io/ipw/ipw2100_hw.c
105
(uint32_t *)((uintptr_t)sc->sc_regs + off), val);
usr/src/uts/common/io/ipw/ipw2100_hw.c
109
ipw2100_csr_rep_put8(struct ipw2100_softc *sc,
usr/src/uts/common/io/ipw/ipw2100_hw.c
112
ddi_rep_put8(sc->sc_ioh, buf, (uint8_t *)(sc->sc_regs + off),
usr/src/uts/common/io/ipw/ipw2100_hw.c
117
ipw2100_imem_get8(struct ipw2100_softc *sc, int32_t addr)
usr/src/uts/common/io/ipw/ipw2100_hw.c
119
ipw2100_csr_put32(sc, IPW2100_CSR_INDIRECT_ADDR, addr);
usr/src/uts/common/io/ipw/ipw2100_hw.c
121
return (ipw2100_csr_get8(sc, IPW2100_CSR_INDIRECT_DATA));
usr/src/uts/common/io/ipw/ipw2100_hw.c
125
ipw2100_imem_get16(struct ipw2100_softc *sc, uint32_t addr)
usr/src/uts/common/io/ipw/ipw2100_hw.c
127
ipw2100_csr_put32(sc, IPW2100_CSR_INDIRECT_ADDR, addr);
usr/src/uts/common/io/ipw/ipw2100_hw.c
129
return (ipw2100_csr_get16(sc, IPW2100_CSR_INDIRECT_DATA));
usr/src/uts/common/io/ipw/ipw2100_hw.c
133
ipw2100_imem_get32(struct ipw2100_softc *sc, uint32_t addr)
usr/src/uts/common/io/ipw/ipw2100_hw.c
135
ipw2100_csr_put32(sc, IPW2100_CSR_INDIRECT_ADDR, addr);
usr/src/uts/common/io/ipw/ipw2100_hw.c
137
return (ipw2100_csr_get32(sc, IPW2100_CSR_INDIRECT_DATA));
usr/src/uts/common/io/ipw/ipw2100_hw.c
141
ipw2100_imem_rep_get16(struct ipw2100_softc *sc,
usr/src/uts/common/io/ipw/ipw2100_hw.c
144
ipw2100_csr_put32(sc, IPW2100_CSR_INDIRECT_ADDR, addr);
usr/src/uts/common/io/ipw/ipw2100_hw.c
145
ipw2100_csr_rep_get16(sc, IPW2100_CSR_INDIRECT_DATA, buf, cnt);
usr/src/uts/common/io/ipw/ipw2100_hw.c
149
ipw2100_imem_put8(struct ipw2100_softc *sc, uint32_t addr, uint8_t val)
usr/src/uts/common/io/ipw/ipw2100_hw.c
151
ipw2100_csr_put32(sc, IPW2100_CSR_INDIRECT_ADDR, addr);
usr/src/uts/common/io/ipw/ipw2100_hw.c
152
ipw2100_csr_put8(sc, IPW2100_CSR_INDIRECT_DATA, val);
usr/src/uts/common/io/ipw/ipw2100_hw.c
156
ipw2100_imem_put16(struct ipw2100_softc *sc, uint32_t addr, uint16_t val)
usr/src/uts/common/io/ipw/ipw2100_hw.c
158
ipw2100_csr_put32(sc, IPW2100_CSR_INDIRECT_ADDR, addr);
usr/src/uts/common/io/ipw/ipw2100_hw.c
159
ipw2100_csr_put16(sc, IPW2100_CSR_INDIRECT_DATA, val);
usr/src/uts/common/io/ipw/ipw2100_hw.c
163
ipw2100_imem_put32(struct ipw2100_softc *sc, uint32_t addr, uint32_t val)
usr/src/uts/common/io/ipw/ipw2100_hw.c
165
ipw2100_csr_put32(sc, IPW2100_CSR_INDIRECT_ADDR, addr);
usr/src/uts/common/io/ipw/ipw2100_hw.c
166
ipw2100_csr_put32(sc, IPW2100_CSR_INDIRECT_DATA, val);
usr/src/uts/common/io/ipw/ipw2100_hw.c
170
ipw2100_imem_rep_put8(struct ipw2100_softc *sc,
usr/src/uts/common/io/ipw/ipw2100_hw.c
173
ipw2100_csr_put32(sc, IPW2100_CSR_INDIRECT_ADDR, addr);
usr/src/uts/common/io/ipw/ipw2100_hw.c
174
ipw2100_csr_rep_put8(sc, IPW2100_CSR_INDIRECT_DATA, buf, cnt);
usr/src/uts/common/io/ipw/ipw2100_hw.c
178
ipw2100_imem_getbuf(struct ipw2100_softc *sc,
usr/src/uts/common/io/ipw/ipw2100_hw.c
182
ipw2100_csr_put32(sc, IPW2100_CSR_INDIRECT_ADDR, addr & ~3);
usr/src/uts/common/io/ipw/ipw2100_hw.c
183
*buf = ipw2100_csr_get8(sc,
usr/src/uts/common/io/ipw/ipw2100_hw.c
189
ipw2100_imem_putbuf(struct ipw2100_softc *sc,
usr/src/uts/common/io/ipw/ipw2100_hw.c
193
ipw2100_csr_put32(sc, IPW2100_CSR_INDIRECT_ADDR, addr & ~3);
usr/src/uts/common/io/ipw/ipw2100_hw.c
194
ipw2100_csr_put8(sc,
usr/src/uts/common/io/ipw/ipw2100_hw.c
200
ipw2100_rom_control(struct ipw2100_softc *sc, uint32_t val)
usr/src/uts/common/io/ipw/ipw2100_hw.c
202
ipw2100_imem_put32(sc, IPW2100_IMEM_EEPROM_CTL, val);
usr/src/uts/common/io/ipw/ipw2100_hw.c
208
ipw2100_table1_get8(struct ipw2100_softc *sc, uint32_t off)
usr/src/uts/common/io/ipw/ipw2100_hw.c
210
uint32_t addr = ipw2100_imem_get32(sc, sc->sc_table1_base + off);
usr/src/uts/common/io/ipw/ipw2100_hw.c
211
return (ipw2100_imem_get8(sc, addr));
usr/src/uts/common/io/ipw/ipw2100_hw.c
215
ipw2100_table1_get32(struct ipw2100_softc *sc, uint32_t off)
usr/src/uts/common/io/ipw/ipw2100_hw.c
217
uint32_t addr = ipw2100_imem_get32(sc, sc->sc_table1_base + off);
usr/src/uts/common/io/ipw/ipw2100_hw.c
218
return (ipw2100_imem_get32(sc, addr));
usr/src/uts/common/io/ipw/ipw2100_hw.c
222
ipw2100_table1_put32(struct ipw2100_softc *sc, uint32_t off, uint32_t val)
usr/src/uts/common/io/ipw/ipw2100_hw.c
224
uint32_t addr = ipw2100_imem_get32(sc, sc->sc_table1_base + off);
usr/src/uts/common/io/ipw/ipw2100_hw.c
225
ipw2100_imem_put32(sc, addr, val);
usr/src/uts/common/io/ipw/ipw2100_hw.c
229
ipw2100_table2_getbuf(struct ipw2100_softc *sc,
usr/src/uts/common/io/ipw/ipw2100_hw.c
236
addr = ipw2100_imem_get32(sc, sc->sc_table2_base + off);
usr/src/uts/common/io/ipw/ipw2100_hw.c
237
info = ipw2100_imem_get32(sc,
usr/src/uts/common/io/ipw/ipw2100_hw.c
238
sc->sc_table2_base + off + sizeof (uint32_t));
usr/src/uts/common/io/ipw/ipw2100_hw.c
245
IPW2100_WARN((sc->sc_dip, CE_WARN,
usr/src/uts/common/io/ipw/ipw2100_hw.c
252
ipw2100_imem_getbuf(sc, addr, buf, total);
usr/src/uts/common/io/ipw/ipw2100_hw.c
258
ipw2100_rom_get16(struct ipw2100_softc *sc, uint8_t addr)
usr/src/uts/common/io/ipw/ipw2100_hw.c
268
ipw2100_rom_control(sc, 0);
usr/src/uts/common/io/ipw/ipw2100_hw.c
269
ipw2100_rom_control(sc, IPW2100_EEPROM_S);
usr/src/uts/common/io/ipw/ipw2100_hw.c
270
ipw2100_rom_control(sc, IPW2100_EEPROM_S | IPW2100_EEPROM_C);
usr/src/uts/common/io/ipw/ipw2100_hw.c
271
ipw2100_rom_control(sc, IPW2100_EEPROM_S);
usr/src/uts/common/io/ipw/ipw2100_hw.c
273
ipw2100_rom_control(sc, IPW2100_EEPROM_S | IPW2100_EEPROM_D);
usr/src/uts/common/io/ipw/ipw2100_hw.c
274
ipw2100_rom_control(sc, IPW2100_EEPROM_S
usr/src/uts/common/io/ipw/ipw2100_hw.c
277
ipw2100_rom_control(sc, IPW2100_EEPROM_S | IPW2100_EEPROM_D);
usr/src/uts/common/io/ipw/ipw2100_hw.c
278
ipw2100_rom_control(sc, IPW2100_EEPROM_S
usr/src/uts/common/io/ipw/ipw2100_hw.c
280
ipw2100_rom_control(sc, IPW2100_EEPROM_S);
usr/src/uts/common/io/ipw/ipw2100_hw.c
281
ipw2100_rom_control(sc, IPW2100_EEPROM_S | IPW2100_EEPROM_C);
usr/src/uts/common/io/ipw/ipw2100_hw.c
286
ipw2100_rom_control(sc, IPW2100_EEPROM_S
usr/src/uts/common/io/ipw/ipw2100_hw.c
288
ipw2100_rom_control(sc, IPW2100_EEPROM_S
usr/src/uts/common/io/ipw/ipw2100_hw.c
293
ipw2100_rom_control(sc, IPW2100_EEPROM_S);
usr/src/uts/common/io/ipw/ipw2100_hw.c
300
ipw2100_rom_control(sc, IPW2100_EEPROM_S | IPW2100_EEPROM_C);
usr/src/uts/common/io/ipw/ipw2100_hw.c
301
ipw2100_rom_control(sc, IPW2100_EEPROM_S);
usr/src/uts/common/io/ipw/ipw2100_hw.c
302
tmp = ipw2100_imem_get32(sc, IPW2100_IMEM_EEPROM_CTL);
usr/src/uts/common/io/ipw/ipw2100_hw.c
307
ipw2100_rom_control(sc, 0);
usr/src/uts/common/io/ipw/ipw2100_hw.c
310
ipw2100_rom_control(sc, IPW2100_EEPROM_S);
usr/src/uts/common/io/ipw/ipw2100_hw.c
311
ipw2100_rom_control(sc, 0);
usr/src/uts/common/io/ipw/ipw2100_hw.c
312
ipw2100_rom_control(sc, IPW2100_EEPROM_C);
usr/src/uts/common/io/ipw/ipw2100_hw.c
337
ipw2100_cache_firmware(struct ipw2100_softc *sc)
usr/src/uts/common/io/ipw/ipw2100_hw.c
342
IPW2100_DBG(IPW2100_DBG_FW, (sc->sc_dip, CE_CONT,
usr/src/uts/common/io/ipw/ipw2100_hw.c
345
sc->sc_fw.bin_base = bin;
usr/src/uts/common/io/ipw/ipw2100_hw.c
346
sc->sc_fw.bin_size = sizeof (ipw2100_firmware_bin);
usr/src/uts/common/io/ipw/ipw2100_hw.c
349
IPW2100_WARN((sc->sc_dip, CE_WARN,
usr/src/uts/common/io/ipw/ipw2100_hw.c
355
sc->sc_fw.fw_base = bin + sizeof (struct ipw2100_firmware_hdr);
usr/src/uts/common/io/ipw/ipw2100_hw.c
356
sc->sc_fw.fw_size = LE_32(h->fw_size);
usr/src/uts/common/io/ipw/ipw2100_hw.c
357
sc->sc_fw.uc_base = sc->sc_fw.fw_base + sc->sc_fw.fw_size;
usr/src/uts/common/io/ipw/ipw2100_hw.c
358
sc->sc_fw.uc_size = LE_32(h->uc_size);
usr/src/uts/common/io/ipw/ipw2100_hw.c
360
sc->sc_flags |= IPW2100_FLAG_FW_CACHED;
usr/src/uts/common/io/ipw/ipw2100_hw.c
362
IPW2100_DBG(IPW2100_DBG_FW, (sc->sc_dip, CE_CONT,
usr/src/uts/common/io/ipw/ipw2100_hw.c
374
ipw2100_free_firmware(struct ipw2100_softc *sc)
usr/src/uts/common/io/ipw/ipw2100_hw.c
376
sc->sc_flags &= ~IPW2100_FLAG_FW_CACHED;
usr/src/uts/common/io/ipw/ipw2100_hw.c
385
ipw2100_load_uc(struct ipw2100_softc *sc)
usr/src/uts/common/io/ipw/ipw2100_hw.c
389
ipw2100_imem_put32(sc, 0x3000e0, 0x80000000);
usr/src/uts/common/io/ipw/ipw2100_hw.c
390
ipw2100_csr_put32(sc, IPW2100_CSR_RST, 0);
usr/src/uts/common/io/ipw/ipw2100_hw.c
392
ipw2100_imem_put16(sc, 0x220000, 0x0703);
usr/src/uts/common/io/ipw/ipw2100_hw.c
393
ipw2100_imem_put16(sc, 0x220000, 0x0707);
usr/src/uts/common/io/ipw/ipw2100_hw.c
395
ipw2100_imem_put8(sc, 0x210014, 0x72);
usr/src/uts/common/io/ipw/ipw2100_hw.c
396
ipw2100_imem_put8(sc, 0x210014, 0x72);
usr/src/uts/common/io/ipw/ipw2100_hw.c
398
ipw2100_imem_put8(sc, 0x210000, 0x40);
usr/src/uts/common/io/ipw/ipw2100_hw.c
399
ipw2100_imem_put8(sc, 0x210000, 0x00);
usr/src/uts/common/io/ipw/ipw2100_hw.c
400
ipw2100_imem_put8(sc, 0x210000, 0x40);
usr/src/uts/common/io/ipw/ipw2100_hw.c
402
ipw2100_imem_rep_put8(sc, 0x210010,
usr/src/uts/common/io/ipw/ipw2100_hw.c
403
sc->sc_fw.uc_base, sc->sc_fw.uc_size);
usr/src/uts/common/io/ipw/ipw2100_hw.c
405
ipw2100_imem_put8(sc, 0x210000, 0x00);
usr/src/uts/common/io/ipw/ipw2100_hw.c
406
ipw2100_imem_put8(sc, 0x210000, 0x00);
usr/src/uts/common/io/ipw/ipw2100_hw.c
407
ipw2100_imem_put8(sc, 0x210000, 0x80);
usr/src/uts/common/io/ipw/ipw2100_hw.c
409
ipw2100_imem_put16(sc, 0x220000, 0x0703);
usr/src/uts/common/io/ipw/ipw2100_hw.c
410
ipw2100_imem_put16(sc, 0x220000, 0x0707);
usr/src/uts/common/io/ipw/ipw2100_hw.c
412
ipw2100_imem_put8(sc, 0x210014, 0x72);
usr/src/uts/common/io/ipw/ipw2100_hw.c
413
ipw2100_imem_put8(sc, 0x210014, 0x72);
usr/src/uts/common/io/ipw/ipw2100_hw.c
415
ipw2100_imem_put8(sc, 0x210000, 0x00);
usr/src/uts/common/io/ipw/ipw2100_hw.c
416
ipw2100_imem_put8(sc, 0x210000, 0x80);
usr/src/uts/common/io/ipw/ipw2100_hw.c
420
if (ipw2100_imem_get8(sc, 0x210000) & 1)
usr/src/uts/common/io/ipw/ipw2100_hw.c
427
ipw2100_imem_put32(sc, 0x3000e0, 0);
usr/src/uts/common/io/ipw/ipw2100_hw.c
433
ipw2100_load_fw(struct ipw2100_softc *sc)
usr/src/uts/common/io/ipw/ipw2100_hw.c
440
IPW2100_DBG(IPW2100_DBG_FW, (sc->sc_dip, CE_CONT,
usr/src/uts/common/io/ipw/ipw2100_hw.c
443
p = sc->sc_fw.fw_base;
usr/src/uts/common/io/ipw/ipw2100_hw.c
444
e = sc->sc_fw.fw_base + sc->sc_fw.fw_size;
usr/src/uts/common/io/ipw/ipw2100_hw.c
450
IPW2100_WARN((sc->sc_dip, CE_CONT,
usr/src/uts/common/io/ipw/ipw2100_hw.c
457
IPW2100_WARN((sc->sc_dip, CE_CONT,
usr/src/uts/common/io/ipw/ipw2100_hw.c
462
ipw2100_imem_putbuf(sc, dst, p, len);
usr/src/uts/common/io/ipw/ipw2100_hw.c
466
ipw2100_csr_put32(sc, IPW2100_CSR_IO,
usr/src/uts/common/io/ipw/ipw2100_hw.c
470
mutex_enter(&sc->sc_ilock);
usr/src/uts/common/io/ipw/ipw2100_hw.c
475
ipw2100_csr_put32(sc, IPW2100_CSR_INTR_MASK, IPW2100_INTR_MASK_ALL);
usr/src/uts/common/io/ipw/ipw2100_hw.c
477
ipw2100_csr_put32(sc, IPW2100_CSR_RST, 0);
usr/src/uts/common/io/ipw/ipw2100_hw.c
478
ipw2100_csr_put32(sc, IPW2100_CSR_CTL,
usr/src/uts/common/io/ipw/ipw2100_hw.c
479
ipw2100_csr_get32(sc, IPW2100_CSR_CTL) | IPW2100_CTL_ALLOW_STANDBY);
usr/src/uts/common/io/ipw/ipw2100_hw.c
485
while (!(sc->sc_flags & IPW2100_FLAG_FW_INITED)) {
usr/src/uts/common/io/ipw/ipw2100_hw.c
489
if (cv_reltimedwait(&sc->sc_fw_cond, &sc->sc_ilock, clk,
usr/src/uts/common/io/ipw/ipw2100_hw.c
493
mutex_exit(&sc->sc_ilock);
usr/src/uts/common/io/ipw/ipw2100_hw.c
495
ipw2100_csr_put32(sc, IPW2100_CSR_IO,
usr/src/uts/common/io/ipw/ipw2100_hw.c
496
ipw2100_csr_get32(sc, IPW2100_CSR_IO) |
usr/src/uts/common/io/ipw/ipw2100_hw.c
499
if (!(sc->sc_flags & IPW2100_FLAG_FW_INITED)) {
usr/src/uts/common/io/ipw/ipw2100_hw.c
500
IPW2100_DBG(IPW2100_DBG_FW, (sc->sc_dip, CE_CONT,
usr/src/uts/common/io/ipw/ipw2100_hw.c
505
IPW2100_DBG(IPW2100_DBG_FW, (sc->sc_dip, CE_CONT,
usr/src/uts/common/io/ipw/ipw2100_hw.c
60
ipw2100_csr_get8(struct ipw2100_softc *sc, uint32_t off)
usr/src/uts/common/io/ipw/ipw2100_hw.c
62
return (ddi_get8(sc->sc_ioh, (uint8_t *)(sc->sc_regs + off)));
usr/src/uts/common/io/ipw/ipw2100_hw.c
66
ipw2100_csr_get16(struct ipw2100_softc *sc, uint32_t off)
usr/src/uts/common/io/ipw/ipw2100_hw.c
68
return (ddi_get16(sc->sc_ioh,
usr/src/uts/common/io/ipw/ipw2100_hw.c
69
(uint16_t *)((uintptr_t)sc->sc_regs + off)));
usr/src/uts/common/io/ipw/ipw2100_hw.c
73
ipw2100_csr_get32(struct ipw2100_softc *sc, uint32_t off)
usr/src/uts/common/io/ipw/ipw2100_hw.c
75
return (ddi_get32(sc->sc_ioh,
usr/src/uts/common/io/ipw/ipw2100_hw.c
76
(uint32_t *)((uintptr_t)sc->sc_regs + off)));
usr/src/uts/common/io/ipw/ipw2100_hw.c
80
ipw2100_csr_rep_get16(struct ipw2100_softc *sc,
usr/src/uts/common/io/ipw/ipw2100_hw.c
83
ddi_rep_get16(sc->sc_ioh, buf,
usr/src/uts/common/io/ipw/ipw2100_hw.c
84
(uint16_t *)((uintptr_t)sc->sc_regs + off),
usr/src/uts/common/io/ipw/ipw2100_hw.c
89
ipw2100_csr_put8(struct ipw2100_softc *sc, uint32_t off, uint8_t val)
usr/src/uts/common/io/ipw/ipw2100_hw.c
91
ddi_put8(sc->sc_ioh, (uint8_t *)(sc->sc_regs + off), val);
usr/src/uts/common/io/ipw/ipw2100_hw.c
95
ipw2100_csr_put16(struct ipw2100_softc *sc, uint32_t off, uint16_t val)
usr/src/uts/common/io/ipw/ipw2100_hw.c
97
ddi_put16(sc->sc_ioh,
usr/src/uts/common/io/ipw/ipw2100_hw.c
98
(uint16_t *)((uintptr_t)sc->sc_regs + off), val);
usr/src/uts/common/io/ipw/ipw2100_impl.h
187
extern int ipw2100_init(struct ipw2100_softc *sc);
usr/src/uts/common/io/ipw/ipw2100_impl.h
188
extern int ipw2100_disable(struct ipw2100_softc *sc);
usr/src/uts/common/io/ipw/ipw2100_impl.h
203
extern void ipw2100_get_statistics(struct ipw2100_softc *sc);
usr/src/uts/common/io/ipw/ipw2100_impl.h
551
extern uint8_t ipw2100_csr_get8(struct ipw2100_softc *sc, uint32_t off);
usr/src/uts/common/io/ipw/ipw2100_impl.h
552
extern uint16_t ipw2100_csr_get16(struct ipw2100_softc *sc, uint32_t off);
usr/src/uts/common/io/ipw/ipw2100_impl.h
553
extern uint32_t ipw2100_csr_get32(struct ipw2100_softc *sc, uint32_t off);
usr/src/uts/common/io/ipw/ipw2100_impl.h
554
extern void ipw2100_csr_rep_get16(struct ipw2100_softc *sc, uint32_t off,
usr/src/uts/common/io/ipw/ipw2100_impl.h
556
extern void ipw2100_csr_put8(struct ipw2100_softc *sc, uint32_t off,
usr/src/uts/common/io/ipw/ipw2100_impl.h
558
extern void ipw2100_csr_put16(struct ipw2100_softc *sc,
usr/src/uts/common/io/ipw/ipw2100_impl.h
560
extern void ipw2100_csr_put32(struct ipw2100_softc *sc,
usr/src/uts/common/io/ipw/ipw2100_impl.h
562
extern void ipw2100_csr_rep_put8(struct ipw2100_softc *sc,
usr/src/uts/common/io/ipw/ipw2100_impl.h
564
extern uint8_t ipw2100_imem_get8(struct ipw2100_softc *sc, int32_t addr);
usr/src/uts/common/io/ipw/ipw2100_impl.h
565
extern uint16_t ipw2100_imem_get16(struct ipw2100_softc *sc,
usr/src/uts/common/io/ipw/ipw2100_impl.h
567
extern uint32_t ipw2100_imem_get32(struct ipw2100_softc *sc,
usr/src/uts/common/io/ipw/ipw2100_impl.h
569
extern void ipw2100_imem_rep_get16(struct ipw2100_softc *sc,
usr/src/uts/common/io/ipw/ipw2100_impl.h
571
extern void ipw2100_imem_put8(struct ipw2100_softc *sc,
usr/src/uts/common/io/ipw/ipw2100_impl.h
573
extern void ipw2100_imem_put16(struct ipw2100_softc *sc,
usr/src/uts/common/io/ipw/ipw2100_impl.h
575
extern void ipw2100_imem_put32(struct ipw2100_softc *sc,
usr/src/uts/common/io/ipw/ipw2100_impl.h
577
extern void ipw2100_imem_rep_put8(struct ipw2100_softc *sc,
usr/src/uts/common/io/ipw/ipw2100_impl.h
579
extern void ipw2100_imem_getbuf(struct ipw2100_softc *sc,
usr/src/uts/common/io/ipw/ipw2100_impl.h
581
extern void ipw2100_imem_putbuf(struct ipw2100_softc *sc,
usr/src/uts/common/io/ipw/ipw2100_impl.h
583
extern void ipw2100_rom_control(struct ipw2100_softc *sc, uint32_t val);
usr/src/uts/common/io/ipw/ipw2100_impl.h
584
extern uint8_t ipw2100_table1_get8(struct ipw2100_softc *sc, uint32_t off);
usr/src/uts/common/io/ipw/ipw2100_impl.h
585
extern uint32_t ipw2100_table1_get32(struct ipw2100_softc *sc,
usr/src/uts/common/io/ipw/ipw2100_impl.h
587
extern void ipw2100_table1_put32(struct ipw2100_softc *sc,
usr/src/uts/common/io/ipw/ipw2100_impl.h
589
extern int ipw2100_table2_getbuf(struct ipw2100_softc *sc,
usr/src/uts/common/io/ipw/ipw2100_impl.h
592
extern uint16_t ipw2100_rom_get16(struct ipw2100_softc *sc, uint8_t addr);
usr/src/uts/common/io/ipw/ipw2100_impl.h
597
extern int ipw2100_cache_firmware(struct ipw2100_softc *sc);
usr/src/uts/common/io/ipw/ipw2100_impl.h
598
extern int ipw2100_free_firmware(struct ipw2100_softc *sc);
usr/src/uts/common/io/ipw/ipw2100_impl.h
599
extern int ipw2100_load_uc(struct ipw2100_softc *sc);
usr/src/uts/common/io/ipw/ipw2100_impl.h
600
extern int ipw2100_load_fw(struct ipw2100_softc *sc);
usr/src/uts/common/io/iwh/iwh.c
1000
ASSERT(sc != NULL);
usr/src/uts/common/io/iwh/iwh.c
1001
ic = &sc->sc_ic;
usr/src/uts/common/io/iwh/iwh.c
1008
atomic_and_32(&sc->sc_flags, ~IWH_F_HW_ERR_RECOVER);
usr/src/uts/common/io/iwh/iwh.c
1009
atomic_and_32(&sc->sc_flags, ~IWH_F_RATE_AUTO_CTL);
usr/src/uts/common/io/iwh/iwh.c
1011
atomic_or_32(&sc->sc_flags, IWH_F_SUSPEND);
usr/src/uts/common/io/iwh/iwh.c
1013
if (sc->sc_flags & IWH_F_RUNNING) {
usr/src/uts/common/io/iwh/iwh.c
1015
iwh_stop(sc);
usr/src/uts/common/io/iwh/iwh.c
1026
if (!(sc->sc_flags & IWH_F_ATTACHED)) {
usr/src/uts/common/io/iwh/iwh.c
1033
sc->sc_mf_thread_switch = 0;
usr/src/uts/common/io/iwh/iwh.c
1035
mutex_enter(&sc->sc_mt_lock);
usr/src/uts/common/io/iwh/iwh.c
1036
while (sc->sc_mf_thread != NULL) {
usr/src/uts/common/io/iwh/iwh.c
1037
if (cv_wait_sig(&sc->sc_mt_cv, &sc->sc_mt_lock) == 0) {
usr/src/uts/common/io/iwh/iwh.c
1041
mutex_exit(&sc->sc_mt_lock);
usr/src/uts/common/io/iwh/iwh.c
1043
err = mac_disable(sc->sc_ic.ic_mach);
usr/src/uts/common/io/iwh/iwh.c
1051
iwh_stop(sc);
usr/src/uts/common/io/iwh/iwh.c
1058
iwh_release_calib_buffer(sc);
usr/src/uts/common/io/iwh/iwh.c
1063
(void) mac_unregister(sc->sc_ic.ic_mach);
usr/src/uts/common/io/iwh/iwh.c
1065
mutex_enter(&sc->sc_glock);
usr/src/uts/common/io/iwh/iwh.c
1066
iwh_free_fw_dma(sc);
usr/src/uts/common/io/iwh/iwh.c
1067
iwh_ring_free(sc);
usr/src/uts/common/io/iwh/iwh.c
1068
iwh_free_kw(sc);
usr/src/uts/common/io/iwh/iwh.c
1069
iwh_free_shared(sc);
usr/src/uts/common/io/iwh/iwh.c
1070
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/iwh/iwh.c
1072
(void) ddi_intr_disable(sc->sc_intr_htable[0]);
usr/src/uts/common/io/iwh/iwh.c
1073
(void) ddi_intr_remove_handler(sc->sc_intr_htable[0]);
usr/src/uts/common/io/iwh/iwh.c
1074
(void) ddi_intr_free(sc->sc_intr_htable[0]);
usr/src/uts/common/io/iwh/iwh.c
1075
kmem_free(sc->sc_intr_htable, sizeof (ddi_intr_handle_t));
usr/src/uts/common/io/iwh/iwh.c
1077
(void) ddi_intr_remove_softint(sc->sc_soft_hdl);
usr/src/uts/common/io/iwh/iwh.c
1078
sc->sc_soft_hdl = NULL;
usr/src/uts/common/io/iwh/iwh.c
1083
ieee80211_detach(&sc->sc_ic);
usr/src/uts/common/io/iwh/iwh.c
1085
iwh_destroy_locks(sc);
usr/src/uts/common/io/iwh/iwh.c
1087
ddi_regs_map_free(&sc->sc_handle);
usr/src/uts/common/io/iwh/iwh.c
1088
ddi_regs_map_free(&sc->sc_cfg_handle);
usr/src/uts/common/io/iwh/iwh.c
1099
iwh_destroy_locks(iwh_sc_t *sc)
usr/src/uts/common/io/iwh/iwh.c
1101
cv_destroy(&sc->sc_mt_cv);
usr/src/uts/common/io/iwh/iwh.c
1102
cv_destroy(&sc->sc_cmd_cv);
usr/src/uts/common/io/iwh/iwh.c
1103
cv_destroy(&sc->sc_put_seg_cv);
usr/src/uts/common/io/iwh/iwh.c
1104
cv_destroy(&sc->sc_ucode_cv);
usr/src/uts/common/io/iwh/iwh.c
1105
mutex_destroy(&sc->sc_mt_lock);
usr/src/uts/common/io/iwh/iwh.c
1106
mutex_destroy(&sc->sc_tx_lock);
usr/src/uts/common/io/iwh/iwh.c
1107
mutex_destroy(&sc->sc_glock);
usr/src/uts/common/io/iwh/iwh.c
1114
iwh_alloc_dma_mem(iwh_sc_t *sc, size_t memsize,
usr/src/uts/common/io/iwh/iwh.c
1124
err = ddi_dma_alloc_handle(sc->sc_dip, dma_attr_p,
usr/src/uts/common/io/iwh/iwh.c
1191
iwh_alloc_fw_dma(iwh_sc_t *sc)
usr/src/uts/common/io/iwh/iwh.c
1205
t = (char *)(sc->sc_hdr + 1);
usr/src/uts/common/io/iwh/iwh.c
1206
err = iwh_alloc_dma_mem(sc, LE_32(sc->sc_hdr->textsz),
usr/src/uts/common/io/iwh/iwh.c
1209
&sc->sc_dma_fw_text);
usr/src/uts/common/io/iwh/iwh.c
1216
dma_p = &sc->sc_dma_fw_text;
usr/src/uts/common/io/iwh/iwh.c
1223
bcopy(t, dma_p->mem_va, LE_32(sc->sc_hdr->textsz));
usr/src/uts/common/io/iwh/iwh.c
1228
t += LE_32(sc->sc_hdr->textsz);
usr/src/uts/common/io/iwh/iwh.c
1229
err = iwh_alloc_dma_mem(sc, LE_32(sc->sc_hdr->datasz),
usr/src/uts/common/io/iwh/iwh.c
1232
&sc->sc_dma_fw_data);
usr/src/uts/common/io/iwh/iwh.c
1239
dma_p = &sc->sc_dma_fw_data;
usr/src/uts/common/io/iwh/iwh.c
1246
bcopy(t, dma_p->mem_va, LE_32(sc->sc_hdr->datasz));
usr/src/uts/common/io/iwh/iwh.c
1248
err = iwh_alloc_dma_mem(sc, LE_32(sc->sc_hdr->datasz),
usr/src/uts/common/io/iwh/iwh.c
1251
&sc->sc_dma_fw_data_bak);
usr/src/uts/common/io/iwh/iwh.c
1258
dma_p = &sc->sc_dma_fw_data_bak;
usr/src/uts/common/io/iwh/iwh.c
1266
bcopy(t, dma_p->mem_va, LE_32(sc->sc_hdr->datasz));
usr/src/uts/common/io/iwh/iwh.c
1271
t += LE_32(sc->sc_hdr->datasz);
usr/src/uts/common/io/iwh/iwh.c
1272
err = iwh_alloc_dma_mem(sc, LE_32(sc->sc_hdr->init_textsz),
usr/src/uts/common/io/iwh/iwh.c
1275
&sc->sc_dma_fw_init_text);
usr/src/uts/common/io/iwh/iwh.c
1282
dma_p = &sc->sc_dma_fw_init_text;
usr/src/uts/common/io/iwh/iwh.c
1290
bcopy(t, dma_p->mem_va, LE_32(sc->sc_hdr->init_textsz));
usr/src/uts/common/io/iwh/iwh.c
1295
t += LE_32(sc->sc_hdr->init_textsz);
usr/src/uts/common/io/iwh/iwh.c
1296
err = iwh_alloc_dma_mem(sc, LE_32(sc->sc_hdr->init_datasz),
usr/src/uts/common/io/iwh/iwh.c
1299
&sc->sc_dma_fw_init_data);
usr/src/uts/common/io/iwh/iwh.c
1306
dma_p = &sc->sc_dma_fw_init_data;
usr/src/uts/common/io/iwh/iwh.c
1314
bcopy(t, dma_p->mem_va, LE_32(sc->sc_hdr->init_datasz));
usr/src/uts/common/io/iwh/iwh.c
1316
sc->sc_boot = t + LE_32(sc->sc_hdr->init_datasz);
usr/src/uts/common/io/iwh/iwh.c
1323
iwh_free_fw_dma(iwh_sc_t *sc)
usr/src/uts/common/io/iwh/iwh.c
1325
iwh_free_dma_mem(&sc->sc_dma_fw_text);
usr/src/uts/common/io/iwh/iwh.c
1326
iwh_free_dma_mem(&sc->sc_dma_fw_data);
usr/src/uts/common/io/iwh/iwh.c
1327
iwh_free_dma_mem(&sc->sc_dma_fw_data_bak);
usr/src/uts/common/io/iwh/iwh.c
1328
iwh_free_dma_mem(&sc->sc_dma_fw_init_text);
usr/src/uts/common/io/iwh/iwh.c
1329
iwh_free_dma_mem(&sc->sc_dma_fw_init_data);
usr/src/uts/common/io/iwh/iwh.c
1336
iwh_alloc_shared(iwh_sc_t *sc)
usr/src/uts/common/io/iwh/iwh.c
1346
err = iwh_alloc_dma_mem(sc, sizeof (iwh_shared_t),
usr/src/uts/common/io/iwh/iwh.c
1349
&sc->sc_dma_sh);
usr/src/uts/common/io/iwh/iwh.c
1354
sc->sc_shared = (iwh_shared_t *)sc->sc_dma_sh.mem_va;
usr/src/uts/common/io/iwh/iwh.c
1357
dma_p = &sc->sc_dma_sh;
usr/src/uts/common/io/iwh/iwh.c
1367
iwh_free_shared(sc);
usr/src/uts/common/io/iwh/iwh.c
1372
iwh_free_shared(iwh_sc_t *sc)
usr/src/uts/common/io/iwh/iwh.c
1374
iwh_free_dma_mem(&sc->sc_dma_sh);
usr/src/uts/common/io/iwh/iwh.c
1381
iwh_alloc_kw(iwh_sc_t *sc)
usr/src/uts/common/io/iwh/iwh.c
1391
err = iwh_alloc_dma_mem(sc, IWH_KW_SIZE,
usr/src/uts/common/io/iwh/iwh.c
1394
&sc->sc_dma_kw);
usr/src/uts/common/io/iwh/iwh.c
1400
dma_p = &sc->sc_dma_kw;
usr/src/uts/common/io/iwh/iwh.c
1410
iwh_free_kw(sc);
usr/src/uts/common/io/iwh/iwh.c
1415
iwh_free_kw(iwh_sc_t *sc)
usr/src/uts/common/io/iwh/iwh.c
1417
iwh_free_dma_mem(&sc->sc_dma_kw);
usr/src/uts/common/io/iwh/iwh.c
1424
iwh_alloc_rx_ring(iwh_sc_t *sc)
usr/src/uts/common/io/iwh/iwh.c
1433
ring = &sc->sc_rxq;
usr/src/uts/common/io/iwh/iwh.c
1439
err = iwh_alloc_dma_mem(sc, RX_QUEUE_SIZE * sizeof (uint32_t),
usr/src/uts/common/io/iwh/iwh.c
1464
err = iwh_alloc_dma_mem(sc, sc->sc_dmabuf_sz,
usr/src/uts/common/io/iwh/iwh.c
1496
iwh_free_rx_ring(sc);
usr/src/uts/common/io/iwh/iwh.c
1504
iwh_reset_rx_ring(iwh_sc_t *sc)
usr/src/uts/common/io/iwh/iwh.c
1508
iwh_mac_access_enter(sc);
usr/src/uts/common/io/iwh/iwh.c
1509
IWH_WRITE(sc, FH_MEM_RCSR_CHNL0_CONFIG_REG, 0);
usr/src/uts/common/io/iwh/iwh.c
1511
if (IWH_READ(sc, FH_MEM_RSSR_RX_STATUS_REG) & (1 << 24)) {
usr/src/uts/common/io/iwh/iwh.c
1522
iwh_mac_access_exit(sc);
usr/src/uts/common/io/iwh/iwh.c
1524
sc->sc_rxq.cur = 0;
usr/src/uts/common/io/iwh/iwh.c
1528
iwh_free_rx_ring(iwh_sc_t *sc)
usr/src/uts/common/io/iwh/iwh.c
1533
if (sc->sc_rxq.data[i].dma_data.dma_hdl) {
usr/src/uts/common/io/iwh/iwh.c
1534
IWH_DMA_SYNC(sc->sc_rxq.data[i].dma_data,
usr/src/uts/common/io/iwh/iwh.c
1538
iwh_free_dma_mem(&sc->sc_rxq.data[i].dma_data);
usr/src/uts/common/io/iwh/iwh.c
1541
if (sc->sc_rxq.dma_desc.dma_hdl) {
usr/src/uts/common/io/iwh/iwh.c
1542
IWH_DMA_SYNC(sc->sc_rxq.dma_desc, DDI_DMA_SYNC_FORDEV);
usr/src/uts/common/io/iwh/iwh.c
1545
iwh_free_dma_mem(&sc->sc_rxq.dma_desc);
usr/src/uts/common/io/iwh/iwh.c
1552
iwh_alloc_tx_ring(iwh_sc_t *sc, iwh_tx_ring_t *ring,
usr/src/uts/common/io/iwh/iwh.c
1575
err = iwh_alloc_dma_mem(sc,
usr/src/uts/common/io/iwh/iwh.c
1601
err = iwh_alloc_dma_mem(sc,
usr/src/uts/common/io/iwh/iwh.c
1638
err = iwh_alloc_dma_mem(sc, sc->sc_dmabuf_sz,
usr/src/uts/common/io/iwh/iwh.c
1677
iwh_reset_tx_ring(iwh_sc_t *sc, iwh_tx_ring_t *ring)
usr/src/uts/common/io/iwh/iwh.c
1682
iwh_mac_access_enter(sc);
usr/src/uts/common/io/iwh/iwh.c
1684
IWH_WRITE(sc, IWH_FH_TCSR_CHNL_TX_CONFIG_REG(ring->qid), 0);
usr/src/uts/common/io/iwh/iwh.c
1686
if (IWH_READ(sc, IWH_FH_TSSR_TX_STATUS_REG) &
usr/src/uts/common/io/iwh/iwh.c
1701
iwh_mac_access_exit(sc);
usr/src/uts/common/io/iwh/iwh.c
1706
if (!(sc->sc_flags & IWH_F_QUIESCED)) {
usr/src/uts/common/io/iwh/iwh.c
1749
iwh_ring_init(iwh_sc_t *sc)
usr/src/uts/common/io/iwh/iwh.c
1758
err = iwh_alloc_tx_ring(sc, &sc->sc_txq[i], TFD_TX_CMD_SLOTS,
usr/src/uts/common/io/iwh/iwh.c
1768
err = iwh_alloc_tx_ring(sc, &sc->sc_txq[IWH_CMD_QUEUE_NUM],
usr/src/uts/common/io/iwh/iwh.c
1774
err = iwh_alloc_rx_ring(sc);
usr/src/uts/common/io/iwh/iwh.c
1784
iwh_ring_free(iwh_sc_t *sc)
usr/src/uts/common/io/iwh/iwh.c
1788
iwh_free_rx_ring(sc);
usr/src/uts/common/io/iwh/iwh.c
1790
iwh_free_tx_ring(&sc->sc_txq[i]);
usr/src/uts/common/io/iwh/iwh.c
1851
iwh_sc_t *sc;
usr/src/uts/common/io/iwh/iwh.c
1862
sc = (iwh_sc_t *)ic;
usr/src/uts/common/io/iwh/iwh.c
1866
mutex_enter(&sc->sc_glock);
usr/src/uts/common/io/iwh/iwh.c
1872
atomic_or_32(&sc->sc_flags, IWH_F_SCANNING);
usr/src/uts/common/io/iwh/iwh.c
1873
iwh_set_led(sc, 2, 10, 2);
usr/src/uts/common/io/iwh/iwh.c
1879
sc->sc_config.assoc_id = 0;
usr/src/uts/common/io/iwh/iwh.c
1880
sc->sc_config.filter_flags &=
usr/src/uts/common/io/iwh/iwh.c
1886
LE_16(sc->sc_config.chan),
usr/src/uts/common/io/iwh/iwh.c
1887
LE_32(sc->sc_config.flags),
usr/src/uts/common/io/iwh/iwh.c
1888
LE_32(sc->sc_config.filter_flags)));
usr/src/uts/common/io/iwh/iwh.c
1890
err = iwh_cmd(sc, REPLY_RXON, &sc->sc_config,
usr/src/uts/common/io/iwh/iwh.c
1895
atomic_and_32(&sc->sc_flags, ~IWH_F_SCANNING);
usr/src/uts/common/io/iwh/iwh.c
1896
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/iwh/iwh.c
1906
err = iwh_cmd(sc, REPLY_ADD_STA, &node,
usr/src/uts/common/io/iwh/iwh.c
1911
atomic_and_32(&sc->sc_flags, ~IWH_F_SCANNING);
usr/src/uts/common/io/iwh/iwh.c
1912
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/iwh/iwh.c
1917
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/iwh/iwh.c
1919
err = sc->sc_newstate(ic, nstate, arg);
usr/src/uts/common/io/iwh/iwh.c
1920
mutex_enter(&sc->sc_glock);
usr/src/uts/common/io/iwh/iwh.c
1921
if ((err != 0) || ((err = iwh_scan(sc)) != 0)) {
usr/src/uts/common/io/iwh/iwh.c
1924
atomic_and_32(&sc->sc_flags, ~IWH_F_SCANNING);
usr/src/uts/common/io/iwh/iwh.c
1927
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/iwh/iwh.c
1932
sc->sc_clk = 0;
usr/src/uts/common/io/iwh/iwh.c
1937
atomic_and_32(&sc->sc_flags, ~IWH_F_SCANNING);
usr/src/uts/common/io/iwh/iwh.c
1943
sc->sc_config.assoc_id = 0;
usr/src/uts/common/io/iwh/iwh.c
1944
sc->sc_config.filter_flags &= ~LE_32(RXON_FILTER_ASSOC_MSK);
usr/src/uts/common/io/iwh/iwh.c
1951
if ((err = iwh_hw_set_before_auth(sc)) != 0) {
usr/src/uts/common/io/iwh/iwh.c
1954
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/iwh/iwh.c
1961
atomic_and_32(&sc->sc_flags, ~IWH_F_SCANNING);
usr/src/uts/common/io/iwh/iwh.c
1968
iwh_set_led(sc, 2, 10, 10);
usr/src/uts/common/io/iwh/iwh.c
1975
err = iwh_run_state_config(sc);
usr/src/uts/common/io/iwh/iwh.c
1979
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/iwh/iwh.c
1987
(sc->sc_ht_conf.ht_support) &&
usr/src/uts/common/io/iwh/iwh.c
1997
(sc->sc_ht_conf.tx_support_mcs[r/8] &
usr/src/uts/common/io/iwh/iwh.c
2000
atomic_or_32(&sc->sc_flags,
usr/src/uts/common/io/iwh/iwh.c
2007
atomic_or_32(&sc->sc_flags,
usr/src/uts/common/io/iwh/iwh.c
2020
atomic_and_32(&sc->sc_flags,
usr/src/uts/common/io/iwh/iwh.c
2028
iwh_set_led(sc, 2, 0, 1);
usr/src/uts/common/io/iwh/iwh.c
2033
atomic_and_32(&sc->sc_flags, ~IWH_F_SCANNING);
usr/src/uts/common/io/iwh/iwh.c
2038
iwh_set_led(sc, 2, 1, 0);
usr/src/uts/common/io/iwh/iwh.c
2043
atomic_and_32(&sc->sc_flags, ~IWH_F_SCANNING);
usr/src/uts/common/io/iwh/iwh.c
2048
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/iwh/iwh.c
2050
return (sc->sc_newstate(ic, nstate, arg));
usr/src/uts/common/io/iwh/iwh.c
2057
iwh_mac_access_enter(iwh_sc_t *sc)
usr/src/uts/common/io/iwh/iwh.c
2062
tmp = IWH_READ(sc, CSR_GP_CNTRL);
usr/src/uts/common/io/iwh/iwh.c
2063
IWH_WRITE(sc, CSR_GP_CNTRL,
usr/src/uts/common/io/iwh/iwh.c
2070
if ((IWH_READ(sc, CSR_GP_CNTRL) &
usr/src/uts/common/io/iwh/iwh.c
2091
iwh_mac_access_exit(iwh_sc_t *sc)
usr/src/uts/common/io/iwh/iwh.c
2093
uint32_t tmp = IWH_READ(sc, CSR_GP_CNTRL);
usr/src/uts/common/io/iwh/iwh.c
2094
IWH_WRITE(sc, CSR_GP_CNTRL,
usr/src/uts/common/io/iwh/iwh.c
2112
iwh_mem_write(iwh_sc_t *sc, uint32_t addr, uint32_t data)
usr/src/uts/common/io/iwh/iwh.c
2114
IWH_WRITE(sc, HBUS_TARG_MEM_WADDR, addr);
usr/src/uts/common/io/iwh/iwh.c
2115
IWH_WRITE(sc, HBUS_TARG_MEM_WDAT, data);
usr/src/uts/common/io/iwh/iwh.c
2122
iwh_reg_read(iwh_sc_t *sc, uint32_t addr)
usr/src/uts/common/io/iwh/iwh.c
2124
IWH_WRITE(sc, HBUS_TARG_PRPH_RADDR, addr | (3 << 24));
usr/src/uts/common/io/iwh/iwh.c
2125
return (IWH_READ(sc, HBUS_TARG_PRPH_RDAT));
usr/src/uts/common/io/iwh/iwh.c
2132
iwh_reg_write(iwh_sc_t *sc, uint32_t addr, uint32_t data)
usr/src/uts/common/io/iwh/iwh.c
2134
IWH_WRITE(sc, HBUS_TARG_PRPH_WADDR, addr | (3 << 24));
usr/src/uts/common/io/iwh/iwh.c
2135
IWH_WRITE(sc, HBUS_TARG_PRPH_WDAT, data);
usr/src/uts/common/io/iwh/iwh.c
2147
iwh_load_init_firmware(iwh_sc_t *sc)
usr/src/uts/common/io/iwh/iwh.c
2152
atomic_and_32(&sc->sc_flags, ~IWH_F_PUT_SEG);
usr/src/uts/common/io/iwh/iwh.c
2157
err = iwh_put_seg_fw(sc, sc->sc_dma_fw_init_text.cookie.dmac_address,
usr/src/uts/common/io/iwh/iwh.c
2158
RTC_INST_LOWER_BOUND, sc->sc_dma_fw_init_text.cookie.dmac_size);
usr/src/uts/common/io/iwh/iwh.c
2170
while (!(sc->sc_flags & IWH_F_PUT_SEG)) {
usr/src/uts/common/io/iwh/iwh.c
2171
if (cv_timedwait(&sc->sc_put_seg_cv, &sc->sc_glock, clk) < 0) {
usr/src/uts/common/io/iwh/iwh.c
2176
if (!(sc->sc_flags & IWH_F_PUT_SEG)) {
usr/src/uts/common/io/iwh/iwh.c
2182
atomic_and_32(&sc->sc_flags, ~IWH_F_PUT_SEG);
usr/src/uts/common/io/iwh/iwh.c
2187
err = iwh_put_seg_fw(sc, sc->sc_dma_fw_init_data.cookie.dmac_address,
usr/src/uts/common/io/iwh/iwh.c
2188
RTC_DATA_LOWER_BOUND, sc->sc_dma_fw_init_data.cookie.dmac_size);
usr/src/uts/common/io/iwh/iwh.c
2200
while (!(sc->sc_flags & IWH_F_PUT_SEG)) {
usr/src/uts/common/io/iwh/iwh.c
2201
if (cv_timedwait(&sc->sc_put_seg_cv, &sc->sc_glock, clk) < 0) {
usr/src/uts/common/io/iwh/iwh.c
2206
if (!(sc->sc_flags & IWH_F_PUT_SEG)) {
usr/src/uts/common/io/iwh/iwh.c
2212
atomic_and_32(&sc->sc_flags, ~IWH_F_PUT_SEG);
usr/src/uts/common/io/iwh/iwh.c
2218
iwh_load_run_firmware(iwh_sc_t *sc)
usr/src/uts/common/io/iwh/iwh.c
2223
atomic_and_32(&sc->sc_flags, ~IWH_F_PUT_SEG);
usr/src/uts/common/io/iwh/iwh.c
2228
err = iwh_put_seg_fw(sc, sc->sc_dma_fw_text.cookie.dmac_address,
usr/src/uts/common/io/iwh/iwh.c
2229
RTC_INST_LOWER_BOUND, sc->sc_dma_fw_text.cookie.dmac_size);
usr/src/uts/common/io/iwh/iwh.c
2241
while (!(sc->sc_flags & IWH_F_PUT_SEG)) {
usr/src/uts/common/io/iwh/iwh.c
2242
if (cv_timedwait(&sc->sc_put_seg_cv, &sc->sc_glock, clk) < 0) {
usr/src/uts/common/io/iwh/iwh.c
2247
if (!(sc->sc_flags & IWH_F_PUT_SEG)) {
usr/src/uts/common/io/iwh/iwh.c
2253
atomic_and_32(&sc->sc_flags, ~IWH_F_PUT_SEG);
usr/src/uts/common/io/iwh/iwh.c
2258
err = iwh_put_seg_fw(sc, sc->sc_dma_fw_data_bak.cookie.dmac_address,
usr/src/uts/common/io/iwh/iwh.c
2259
RTC_DATA_LOWER_BOUND, sc->sc_dma_fw_data.cookie.dmac_size);
usr/src/uts/common/io/iwh/iwh.c
2271
while (!(sc->sc_flags & IWH_F_PUT_SEG)) {
usr/src/uts/common/io/iwh/iwh.c
2272
if (cv_timedwait(&sc->sc_put_seg_cv, &sc->sc_glock, clk) < 0) {
usr/src/uts/common/io/iwh/iwh.c
2277
if (!(sc->sc_flags & IWH_F_PUT_SEG)) {
usr/src/uts/common/io/iwh/iwh.c
2283
atomic_and_32(&sc->sc_flags, ~IWH_F_PUT_SEG);
usr/src/uts/common/io/iwh/iwh.c
2293
iwh_rx_phy_intr(iwh_sc_t *sc, iwh_rx_desc_t *desc)
usr/src/uts/common/io/iwh/iwh.c
2296
sc->sc_rx_phy_res.flag = 1;
usr/src/uts/common/io/iwh/iwh.c
2298
bcopy((uint8_t *)(desc + 1), sc->sc_rx_phy_res.buf,
usr/src/uts/common/io/iwh/iwh.c
2307
iwh_rx_mpdu_intr(iwh_sc_t *sc, iwh_rx_desc_t *desc)
usr/src/uts/common/io/iwh/iwh.c
2309
ieee80211com_t *ic = &sc->sc_ic;
usr/src/uts/common/io/iwh/iwh.c
2311
iwh_rx_ring_t *ring = &sc->sc_rxq;
usr/src/uts/common/io/iwh/iwh.c
2328
stat = (iwh_rx_phy_res_t *)sc->sc_rx_phy_res.buf;
usr/src/uts/common/io/iwh/iwh.c
2376
if ((len < 16) || (len > sc->sc_dmabuf_sz)) {
usr/src/uts/common/io/iwh/iwh.c
2391
sc->sc_rx_err++;
usr/src/uts/common/io/iwh/iwh.c
2399
sc->sc_assoc_id = *((uint16_t *)(wh + 1) + 2);
usr/src/uts/common/io/iwh/iwh.c
2402
sc->sc_assoc_id));
usr/src/uts/common/io/iwh/iwh.c
2422
sc->sc_rx_nobuf++;
usr/src/uts/common/io/iwh/iwh.c
2437
iwh_tx_intr(iwh_sc_t *sc, iwh_rx_desc_t *desc)
usr/src/uts/common/io/iwh/iwh.c
2439
ieee80211com_t *ic = &sc->sc_ic;
usr/src/uts/common/io/iwh/iwh.c
2440
iwh_tx_ring_t *ring = &sc->sc_txq[desc->hdr.qid & 0x3];
usr/src/uts/common/io/iwh/iwh.c
2456
sc->sc_tx_retries++;
usr/src/uts/common/io/iwh/iwh.c
2459
sc->sc_tx_retries));
usr/src/uts/common/io/iwh/iwh.c
2462
mutex_enter(&sc->sc_mt_lock);
usr/src/uts/common/io/iwh/iwh.c
2463
sc->sc_tx_timer = 0;
usr/src/uts/common/io/iwh/iwh.c
2464
mutex_exit(&sc->sc_mt_lock);
usr/src/uts/common/io/iwh/iwh.c
2466
mutex_enter(&sc->sc_tx_lock);
usr/src/uts/common/io/iwh/iwh.c
2473
if ((sc->sc_need_reschedule) && (ring->queued <= (ring->count >> 3))) {
usr/src/uts/common/io/iwh/iwh.c
2474
sc->sc_need_reschedule = 0;
usr/src/uts/common/io/iwh/iwh.c
2475
mutex_exit(&sc->sc_tx_lock);
usr/src/uts/common/io/iwh/iwh.c
2477
mutex_enter(&sc->sc_tx_lock);
usr/src/uts/common/io/iwh/iwh.c
2480
mutex_exit(&sc->sc_tx_lock);
usr/src/uts/common/io/iwh/iwh.c
2487
iwh_cmd_intr(iwh_sc_t *sc, iwh_rx_desc_t *desc)
usr/src/uts/common/io/iwh/iwh.c
2493
if (sc->sc_cmd_accum > 0) {
usr/src/uts/common/io/iwh/iwh.c
2494
sc->sc_cmd_accum--;
usr/src/uts/common/io/iwh/iwh.c
2498
mutex_enter(&sc->sc_glock);
usr/src/uts/common/io/iwh/iwh.c
2500
sc->sc_cmd_flag = SC_CMD_FLG_DONE;
usr/src/uts/common/io/iwh/iwh.c
2502
cv_signal(&sc->sc_cmd_cv);
usr/src/uts/common/io/iwh/iwh.c
2504
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/iwh/iwh.c
2516
iwh_ucode_alive(iwh_sc_t *sc, iwh_rx_desc_t *desc)
usr/src/uts/common/io/iwh/iwh.c
2522
struct iwh_calib_results *res_p = &sc->sc_calib_results;
usr/src/uts/common/io/iwh/iwh.c
2546
bcopy(ar, &sc->sc_card_alive_init,
usr/src/uts/common/io/iwh/iwh.c
2552
mutex_enter(&sc->sc_glock);
usr/src/uts/common/io/iwh/iwh.c
2554
rv = iwh_alive_common(sc);
usr/src/uts/common/io/iwh/iwh.c
2558
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/iwh/iwh.c
2572
rv = iwh_cmd(sc, CALIBRATION_CFG_CMD, &cmd, sizeof (cmd), 1);
usr/src/uts/common/io/iwh/iwh.c
2576
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/iwh/iwh.c
2580
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/iwh/iwh.c
2587
bcopy(ar, &sc->sc_card_alive_run,
usr/src/uts/common/io/iwh/iwh.c
2590
mutex_enter(&sc->sc_glock);
usr/src/uts/common/io/iwh/iwh.c
2595
rv = iwh_alive_common(sc);
usr/src/uts/common/io/iwh/iwh.c
2599
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/iwh/iwh.c
2607
rv = iwh_cmd(sc, REPLY_PHY_CALIBRATION_CMD,
usr/src/uts/common/io/iwh/iwh.c
2613
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/iwh/iwh.c
2624
rv = iwh_cmd(sc, REPLY_PHY_CALIBRATION_CMD,
usr/src/uts/common/io/iwh/iwh.c
2630
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/iwh/iwh.c
2641
rv = iwh_cmd(sc, REPLY_PHY_CALIBRATION_CMD,
usr/src/uts/common/io/iwh/iwh.c
2648
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/iwh/iwh.c
2659
rv = iwh_cmd(sc, REPLY_PHY_CALIBRATION_CMD,
usr/src/uts/common/io/iwh/iwh.c
2666
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/iwh/iwh.c
2677
rv = iwh_cmd(sc, REPLY_PHY_CALIBRATION_CMD,
usr/src/uts/common/io/iwh/iwh.c
2684
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/iwh/iwh.c
2691
atomic_or_32(&sc->sc_flags, IWH_F_FW_INIT);
usr/src/uts/common/io/iwh/iwh.c
2692
cv_signal(&sc->sc_ucode_cv);
usr/src/uts/common/io/iwh/iwh.c
2694
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/iwh/iwh.c
2707
iwh_sc_t *sc;
usr/src/uts/common/io/iwh/iwh.c
2716
sc = (iwh_sc_t *)arg;
usr/src/uts/common/io/iwh/iwh.c
2717
ic = &sc->sc_ic;
usr/src/uts/common/io/iwh/iwh.c
2723
index = (sc->sc_shared->val0) & 0xfff;
usr/src/uts/common/io/iwh/iwh.c
2725
while (sc->sc_rxq.cur != index) {
usr/src/uts/common/io/iwh/iwh.c
2726
data = &sc->sc_rxq.data[sc->sc_rxq.cur];
usr/src/uts/common/io/iwh/iwh.c
2732
index, sc->sc_rxq.cur, desc->hdr.qid, desc->hdr.idx,
usr/src/uts/common/io/iwh/iwh.c
2741
iwh_cmd_intr(sc, desc);
usr/src/uts/common/io/iwh/iwh.c
2746
iwh_rx_phy_intr(sc, desc);
usr/src/uts/common/io/iwh/iwh.c
2750
iwh_rx_mpdu_intr(sc, desc);
usr/src/uts/common/io/iwh/iwh.c
2754
iwh_tx_intr(sc, desc);
usr/src/uts/common/io/iwh/iwh.c
2758
iwh_ucode_alive(sc, desc);
usr/src/uts/common/io/iwh/iwh.c
2778
sc->sc_ostate = sc->sc_ic.ic_state;
usr/src/uts/common/io/iwh/iwh.c
2779
ieee80211_new_state(&sc->sc_ic,
usr/src/uts/common/io/iwh/iwh.c
2781
atomic_or_32(&sc->sc_flags,
usr/src/uts/common/io/iwh/iwh.c
2812
sc->sc_scan_pending++;
usr/src/uts/common/io/iwh/iwh.c
2825
iwh_save_calib_result(sc, desc);
usr/src/uts/common/io/iwh/iwh.c
2829
mutex_enter(&sc->sc_glock);
usr/src/uts/common/io/iwh/iwh.c
2830
atomic_or_32(&sc->sc_flags, IWH_F_FW_INIT);
usr/src/uts/common/io/iwh/iwh.c
2831
cv_signal(&sc->sc_ucode_cv);
usr/src/uts/common/io/iwh/iwh.c
2832
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/iwh/iwh.c
2840
sc->sc_rxq.cur = (sc->sc_rxq.cur + 1) % RX_QUEUE_SIZE;
usr/src/uts/common/io/iwh/iwh.c
2848
IWH_WRITE(sc, FH_RSCSR_CHNL0_RBDCB_WPTR_REG, index & (~7));
usr/src/uts/common/io/iwh/iwh.c
2853
IWH_WRITE(sc, CSR_INT_MASK, CSR_INI_SET_MASK);
usr/src/uts/common/io/iwh/iwh.c
2865
iwh_sc_t *sc;
usr/src/uts/common/io/iwh/iwh.c
2871
sc = (iwh_sc_t *)arg;
usr/src/uts/common/io/iwh/iwh.c
2873
r = IWH_READ(sc, CSR_INT);
usr/src/uts/common/io/iwh/iwh.c
2881
rfh = IWH_READ(sc, CSR_FH_INT_STATUS);
usr/src/uts/common/io/iwh/iwh.c
2889
IWH_WRITE(sc, CSR_INT_MASK, 0);
usr/src/uts/common/io/iwh/iwh.c
2894
IWH_WRITE(sc, CSR_INT, r);
usr/src/uts/common/io/iwh/iwh.c
2895
IWH_WRITE(sc, CSR_FH_INT_STATUS, rfh);
usr/src/uts/common/io/iwh/iwh.c
2900
iwh_stop(sc);
usr/src/uts/common/io/iwh/iwh.c
2901
sc->sc_ostate = sc->sc_ic.ic_state;
usr/src/uts/common/io/iwh/iwh.c
2906
if (!IWH_CHK_FAST_RECOVER(sc)) {
usr/src/uts/common/io/iwh/iwh.c
2907
ieee80211_new_state(&sc->sc_ic, IEEE80211_S_INIT, -1);
usr/src/uts/common/io/iwh/iwh.c
2910
atomic_or_32(&sc->sc_flags, IWH_F_HW_ERR_RECOVER);
usr/src/uts/common/io/iwh/iwh.c
2915
uint32_t tmp = IWH_READ(sc, CSR_GP_CNTRL);
usr/src/uts/common/io/iwh/iwh.c
2923
(void) ddi_intr_trigger_softint(sc->sc_soft_hdl, NULL);
usr/src/uts/common/io/iwh/iwh.c
2928
mutex_enter(&sc->sc_glock);
usr/src/uts/common/io/iwh/iwh.c
2929
atomic_or_32(&sc->sc_flags, IWH_F_PUT_SEG);
usr/src/uts/common/io/iwh/iwh.c
2930
cv_signal(&sc->sc_put_seg_cv);
usr/src/uts/common/io/iwh/iwh.c
2931
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/iwh/iwh.c
2944
IWH_WRITE(sc, CSR_INT_MASK, CSR_INI_SET_MASK);
usr/src/uts/common/io/iwh/iwh.c
3023
iwh_sc_t *sc;
usr/src/uts/common/io/iwh/iwh.c
3030
sc = (iwh_sc_t *)arg;
usr/src/uts/common/io/iwh/iwh.c
3031
ic = &sc->sc_ic;
usr/src/uts/common/io/iwh/iwh.c
3033
if (sc->sc_flags & IWH_F_SUSPEND) {
usr/src/uts/common/io/iwh/iwh.c
3043
if ((sc->sc_flags & IWH_F_HW_ERR_RECOVER) &&
usr/src/uts/common/io/iwh/iwh.c
3044
IWH_CHK_FAST_RECOVER(sc)) {
usr/src/uts/common/io/iwh/iwh.c
3069
iwh_sc_t *sc;
usr/src/uts/common/io/iwh/iwh.c
3091
sc = (iwh_sc_t *)ic;
usr/src/uts/common/io/iwh/iwh.c
3093
if (sc->sc_flags & IWH_F_SUSPEND) {
usr/src/uts/common/io/iwh/iwh.c
3116
sc->sc_tx_err++;
usr/src/uts/common/io/iwh/iwh.c
3139
sc->sc_tx_err++;
usr/src/uts/common/io/iwh/iwh.c
3159
mutex_enter(&sc->sc_tx_lock);
usr/src/uts/common/io/iwh/iwh.c
3160
ring = &sc->sc_txq[txq_id];
usr/src/uts/common/io/iwh/iwh.c
3174
sc->sc_need_reschedule = 1;
usr/src/uts/common/io/iwh/iwh.c
3175
mutex_exit(&sc->sc_tx_lock);
usr/src/uts/common/io/iwh/iwh.c
3181
sc->sc_tx_nobuf++;
usr/src/uts/common/io/iwh/iwh.c
3188
mutex_exit(&sc->sc_tx_lock);
usr/src/uts/common/io/iwh/iwh.c
3198
mutex_enter(&sc->sc_tx_lock);
usr/src/uts/common/io/iwh/iwh.c
3200
if ((sc->sc_need_reschedule) && (ring->queued <= 0)) {
usr/src/uts/common/io/iwh/iwh.c
3201
sc->sc_need_reschedule = 0;
usr/src/uts/common/io/iwh/iwh.c
3202
mutex_exit(&sc->sc_tx_lock);
usr/src/uts/common/io/iwh/iwh.c
3204
mutex_enter(&sc->sc_tx_lock);
usr/src/uts/common/io/iwh/iwh.c
3206
mutex_exit(&sc->sc_tx_lock);
usr/src/uts/common/io/iwh/iwh.c
3250
sc->sc_tx_err++;
usr/src/uts/common/io/iwh/iwh.c
3252
mutex_enter(&sc->sc_tx_lock);
usr/src/uts/common/io/iwh/iwh.c
3254
if ((sc->sc_need_reschedule) && (ring->queued <= 0)) {
usr/src/uts/common/io/iwh/iwh.c
3255
sc->sc_need_reschedule = 0;
usr/src/uts/common/io/iwh/iwh.c
3256
mutex_exit(&sc->sc_tx_lock);
usr/src/uts/common/io/iwh/iwh.c
3258
mutex_enter(&sc->sc_tx_lock);
usr/src/uts/common/io/iwh/iwh.c
3260
mutex_exit(&sc->sc_tx_lock);
usr/src/uts/common/io/iwh/iwh.c
3335
(sc->sc_ht_conf.ht_support)) {
usr/src/uts/common/io/iwh/iwh.c
3377
(sc->sc_ht_conf.ht_support) &&
usr/src/uts/common/io/iwh/iwh.c
3426
mutex_enter(&sc->sc_tx_lock);
usr/src/uts/common/io/iwh/iwh.c
3449
sc->sc_shared->queues_byte_cnt_tbls[ring->qid].
usr/src/uts/common/io/iwh/iwh.c
3453
sc->sc_shared->queues_byte_cnt_tbls[ring->qid].
usr/src/uts/common/io/iwh/iwh.c
3462
IWH_WRITE(sc, HBUS_TARG_WRPTR, ring->qid << 8 | ring->desc_cur);
usr/src/uts/common/io/iwh/iwh.c
3464
mutex_exit(&sc->sc_tx_lock);
usr/src/uts/common/io/iwh/iwh.c
3475
mutex_enter(&sc->sc_mt_lock);
usr/src/uts/common/io/iwh/iwh.c
3476
if (0 == sc->sc_tx_timer) {
usr/src/uts/common/io/iwh/iwh.c
3477
sc->sc_tx_timer = 4;
usr/src/uts/common/io/iwh/iwh.c
3479
mutex_exit(&sc->sc_mt_lock);
usr/src/uts/common/io/iwh/iwh.c
3491
iwh_sc_t *sc;
usr/src/uts/common/io/iwh/iwh.c
3498
sc = (iwh_sc_t *)arg;
usr/src/uts/common/io/iwh/iwh.c
3499
ic = &sc->sc_ic;
usr/src/uts/common/io/iwh/iwh.c
3512
if (sc->sc_flags & IWH_F_RUNNING) {
usr/src/uts/common/io/iwh/iwh.c
3513
iwh_m_stop(sc);
usr/src/uts/common/io/iwh/iwh.c
3514
(void) iwh_m_start(sc);
usr/src/uts/common/io/iwh/iwh.c
3529
iwh_sc_t *sc;
usr/src/uts/common/io/iwh/iwh.c
3535
sc = (iwh_sc_t *)arg;
usr/src/uts/common/io/iwh/iwh.c
3537
err = ieee80211_getprop(&sc->sc_ic, pr_name, wldp_pr_num,
usr/src/uts/common/io/iwh/iwh.c
3547
iwh_sc_t *sc = (iwh_sc_t *)arg;
usr/src/uts/common/io/iwh/iwh.c
3549
ieee80211_propinfo(&sc->sc_ic, pr_name, wldp_pr_num, mph);
usr/src/uts/common/io/iwh/iwh.c
3556
iwh_sc_t *sc;
usr/src/uts/common/io/iwh/iwh.c
3563
sc = (iwh_sc_t *)arg;
usr/src/uts/common/io/iwh/iwh.c
3564
ic = &sc->sc_ic;
usr/src/uts/common/io/iwh/iwh.c
3571
if (sc->sc_flags & IWH_F_RUNNING) {
usr/src/uts/common/io/iwh/iwh.c
3572
iwh_m_stop(sc);
usr/src/uts/common/io/iwh/iwh.c
3573
(void) iwh_m_start(sc);
usr/src/uts/common/io/iwh/iwh.c
3589
iwh_sc_t *sc;
usr/src/uts/common/io/iwh/iwh.c
3596
sc = (iwh_sc_t *)arg;
usr/src/uts/common/io/iwh/iwh.c
3597
ic = &sc->sc_ic;
usr/src/uts/common/io/iwh/iwh.c
3599
mutex_enter(&sc->sc_glock);
usr/src/uts/common/io/iwh/iwh.c
3610
*val = sc->sc_tx_nobuf;
usr/src/uts/common/io/iwh/iwh.c
3614
*val = sc->sc_rx_nobuf;
usr/src/uts/common/io/iwh/iwh.c
3618
*val = sc->sc_rx_err;
usr/src/uts/common/io/iwh/iwh.c
3639
*val = sc->sc_tx_err;
usr/src/uts/common/io/iwh/iwh.c
3643
*val = sc->sc_tx_retries;
usr/src/uts/common/io/iwh/iwh.c
3656
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/iwh/iwh.c
3660
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/iwh/iwh.c
3664
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/iwh/iwh.c
3675
iwh_sc_t *sc;
usr/src/uts/common/io/iwh/iwh.c
3682
sc = (iwh_sc_t *)arg;
usr/src/uts/common/io/iwh/iwh.c
3683
ic = &sc->sc_ic;
usr/src/uts/common/io/iwh/iwh.c
3685
err = iwh_init(sc);
usr/src/uts/common/io/iwh/iwh.c
3692
atomic_or_32(&sc->sc_flags, IWH_F_HW_ERR_RECOVER);
usr/src/uts/common/io/iwh/iwh.c
3698
atomic_or_32(&sc->sc_flags, IWH_F_RUNNING);
usr/src/uts/common/io/iwh/iwh.c
3709
iwh_sc_t *sc;
usr/src/uts/common/io/iwh/iwh.c
3715
sc = (iwh_sc_t *)arg;
usr/src/uts/common/io/iwh/iwh.c
3716
ic = &sc->sc_ic;
usr/src/uts/common/io/iwh/iwh.c
3718
iwh_stop(sc);
usr/src/uts/common/io/iwh/iwh.c
3723
iwh_release_calib_buffer(sc);
usr/src/uts/common/io/iwh/iwh.c
3727
atomic_and_32(&sc->sc_flags, ~IWH_F_HW_ERR_RECOVER);
usr/src/uts/common/io/iwh/iwh.c
3728
atomic_and_32(&sc->sc_flags, ~IWH_F_RATE_AUTO_CTL);
usr/src/uts/common/io/iwh/iwh.c
3730
atomic_and_32(&sc->sc_flags, ~IWH_F_RUNNING);
usr/src/uts/common/io/iwh/iwh.c
3731
atomic_and_32(&sc->sc_flags, ~IWH_F_SCANNING);
usr/src/uts/common/io/iwh/iwh.c
3740
iwh_sc_t *sc;
usr/src/uts/common/io/iwh/iwh.c
3747
sc = (iwh_sc_t *)arg;
usr/src/uts/common/io/iwh/iwh.c
3748
ic = &sc->sc_ic;
usr/src/uts/common/io/iwh/iwh.c
3752
mutex_enter(&sc->sc_glock);
usr/src/uts/common/io/iwh/iwh.c
3753
err = iwh_config(sc);
usr/src/uts/common/io/iwh/iwh.c
3754
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/iwh/iwh.c
3784
iwh_thread(iwh_sc_t *sc)
usr/src/uts/common/io/iwh/iwh.c
3786
ieee80211com_t *ic = &sc->sc_ic;
usr/src/uts/common/io/iwh/iwh.c
3794
while (sc->sc_mf_thread_switch) {
usr/src/uts/common/io/iwh/iwh.c
3795
tmp = IWH_READ(sc, CSR_GP_CNTRL);
usr/src/uts/common/io/iwh/iwh.c
3797
atomic_and_32(&sc->sc_flags, ~IWH_F_RADIO_OFF);
usr/src/uts/common/io/iwh/iwh.c
3799
atomic_or_32(&sc->sc_flags, IWH_F_RADIO_OFF);
usr/src/uts/common/io/iwh/iwh.c
3805
if (sc->sc_flags & IWH_F_RADIO_OFF) {
usr/src/uts/common/io/iwh/iwh.c
3814
(sc->sc_flags & IWH_F_HW_ERR_RECOVER)) {
usr/src/uts/common/io/iwh/iwh.c
3819
iwh_stop(sc);
usr/src/uts/common/io/iwh/iwh.c
3821
if (IWH_CHK_FAST_RECOVER(sc)) {
usr/src/uts/common/io/iwh/iwh.c
3825
bcopy(&sc->sc_config, &sc->sc_config_save,
usr/src/uts/common/io/iwh/iwh.c
3826
sizeof (sc->sc_config));
usr/src/uts/common/io/iwh/iwh.c
3832
err = iwh_init(sc);
usr/src/uts/common/io/iwh/iwh.c
3842
atomic_or_32(&sc->sc_flags, IWH_F_RUNNING);
usr/src/uts/common/io/iwh/iwh.c
3846
if (!IWH_CHK_FAST_RECOVER(sc) ||
usr/src/uts/common/io/iwh/iwh.c
3847
iwh_fast_recover(sc) != IWH_SUCCESS) {
usr/src/uts/common/io/iwh/iwh.c
3848
atomic_and_32(&sc->sc_flags,
usr/src/uts/common/io/iwh/iwh.c
3852
if (sc->sc_ostate != IEEE80211_S_INIT) {
usr/src/uts/common/io/iwh/iwh.c
3860
(sc->sc_flags & IWH_F_SCANNING) && sc->sc_scan_pending) {
usr/src/uts/common/io/iwh/iwh.c
3864
sc->sc_scan_pending--;
usr/src/uts/common/io/iwh/iwh.c
3873
(sc->sc_flags & IWH_F_RATE_AUTO_CTL)) {
usr/src/uts/common/io/iwh/iwh.c
3875
if (clk > sc->sc_clk + drv_usectohz(1000000)) {
usr/src/uts/common/io/iwh/iwh.c
3876
iwh_amrr_timeout(sc);
usr/src/uts/common/io/iwh/iwh.c
3889
mutex_enter(&sc->sc_mt_lock);
usr/src/uts/common/io/iwh/iwh.c
3890
if (sc->sc_tx_timer) {
usr/src/uts/common/io/iwh/iwh.c
3893
sc->sc_tx_timer--;
usr/src/uts/common/io/iwh/iwh.c
3894
if (0 == sc->sc_tx_timer) {
usr/src/uts/common/io/iwh/iwh.c
3895
atomic_or_32(&sc->sc_flags,
usr/src/uts/common/io/iwh/iwh.c
3897
sc->sc_ostate = IEEE80211_S_RUN;
usr/src/uts/common/io/iwh/iwh.c
3905
mutex_exit(&sc->sc_mt_lock);
usr/src/uts/common/io/iwh/iwh.c
3908
mutex_enter(&sc->sc_mt_lock);
usr/src/uts/common/io/iwh/iwh.c
3909
sc->sc_mf_thread = NULL;
usr/src/uts/common/io/iwh/iwh.c
3910
cv_signal(&sc->sc_mt_cv);
usr/src/uts/common/io/iwh/iwh.c
3911
mutex_exit(&sc->sc_mt_lock);
usr/src/uts/common/io/iwh/iwh.c
3918
iwh_cmd(iwh_sc_t *sc, int code, const void *buf, int size, int async)
usr/src/uts/common/io/iwh/iwh.c
3920
iwh_tx_ring_t *ring = &sc->sc_txq[IWH_CMD_QUEUE_NUM];
usr/src/uts/common/io/iwh/iwh.c
3925
ASSERT(mutex_owned(&sc->sc_glock));
usr/src/uts/common/io/iwh/iwh.c
3945
sc->sc_cmd_accum++;
usr/src/uts/common/io/iwh/iwh.c
3951
sc->sc_shared->queues_byte_cnt_tbls[ring->qid].
usr/src/uts/common/io/iwh/iwh.c
3954
sc->sc_shared->queues_byte_cnt_tbls[ring->qid].
usr/src/uts/common/io/iwh/iwh.c
3958
IWH_WRITE(sc, HBUS_TARG_WRPTR, ring->qid << 8 | ring->cur);
usr/src/uts/common/io/iwh/iwh.c
3966
while (sc->sc_cmd_flag != SC_CMD_FLG_DONE) {
usr/src/uts/common/io/iwh/iwh.c
3967
if (cv_timedwait(&sc->sc_cmd_cv,
usr/src/uts/common/io/iwh/iwh.c
3968
&sc->sc_glock, clk) < 0) {
usr/src/uts/common/io/iwh/iwh.c
3973
if (SC_CMD_FLG_DONE == sc->sc_cmd_flag) {
usr/src/uts/common/io/iwh/iwh.c
3974
sc->sc_cmd_flag = SC_CMD_FLG_NONE;
usr/src/uts/common/io/iwh/iwh.c
3977
sc->sc_cmd_flag = SC_CMD_FLG_NONE;
usr/src/uts/common/io/iwh/iwh.c
3987
iwh_set_led(iwh_sc_t *sc, uint8_t id, uint8_t off, uint8_t on)
usr/src/uts/common/io/iwh/iwh.c
3996
(void) iwh_cmd(sc, REPLY_LEDS_CMD, &led, sizeof (led), 1);
usr/src/uts/common/io/iwh/iwh.c
4003
iwh_hw_set_before_auth(iwh_sc_t *sc)
usr/src/uts/common/io/iwh/iwh.c
4005
ieee80211com_t *ic = &sc->sc_ic;
usr/src/uts/common/io/iwh/iwh.c
4013
IEEE80211_ADDR_COPY(sc->sc_config.bssid, in->in_bssid);
usr/src/uts/common/io/iwh/iwh.c
4014
sc->sc_config.chan = LE_16(ieee80211_chan2ieee(ic, in->in_chan));
usr/src/uts/common/io/iwh/iwh.c
4018
sc->sc_config.ofdm_ht_triple_stream_basic_rates = 0;
usr/src/uts/common/io/iwh/iwh.c
4019
sc->sc_config.ofdm_ht_dual_stream_basic_rates = 0;
usr/src/uts/common/io/iwh/iwh.c
4020
sc->sc_config.ofdm_ht_single_stream_basic_rates = 0;
usr/src/uts/common/io/iwh/iwh.c
4023
sc->sc_config.cck_basic_rates = 0x03;
usr/src/uts/common/io/iwh/iwh.c
4024
sc->sc_config.ofdm_basic_rates = 0;
usr/src/uts/common/io/iwh/iwh.c
4027
sc->sc_config.cck_basic_rates = 0;
usr/src/uts/common/io/iwh/iwh.c
4028
sc->sc_config.ofdm_basic_rates = 0x15;
usr/src/uts/common/io/iwh/iwh.c
4030
sc->sc_config.cck_basic_rates = 0x0f;
usr/src/uts/common/io/iwh/iwh.c
4031
sc->sc_config.ofdm_basic_rates = 0xff;
usr/src/uts/common/io/iwh/iwh.c
4035
sc->sc_config.flags &= ~LE_32(RXON_FLG_SHORT_PREAMBLE_MSK |
usr/src/uts/common/io/iwh/iwh.c
4039
sc->sc_config.flags |= LE_32(RXON_FLG_SHORT_SLOT_MSK);
usr/src/uts/common/io/iwh/iwh.c
4041
sc->sc_config.flags &= LE_32(~RXON_FLG_SHORT_SLOT_MSK);
usr/src/uts/common/io/iwh/iwh.c
4045
sc->sc_config.flags |= LE_32(RXON_FLG_SHORT_PREAMBLE_MSK);
usr/src/uts/common/io/iwh/iwh.c
4047
sc->sc_config.flags &= LE_32(~RXON_FLG_SHORT_PREAMBLE_MSK);
usr/src/uts/common/io/iwh/iwh.c
4054
LE_16(sc->sc_config.chan), LE_32(sc->sc_config.flags),
usr/src/uts/common/io/iwh/iwh.c
4055
LE_32(sc->sc_config.filter_flags),
usr/src/uts/common/io/iwh/iwh.c
4056
sc->sc_config.cck_basic_rates, sc->sc_config.ofdm_basic_rates,
usr/src/uts/common/io/iwh/iwh.c
4057
sc->sc_config.bssid[0], sc->sc_config.bssid[1],
usr/src/uts/common/io/iwh/iwh.c
4058
sc->sc_config.bssid[2], sc->sc_config.bssid[3],
usr/src/uts/common/io/iwh/iwh.c
4059
sc->sc_config.bssid[4], sc->sc_config.bssid[5]));
usr/src/uts/common/io/iwh/iwh.c
4061
err = iwh_cmd(sc, REPLY_RXON, &sc->sc_config,
usr/src/uts/common/io/iwh/iwh.c
4065
"failed to config chan%d\n", sc->sc_config.chan);
usr/src/uts/common/io/iwh/iwh.c
4069
if ((sc->sc_dev_id != 0x423c) &&
usr/src/uts/common/io/iwh/iwh.c
4070
(sc->sc_dev_id != 0x423d)) {
usr/src/uts/common/io/iwh/iwh.c
4071
err = iwh_tx_power_table(sc, 1);
usr/src/uts/common/io/iwh/iwh.c
4080
err = iwh_add_ap_sta(sc);
usr/src/uts/common/io/iwh/iwh.c
4085
if ((sc->sc_dev_id != 0x423c) &&
usr/src/uts/common/io/iwh/iwh.c
4086
(sc->sc_dev_id != 0x423d)) {
usr/src/uts/common/io/iwh/iwh.c
4090
err = iwh_ap_lq(sc);
usr/src/uts/common/io/iwh/iwh.c
4103
iwh_scan(iwh_sc_t *sc)
usr/src/uts/common/io/iwh/iwh.c
4105
ieee80211com_t *ic = &sc->sc_ic;
usr/src/uts/common/io/iwh/iwh.c
4106
iwh_tx_ring_t *ring = &sc->sc_txq[IWH_CMD_QUEUE_NUM];
usr/src/uts/common/io/iwh/iwh.c
4269
sc->sc_shared->queues_byte_cnt_tbls[ring->qid]
usr/src/uts/common/io/iwh/iwh.c
4272
sc->sc_shared->queues_byte_cnt_tbls[ring->qid].
usr/src/uts/common/io/iwh/iwh.c
4280
IWH_WRITE(sc, HBUS_TARG_WRPTR, ring->qid << 8 | ring->cur);
usr/src/uts/common/io/iwh/iwh.c
4289
iwh_config(iwh_sc_t *sc)
usr/src/uts/common/io/iwh/iwh.c
4291
ieee80211com_t *ic = &sc->sc_ic;
usr/src/uts/common/io/iwh/iwh.c
4306
err = iwh_cmd(sc, POWER_TABLE_CMD, &powertable,
usr/src/uts/common/io/iwh/iwh.c
4321
err = iwh_cmd(sc, REPLY_BT_CONFIG, &bt,
usr/src/uts/common/io/iwh/iwh.c
4332
(void) memset(&sc->sc_config, 0, sizeof (iwh_rxon_cmd_t));
usr/src/uts/common/io/iwh/iwh.c
4333
IEEE80211_ADDR_COPY(sc->sc_config.node_addr, ic->ic_macaddr);
usr/src/uts/common/io/iwh/iwh.c
4334
IEEE80211_ADDR_COPY(sc->sc_config.wlap_bssid, ic->ic_macaddr);
usr/src/uts/common/io/iwh/iwh.c
4335
sc->sc_config.chan = LE_16(ieee80211_chan2ieee(ic, ic->ic_curchan));
usr/src/uts/common/io/iwh/iwh.c
4336
sc->sc_config.flags = LE_32(RXON_FLG_BAND_24G_MSK);
usr/src/uts/common/io/iwh/iwh.c
4337
sc->sc_config.flags &= LE_32(~(RXON_FLG_CHANNEL_MODE_MIXED_MSK |
usr/src/uts/common/io/iwh/iwh.c
4342
sc->sc_config.dev_type = RXON_DEV_TYPE_ESS;
usr/src/uts/common/io/iwh/iwh.c
4343
sc->sc_config.filter_flags |= LE_32(RXON_FILTER_ACCEPT_GRP_MSK |
usr/src/uts/common/io/iwh/iwh.c
4350
sc->sc_config.dev_type = RXON_DEV_TYPE_IBSS;
usr/src/uts/common/io/iwh/iwh.c
4352
sc->sc_config.flags |= LE_32(RXON_FLG_SHORT_PREAMBLE_MSK);
usr/src/uts/common/io/iwh/iwh.c
4353
sc->sc_config.filter_flags = LE_32(RXON_FILTER_ACCEPT_GRP_MSK |
usr/src/uts/common/io/iwh/iwh.c
4359
sc->sc_config.dev_type = RXON_DEV_TYPE_AP;
usr/src/uts/common/io/iwh/iwh.c
4363
sc->sc_config.dev_type = RXON_DEV_TYPE_SNIFFER;
usr/src/uts/common/io/iwh/iwh.c
4364
sc->sc_config.filter_flags |= LE_32(RXON_FILTER_ACCEPT_GRP_MSK |
usr/src/uts/common/io/iwh/iwh.c
4372
sc->sc_config.cck_basic_rates = 0x0f;
usr/src/uts/common/io/iwh/iwh.c
4377
sc->sc_config.ofdm_basic_rates = 0xff;
usr/src/uts/common/io/iwh/iwh.c
4382
switch (sc->sc_ht_conf.rx_stream_count) {
usr/src/uts/common/io/iwh/iwh.c
4384
sc->sc_config.ofdm_ht_triple_stream_basic_rates = 0xff;
usr/src/uts/common/io/iwh/iwh.c
4385
sc->sc_config.ofdm_ht_dual_stream_basic_rates = 0xff;
usr/src/uts/common/io/iwh/iwh.c
4386
sc->sc_config.ofdm_ht_single_stream_basic_rates = 0xff;
usr/src/uts/common/io/iwh/iwh.c
4389
sc->sc_config.ofdm_ht_dual_stream_basic_rates = 0xff;
usr/src/uts/common/io/iwh/iwh.c
4390
sc->sc_config.ofdm_ht_single_stream_basic_rates = 0xff;
usr/src/uts/common/io/iwh/iwh.c
4393
sc->sc_config.ofdm_ht_single_stream_basic_rates = 0xff;
usr/src/uts/common/io/iwh/iwh.c
4398
sc->sc_ht_conf.rx_stream_count);
usr/src/uts/common/io/iwh/iwh.c
4405
iwh_config_rxon_chain(sc);
usr/src/uts/common/io/iwh/iwh.c
4407
err = iwh_cmd(sc, REPLY_RXON, &sc->sc_config,
usr/src/uts/common/io/iwh/iwh.c
4422
err = iwh_cmd(sc, REPLY_REMOVE_STA, &rm_sta, sizeof (iwh_rem_sta_t), 0);
usr/src/uts/common/io/iwh/iwh.c
4429
if ((sc->sc_dev_id != 0x423c) &&
usr/src/uts/common/io/iwh/iwh.c
4430
(sc->sc_dev_id != 0x423d)) {
usr/src/uts/common/io/iwh/iwh.c
4434
err = iwh_tx_power_table(sc, 0);
usr/src/uts/common/io/iwh/iwh.c
4449
err = iwh_cmd(sc, REPLY_ADD_STA, &node, sizeof (node), 0);
usr/src/uts/common/io/iwh/iwh.c
4456
if ((sc->sc_dev_id != 0x423c) &&
usr/src/uts/common/io/iwh/iwh.c
4457
(sc->sc_dev_id != 0x423d)) {
usr/src/uts/common/io/iwh/iwh.c
4475
err = iwh_cmd(sc, REPLY_TX_LINK_QUALITY_CMD, &link_quality,
usr/src/uts/common/io/iwh/iwh.c
4498
iwh_sc_t *sc;
usr/src/uts/common/io/iwh/iwh.c
4500
sc = ddi_get_soft_state(iwh_soft_state_p, ddi_get_instance(dip));
usr/src/uts/common/io/iwh/iwh.c
4501
if (sc == NULL) {
usr/src/uts/common/io/iwh/iwh.c
4516
atomic_or_32(&sc->sc_flags, IWH_F_QUIESCED);
usr/src/uts/common/io/iwh/iwh.c
4521
iwh_stop(sc);
usr/src/uts/common/io/iwh/iwh.c
4527
iwh_stop_master(iwh_sc_t *sc)
usr/src/uts/common/io/iwh/iwh.c
4532
tmp = IWH_READ(sc, CSR_RESET);
usr/src/uts/common/io/iwh/iwh.c
4533
IWH_WRITE(sc, CSR_RESET, tmp | CSR_RESET_REG_FLAG_STOP_MASTER);
usr/src/uts/common/io/iwh/iwh.c
4535
tmp = IWH_READ(sc, CSR_GP_CNTRL);
usr/src/uts/common/io/iwh/iwh.c
4542
if (IWH_READ(sc, CSR_RESET) &
usr/src/uts/common/io/iwh/iwh.c
4558
iwh_power_up(iwh_sc_t *sc)
usr/src/uts/common/io/iwh/iwh.c
4562
iwh_mac_access_enter(sc);
usr/src/uts/common/io/iwh/iwh.c
4563
tmp = iwh_reg_read(sc, ALM_APMG_PS_CTL);
usr/src/uts/common/io/iwh/iwh.c
4566
iwh_reg_write(sc, ALM_APMG_PS_CTL, tmp);
usr/src/uts/common/io/iwh/iwh.c
4567
iwh_mac_access_exit(sc);
usr/src/uts/common/io/iwh/iwh.c
4577
iwh_preinit(iwh_sc_t *sc)
usr/src/uts/common/io/iwh/iwh.c
4587
IWH_WRITE(sc, CSR_INT, 0xffffffff);
usr/src/uts/common/io/iwh/iwh.c
4589
tmp = IWH_READ(sc, CSR_GIO_CHICKEN_BITS);
usr/src/uts/common/io/iwh/iwh.c
4590
IWH_WRITE(sc, CSR_GIO_CHICKEN_BITS,
usr/src/uts/common/io/iwh/iwh.c
4593
tmp = IWH_READ(sc, CSR_ANA_PLL_CFG);
usr/src/uts/common/io/iwh/iwh.c
4594
IWH_WRITE(sc, CSR_ANA_PLL_CFG, tmp | IWH_CSR_ANA_PLL_CFG);
usr/src/uts/common/io/iwh/iwh.c
4596
tmp = IWH_READ(sc, CSR_GP_CNTRL);
usr/src/uts/common/io/iwh/iwh.c
4597
IWH_WRITE(sc, CSR_GP_CNTRL, tmp | CSR_GP_CNTRL_REG_FLAG_INIT_DONE);
usr/src/uts/common/io/iwh/iwh.c
4603
if (IWH_READ(sc, CSR_GP_CNTRL) &
usr/src/uts/common/io/iwh/iwh.c
4614
iwh_mac_access_enter(sc);
usr/src/uts/common/io/iwh/iwh.c
4616
iwh_reg_write(sc, ALM_APMG_CLK_EN, APMG_CLK_REG_VAL_DMA_CLK_RQT);
usr/src/uts/common/io/iwh/iwh.c
4619
tmp = iwh_reg_read(sc, ALM_APMG_PCIDEV_STT);
usr/src/uts/common/io/iwh/iwh.c
4620
iwh_reg_write(sc, ALM_APMG_PCIDEV_STT, tmp |
usr/src/uts/common/io/iwh/iwh.c
4622
iwh_mac_access_exit(sc);
usr/src/uts/common/io/iwh/iwh.c
4624
radio_cfg = IWH_READ_EEP_SHORT(sc, EEP_SP_RADIO_CONFIGURATION);
usr/src/uts/common/io/iwh/iwh.c
4626
tmp = IWH_READ(sc, CSR_HW_IF_CONFIG_REG);
usr/src/uts/common/io/iwh/iwh.c
4627
IWH_WRITE(sc, CSR_HW_IF_CONFIG_REG,
usr/src/uts/common/io/iwh/iwh.c
4638
IWH_WRITE(sc, CSR_INT_COALESCING, 512 / 32);
usr/src/uts/common/io/iwh/iwh.c
4640
(void) iwh_power_up(sc);
usr/src/uts/common/io/iwh/iwh.c
4642
if ((sc->sc_rev & 0x80) == 0x80 && (sc->sc_rev & 0x7f) < 8) {
usr/src/uts/common/io/iwh/iwh.c
4643
tmp = ddi_get32(sc->sc_cfg_handle,
usr/src/uts/common/io/iwh/iwh.c
4644
(uint32_t *)(sc->sc_cfg_base + 0xe8));
usr/src/uts/common/io/iwh/iwh.c
4645
ddi_put32(sc->sc_cfg_handle,
usr/src/uts/common/io/iwh/iwh.c
4646
(uint32_t *)(sc->sc_cfg_base + 0xe8),
usr/src/uts/common/io/iwh/iwh.c
4650
vlink = ddi_get8(sc->sc_cfg_handle,
usr/src/uts/common/io/iwh/iwh.c
4651
(uint8_t *)(sc->sc_cfg_base + 0xf0));
usr/src/uts/common/io/iwh/iwh.c
4652
ddi_put8(sc->sc_cfg_handle, (uint8_t *)(sc->sc_cfg_base + 0xf0),
usr/src/uts/common/io/iwh/iwh.c
4655
tmp = IWH_READ(sc, CSR_HW_IF_CONFIG_REG);
usr/src/uts/common/io/iwh/iwh.c
4658
IWH_WRITE(sc, CSR_SW_VER, tmp);
usr/src/uts/common/io/iwh/iwh.c
4663
iwh_mac_access_enter(sc);
usr/src/uts/common/io/iwh/iwh.c
4664
tmp = iwh_reg_read(sc, ALM_APMG_PS_CTL);
usr/src/uts/common/io/iwh/iwh.c
4666
iwh_reg_write(sc, ALM_APMG_PS_CTL, tmp);
usr/src/uts/common/io/iwh/iwh.c
4669
tmp = iwh_reg_read(sc, ALM_APMG_PS_CTL);
usr/src/uts/common/io/iwh/iwh.c
4671
iwh_reg_write(sc, ALM_APMG_PS_CTL, tmp);
usr/src/uts/common/io/iwh/iwh.c
4672
iwh_mac_access_exit(sc);
usr/src/uts/common/io/iwh/iwh.c
4681
iwh_eep_sem_down(iwh_sc_t *sc)
usr/src/uts/common/io/iwh/iwh.c
4687
tmp = IWH_READ(sc, CSR_HW_IF_CONFIG_REG);
usr/src/uts/common/io/iwh/iwh.c
4688
IWH_WRITE(sc, CSR_HW_IF_CONFIG_REG,
usr/src/uts/common/io/iwh/iwh.c
4692
if (IWH_READ(sc, CSR_HW_IF_CONFIG_REG) &
usr/src/uts/common/io/iwh/iwh.c
4707
iwh_eep_sem_up(iwh_sc_t *sc)
usr/src/uts/common/io/iwh/iwh.c
4711
tmp = IWH_READ(sc, CSR_HW_IF_CONFIG_REG);
usr/src/uts/common/io/iwh/iwh.c
4712
IWH_WRITE(sc, CSR_HW_IF_CONFIG_REG,
usr/src/uts/common/io/iwh/iwh.c
4720
iwh_eep_load(iwh_sc_t *sc)
usr/src/uts/common/io/iwh/iwh.c
4724
uint16_t addr, eep_sz = sizeof (sc->sc_eep_map);
usr/src/uts/common/io/iwh/iwh.c
4725
uint16_t *eep_p = (uint16_t *)&sc->sc_eep_map;
usr/src/uts/common/io/iwh/iwh.c
4730
eep_gp = IWH_READ(sc, CSR_EEPROM_GP);
usr/src/uts/common/io/iwh/iwh.c
4738
rr = iwh_eep_sem_down(sc);
usr/src/uts/common/io/iwh/iwh.c
4746
IWH_WRITE(sc, CSR_EEPROM_REG, addr<<1);
usr/src/uts/common/io/iwh/iwh.c
4747
tmp = IWH_READ(sc, CSR_EEPROM_REG);
usr/src/uts/common/io/iwh/iwh.c
4748
IWH_WRITE(sc, CSR_EEPROM_REG, tmp & ~(0x2));
usr/src/uts/common/io/iwh/iwh.c
4751
rv = IWH_READ(sc, CSR_EEPROM_REG);
usr/src/uts/common/io/iwh/iwh.c
4761
iwh_eep_sem_up(sc);
usr/src/uts/common/io/iwh/iwh.c
4768
iwh_eep_sem_up(sc);
usr/src/uts/common/io/iwh/iwh.c
4776
iwh_get_mac_from_eep(iwh_sc_t *sc)
usr/src/uts/common/io/iwh/iwh.c
4778
ieee80211com_t *ic = &sc->sc_ic;
usr/src/uts/common/io/iwh/iwh.c
4780
IEEE80211_ADDR_COPY(ic->ic_macaddr, &sc->sc_eep_map[EEP_MAC_ADDRESS]);
usr/src/uts/common/io/iwh/iwh.c
4792
iwh_init(iwh_sc_t *sc)
usr/src/uts/common/io/iwh/iwh.c
4800
iwh_release_calib_buffer(sc);
usr/src/uts/common/io/iwh/iwh.c
4802
mutex_enter(&sc->sc_glock);
usr/src/uts/common/io/iwh/iwh.c
4803
atomic_and_32(&sc->sc_flags, ~IWH_F_FW_INIT);
usr/src/uts/common/io/iwh/iwh.c
4805
err = iwh_init_common(sc);
usr/src/uts/common/io/iwh/iwh.c
4807
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/iwh/iwh.c
4814
bcopy(sc->sc_dma_fw_data.mem_va,
usr/src/uts/common/io/iwh/iwh.c
4815
sc->sc_dma_fw_data_bak.mem_va,
usr/src/uts/common/io/iwh/iwh.c
4816
sc->sc_dma_fw_data.alength);
usr/src/uts/common/io/iwh/iwh.c
4819
err = iwh_load_init_firmware(sc);
usr/src/uts/common/io/iwh/iwh.c
4823
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/iwh/iwh.c
4830
IWH_WRITE(sc, CSR_RESET, 0);
usr/src/uts/common/io/iwh/iwh.c
4833
while (!(sc->sc_flags & IWH_F_FW_INIT)) {
usr/src/uts/common/io/iwh/iwh.c
4834
if (cv_timedwait(&sc->sc_ucode_cv,
usr/src/uts/common/io/iwh/iwh.c
4835
&sc->sc_glock, clk) < 0) {
usr/src/uts/common/io/iwh/iwh.c
4840
if (!(sc->sc_flags & IWH_F_FW_INIT)) {
usr/src/uts/common/io/iwh/iwh.c
4843
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/iwh/iwh.c
4847
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/iwh/iwh.c
4852
iwh_stop(sc);
usr/src/uts/common/io/iwh/iwh.c
4854
mutex_enter(&sc->sc_glock);
usr/src/uts/common/io/iwh/iwh.c
4855
atomic_and_32(&sc->sc_flags, ~IWH_F_FW_INIT);
usr/src/uts/common/io/iwh/iwh.c
4857
err = iwh_init_common(sc);
usr/src/uts/common/io/iwh/iwh.c
4859
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/iwh/iwh.c
4866
err = iwh_load_run_firmware(sc);
usr/src/uts/common/io/iwh/iwh.c
4870
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/iwh/iwh.c
4877
IWH_WRITE(sc, CSR_RESET, 0);
usr/src/uts/common/io/iwh/iwh.c
4880
while (!(sc->sc_flags & IWH_F_FW_INIT)) {
usr/src/uts/common/io/iwh/iwh.c
4881
if (cv_timedwait(&sc->sc_ucode_cv,
usr/src/uts/common/io/iwh/iwh.c
4882
&sc->sc_glock, clk) < 0) {
usr/src/uts/common/io/iwh/iwh.c
4887
if (!(sc->sc_flags & IWH_F_FW_INIT)) {
usr/src/uts/common/io/iwh/iwh.c
4890
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/iwh/iwh.c
4894
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/iwh/iwh.c
4898
mutex_enter(&sc->sc_glock);
usr/src/uts/common/io/iwh/iwh.c
4899
atomic_and_32(&sc->sc_flags, ~IWH_F_FW_INIT);
usr/src/uts/common/io/iwh/iwh.c
4905
err = iwh_config(sc);
usr/src/uts/common/io/iwh/iwh.c
4909
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/iwh/iwh.c
4916
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/iwh/iwh.c
4924
iwh_stop(iwh_sc_t *sc)
usr/src/uts/common/io/iwh/iwh.c
4932
if (!(sc->sc_flags & IWH_F_QUIESCED)) {
usr/src/uts/common/io/iwh/iwh.c
4933
mutex_enter(&sc->sc_glock);
usr/src/uts/common/io/iwh/iwh.c
4936
IWH_WRITE(sc, CSR_RESET, CSR_RESET_REG_FLAG_NEVO_RESET);
usr/src/uts/common/io/iwh/iwh.c
4940
IWH_WRITE(sc, CSR_INT_MASK, 0);
usr/src/uts/common/io/iwh/iwh.c
4941
IWH_WRITE(sc, CSR_INT, CSR_INI_SET_MASK);
usr/src/uts/common/io/iwh/iwh.c
4942
IWH_WRITE(sc, CSR_FH_INT_STATUS, 0xffffffff);
usr/src/uts/common/io/iwh/iwh.c
4948
iwh_reset_tx_ring(sc, &sc->sc_txq[i]);
usr/src/uts/common/io/iwh/iwh.c
4954
iwh_reset_rx_ring(sc);
usr/src/uts/common/io/iwh/iwh.c
4956
iwh_mac_access_enter(sc);
usr/src/uts/common/io/iwh/iwh.c
4957
iwh_reg_write(sc, ALM_APMG_CLK_DIS, APMG_CLK_REG_VAL_DMA_CLK_RQT);
usr/src/uts/common/io/iwh/iwh.c
4958
iwh_mac_access_exit(sc);
usr/src/uts/common/io/iwh/iwh.c
4962
iwh_stop_master(sc);
usr/src/uts/common/io/iwh/iwh.c
4964
mutex_enter(&sc->sc_mt_lock);
usr/src/uts/common/io/iwh/iwh.c
4965
sc->sc_tx_timer = 0;
usr/src/uts/common/io/iwh/iwh.c
4966
mutex_exit(&sc->sc_mt_lock);
usr/src/uts/common/io/iwh/iwh.c
4968
tmp = IWH_READ(sc, CSR_RESET);
usr/src/uts/common/io/iwh/iwh.c
4969
IWH_WRITE(sc, CSR_RESET, tmp | CSR_RESET_REG_FLAG_SW_RESET);
usr/src/uts/common/io/iwh/iwh.c
4974
if (!(sc->sc_flags & IWH_F_QUIESCED)) {
usr/src/uts/common/io/iwh/iwh.c
4975
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/iwh/iwh.c
5019
iwh_amrr_timeout(iwh_sc_t *sc)
usr/src/uts/common/io/iwh/iwh.c
5021
ieee80211com_t *ic = &sc->sc_ic;
usr/src/uts/common/io/iwh/iwh.c
5032
sc->sc_clk = ddi_get_lbolt();
usr/src/uts/common/io/iwh/iwh.c
5042
iwh_sc_t *sc = (iwh_sc_t *)ic;
usr/src/uts/common/io/iwh/iwh.c
5048
if (sc->sc_ht_conf.tx_support_mcs[r/8] &
usr/src/uts/common/io/iwh/iwh.c
5067
iwh_sc_t *sc = (iwh_sc_t *)ic;
usr/src/uts/common/io/iwh/iwh.c
5073
if (sc->sc_ht_conf.tx_support_mcs[r/8] &
usr/src/uts/common/io/iwh/iwh.c
509
iwh_sc_t *sc;
usr/src/uts/common/io/iwh/iwh.c
5092
iwh_sc_t *sc = (iwh_sc_t *)ic;
usr/src/uts/common/io/iwh/iwh.c
5102
(sc->sc_ht_conf.tx_support_mcs[r/8] &
usr/src/uts/common/io/iwh/iwh.c
5123
iwh_sc_t *sc = (iwh_sc_t *)ic;
usr/src/uts/common/io/iwh/iwh.c
5133
(sc->sc_ht_conf.tx_support_mcs[r/8] &
usr/src/uts/common/io/iwh/iwh.c
5206
iwh_eep_addr_trans(iwh_sc_t *sc, uint32_t indi_addr)
usr/src/uts/common/io/iwh/iwh.c
5213
return (&sc->sc_eep_map[di_addr]);
usr/src/uts/common/io/iwh/iwh.c
5218
temp = IWH_READ_EEP_SHORT(sc, EEP_LINK_GENERAL);
usr/src/uts/common/io/iwh/iwh.c
5222
temp = IWH_READ_EEP_SHORT(sc, EEP_LINK_HOST);
usr/src/uts/common/io/iwh/iwh.c
5226
temp = IWH_READ_EEP_SHORT(sc, EEP_LINK_REGULATORY);
usr/src/uts/common/io/iwh/iwh.c
5230
temp = IWH_READ_EEP_SHORT(sc, EEP_LINK_CALIBRATION);
usr/src/uts/common/io/iwh/iwh.c
5234
temp = IWH_READ_EEP_SHORT(sc, EEP_LINK_PROCESS_ADJST);
usr/src/uts/common/io/iwh/iwh.c
5238
temp = IWH_READ_EEP_SHORT(sc, EEP_LINK_OTHERS);
usr/src/uts/common/io/iwh/iwh.c
5250
return (&sc->sc_eep_map[di_addr]);
usr/src/uts/common/io/iwh/iwh.c
5257
iwh_put_seg_fw(iwh_sc_t *sc, uint32_t addr_s, uint32_t addr_d, uint32_t len)
usr/src/uts/common/io/iwh/iwh.c
526
sc = ddi_get_soft_state(iwh_soft_state_p,
usr/src/uts/common/io/iwh/iwh.c
5260
iwh_mac_access_enter(sc);
usr/src/uts/common/io/iwh/iwh.c
5262
IWH_WRITE(sc, IWH_FH_TCSR_CHNL_TX_CONFIG_REG(IWH_FH_SRVC_CHNL),
usr/src/uts/common/io/iwh/iwh.c
5265
IWH_WRITE(sc, IWH_FH_SRVC_CHNL_SRAM_ADDR_REG(IWH_FH_SRVC_CHNL), addr_d);
usr/src/uts/common/io/iwh/iwh.c
5267
IWH_WRITE(sc, IWH_FH_TFDIB_CTRL0_REG(IWH_FH_SRVC_CHNL),
usr/src/uts/common/io/iwh/iwh.c
5270
IWH_WRITE(sc, IWH_FH_TFDIB_CTRL1_REG(IWH_FH_SRVC_CHNL), len);
usr/src/uts/common/io/iwh/iwh.c
5272
IWH_WRITE(sc, IWH_FH_TCSR_CHNL_TX_BUF_STS_REG(IWH_FH_SRVC_CHNL),
usr/src/uts/common/io/iwh/iwh.c
5277
IWH_WRITE(sc, IWH_FH_TCSR_CHNL_TX_CONFIG_REG(IWH_FH_SRVC_CHNL),
usr/src/uts/common/io/iwh/iwh.c
528
ASSERT(sc != NULL);
usr/src/uts/common/io/iwh/iwh.c
5282
iwh_mac_access_exit(sc);
usr/src/uts/common/io/iwh/iwh.c
5291
iwh_alive_common(iwh_sc_t *sc)
usr/src/uts/common/io/iwh/iwh.c
530
if (sc->sc_flags & IWH_F_RUNNING) {
usr/src/uts/common/io/iwh/iwh.c
5302
iwh_mac_access_enter(sc);
usr/src/uts/common/io/iwh/iwh.c
5307
sc->sc_scd_base = iwh_reg_read(sc, IWH_SCD_SRAM_BASE_ADDR);
usr/src/uts/common/io/iwh/iwh.c
5309
for (base = sc->sc_scd_base + IWH_SCD_CONTEXT_DATA_OFFSET;
usr/src/uts/common/io/iwh/iwh.c
531
(void) iwh_init(sc);
usr/src/uts/common/io/iwh/iwh.c
5310
base < sc->sc_scd_base + IWH_SCD_TX_STTS_BITMAP_OFFSET;
usr/src/uts/common/io/iwh/iwh.c
5312
iwh_mem_write(sc, base, 0);
usr/src/uts/common/io/iwh/iwh.c
5315
for (; base < sc->sc_scd_base + IWH_SCD_TRANSLATE_TBL_OFFSET;
usr/src/uts/common/io/iwh/iwh.c
5317
iwh_mem_write(sc, base, 0);
usr/src/uts/common/io/iwh/iwh.c
5321
iwh_mem_write(sc, base + i, 0);
usr/src/uts/common/io/iwh/iwh.c
5324
iwh_reg_write(sc, IWH_SCD_DRAM_BASE_ADDR,
usr/src/uts/common/io/iwh/iwh.c
5325
sc->sc_dma_sh.cookie.dmac_address >> 10);
usr/src/uts/common/io/iwh/iwh.c
5327
iwh_reg_write(sc, IWH_SCD_QUEUECHAIN_SEL,
usr/src/uts/common/io/iwh/iwh.c
5330
iwh_reg_write(sc, IWH_SCD_AGGR_SEL, 0);
usr/src/uts/common/io/iwh/iwh.c
5333
iwh_reg_write(sc, IWH_SCD_QUEUE_RDPTR(i), 0);
usr/src/uts/common/io/iwh/iwh.c
5334
IWH_WRITE(sc, HBUS_TARG_WRPTR, 0 | (i << 8));
usr/src/uts/common/io/iwh/iwh.c
5335
iwh_mem_write(sc, sc->sc_scd_base +
usr/src/uts/common/io/iwh/iwh.c
5337
iwh_mem_write(sc, sc->sc_scd_base +
usr/src/uts/common/io/iwh/iwh.c
534
atomic_and_32(&sc->sc_flags, ~IWH_F_SUSPEND);
usr/src/uts/common/io/iwh/iwh.c
5347
iwh_reg_write(sc, IWH_SCD_INTERRUPT_MASK, (1 << IWH_NUM_QUEUES) - 1);
usr/src/uts/common/io/iwh/iwh.c
5349
iwh_reg_write(sc, (IWH_SCD_BASE + 0x10),
usr/src/uts/common/io/iwh/iwh.c
5352
IWH_WRITE(sc, HBUS_TARG_WRPTR, (IWH_CMD_QUEUE_NUM << 8));
usr/src/uts/common/io/iwh/iwh.c
5353
iwh_reg_write(sc, IWH_SCD_QUEUE_RDPTR(IWH_CMD_QUEUE_NUM), 0);
usr/src/uts/common/io/iwh/iwh.c
5360
iwh_reg_write(sc, IWH_SCD_QUEUE_STATUS_BITS(i),
usr/src/uts/common/io/iwh/iwh.c
5367
iwh_reg_write(sc, IWH_SCD_QUEUE_STATUS_BITS(IWH_CMD_QUEUE_NUM),
usr/src/uts/common/io/iwh/iwh.c
5374
iwh_reg_write(sc, IWH_SCD_QUEUE_STATUS_BITS(i),
usr/src/uts/common/io/iwh/iwh.c
5381
iwh_mac_access_exit(sc);
usr/src/uts/common/io/iwh/iwh.c
5385
rv = iwh_cmd(sc, COEX_PRIORITY_TABLE_CMD, &w_cmd, sizeof (w_cmd), 1);
usr/src/uts/common/io/iwh/iwh.c
5392
if ((sc->sc_dev_id != 0x423c) &&
usr/src/uts/common/io/iwh/iwh.c
5393
(sc->sc_dev_id != 0x423d)) {
usr/src/uts/common/io/iwh/iwh.c
5397
c_cmd.data.cap_pin1 = LE_16(sc->sc_eep_calib->xtal_calib[0]);
usr/src/uts/common/io/iwh/iwh.c
5398
c_cmd.data.cap_pin2 = LE_16(sc->sc_eep_calib->xtal_calib[1]);
usr/src/uts/common/io/iwh/iwh.c
5400
rv = iwh_cmd(sc, REPLY_PHY_CALIBRATION_CMD,
usr/src/uts/common/io/iwh/iwh.c
5423
iwh_save_calib_result(iwh_sc_t *sc, iwh_rx_desc_t *desc)
usr/src/uts/common/io/iwh/iwh.c
5425
struct iwh_calib_results *res_p = &sc->sc_calib_results;
usr/src/uts/common/io/iwh/iwh.c
552
sc = ddi_get_soft_state(iwh_soft_state_p, instance);
usr/src/uts/common/io/iwh/iwh.c
5522
iwh_tx_power_table(iwh_sc_t *sc, int async)
usr/src/uts/common/io/iwh/iwh.c
553
ASSERT(sc != NULL);
usr/src/uts/common/io/iwh/iwh.c
5530
txpower.channel = (uint8_t)LE_16(sc->sc_config.chan);
usr/src/uts/common/io/iwh/iwh.c
555
sc->sc_dip = dip;
usr/src/uts/common/io/iwh/iwh.c
5552
err = iwh_cmd(sc, REPLY_TX_PWR_TABLE_CMD, &txpower,
usr/src/uts/common/io/iwh/iwh.c
5564
iwh_release_calib_buffer(iwh_sc_t *sc)
usr/src/uts/common/io/iwh/iwh.c
5566
if (sc->sc_calib_results.lo_res != NULL) {
usr/src/uts/common/io/iwh/iwh.c
5567
kmem_free(sc->sc_calib_results.lo_res,
usr/src/uts/common/io/iwh/iwh.c
5568
sc->sc_calib_results.lo_res_len);
usr/src/uts/common/io/iwh/iwh.c
5569
sc->sc_calib_results.lo_res = NULL;
usr/src/uts/common/io/iwh/iwh.c
5572
if (sc->sc_calib_results.tx_iq_res != NULL) {
usr/src/uts/common/io/iwh/iwh.c
5573
kmem_free(sc->sc_calib_results.tx_iq_res,
usr/src/uts/common/io/iwh/iwh.c
5574
sc->sc_calib_results.tx_iq_res_len);
usr/src/uts/common/io/iwh/iwh.c
5575
sc->sc_calib_results.tx_iq_res = NULL;
usr/src/uts/common/io/iwh/iwh.c
5578
if (sc->sc_calib_results.tx_iq_perd_res != NULL) {
usr/src/uts/common/io/iwh/iwh.c
5579
kmem_free(sc->sc_calib_results.tx_iq_perd_res,
usr/src/uts/common/io/iwh/iwh.c
5580
sc->sc_calib_results.tx_iq_perd_res_len);
usr/src/uts/common/io/iwh/iwh.c
5581
sc->sc_calib_results.tx_iq_perd_res = NULL;
usr/src/uts/common/io/iwh/iwh.c
5584
if (sc->sc_calib_results.dc_res != NULL) {
usr/src/uts/common/io/iwh/iwh.c
5585
kmem_free(sc->sc_calib_results.dc_res,
usr/src/uts/common/io/iwh/iwh.c
5586
sc->sc_calib_results.dc_res_len);
usr/src/uts/common/io/iwh/iwh.c
5587
sc->sc_calib_results.dc_res = NULL;
usr/src/uts/common/io/iwh/iwh.c
5590
if (sc->sc_calib_results.base_band_res != NULL) {
usr/src/uts/common/io/iwh/iwh.c
5591
kmem_free(sc->sc_calib_results.base_band_res,
usr/src/uts/common/io/iwh/iwh.c
5592
sc->sc_calib_results.base_band_res_len);
usr/src/uts/common/io/iwh/iwh.c
5593
sc->sc_calib_results.base_band_res = NULL;
usr/src/uts/common/io/iwh/iwh.c
560
err = ddi_regs_map_setup(dip, 0, &sc->sc_cfg_base, 0, 0,
usr/src/uts/common/io/iwh/iwh.c
5601
iwh_init_common(iwh_sc_t *sc)
usr/src/uts/common/io/iwh/iwh.c
5606
if (iwh_reset_hw(sc) != IWH_SUCCESS) {
usr/src/uts/common/io/iwh/iwh.c
561
&iwh_reg_accattr, &sc->sc_cfg_handle);
usr/src/uts/common/io/iwh/iwh.c
5612
(void) iwh_preinit(sc);
usr/src/uts/common/io/iwh/iwh.c
5614
tmp = IWH_READ(sc, CSR_GP_CNTRL);
usr/src/uts/common/io/iwh/iwh.c
5624
iwh_mac_access_enter(sc);
usr/src/uts/common/io/iwh/iwh.c
5625
IWH_WRITE(sc, FH_MEM_RCSR_CHNL0_CONFIG_REG, 0);
usr/src/uts/common/io/iwh/iwh.c
5627
IWH_WRITE(sc, FH_RSCSR_CHNL0_RBDCB_WPTR_REG, 0);
usr/src/uts/common/io/iwh/iwh.c
5628
IWH_WRITE(sc, FH_RSCSR_CHNL0_RBDCB_BASE_REG,
usr/src/uts/common/io/iwh/iwh.c
5629
sc->sc_rxq.dma_desc.cookie.dmac_address >> 8);
usr/src/uts/common/io/iwh/iwh.c
5631
IWH_WRITE(sc, FH_RSCSR_CHNL0_STTS_WPTR_REG,
usr/src/uts/common/io/iwh/iwh.c
5632
((uint32_t)(sc->sc_dma_sh.cookie.dmac_address +
usr/src/uts/common/io/iwh/iwh.c
5635
IWH_WRITE(sc, FH_MEM_RCSR_CHNL0_CONFIG_REG,
usr/src/uts/common/io/iwh/iwh.c
5641
iwh_mac_access_exit(sc);
usr/src/uts/common/io/iwh/iwh.c
5642
IWH_WRITE(sc, FH_RSCSR_CHNL0_RBDCB_WPTR_REG,
usr/src/uts/common/io/iwh/iwh.c
5648
iwh_mac_access_enter(sc);
usr/src/uts/common/io/iwh/iwh.c
5649
iwh_reg_write(sc, IWH_SCD_TXFACT, 0);
usr/src/uts/common/io/iwh/iwh.c
5654
IWH_WRITE(sc, IWH_FH_KW_MEM_ADDR_REG,
usr/src/uts/common/io/iwh/iwh.c
5655
sc->sc_dma_kw.cookie.dmac_address >> 4);
usr/src/uts/common/io/iwh/iwh.c
5658
IWH_WRITE(sc, FH_MEM_CBBC_QUEUE(qid),
usr/src/uts/common/io/iwh/iwh.c
5659
sc->sc_txq[qid].dma_desc.cookie.dmac_address >> 8);
usr/src/uts/common/io/iwh/iwh.c
5660
IWH_WRITE(sc, IWH_FH_TCSR_CHNL_TX_CONFIG_REG(qid),
usr/src/uts/common/io/iwh/iwh.c
5665
iwh_mac_access_exit(sc);
usr/src/uts/common/io/iwh/iwh.c
5670
IWH_WRITE(sc, CSR_UCODE_DRV_GP1_CLR, CSR_UCODE_SW_BIT_RFKILL);
usr/src/uts/common/io/iwh/iwh.c
5671
IWH_WRITE(sc, CSR_UCODE_DRV_GP1_CLR,
usr/src/uts/common/io/iwh/iwh.c
5677
IWH_WRITE(sc, CSR_INT, 0xffffffff);
usr/src/uts/common/io/iwh/iwh.c
568
sc->sc_dev_id = ddi_get16(sc->sc_cfg_handle,
usr/src/uts/common/io/iwh/iwh.c
5682
IWH_WRITE(sc, CSR_INT_MASK, CSR_INI_SET_MASK);
usr/src/uts/common/io/iwh/iwh.c
5684
IWH_WRITE(sc, CSR_UCODE_DRV_GP1_CLR, CSR_UCODE_SW_BIT_RFKILL);
usr/src/uts/common/io/iwh/iwh.c
5685
IWH_WRITE(sc, CSR_UCODE_DRV_GP1_CLR, CSR_UCODE_SW_BIT_RFKILL);
usr/src/uts/common/io/iwh/iwh.c
569
(uint16_t *)(sc->sc_cfg_base + PCI_CONF_DEVID));
usr/src/uts/common/io/iwh/iwh.c
5691
iwh_fast_recover(iwh_sc_t *sc)
usr/src/uts/common/io/iwh/iwh.c
5693
ieee80211com_t *ic = &sc->sc_ic;
usr/src/uts/common/io/iwh/iwh.c
5696
mutex_enter(&sc->sc_glock);
usr/src/uts/common/io/iwh/iwh.c
570
if ((sc->sc_dev_id != 0x4232) &&
usr/src/uts/common/io/iwh/iwh.c
5701
bcopy(&sc->sc_config_save, &sc->sc_config,
usr/src/uts/common/io/iwh/iwh.c
5702
sizeof (sc->sc_config));
usr/src/uts/common/io/iwh/iwh.c
5704
sc->sc_config.assoc_id = 0;
usr/src/uts/common/io/iwh/iwh.c
5705
sc->sc_config.filter_flags &= ~LE_32(RXON_FILTER_ASSOC_MSK);
usr/src/uts/common/io/iwh/iwh.c
5707
if ((err = iwh_hw_set_before_auth(sc)) != IWH_SUCCESS) {
usr/src/uts/common/io/iwh/iwh.c
571
(sc->sc_dev_id != 0x4235) &&
usr/src/uts/common/io/iwh/iwh.c
5710
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/iwh/iwh.c
5714
bcopy(&sc->sc_config_save, &sc->sc_config,
usr/src/uts/common/io/iwh/iwh.c
5715
sizeof (sc->sc_config));
usr/src/uts/common/io/iwh/iwh.c
572
(sc->sc_dev_id != 0x4236) &&
usr/src/uts/common/io/iwh/iwh.c
5720
err = iwh_run_state_config(sc);
usr/src/uts/common/io/iwh/iwh.c
5724
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/iwh/iwh.c
573
(sc->sc_dev_id != 0x4237) &&
usr/src/uts/common/io/iwh/iwh.c
5731
iwh_set_led(sc, 2, 0, 1);
usr/src/uts/common/io/iwh/iwh.c
5733
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/iwh/iwh.c
5735
atomic_and_32(&sc->sc_flags, ~IWH_F_HW_ERR_RECOVER);
usr/src/uts/common/io/iwh/iwh.c
574
(sc->sc_dev_id != 0x423a) &&
usr/src/uts/common/io/iwh/iwh.c
5748
iwh_run_state_config(iwh_sc_t *sc)
usr/src/uts/common/io/iwh/iwh.c
575
(sc->sc_dev_id != 0x423b) &&
usr/src/uts/common/io/iwh/iwh.c
5750
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/iwh/iwh.c
5758
sc->sc_config.assoc_id = in->in_associd & 0x3fff;
usr/src/uts/common/io/iwh/iwh.c
576
(sc->sc_dev_id != 0x423c) &&
usr/src/uts/common/io/iwh/iwh.c
5764
sc->sc_config.flags &=
usr/src/uts/common/io/iwh/iwh.c
5769
sc->sc_config.flags |=
usr/src/uts/common/io/iwh/iwh.c
577
(sc->sc_dev_id != 0x423d)) {
usr/src/uts/common/io/iwh/iwh.c
5774
sc->sc_config.flags |=
usr/src/uts/common/io/iwh/iwh.c
5785
ht_protec = sc->sc_ht_conf.ht_protection;
usr/src/uts/common/io/iwh/iwh.c
5788
sc->sc_config.flags |=
usr/src/uts/common/io/iwh/iwh.c
5795
iwh_config_rxon_chain(sc);
usr/src/uts/common/io/iwh/iwh.c
5797
sc->sc_config.filter_flags |=
usr/src/uts/common/io/iwh/iwh.c
5801
sc->sc_config.filter_flags |=
usr/src/uts/common/io/iwh/iwh.c
5808
sc->sc_config.chan, sc->sc_config.flags,
usr/src/uts/common/io/iwh/iwh.c
5809
sc->sc_config.filter_flags));
usr/src/uts/common/io/iwh/iwh.c
5811
err = iwh_cmd(sc, REPLY_RXON, &sc->sc_config,
usr/src/uts/common/io/iwh/iwh.c
5819
if ((sc->sc_dev_id != 0x423c) &&
usr/src/uts/common/io/iwh/iwh.c
5820
(sc->sc_dev_id != 0x423d)) {
usr/src/uts/common/io/iwh/iwh.c
5824
err = iwh_tx_power_table(sc, 1);
usr/src/uts/common/io/iwh/iwh.c
583
iwh_init_ht_conf(sc);
usr/src/uts/common/io/iwh/iwh.c
5833
err = iwh_qosparam_to_hw(sc, 1);
usr/src/uts/common/io/iwh/iwh.c
584
iwh_overwrite_11n_rateset(sc);
usr/src/uts/common/io/iwh/iwh.c
586
sc->sc_rev = ddi_get8(sc->sc_cfg_handle,
usr/src/uts/common/io/iwh/iwh.c
587
(uint8_t *)(sc->sc_cfg_base + PCI_CONF_REVID));
usr/src/uts/common/io/iwh/iwh.c
592
ddi_put8(sc->sc_cfg_handle, (uint8_t *)(sc->sc_cfg_base +
usr/src/uts/common/io/iwh/iwh.c
5927
iwh_qosparam_to_hw(iwh_sc_t *sc, int async)
usr/src/uts/common/io/iwh/iwh.c
5929
ieee80211com_t *ic = &sc->sc_ic;
usr/src/uts/common/io/iwh/iwh.c
5975
err = iwh_cmd(sc, REPLY_QOS_PARAM, &qosparam_cmd,
usr/src/uts/common/io/iwh/iwh.c
598
sc->sc_clsz = ddi_get16(sc->sc_cfg_handle,
usr/src/uts/common/io/iwh/iwh.c
599
(uint16_t *)(sc->sc_cfg_base + PCI_CONF_CACHE_LINESZ));
usr/src/uts/common/io/iwh/iwh.c
600
if (!sc->sc_clsz) {
usr/src/uts/common/io/iwh/iwh.c
601
sc->sc_clsz = 16;
usr/src/uts/common/io/iwh/iwh.c
603
sc->sc_clsz = (sc->sc_clsz << 2);
usr/src/uts/common/io/iwh/iwh.c
605
sc->sc_dmabuf_sz = roundup(0x2000 + sizeof (struct ieee80211_frame) +
usr/src/uts/common/io/iwh/iwh.c
6071
iwh_init_ht_conf(iwh_sc_t *sc)
usr/src/uts/common/io/iwh/iwh.c
6073
(void) memset(&sc->sc_ht_conf, 0, sizeof (iwh_ht_conf_t));
usr/src/uts/common/io/iwh/iwh.c
6075
if ((0x4235 == sc->sc_dev_id) ||
usr/src/uts/common/io/iwh/iwh.c
6076
(0x4236 == sc->sc_dev_id) ||
usr/src/uts/common/io/iwh/iwh.c
6077
(0x423a == sc->sc_dev_id)) {
usr/src/uts/common/io/iwh/iwh.c
6078
sc->sc_ht_conf.ht_support = 1;
usr/src/uts/common/io/iwh/iwh.c
608
IEEE80211_WEP_CRCLEN), sc->sc_clsz);
usr/src/uts/common/io/iwh/iwh.c
6080
sc->sc_ht_conf.valid_chains = 3;
usr/src/uts/common/io/iwh/iwh.c
6081
sc->sc_ht_conf.tx_stream_count = 2;
usr/src/uts/common/io/iwh/iwh.c
6082
sc->sc_ht_conf.rx_stream_count = 2;
usr/src/uts/common/io/iwh/iwh.c
6084
sc->sc_ht_conf.tx_support_mcs[0] = 0xff;
usr/src/uts/common/io/iwh/iwh.c
6085
sc->sc_ht_conf.tx_support_mcs[1] = 0xff;
usr/src/uts/common/io/iwh/iwh.c
6086
sc->sc_ht_conf.rx_support_mcs[0] = 0xff;
usr/src/uts/common/io/iwh/iwh.c
6087
sc->sc_ht_conf.rx_support_mcs[1] = 0xff;
usr/src/uts/common/io/iwh/iwh.c
6089
sc->sc_ht_conf.ht_support = 1;
usr/src/uts/common/io/iwh/iwh.c
6091
sc->sc_ht_conf.valid_chains = 2;
usr/src/uts/common/io/iwh/iwh.c
6092
sc->sc_ht_conf.tx_stream_count = 1;
usr/src/uts/common/io/iwh/iwh.c
6093
sc->sc_ht_conf.rx_stream_count = 2;
usr/src/uts/common/io/iwh/iwh.c
6095
sc->sc_ht_conf.tx_support_mcs[0] = 0xff;
usr/src/uts/common/io/iwh/iwh.c
6096
sc->sc_ht_conf.rx_support_mcs[0] = 0xff;
usr/src/uts/common/io/iwh/iwh.c
6097
sc->sc_ht_conf.rx_support_mcs[1] = 0xff;
usr/src/uts/common/io/iwh/iwh.c
6100
if (sc->sc_ht_conf.ht_support) {
usr/src/uts/common/io/iwh/iwh.c
6101
sc->sc_ht_conf.cap |= HT_CAP_GRN_FLD;
usr/src/uts/common/io/iwh/iwh.c
6102
sc->sc_ht_conf.cap |= HT_CAP_SGI_20;
usr/src/uts/common/io/iwh/iwh.c
6103
sc->sc_ht_conf.cap |= HT_CAP_MAX_AMSDU;
usr/src/uts/common/io/iwh/iwh.c
6105
sc->sc_ht_conf.cap |= HT_CAP_MIMO_PS;
usr/src/uts/common/io/iwh/iwh.c
6107
sc->sc_ht_conf.ampdu_p.factor = HT_RX_AMPDU_FACTOR;
usr/src/uts/common/io/iwh/iwh.c
6108
sc->sc_ht_conf.ampdu_p.density = HT_MPDU_DENSITY;
usr/src/uts/common/io/iwh/iwh.c
6110
sc->sc_ht_conf.ht_protection = HT_PROT_CHAN_NON_HT;
usr/src/uts/common/io/iwh/iwh.c
6118
iwh_overwrite_11n_rateset(iwh_sc_t *sc)
usr/src/uts/common/io/iwh/iwh.c
6120
uint8_t *ht_rs = sc->sc_ht_conf.rx_support_mcs;
usr/src/uts/common/io/iwh/iwh.c
613
err = ddi_regs_map_setup(dip, 1, &sc->sc_base,
usr/src/uts/common/io/iwh/iwh.c
614
0, 0, &iwh_reg_accattr, &sc->sc_handle);
usr/src/uts/common/io/iwh/iwh.c
6157
iwh_overwrite_ic_default(iwh_sc_t *sc)
usr/src/uts/common/io/iwh/iwh.c
6159
ieee80211com_t *ic = &sc->sc_ic;
usr/src/uts/common/io/iwh/iwh.c
6161
sc->sc_newstate = ic->ic_newstate;
usr/src/uts/common/io/iwh/iwh.c
6166
if (sc->sc_ht_conf.ht_support) {
usr/src/uts/common/io/iwh/iwh.c
6167
sc->sc_recv_action = ic->ic_recv_action;
usr/src/uts/common/io/iwh/iwh.c
6169
sc->sc_send_action = ic->ic_send_action;
usr/src/uts/common/io/iwh/iwh.c
6172
ic->ic_ampdu_rxmax = sc->sc_ht_conf.ampdu_p.factor;
usr/src/uts/common/io/iwh/iwh.c
6173
ic->ic_ampdu_density = sc->sc_ht_conf.ampdu_p.density;
usr/src/uts/common/io/iwh/iwh.c
6183
iwh_config_rxon_chain(iwh_sc_t *sc)
usr/src/uts/common/io/iwh/iwh.c
6185
ieee80211com_t *ic = &sc->sc_ic;
usr/src/uts/common/io/iwh/iwh.c
6188
if (3 == sc->sc_ht_conf.valid_chains) {
usr/src/uts/common/io/iwh/iwh.c
6189
sc->sc_config.rx_chain = LE_16((RXON_RX_CHAIN_A_MSK |
usr/src/uts/common/io/iwh/iwh.c
6193
sc->sc_config.rx_chain |= LE_16((RXON_RX_CHAIN_A_MSK |
usr/src/uts/common/io/iwh/iwh.c
6197
sc->sc_config.rx_chain |= LE_16((RXON_RX_CHAIN_A_MSK |
usr/src/uts/common/io/iwh/iwh.c
6201
sc->sc_config.rx_chain = LE_16((RXON_RX_CHAIN_A_MSK |
usr/src/uts/common/io/iwh/iwh.c
6204
sc->sc_config.rx_chain |= LE_16((RXON_RX_CHAIN_A_MSK |
usr/src/uts/common/io/iwh/iwh.c
6207
sc->sc_config.rx_chain |= LE_16((RXON_RX_CHAIN_A_MSK |
usr/src/uts/common/io/iwh/iwh.c
6212
sc->sc_config.rx_chain |= LE_16(RXON_RX_CHAIN_DRIVER_FORCE_MSK);
usr/src/uts/common/io/iwh/iwh.c
6216
sc->sc_ht_conf.ht_support) {
usr/src/uts/common/io/iwh/iwh.c
6217
if (3 == sc->sc_ht_conf.valid_chains) {
usr/src/uts/common/io/iwh/iwh.c
6218
sc->sc_config.rx_chain |= LE_16(3 <<
usr/src/uts/common/io/iwh/iwh.c
6220
sc->sc_config.rx_chain |= LE_16(3 <<
usr/src/uts/common/io/iwh/iwh.c
6223
sc->sc_config.rx_chain |= LE_16(2 <<
usr/src/uts/common/io/iwh/iwh.c
6225
sc->sc_config.rx_chain |= LE_16(2 <<
usr/src/uts/common/io/iwh/iwh.c
6229
sc->sc_config.rx_chain |= LE_16(1 <<
usr/src/uts/common/io/iwh/iwh.c
6234
"rxon->rx_chain = %x\n", sc->sc_config.rx_chain));
usr/src/uts/common/io/iwh/iwh.c
624
sc->sc_hw_rev = IWH_READ(sc, CSR_HW_REV);
usr/src/uts/common/io/iwh/iwh.c
6241
iwh_add_ap_sta(iwh_sc_t *sc)
usr/src/uts/common/io/iwh/iwh.c
6243
ieee80211com_t *ic = &sc->sc_ic;
usr/src/uts/common/io/iwh/iwh.c
6257
if (sc->sc_ht_conf.ht_support &&
usr/src/uts/common/io/iwh/iwh.c
6282
err = iwh_cmd(sc, REPLY_ADD_STA, &node, sizeof (node), 1);
usr/src/uts/common/io/iwh/iwh.c
6300
iwh_ap_lq(iwh_sc_t *sc)
usr/src/uts/common/io/iwh/iwh.c
6302
ieee80211com_t *ic = &sc->sc_ic;
usr/src/uts/common/io/iwh/iwh.c
6341
err = iwh_cmd(sc, REPLY_TX_LINK_QUALITY_CMD, &link_quality,
usr/src/uts/common/io/iwh/iwh.c
6375
iwh_sc_t *sc;
usr/src/uts/common/io/iwh/iwh.c
6391
sc = (iwh_sc_t *)ic;
usr/src/uts/common/io/iwh/iwh.c
6393
sc->sc_recv_action(in, frm, efrm);
usr/src/uts/common/io/iwh/iwh.c
640
sc->sc_intr_htable = kmem_zalloc(sizeof (ddi_intr_handle_t), KM_SLEEP);
usr/src/uts/common/io/iwh/iwh.c
6418
mutex_enter(&sc->sc_glock);
usr/src/uts/common/io/iwh/iwh.c
6419
err = iwh_cmd(sc, REPLY_ADD_STA, &node, sizeof (node), 1);
usr/src/uts/common/io/iwh/iwh.c
642
err = ddi_intr_alloc(dip, sc->sc_intr_htable, DDI_INTR_TYPE_FIXED, 0,
usr/src/uts/common/io/iwh/iwh.c
6423
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/iwh/iwh.c
6426
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/iwh/iwh.c
6452
mutex_enter(&sc->sc_glock);
usr/src/uts/common/io/iwh/iwh.c
6453
err = iwh_cmd(sc, REPLY_ADD_STA, &node, sizeof (node), 1);
usr/src/uts/common/io/iwh/iwh.c
6457
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/iwh/iwh.c
6460
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/iwh/iwh.c
6480
iwh_sc_t *sc;
usr/src/uts/common/io/iwh/iwh.c
6496
sc = (iwh_sc_t *)ic;
usr/src/uts/common/io/iwh/iwh.c
6498
ret = sc->sc_send_action(in, category, action, args);
usr/src/uts/common/io/iwh/iwh.c
650
err = ddi_intr_get_pri(sc->sc_intr_htable[0], &sc->sc_intr_pri);
usr/src/uts/common/io/iwh/iwh.c
6521
mutex_enter(&sc->sc_glock);
usr/src/uts/common/io/iwh/iwh.c
6522
err = iwh_cmd(sc, REPLY_ADD_STA, &node, sizeof (node), 1);
usr/src/uts/common/io/iwh/iwh.c
6526
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/iwh/iwh.c
6529
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/iwh/iwh.c
6542
iwh_reset_hw(iwh_sc_t *sc)
usr/src/uts/common/io/iwh/iwh.c
6547
tmp = IWH_READ(sc, CSR_HW_IF_CONFIG_REG);
usr/src/uts/common/io/iwh/iwh.c
6548
IWH_WRITE(sc, CSR_HW_IF_CONFIG_REG,
usr/src/uts/common/io/iwh/iwh.c
6555
if (IWH_READ(sc, CSR_HW_IF_CONFIG_REG) &
usr/src/uts/common/io/iwh/iwh.c
6566
tmp = IWH_READ(sc, CSR_HW_IF_CONFIG_REG);
usr/src/uts/common/io/iwh/iwh.c
6567
IWH_WRITE(sc, CSR_HW_IF_CONFIG_REG,
usr/src/uts/common/io/iwh/iwh.c
657
mutex_init(&sc->sc_glock, NULL, MUTEX_DRIVER,
usr/src/uts/common/io/iwh/iwh.c
6571
if (0 == (IWH_READ(sc, CSR_HW_IF_CONFIG_REG) &
usr/src/uts/common/io/iwh/iwh.c
658
DDI_INTR_PRI(sc->sc_intr_pri));
usr/src/uts/common/io/iwh/iwh.c
6582
tmp = IWH_READ(sc, CSR_HW_IF_CONFIG_REG);
usr/src/uts/common/io/iwh/iwh.c
6583
IWH_WRITE(sc, CSR_HW_IF_CONFIG_REG,
usr/src/uts/common/io/iwh/iwh.c
659
mutex_init(&sc->sc_tx_lock, NULL, MUTEX_DRIVER,
usr/src/uts/common/io/iwh/iwh.c
6590
if (IWH_READ(sc, CSR_HW_IF_CONFIG_REG) &
usr/src/uts/common/io/iwh/iwh.c
660
DDI_INTR_PRI(sc->sc_intr_pri));
usr/src/uts/common/io/iwh/iwh.c
661
mutex_init(&sc->sc_mt_lock, NULL, MUTEX_DRIVER,
usr/src/uts/common/io/iwh/iwh.c
662
DDI_INTR_PRI(sc->sc_intr_pri));
usr/src/uts/common/io/iwh/iwh.c
664
cv_init(&sc->sc_cmd_cv, NULL, CV_DRIVER, NULL);
usr/src/uts/common/io/iwh/iwh.c
665
cv_init(&sc->sc_put_seg_cv, NULL, CV_DRIVER, NULL);
usr/src/uts/common/io/iwh/iwh.c
666
cv_init(&sc->sc_ucode_cv, NULL, CV_DRIVER, NULL);
usr/src/uts/common/io/iwh/iwh.c
671
cv_init(&sc->sc_mt_cv, NULL, CV_DRIVER, NULL);
usr/src/uts/common/io/iwh/iwh.c
672
sc->sc_mf_thread = NULL;
usr/src/uts/common/io/iwh/iwh.c
673
sc->sc_mf_thread_switch = 0;
usr/src/uts/common/io/iwh/iwh.c
678
err = iwh_alloc_shared(sc);
usr/src/uts/common/io/iwh/iwh.c
685
(void) memset(sc->sc_shared, 0, sizeof (iwh_shared_t));
usr/src/uts/common/io/iwh/iwh.c
690
err = iwh_alloc_kw(sc);
usr/src/uts/common/io/iwh/iwh.c
697
err = iwh_reset_hw(sc);
usr/src/uts/common/io/iwh/iwh.c
707
err = iwh_preinit(sc);
usr/src/uts/common/io/iwh/iwh.c
717
err = iwh_eep_load(sc);
usr/src/uts/common/io/iwh/iwh.c
724
if (IWH_READ_EEP_SHORT(sc, EEP_VERSION) < 0x011a) {
usr/src/uts/common/io/iwh/iwh.c
733
iwh_get_mac_from_eep(sc);
usr/src/uts/common/io/iwh/iwh.c
738
sc->sc_eep_calib = (struct iwh_eep_calibration *)
usr/src/uts/common/io/iwh/iwh.c
739
iwh_eep_addr_trans(sc, EEP_CALIBRATION);
usr/src/uts/common/io/iwh/iwh.c
744
err = iwh_ring_init(sc);
usr/src/uts/common/io/iwh/iwh.c
751
if ((0x423c == sc->sc_dev_id) || (0x423d == sc->sc_dev_id)) {
usr/src/uts/common/io/iwh/iwh.c
752
sc->sc_hdr = (iwh_firmware_hdr_t *)iwh_fw_5150_bin;
usr/src/uts/common/io/iwh/iwh.c
754
sc->sc_hdr = (iwh_firmware_hdr_t *)iwh_fw_5000_bin;
usr/src/uts/common/io/iwh/iwh.c
760
err = iwh_alloc_fw_dma(sc);
usr/src/uts/common/io/iwh/iwh.c
771
ic = &sc->sc_ic;
usr/src/uts/common/io/iwh/iwh.c
793
if (sc->sc_ht_conf.ht_support) {
usr/src/uts/common/io/iwh/iwh.c
816
if (sc->sc_ht_conf.cap & HT_CAP_SUP_WIDTH) {
usr/src/uts/common/io/iwh/iwh.c
843
iwh_overwrite_ic_default(sc);
usr/src/uts/common/io/iwh/iwh.c
855
err = ddi_intr_add_softint(dip, &sc->sc_soft_hdl, DDI_INTR_SOFTPRI_MAX,
usr/src/uts/common/io/iwh/iwh.c
856
iwh_rx_softintr, (caddr_t)sc);
usr/src/uts/common/io/iwh/iwh.c
863
err = ddi_intr_add_handler(sc->sc_intr_htable[0], iwh_intr,
usr/src/uts/common/io/iwh/iwh.c
864
(caddr_t)sc, NULL);
usr/src/uts/common/io/iwh/iwh.c
871
err = ddi_intr_enable(sc->sc_intr_htable[0]);
usr/src/uts/common/io/iwh/iwh.c
896
macp->m_driver = sc;
usr/src/uts/common/io/iwh/iwh.c
936
sc->sc_mf_thread_switch = 1;
usr/src/uts/common/io/iwh/iwh.c
937
if (NULL == sc->sc_mf_thread) {
usr/src/uts/common/io/iwh/iwh.c
938
sc->sc_mf_thread = thread_create((caddr_t)NULL, 0,
usr/src/uts/common/io/iwh/iwh.c
939
iwh_thread, sc, 0, &p0, TS_RUN, minclsyspri);
usr/src/uts/common/io/iwh/iwh.c
942
atomic_or_32(&sc->sc_flags, IWH_F_ATTACHED);
usr/src/uts/common/io/iwh/iwh.c
947
(void) ddi_intr_disable(sc->sc_intr_htable[0]);
usr/src/uts/common/io/iwh/iwh.c
950
(void) ddi_intr_remove_handler(sc->sc_intr_htable[0]);
usr/src/uts/common/io/iwh/iwh.c
953
(void) ddi_intr_remove_softint(sc->sc_soft_hdl);
usr/src/uts/common/io/iwh/iwh.c
954
sc->sc_soft_hdl = NULL;
usr/src/uts/common/io/iwh/iwh.c
959
iwh_free_fw_dma(sc);
usr/src/uts/common/io/iwh/iwh.c
962
iwh_ring_free(sc);
usr/src/uts/common/io/iwh/iwh.c
965
iwh_free_kw(sc);
usr/src/uts/common/io/iwh/iwh.c
968
iwh_free_shared(sc);
usr/src/uts/common/io/iwh/iwh.c
971
iwh_destroy_locks(sc);
usr/src/uts/common/io/iwh/iwh.c
974
(void) ddi_intr_free(sc->sc_intr_htable[0]);
usr/src/uts/common/io/iwh/iwh.c
977
kmem_free(sc->sc_intr_htable, sizeof (ddi_intr_handle_t));
usr/src/uts/common/io/iwh/iwh.c
980
ddi_regs_map_free(&sc->sc_handle);
usr/src/uts/common/io/iwh/iwh.c
983
ddi_regs_map_free(&sc->sc_cfg_handle);
usr/src/uts/common/io/iwh/iwh.c
995
iwh_sc_t *sc;
usr/src/uts/common/io/iwh/iwh.c
999
sc = ddi_get_soft_state(iwh_soft_state_p, ddi_get_instance(dip));
usr/src/uts/common/io/iwh/iwh_eeprom.h
203
#define IWH_READ_EEP_SHORT(sc, addr) ((((uint16_t)sc->sc_eep_map[addr + 1])\
usr/src/uts/common/io/iwh/iwh_eeprom.h
205
((uint16_t)sc->sc_eep_map[addr]))
usr/src/uts/common/io/iwh/iwh_hw.h
2570
#define IWH_READ(sc, reg) \
usr/src/uts/common/io/iwh/iwh_hw.h
2571
ddi_get32((sc)->sc_handle, (uint32_t *)((sc)->sc_base + (reg)))
usr/src/uts/common/io/iwh/iwh_hw.h
2573
#define IWH_WRITE(sc, reg, val) \
usr/src/uts/common/io/iwh/iwh_hw.h
2574
ddi_put32((sc)->sc_handle, (uint32_t *)((sc)->sc_base + (reg)), (val))
usr/src/uts/common/io/iwh/iwh_var.h
40
#define IWH_CHK_FAST_RECOVER(sc) \
usr/src/uts/common/io/iwh/iwh_var.h
41
(sc->sc_ic.ic_state == IEEE80211_S_RUN && \
usr/src/uts/common/io/iwh/iwh_var.h
42
sc->sc_ic.ic_opmode == IEEE80211_M_STA)
usr/src/uts/common/io/iwi/ipw2200.c
1002
(void) ddi_dma_sync(sc->sc_dma_cmdsc.dr_hnd,
usr/src/uts/common/io/iwi/ipw2200.c
1006
sc->sc_cmd_cur = RING_FORWARD(sc->sc_cmd_cur, 1, IPW2200_CMD_RING_SIZE);
usr/src/uts/common/io/iwi/ipw2200.c
1007
sc->sc_cmd_free--;
usr/src/uts/common/io/iwi/ipw2200.c
1009
ipw2200_csr_put32(sc, IPW2200_CSR_CMD_WRITE_INDEX, sc->sc_cmd_cur);
usr/src/uts/common/io/iwi/ipw2200.c
1011
mutex_exit(&sc->sc_cmd_lock);
usr/src/uts/common/io/iwi/ipw2200.c
1020
mutex_enter(&sc->sc_ilock);
usr/src/uts/common/io/iwi/ipw2200.c
1021
while (sc->sc_done[idx] == 0) {
usr/src/uts/common/io/iwi/ipw2200.c
1023
if (cv_reltimedwait(&sc->sc_cmd_status_cond, &sc->sc_ilock,
usr/src/uts/common/io/iwi/ipw2200.c
1027
mutex_exit(&sc->sc_ilock);
usr/src/uts/common/io/iwi/ipw2200.c
1029
IPW2200_DBG(IPW2200_DBG_RING, (sc->sc_dip, CE_CONT,
usr/src/uts/common/io/iwi/ipw2200.c
1030
"ipw2200_cmd(): cmd-done=%s\n", sc->sc_done[idx] ? "yes" : "no"));
usr/src/uts/common/io/iwi/ipw2200.c
1032
if (sc->sc_done[idx] == 0)
usr/src/uts/common/io/iwi/ipw2200.c
1045
ipw2200_init(struct ipw2200_softc *sc)
usr/src/uts/common/io/iwi/ipw2200.c
1052
if (!(sc->sc_flags & IPW2200_FLAG_FW_CACHED)) {
usr/src/uts/common/io/iwi/ipw2200.c
1053
IPW2200_WARN((sc->sc_dip, CE_WARN,
usr/src/uts/common/io/iwi/ipw2200.c
1058
ipw2200_stop(sc);
usr/src/uts/common/io/iwi/ipw2200.c
1060
err = ipw2200_chip_reset(sc);
usr/src/uts/common/io/iwi/ipw2200.c
1062
IPW2200_WARN((sc->sc_dip, CE_WARN,
usr/src/uts/common/io/iwi/ipw2200.c
1070
err = ipw2200_load_fw(sc, sc->sc_fw.boot_base, sc->sc_fw.boot_size);
usr/src/uts/common/io/iwi/ipw2200.c
1072
IPW2200_WARN((sc->sc_dip, CE_WARN,
usr/src/uts/common/io/iwi/ipw2200.c
1080
err = ipw2200_load_uc(sc, sc->sc_fw.uc_base, sc->sc_fw.uc_size);
usr/src/uts/common/io/iwi/ipw2200.c
1082
IPW2200_WARN((sc->sc_dip, CE_WARN,
usr/src/uts/common/io/iwi/ipw2200.c
1087
ipw2200_master_stop(sc);
usr/src/uts/common/io/iwi/ipw2200.c
1088
ipw2200_ring_hwsetup(sc);
usr/src/uts/common/io/iwi/ipw2200.c
1093
err = ipw2200_load_fw(sc, sc->sc_fw.fw_base, sc->sc_fw.fw_size);
usr/src/uts/common/io/iwi/ipw2200.c
1095
IPW2200_WARN((sc->sc_dip, CE_WARN,
usr/src/uts/common/io/iwi/ipw2200.c
1100
sc->sc_flags |= IPW2200_FLAG_FW_INITED;
usr/src/uts/common/io/iwi/ipw2200.c
1105
err = ipw2200_config(sc);
usr/src/uts/common/io/iwi/ipw2200.c
1107
IPW2200_WARN((sc->sc_dip, CE_WARN,
usr/src/uts/common/io/iwi/ipw2200.c
1120
ipw2200_stop(sc);
usr/src/uts/common/io/iwi/ipw2200.c
1128
ipw2200_hwconf_get(struct ipw2200_softc *sc)
usr/src/uts/common/io/iwi/ipw2200.c
1137
val = ipw2200_rom_get16(sc, IPW2200_EEPROM_MAC + 0);
usr/src/uts/common/io/iwi/ipw2200.c
1138
sc->sc_macaddr[i++] = val >> 8;
usr/src/uts/common/io/iwi/ipw2200.c
1139
sc->sc_macaddr[i++] = val & 0xff;
usr/src/uts/common/io/iwi/ipw2200.c
1140
val = ipw2200_rom_get16(sc, IPW2200_EEPROM_MAC + 1);
usr/src/uts/common/io/iwi/ipw2200.c
1141
sc->sc_macaddr[i++] = val >> 8;
usr/src/uts/common/io/iwi/ipw2200.c
1142
sc->sc_macaddr[i++] = val & 0xff;
usr/src/uts/common/io/iwi/ipw2200.c
1143
val = ipw2200_rom_get16(sc, IPW2200_EEPROM_MAC + 2);
usr/src/uts/common/io/iwi/ipw2200.c
1144
sc->sc_macaddr[i++] = val >> 8;
usr/src/uts/common/io/iwi/ipw2200.c
1145
sc->sc_macaddr[i++] = val & 0xff;
usr/src/uts/common/io/iwi/ipw2200.c
1150
(void) snprintf(sc->sc_macstr, sizeof (sc->sc_macstr),
usr/src/uts/common/io/iwi/ipw2200.c
1152
sc->sc_macaddr[0], sc->sc_macaddr[1],
usr/src/uts/common/io/iwi/ipw2200.c
1153
sc->sc_macaddr[2], sc->sc_macaddr[3],
usr/src/uts/common/io/iwi/ipw2200.c
1154
sc->sc_macaddr[4], sc->sc_macaddr[5]);
usr/src/uts/common/io/iwi/ipw2200.c
1162
ipw2200_master_stop(struct ipw2200_softc *sc)
usr/src/uts/common/io/iwi/ipw2200.c
1169
ipw2200_csr_put32(sc, IPW2200_CSR_INTR_MASK, 0);
usr/src/uts/common/io/iwi/ipw2200.c
1170
ipw2200_csr_put32(sc, IPW2200_CSR_RST, IPW2200_RST_STOP_MASTER);
usr/src/uts/common/io/iwi/ipw2200.c
1176
if (ipw2200_csr_get32(sc, IPW2200_CSR_RST) &
usr/src/uts/common/io/iwi/ipw2200.c
1183
IPW2200_WARN((sc->sc_dip, CE_WARN,
usr/src/uts/common/io/iwi/ipw2200.c
1186
ipw2200_csr_put32(sc, IPW2200_CSR_RST,
usr/src/uts/common/io/iwi/ipw2200.c
1188
ipw2200_csr_get32(sc, IPW2200_CSR_RST));
usr/src/uts/common/io/iwi/ipw2200.c
1190
sc->sc_flags &= ~IPW2200_FLAG_FW_INITED;
usr/src/uts/common/io/iwi/ipw2200.c
1197
ipw2200_chip_reset(struct ipw2200_softc *sc)
usr/src/uts/common/io/iwi/ipw2200.c
1202
ipw2200_master_stop(sc);
usr/src/uts/common/io/iwi/ipw2200.c
1207
tmp = ipw2200_csr_get32(sc, IPW2200_CSR_CTL);
usr/src/uts/common/io/iwi/ipw2200.c
1208
ipw2200_csr_put32(sc, IPW2200_CSR_CTL, tmp | IPW2200_CTL_INIT);
usr/src/uts/common/io/iwi/ipw2200.c
1213
ipw2200_csr_put32(sc, IPW2200_CSR_READ_INT, IPW2200_READ_INT_INIT_HOST);
usr/src/uts/common/io/iwi/ipw2200.c
1219
if (ipw2200_csr_get32(sc, IPW2200_CSR_CTL) &
usr/src/uts/common/io/iwi/ipw2200.c
1225
IPW2200_WARN((sc->sc_dip, CE_WARN,
usr/src/uts/common/io/iwi/ipw2200.c
1230
tmp = ipw2200_csr_get32(sc, IPW2200_CSR_RST);
usr/src/uts/common/io/iwi/ipw2200.c
1231
ipw2200_csr_put32(sc, IPW2200_CSR_RST, tmp | IPW2200_RST_SW_RESET);
usr/src/uts/common/io/iwi/ipw2200.c
1235
tmp = ipw2200_csr_get32(sc, IPW2200_CSR_CTL);
usr/src/uts/common/io/iwi/ipw2200.c
1236
ipw2200_csr_put32(sc, IPW2200_CSR_CTL, tmp | IPW2200_CTL_INIT);
usr/src/uts/common/io/iwi/ipw2200.c
1241
ipw2200_csr_put32(sc, IPW2200_CSR_AUTOINC_ADDR, 0);
usr/src/uts/common/io/iwi/ipw2200.c
1243
ipw2200_csr_put32(sc, IPW2200_CSR_AUTOINC_DATA, 0);
usr/src/uts/common/io/iwi/ipw2200.c
1253
ipw2200_radio_status(struct ipw2200_softc *sc)
usr/src/uts/common/io/iwi/ipw2200.c
1257
val = (ipw2200_csr_get32(sc, IPW2200_CSR_IO) &
usr/src/uts/common/io/iwi/ipw2200.c
1266
ipw2200_get_statistics(struct ipw2200_softc *sc)
usr/src/uts/common/io/iwi/ipw2200.c
1268
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/iwi/ipw2200.c
1272
if (!(sc->sc_flags & IPW2200_FLAG_FW_INITED)) {
usr/src/uts/common/io/iwi/ipw2200.c
1273
IPW2200_DBG(IPW2200_DBG_IOCTL, (sc->sc_dip, CE_CONT,
usr/src/uts/common/io/iwi/ipw2200.c
1278
size = min(ipw2200_csr_get32(sc, IPW2200_CSR_TABLE0_SIZE), 128 - 1);
usr/src/uts/common/io/iwi/ipw2200.c
1279
ipw2200_csr_getbuf32(sc, IPW2200_CSR_TABLE0_BASE, &buf[1], size);
usr/src/uts/common/io/iwi/ipw2200.c
1307
ipw2200_dma_region_alloc(struct ipw2200_softc *sc, struct dma_region *dr,
usr/src/uts/common/io/iwi/ipw2200.c
1310
dev_info_t *dip = sc->sc_dip;
usr/src/uts/common/io/iwi/ipw2200.c
1313
IPW2200_DBG(IPW2200_DBG_DMA, (sc->sc_dip, CE_CONT,
usr/src/uts/common/io/iwi/ipw2200.c
1319
IPW2200_DBG(IPW2200_DBG_DMA, (sc->sc_dip, CE_CONT,
usr/src/uts/common/io/iwi/ipw2200.c
1329
IPW2200_DBG(IPW2200_DBG_DMA, (sc->sc_dip, CE_CONT,
usr/src/uts/common/io/iwi/ipw2200.c
1340
IPW2200_DBG(IPW2200_DBG_DMA, (sc->sc_dip, CE_CONT,
usr/src/uts/common/io/iwi/ipw2200.c
1346
IPW2200_DBG(IPW2200_DBG_DMA, (sc->sc_dip, CE_CONT,
usr/src/uts/common/io/iwi/ipw2200.c
1356
IPW2200_DBG(IPW2200_DBG_DMA, (sc->sc_dip, CE_CONT,
usr/src/uts/common/io/iwi/ipw2200.c
137
static void ipw2200_hwconf_get(struct ipw2200_softc *sc);
usr/src/uts/common/io/iwi/ipw2200.c
138
static int ipw2200_chip_reset(struct ipw2200_softc *sc);
usr/src/uts/common/io/iwi/ipw2200.c
1381
ipw2200_ring_alloc(struct ipw2200_softc *sc)
usr/src/uts/common/io/iwi/ipw2200.c
1388
sc->sc_dma_txdsc.dr_name = "ipw2200-tx-desc-ring";
usr/src/uts/common/io/iwi/ipw2200.c
1389
err = ipw2200_dma_region_alloc(sc, &sc->sc_dma_txdsc,
usr/src/uts/common/io/iwi/ipw2200.c
139
static void ipw2200_master_stop(struct ipw2200_softc *sc);
usr/src/uts/common/io/iwi/ipw2200.c
1398
sc->sc_dma_txbufs[i].dr_name = "ipw2200-tx-buf";
usr/src/uts/common/io/iwi/ipw2200.c
1399
err = ipw2200_dma_region_alloc(sc, &sc->sc_dma_txbufs[i],
usr/src/uts/common/io/iwi/ipw2200.c
140
static void ipw2200_stop(struct ipw2200_softc *sc);
usr/src/uts/common/io/iwi/ipw2200.c
1403
ipw2200_dma_region_free(&sc->sc_dma_txbufs[i]);
usr/src/uts/common/io/iwi/ipw2200.c
141
static int ipw2200_config(struct ipw2200_softc *sc);
usr/src/uts/common/io/iwi/ipw2200.c
1413
sc->sc_dma_rxbufs[i].dr_name = "ipw2200-rx-buf";
usr/src/uts/common/io/iwi/ipw2200.c
1414
err = ipw2200_dma_region_alloc(sc, &sc->sc_dma_rxbufs[i],
usr/src/uts/common/io/iwi/ipw2200.c
1418
ipw2200_dma_region_free(&sc->sc_dma_rxbufs[i]);
usr/src/uts/common/io/iwi/ipw2200.c
142
static int ipw2200_cmd(struct ipw2200_softc *sc,
usr/src/uts/common/io/iwi/ipw2200.c
1427
sc->sc_dma_cmdsc.dr_name = "ipw2200-cmd-desc-ring";
usr/src/uts/common/io/iwi/ipw2200.c
1428
err = ipw2200_dma_region_alloc(sc, &sc->sc_dma_cmdsc,
usr/src/uts/common/io/iwi/ipw2200.c
1438
ipw2200_dma_region_free(&sc->sc_dma_rxbufs[i]);
usr/src/uts/common/io/iwi/ipw2200.c
144
static void ipw2200_ring_hwsetup(struct ipw2200_softc *sc);
usr/src/uts/common/io/iwi/ipw2200.c
1441
ipw2200_dma_region_free(&sc->sc_dma_txbufs[i]);
usr/src/uts/common/io/iwi/ipw2200.c
1443
ipw2200_dma_region_free(&sc->sc_dma_txdsc);
usr/src/uts/common/io/iwi/ipw2200.c
1449
ipw2200_ring_free(struct ipw2200_softc *sc)
usr/src/uts/common/io/iwi/ipw2200.c
145
static int ipw2200_ring_alloc(struct ipw2200_softc *sc);
usr/src/uts/common/io/iwi/ipw2200.c
1456
ipw2200_dma_region_free(&sc->sc_dma_txdsc);
usr/src/uts/common/io/iwi/ipw2200.c
146
static void ipw2200_ring_free(struct ipw2200_softc *sc);
usr/src/uts/common/io/iwi/ipw2200.c
1461
ipw2200_dma_region_free(&sc->sc_dma_txbufs[i]);
usr/src/uts/common/io/iwi/ipw2200.c
1466
ipw2200_dma_region_free(&sc->sc_dma_rxbufs[i]);
usr/src/uts/common/io/iwi/ipw2200.c
147
static void ipw2200_ring_reset(struct ipw2200_softc *sc);
usr/src/uts/common/io/iwi/ipw2200.c
1470
ipw2200_dma_region_free(&sc->sc_dma_cmdsc);
usr/src/uts/common/io/iwi/ipw2200.c
1474
ipw2200_ring_reset(struct ipw2200_softc *sc)
usr/src/uts/common/io/iwi/ipw2200.c
148
static int ipw2200_ring_init(struct ipw2200_softc *sc);
usr/src/uts/common/io/iwi/ipw2200.c
1481
sc->sc_tx_cur = 0;
usr/src/uts/common/io/iwi/ipw2200.c
1482
sc->sc_tx_free = IPW2200_TX_RING_SIZE;
usr/src/uts/common/io/iwi/ipw2200.c
1483
sc->sc_txdsc = (struct ipw2200_tx_desc *)sc->sc_dma_txdsc.dr_base;
usr/src/uts/common/io/iwi/ipw2200.c
1485
sc->sc_txbufs[i] = (uint8_t *)sc->sc_dma_txbufs[i].dr_base;
usr/src/uts/common/io/iwi/ipw2200.c
1489
sc->sc_rx_cur = 0;
usr/src/uts/common/io/iwi/ipw2200.c
1490
sc->sc_rx_free = IPW2200_RX_RING_SIZE;
usr/src/uts/common/io/iwi/ipw2200.c
1492
sc->sc_rxbufs[i] = (uint8_t *)sc->sc_dma_rxbufs[i].dr_base;
usr/src/uts/common/io/iwi/ipw2200.c
1497
sc->sc_cmd_cur = 0;
usr/src/uts/common/io/iwi/ipw2200.c
1498
sc->sc_cmd_free = IPW2200_CMD_RING_SIZE;
usr/src/uts/common/io/iwi/ipw2200.c
1499
sc->sc_cmdsc = (struct ipw2200_cmd_desc *)sc->sc_dma_cmdsc.dr_base;
usr/src/uts/common/io/iwi/ipw2200.c
1506
ipw2200_ring_init(struct ipw2200_softc *sc)
usr/src/uts/common/io/iwi/ipw2200.c
1510
err = ipw2200_ring_alloc(sc);
usr/src/uts/common/io/iwi/ipw2200.c
1514
ipw2200_ring_reset(sc);
usr/src/uts/common/io/iwi/ipw2200.c
1520
ipw2200_ring_hwsetup(struct ipw2200_softc *sc)
usr/src/uts/common/io/iwi/ipw2200.c
1527
ipw2200_csr_put32(sc, IPW2200_CSR_CMD_BASE, sc->sc_dma_cmdsc.dr_pbase);
usr/src/uts/common/io/iwi/ipw2200.c
1528
ipw2200_csr_put32(sc, IPW2200_CSR_CMD_SIZE, IPW2200_CMD_RING_SIZE);
usr/src/uts/common/io/iwi/ipw2200.c
1529
ipw2200_csr_put32(sc, IPW2200_CSR_CMD_WRITE_INDEX, sc->sc_cmd_cur);
usr/src/uts/common/io/iwi/ipw2200.c
1534
ipw2200_csr_put32(sc, IPW2200_CSR_TX1_BASE, sc->sc_dma_txdsc.dr_pbase);
usr/src/uts/common/io/iwi/ipw2200.c
1535
ipw2200_csr_put32(sc, IPW2200_CSR_TX1_SIZE, IPW2200_TX_RING_SIZE);
usr/src/uts/common/io/iwi/ipw2200.c
1536
ipw2200_csr_put32(sc, IPW2200_CSR_TX1_WRITE_INDEX, sc->sc_tx_cur);
usr/src/uts/common/io/iwi/ipw2200.c
1541
ipw2200_csr_put32(sc, IPW2200_CSR_TX2_BASE, sc->sc_dma_txdsc.dr_pbase);
usr/src/uts/common/io/iwi/ipw2200.c
1542
ipw2200_csr_put32(sc, IPW2200_CSR_TX2_SIZE, IPW2200_TX_RING_SIZE);
usr/src/uts/common/io/iwi/ipw2200.c
1543
ipw2200_csr_put32(sc, IPW2200_CSR_TX2_READ_INDEX, 0);
usr/src/uts/common/io/iwi/ipw2200.c
1544
ipw2200_csr_put32(sc, IPW2200_CSR_TX2_WRITE_INDEX, 0);
usr/src/uts/common/io/iwi/ipw2200.c
1545
ipw2200_csr_put32(sc, IPW2200_CSR_TX3_BASE, sc->sc_dma_txdsc.dr_pbase);
usr/src/uts/common/io/iwi/ipw2200.c
1546
ipw2200_csr_put32(sc, IPW2200_CSR_TX3_SIZE, IPW2200_TX_RING_SIZE);
usr/src/uts/common/io/iwi/ipw2200.c
1547
ipw2200_csr_put32(sc, IPW2200_CSR_TX3_READ_INDEX, 0);
usr/src/uts/common/io/iwi/ipw2200.c
1548
ipw2200_csr_put32(sc, IPW2200_CSR_TX3_WRITE_INDEX, 0);
usr/src/uts/common/io/iwi/ipw2200.c
1549
ipw2200_csr_put32(sc, IPW2200_CSR_TX4_BASE, sc->sc_dma_txdsc.dr_pbase);
usr/src/uts/common/io/iwi/ipw2200.c
1550
ipw2200_csr_put32(sc, IPW2200_CSR_TX4_SIZE, IPW2200_TX_RING_SIZE);
usr/src/uts/common/io/iwi/ipw2200.c
1551
ipw2200_csr_put32(sc, IPW2200_CSR_TX4_READ_INDEX, 0);
usr/src/uts/common/io/iwi/ipw2200.c
1552
ipw2200_csr_put32(sc, IPW2200_CSR_TX4_WRITE_INDEX, 0);
usr/src/uts/common/io/iwi/ipw2200.c
1558
ipw2200_csr_put32(sc, IPW2200_CSR_RX_BASE + i * 4,
usr/src/uts/common/io/iwi/ipw2200.c
1559
sc->sc_dma_rxbufs[i].dr_pbase);
usr/src/uts/common/io/iwi/ipw2200.c
1563
ipw2200_csr_put32(sc, IPW2200_CSR_RX_WRITE_INDEX,
usr/src/uts/common/io/iwi/ipw2200.c
1564
RING_BACKWARD(sc->sc_rx_cur, 1, IPW2200_RX_RING_SIZE));
usr/src/uts/common/io/iwi/ipw2200.c
1568
ipw2200_start_scan(struct ipw2200_softc *sc)
usr/src/uts/common/io/iwi/ipw2200.c
1570
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/iwi/ipw2200.c
1575
IPW2200_DBG(IPW2200_DBG_SCAN, (sc->sc_dip, CE_CONT,
usr/src/uts/common/io/iwi/ipw2200.c
1581
sc->sc_flags |= IPW2200_FLAG_SCANNING;
usr/src/uts/common/io/iwi/ipw2200.c
1616
return (ipw2200_cmd(sc, IPW2200_CMD_SCAN, &scan, sizeof (scan), 1));
usr/src/uts/common/io/iwi/ipw2200.c
1620
ipw2200_auth_and_assoc(struct ipw2200_softc *sc)
usr/src/uts/common/io/iwi/ipw2200.c
1622
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/iwi/ipw2200.c
1631
if (sc->sc_flags & IPW2200_FLAG_ASSOCIATED) {
usr/src/uts/common/io/iwi/ipw2200.c
1649
err = ipw2200_cmd(sc, IPW2200_CMD_SET_CONFIG,
usr/src/uts/common/io/iwi/ipw2200.c
1658
IPW2200_DBG(IPW2200_DBG_WIFI, (sc->sc_dip, CE_CONT,
usr/src/uts/common/io/iwi/ipw2200.c
1666
err = ipw2200_cmd(sc, IPW2200_CMD_SET_ESSID, in->in_essid,
usr/src/uts/common/io/iwi/ipw2200.c
1679
IPW2200_DBG(IPW2200_DBG_WIFI, (sc->sc_dip, CE_CONT,
usr/src/uts/common/io/iwi/ipw2200.c
1682
err = ipw2200_cmd(sc, IPW2200_CMD_SET_RATES, &rs, sizeof (rs), 1);
usr/src/uts/common/io/iwi/ipw2200.c
1699
IPW2200_DBG(IPW2200_DBG_WIFI, (sc->sc_dip, CE_CONT,
usr/src/uts/common/io/iwi/ipw2200.c
1723
err = ipw2200_cmd(sc, IPW2200_CMD_SET_OPTIE,
usr/src/uts/common/io/iwi/ipw2200.c
173
static void ipw2200_rcv_frame(struct ipw2200_softc *sc,
usr/src/uts/common/io/iwi/ipw2200.c
1733
IPW2200_DBG(IPW2200_DBG_WIFI, (sc->sc_dip, CE_CONT,
usr/src/uts/common/io/iwi/ipw2200.c
1736
err = ipw2200_cmd(sc, IPW2200_CMD_SET_SENSITIVITY,
usr/src/uts/common/io/iwi/ipw2200.c
175
static void ipw2200_rcv_notif(struct ipw2200_softc *sc,
usr/src/uts/common/io/iwi/ipw2200.c
1753
IPW2200_DBG(IPW2200_DBG_IOCTL, (sc->sc_dip, CE_CONT,
usr/src/uts/common/io/iwi/ipw2200.c
1770
IPW2200_DBG(IPW2200_DBG_WIFI, (sc->sc_dip, CE_CONT,
usr/src/uts/common/io/iwi/ipw2200.c
1777
return (ipw2200_cmd(sc, IPW2200_CMD_ASSOCIATE,
usr/src/uts/common/io/iwi/ipw2200.c
1787
ipw2200_disassoc(struct ipw2200_softc *sc)
usr/src/uts/common/io/iwi/ipw2200.c
1791
return (ipw2200_cmd(sc, IPW2200_CMD_ASSOCIATE, &assoc,
usr/src/uts/common/io/iwi/ipw2200.c
1799
struct ipw2200_softc *sc = (struct ipw2200_softc *)ic;
usr/src/uts/common/io/iwi/ipw2200.c
1804
if (!(sc->sc_flags & IPW2200_FLAG_SCANNING)) {
usr/src/uts/common/io/iwi/ipw2200.c
1806
(void) ipw2200_start_scan(sc);
usr/src/uts/common/io/iwi/ipw2200.c
1813
if (sc->sc_flags & IPW2200_FLAG_ASSOCIATED)
usr/src/uts/common/io/iwi/ipw2200.c
1814
(void) ipw2200_disassoc(sc);
usr/src/uts/common/io/iwi/ipw2200.c
1815
(void) ipw2200_auth_and_assoc(sc);
usr/src/uts/common/io/iwi/ipw2200.c
183
static void ipw2200_thread(struct ipw2200_softc *sc);
usr/src/uts/common/io/iwi/ipw2200.c
1842
IPW2200_DBG(IPW2200_DBG_WIFI, (sc->sc_dip, CE_CONT,
usr/src/uts/common/io/iwi/ipw2200.c
1858
struct ipw2200_softc *sc = (struct ipw2200_softc *)ic;
usr/src/uts/common/io/iwi/ipw2200.c
1871
*val = sc->sc_stats.sc_rx_len_err;
usr/src/uts/common/io/iwi/ipw2200.c
1874
*val = sc->sc_stats.sc_tx_discard +
usr/src/uts/common/io/iwi/ipw2200.c
1875
sc->sc_stats.sc_tx_alloc_fail +
usr/src/uts/common/io/iwi/ipw2200.c
1876
sc->sc_stats.sc_tx_encap_fail +
usr/src/uts/common/io/iwi/ipw2200.c
1877
sc->sc_stats.sc_tx_crypto_fail;
usr/src/uts/common/io/iwi/ipw2200.c
188
static int ipw2200_ioctl(struct ipw2200_softc *sc, queue_t *q, mblk_t *m);
usr/src/uts/common/io/iwi/ipw2200.c
189
static int ipw2200_getset(struct ipw2200_softc *sc,
usr/src/uts/common/io/iwi/ipw2200.c
191
static int iwi_wificfg_radio(struct ipw2200_softc *sc,
usr/src/uts/common/io/iwi/ipw2200.c
1936
ipw2200_thread(struct ipw2200_softc *sc)
usr/src/uts/common/io/iwi/ipw2200.c
1938
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/iwi/ipw2200.c
1943
IPW2200_DBG(IPW2200_DBG_SOFTINT, (sc->sc_dip, CE_CONT,
usr/src/uts/common/io/iwi/ipw2200.c
1944
"ipw2200_thread(): enter, linkstate %d\n", sc->sc_linkstate));
usr/src/uts/common/io/iwi/ipw2200.c
1946
mutex_enter(&sc->sc_mflock);
usr/src/uts/common/io/iwi/ipw2200.c
1948
while (sc->sc_mfthread_switch) {
usr/src/uts/common/io/iwi/ipw2200.c
1952
if ((ipw2200_radio_status(sc) == 0) ||
usr/src/uts/common/io/iwi/ipw2200.c
1953
sc->sc_flags & IPW2200_FLAG_SUSPEND) {
usr/src/uts/common/io/iwi/ipw2200.c
1960
if (ic->ic_mach && (sc->sc_flags & IPW2200_FLAG_LINK_CHANGE)) {
usr/src/uts/common/io/iwi/ipw2200.c
1962
IPW2200_DBG(IPW2200_DBG_SOFTINT, (sc->sc_dip, CE_CONT,
usr/src/uts/common/io/iwi/ipw2200.c
1964
sc->sc_linkstate));
usr/src/uts/common/io/iwi/ipw2200.c
1966
sc->sc_flags &= ~IPW2200_FLAG_LINK_CHANGE;
usr/src/uts/common/io/iwi/ipw2200.c
1967
nlstate = sc->sc_linkstate;
usr/src/uts/common/io/iwi/ipw2200.c
1969
mutex_exit(&sc->sc_mflock);
usr/src/uts/common/io/iwi/ipw2200.c
1971
mutex_enter(&sc->sc_mflock);
usr/src/uts/common/io/iwi/ipw2200.c
1978
(sc->sc_flags & IPW2200_FLAG_HW_ERR_RECOVER)) {
usr/src/uts/common/io/iwi/ipw2200.c
1980
IPW2200_DBG(IPW2200_DBG_FATAL, (sc->sc_dip, CE_CONT,
usr/src/uts/common/io/iwi/ipw2200.c
1984
sc->sc_flags &= ~IPW2200_FLAG_HW_ERR_RECOVER;
usr/src/uts/common/io/iwi/ipw2200.c
1985
mutex_exit(&sc->sc_mflock);
usr/src/uts/common/io/iwi/ipw2200.c
1989
(void) ipw2200_init(sc); /* Force state machine */
usr/src/uts/common/io/iwi/ipw2200.c
2004
mutex_enter(&sc->sc_mflock);
usr/src/uts/common/io/iwi/ipw2200.c
2013
mutex_exit(&sc->sc_mflock);
usr/src/uts/common/io/iwi/ipw2200.c
2014
ipw2200_get_statistics(sc);
usr/src/uts/common/io/iwi/ipw2200.c
2015
mutex_enter(&sc->sc_mflock);
usr/src/uts/common/io/iwi/ipw2200.c
2021
mutex_exit(&sc->sc_mflock);
usr/src/uts/common/io/iwi/ipw2200.c
2023
mutex_enter(&sc->sc_mflock);
usr/src/uts/common/io/iwi/ipw2200.c
2026
sc->sc_mf_thread = NULL;
usr/src/uts/common/io/iwi/ipw2200.c
2027
cv_signal(&sc->sc_mfthread_cv);
usr/src/uts/common/io/iwi/ipw2200.c
2028
mutex_exit(&sc->sc_mflock);
usr/src/uts/common/io/iwi/ipw2200.c
2034
struct ipw2200_softc *sc = (struct ipw2200_softc *)arg;
usr/src/uts/common/io/iwi/ipw2200.c
2035
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/iwi/ipw2200.c
2037
IPW2200_DBG(IPW2200_DBG_GLD, (sc->sc_dip, CE_CONT,
usr/src/uts/common/io/iwi/ipw2200.c
2042
(void) ipw2200_init(sc);
usr/src/uts/common/io/iwi/ipw2200.c
2049
sc->sc_flags |= IPW2200_FLAG_RUNNING;
usr/src/uts/common/io/iwi/ipw2200.c
2062
struct ipw2200_softc *sc = (struct ipw2200_softc *)arg;
usr/src/uts/common/io/iwi/ipw2200.c
2063
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/iwi/ipw2200.c
2065
IPW2200_DBG(IPW2200_DBG_GLD, (sc->sc_dip, CE_CONT,
usr/src/uts/common/io/iwi/ipw2200.c
2068
ipw2200_stop(sc);
usr/src/uts/common/io/iwi/ipw2200.c
2074
sc->sc_flags &= ~IPW2200_FLAG_RUNNING;
usr/src/uts/common/io/iwi/ipw2200.c
2080
struct ipw2200_softc *sc = (struct ipw2200_softc *)arg;
usr/src/uts/common/io/iwi/ipw2200.c
2081
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/iwi/ipw2200.c
2084
IPW2200_DBG(IPW2200_DBG_GLD, (sc->sc_dip, CE_CONT,
usr/src/uts/common/io/iwi/ipw2200.c
2087
IPW2200_DBG(IPW2200_DBG_GLD, (sc->sc_dip, CE_CONT,
usr/src/uts/common/io/iwi/ipw2200.c
2097
if (sc->sc_flags & IPW2200_FLAG_RUNNING) {
usr/src/uts/common/io/iwi/ipw2200.c
2098
err = ipw2200_config(sc);
usr/src/uts/common/io/iwi/ipw2200.c
2100
IPW2200_WARN((sc->sc_dip, CE_WARN,
usr/src/uts/common/io/iwi/ipw2200.c
2116
struct ipw2200_softc *sc = (struct ipw2200_softc *)arg;
usr/src/uts/common/io/iwi/ipw2200.c
2118
IPW2200_DBG(IPW2200_DBG_GLD, (sc->sc_dip, CE_CONT,
usr/src/uts/common/io/iwi/ipw2200.c
2128
struct ipw2200_softc *sc = (struct ipw2200_softc *)arg;
usr/src/uts/common/io/iwi/ipw2200.c
2129
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/iwi/ipw2200.c
2135
if (sc->sc_flags & IPW2200_FLAG_SUSPEND) {
usr/src/uts/common/io/iwi/ipw2200.c
2136
IPW2200_DBG(IPW2200_DBG_SUSPEND, (sc->sc_dip, CE_CONT,
usr/src/uts/common/io/iwi/ipw2200.c
2138
sc->sc_stats.sc_tx_discard++; /* discard data */
usr/src/uts/common/io/iwi/ipw2200.c
2149
IPW2200_DBG(IPW2200_DBG_GLD, (sc->sc_dip, CE_CONT,
usr/src/uts/common/io/iwi/ipw2200.c
2152
sc->sc_stats.sc_tx_discard++; /* discard data */
usr/src/uts/common/io/iwi/ipw2200.c
2176
struct ipw2200_softc *sc = (struct ipw2200_softc *)ic;
usr/src/uts/common/io/iwi/ipw2200.c
2190
IPW2200_DBG(IPW2200_DBG_GLD, (sc->sc_dip, CE_CONT,
usr/src/uts/common/io/iwi/ipw2200.c
2203
mutex_enter(&sc->sc_tx_lock);
usr/src/uts/common/io/iwi/ipw2200.c
2204
if (sc->sc_flags & IPW2200_FLAG_SUSPEND) {
usr/src/uts/common/io/iwi/ipw2200.c
2216
if (sc->sc_tx_free <= IPW2200_TX_RING_MIN) {
usr/src/uts/common/io/iwi/ipw2200.c
2217
mutex_enter(&sc->sc_resched_lock);
usr/src/uts/common/io/iwi/ipw2200.c
2218
IPW2200_DBG(IPW2200_DBG_RING, (sc->sc_dip, CE_WARN,
usr/src/uts/common/io/iwi/ipw2200.c
2220
sc->sc_tx_free));
usr/src/uts/common/io/iwi/ipw2200.c
2222
sc->sc_flags |= IPW2200_FLAG_TX_SCHED;
usr/src/uts/common/io/iwi/ipw2200.c
2224
mutex_exit(&sc->sc_resched_lock);
usr/src/uts/common/io/iwi/ipw2200.c
2227
IPW2200_DBG(IPW2200_DBG_RING, (sc->sc_dip, CE_CONT,
usr/src/uts/common/io/iwi/ipw2200.c
2229
sc->sc_tx_free, sc->sc_tx_cur));
usr/src/uts/common/io/iwi/ipw2200.c
2237
IPW2200_DBG(IPW2200_DBG_WIFI, (sc->sc_dip, CE_CONT,
usr/src/uts/common/io/iwi/ipw2200.c
2240
sc->sc_stats.sc_tx_alloc_fail++; /* alloc fail */
usr/src/uts/common/io/iwi/ipw2200.c
2258
sc->sc_stats.sc_tx_encap_fail++; /* tx encap fail */
usr/src/uts/common/io/iwi/ipw2200.c
2272
IPW2200_DBG(IPW2200_DBG_WIFI, (sc->sc_dip, CE_CONT,
usr/src/uts/common/io/iwi/ipw2200.c
2275
sc->sc_stats.sc_tx_crypto_fail++; /* tx encap fail */
usr/src/uts/common/io/iwi/ipw2200.c
2287
idx = sc->sc_tx_cur;
usr/src/uts/common/io/iwi/ipw2200.c
2288
txdsc = &sc->sc_txdsc[idx];
usr/src/uts/common/io/iwi/ipw2200.c
2299
dr = &sc->sc_dma_txbufs[idx];
usr/src/uts/common/io/iwi/ipw2200.c
2300
p = sc->sc_txbufs[idx];
usr/src/uts/common/io/iwi/ipw2200.c
2332
(void) ddi_dma_sync(sc->sc_dma_txdsc.dr_hnd,
usr/src/uts/common/io/iwi/ipw2200.c
2336
sc->sc_tx_cur = RING_FORWARD(sc->sc_tx_cur, 1, IPW2200_TX_RING_SIZE);
usr/src/uts/common/io/iwi/ipw2200.c
2337
sc->sc_tx_free--;
usr/src/uts/common/io/iwi/ipw2200.c
2342
ipw2200_csr_put32(sc, IPW2200_CSR_TX1_WRITE_INDEX, sc->sc_tx_cur);
usr/src/uts/common/io/iwi/ipw2200.c
2353
mutex_exit(&sc->sc_tx_lock);
usr/src/uts/common/io/iwi/ipw2200.c
2355
IPW2200_DBG(IPW2200_DBG_GLD, (sc->sc_dip, CE_CONT,
usr/src/uts/common/io/iwi/ipw2200.c
2369
struct ipw2200_softc *sc = (struct ipw2200_softc *)arg;
usr/src/uts/common/io/iwi/ipw2200.c
2370
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/iwi/ipw2200.c
2373
IPW2200_DBG(IPW2200_DBG_GLD, (sc->sc_dip, CE_CONT,
usr/src/uts/common/io/iwi/ipw2200.c
2380
if (ipw2200_ioctl(sc, q, m) == IEEE80211_IOCTL_NOT_REQUIRED)
usr/src/uts/common/io/iwi/ipw2200.c
2385
if (sc->sc_flags & IPW2200_FLAG_RUNNING) {
usr/src/uts/common/io/iwi/ipw2200.c
2386
(void) ipw2200_m_start(sc);
usr/src/uts/common/io/iwi/ipw2200.c
2392
if (sc->sc_flags & IPW2200_FLAG_RUNNING)
usr/src/uts/common/io/iwi/ipw2200.c
2393
(void) ipw2200_chip_reset(sc);
usr/src/uts/common/io/iwi/ipw2200.c
2397
ipw2200_ioctl(struct ipw2200_softc *sc, queue_t *q, mblk_t *m)
usr/src/uts/common/io/iwi/ipw2200.c
2407
IPW2200_DBG(IPW2200_DBG_IOCTL, (sc->sc_dip, CE_CONT,
usr/src/uts/common/io/iwi/ipw2200.c
2432
IPW2200_DBG(IPW2200_DBG_IOCTL, (sc->sc_dip, CE_CONT,
usr/src/uts/common/io/iwi/ipw2200.c
2470
ret = ipw2200_getset(sc, m0, cmd, &need_net80211);
usr/src/uts/common/io/iwi/ipw2200.c
2474
IPW2200_DBG(IPW2200_DBG_IOCTL, (sc->sc_dip, CE_CONT,
usr/src/uts/common/io/iwi/ipw2200.c
2488
ipw2200_getset(struct ipw2200_softc *sc, mblk_t *m, uint32_t cmd,
usr/src/uts/common/io/iwi/ipw2200.c
2500
IPW2200_DBG(IPW2200_DBG_IOCTL, (sc->sc_dip, CE_CONT,
usr/src/uts/common/io/iwi/ipw2200.c
2504
ret = iwi_wificfg_radio(sc, cmd, outfp);
usr/src/uts/common/io/iwi/ipw2200.c
2536
if ((ipw2200_radio_status(sc) == 0) &&
usr/src/uts/common/io/iwi/ipw2200.c
2539
IPW2200_REPORT((sc->sc_dip, CE_CONT,
usr/src/uts/common/io/iwi/ipw2200.c
2565
struct ipw2200_softc *sc = (struct ipw2200_softc *)arg;
usr/src/uts/common/io/iwi/ipw2200.c
2566
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/iwi/ipw2200.c
2572
IPW2200_DBG(IPW2200_DBG_BRUSSELS, (sc->sc_dip, CE_CONT,
usr/src/uts/common/io/iwi/ipw2200.c
2576
*(wl_linkstatus_t *)wldp_buf = ipw2200_radio_status(sc);
usr/src/uts/common/io/iwi/ipw2200.c
2592
struct ipw2200_softc *sc = (struct ipw2200_softc *)arg;
usr/src/uts/common/io/iwi/ipw2200.c
2593
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/iwi/ipw2200.c
2602
struct ipw2200_softc *sc = (struct ipw2200_softc *)arg;
usr/src/uts/common/io/iwi/ipw2200.c
2603
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/iwi/ipw2200.c
2609
IPW2200_DBG(IPW2200_DBG_BRUSSELS, (sc->sc_dip, CE_CONT,
usr/src/uts/common/io/iwi/ipw2200.c
2614
IPW2200_DBG(IPW2200_DBG_BRUSSELS, (sc->sc_dip, CE_CONT,
usr/src/uts/common/io/iwi/ipw2200.c
2626
if (sc->sc_flags & IPW2200_FLAG_RUNNING) {
usr/src/uts/common/io/iwi/ipw2200.c
2627
(void) ipw2200_m_start(sc);
usr/src/uts/common/io/iwi/ipw2200.c
2638
iwi_wificfg_radio(struct ipw2200_softc *sc, uint32_t cmd, wldp_t *outfp)
usr/src/uts/common/io/iwi/ipw2200.c
2645
ipw2200_radio_status(sc);
usr/src/uts/common/io/iwi/ipw2200.c
2702
ipw2200_rcv_frame(struct ipw2200_softc *sc, struct ipw2200_frame *frame)
usr/src/uts/common/io/iwi/ipw2200.c
2704
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/iwi/ipw2200.c
2714
IPW2200_DBG(IPW2200_DBG_RX, (sc->sc_dip, CE_CONT,
usr/src/uts/common/io/iwi/ipw2200.c
2717
sc->sc_stats.sc_rx_len_err++; /* length doesn't work */
usr/src/uts/common/io/iwi/ipw2200.c
2720
IPW2200_DBG(IPW2200_DBG_RX, (sc->sc_dip, CE_CONT,
usr/src/uts/common/io/iwi/ipw2200.c
2741
IPW2200_DBG(IPW2200_DBG_RX, (sc->sc_dip, CE_CONT,
usr/src/uts/common/io/iwi/ipw2200.c
2757
IPW2200_WARN((sc->sc_dip, CE_WARN,
usr/src/uts/common/io/iwi/ipw2200.c
2764
ipw2200_rcv_notif(struct ipw2200_softc *sc, struct ipw2200_notif *notif)
usr/src/uts/common/io/iwi/ipw2200.c
2766
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/iwi/ipw2200.c
2771
IPW2200_DBG(IPW2200_DBG_NOTIF, (sc->sc_dip, CE_CONT,
usr/src/uts/common/io/iwi/ipw2200.c
2779
IPW2200_DBG(IPW2200_DBG_WIFI, (sc->sc_dip, CE_CONT,
usr/src/uts/common/io/iwi/ipw2200.c
2785
sc->sc_flags |= IPW2200_FLAG_ASSOCIATED;
usr/src/uts/common/io/iwi/ipw2200.c
2789
sc->sc_flags &= ~IPW2200_FLAG_ASSOCIATED;
usr/src/uts/common/io/iwi/ipw2200.c
2800
IPW2200_DBG(IPW2200_DBG_WIFI, (sc->sc_dip, CE_CONT,
usr/src/uts/common/io/iwi/ipw2200.c
2808
sc->sc_flags &= ~IPW2200_FLAG_ASSOCIATED;
usr/src/uts/common/io/iwi/ipw2200.c
2811
IPW2200_DBG(IPW2200_DBG_NOTIF, (sc->sc_dip, CE_CONT,
usr/src/uts/common/io/iwi/ipw2200.c
2819
IPW2200_DBG(IPW2200_DBG_SCAN, (sc->sc_dip, CE_CONT,
usr/src/uts/common/io/iwi/ipw2200.c
2825
IPW2200_DBG(IPW2200_DBG_SCAN, (sc->sc_dip, CE_CONT,
usr/src/uts/common/io/iwi/ipw2200.c
2833
sc->sc_flags &= ~IPW2200_FLAG_SCANNING;
usr/src/uts/common/io/iwi/ipw2200.c
2845
IPW2200_DBG(IPW2200_DBG_NOTIF, (sc->sc_dip, CE_CONT,
usr/src/uts/common/io/iwi/ipw2200.c
2855
struct ipw2200_softc *sc = (struct ipw2200_softc *)(uintptr_t)arg;
usr/src/uts/common/io/iwi/ipw2200.c
2856
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/iwi/ipw2200.c
2864
if (sc->sc_flags & IPW2200_FLAG_SUSPEND)
usr/src/uts/common/io/iwi/ipw2200.c
2868
ireg = ipw2200_csr_get32(sc, IPW2200_CSR_INTR);
usr/src/uts/common/io/iwi/ipw2200.c
2876
ipw2200_csr_put32(sc, IPW2200_CSR_INTR_MASK, 0);
usr/src/uts/common/io/iwi/ipw2200.c
2881
ipw2200_csr_put32(sc, IPW2200_CSR_INTR, ireg);
usr/src/uts/common/io/iwi/ipw2200.c
2883
IPW2200_DBG(IPW2200_DBG_INT, (sc->sc_dip, CE_CONT,
usr/src/uts/common/io/iwi/ipw2200.c
2888
IPW2200_DBG(IPW2200_DBG_FATAL, (sc->sc_dip, CE_CONT,
usr/src/uts/common/io/iwi/ipw2200.c
289
ipw2200_setup_pci(dev_info_t *dip, struct ipw2200_softc *sc)
usr/src/uts/common/io/iwi/ipw2200.c
2894
mutex_enter(&sc->sc_mflock);
usr/src/uts/common/io/iwi/ipw2200.c
2895
sc->sc_flags |= IPW2200_FLAG_HW_ERR_RECOVER;
usr/src/uts/common/io/iwi/ipw2200.c
2896
mutex_exit(&sc->sc_mflock);
usr/src/uts/common/io/iwi/ipw2200.c
2905
mutex_enter(&sc->sc_ilock);
usr/src/uts/common/io/iwi/ipw2200.c
2906
sc->sc_fw_ok = 1;
usr/src/uts/common/io/iwi/ipw2200.c
2907
cv_signal(&sc->sc_fw_cond);
usr/src/uts/common/io/iwi/ipw2200.c
2908
mutex_exit(&sc->sc_ilock);
usr/src/uts/common/io/iwi/ipw2200.c
2915
IPW2200_REPORT((sc->sc_dip, CE_CONT,
usr/src/uts/common/io/iwi/ipw2200.c
2923
ipw2200_stop(sc);
usr/src/uts/common/io/iwi/ipw2200.c
2930
mutex_enter(&sc->sc_cmd_lock);
usr/src/uts/common/io/iwi/ipw2200.c
2931
ridx = ipw2200_csr_get32(sc,
usr/src/uts/common/io/iwi/ipw2200.c
2933
i = RING_FORWARD(sc->sc_cmd_cur,
usr/src/uts/common/io/iwi/ipw2200.c
2934
sc->sc_cmd_free, IPW2200_CMD_RING_SIZE);
usr/src/uts/common/io/iwi/ipw2200.c
2937
IPW2200_DBG(IPW2200_DBG_INT, (sc->sc_dip, CE_CONT,
usr/src/uts/common/io/iwi/ipw2200.c
2942
sc->sc_cmd_free += len;
usr/src/uts/common/io/iwi/ipw2200.c
2943
cv_signal(&sc->sc_cmd_cond);
usr/src/uts/common/io/iwi/ipw2200.c
2947
sc->sc_done[i] = 1;
usr/src/uts/common/io/iwi/ipw2200.c
2948
mutex_exit(&sc->sc_cmd_lock);
usr/src/uts/common/io/iwi/ipw2200.c
2950
mutex_enter(&sc->sc_ilock);
usr/src/uts/common/io/iwi/ipw2200.c
2951
cv_signal(&sc->sc_cmd_status_cond);
usr/src/uts/common/io/iwi/ipw2200.c
2952
mutex_exit(&sc->sc_ilock);
usr/src/uts/common/io/iwi/ipw2200.c
2959
ridx = ipw2200_csr_get32(sc,
usr/src/uts/common/io/iwi/ipw2200.c
2961
widx = ipw2200_csr_get32(sc,
usr/src/uts/common/io/iwi/ipw2200.c
2964
IPW2200_DBG(IPW2200_DBG_INT, (sc->sc_dip, CE_CONT,
usr/src/uts/common/io/iwi/ipw2200.c
2968
for (; sc->sc_rx_cur != ridx;
usr/src/uts/common/io/iwi/ipw2200.c
2969
sc->sc_rx_cur = RING_FORWARD(sc->sc_rx_cur, 1,
usr/src/uts/common/io/iwi/ipw2200.c
2971
i = sc->sc_rx_cur;
usr/src/uts/common/io/iwi/ipw2200.c
2972
rxbuf = sc->sc_rxbufs[i];
usr/src/uts/common/io/iwi/ipw2200.c
2973
dr = &sc->sc_dma_rxbufs[i];
usr/src/uts/common/io/iwi/ipw2200.c
2987
IPW2200_DBG(IPW2200_DBG_INT, (sc->sc_dip, CE_CONT,
usr/src/uts/common/io/iwi/ipw2200.c
2993
ipw2200_rcv_frame(sc,
usr/src/uts/common/io/iwi/ipw2200.c
2998
ipw2200_rcv_notif(sc,
usr/src/uts/common/io/iwi/ipw2200.c
3003
IPW2200_DBG(IPW2200_DBG_INT, (sc->sc_dip,
usr/src/uts/common/io/iwi/ipw2200.c
3013
ipw2200_csr_put32(sc, IPW2200_CSR_RX_WRITE_INDEX,
usr/src/uts/common/io/iwi/ipw2200.c
3014
RING_BACKWARD(sc->sc_rx_cur, 1,
usr/src/uts/common/io/iwi/ipw2200.c
3022
mutex_enter(&sc->sc_tx_lock);
usr/src/uts/common/io/iwi/ipw2200.c
3023
ridx = ipw2200_csr_get32(sc,
usr/src/uts/common/io/iwi/ipw2200.c
3025
len = RING_FLEN(RING_FORWARD(sc->sc_tx_cur,
usr/src/uts/common/io/iwi/ipw2200.c
3026
sc->sc_tx_free, IPW2200_TX_RING_SIZE),
usr/src/uts/common/io/iwi/ipw2200.c
3028
sc->sc_tx_free += len;
usr/src/uts/common/io/iwi/ipw2200.c
3029
IPW2200_DBG(IPW2200_DBG_RING, (sc->sc_dip, CE_CONT,
usr/src/uts/common/io/iwi/ipw2200.c
3032
mutex_exit(&sc->sc_tx_lock);
usr/src/uts/common/io/iwi/ipw2200.c
3034
mutex_enter(&sc->sc_resched_lock);
usr/src/uts/common/io/iwi/ipw2200.c
3035
if ((sc->sc_tx_free > IPW2200_TX_RING_MIN) &&
usr/src/uts/common/io/iwi/ipw2200.c
3036
(sc->sc_flags & IPW2200_FLAG_TX_SCHED)) {
usr/src/uts/common/io/iwi/ipw2200.c
3037
IPW2200_DBG(IPW2200_DBG_RING, (sc->sc_dip,
usr/src/uts/common/io/iwi/ipw2200.c
3040
sc->sc_flags &= ~IPW2200_FLAG_TX_SCHED;
usr/src/uts/common/io/iwi/ipw2200.c
3043
mutex_exit(&sc->sc_resched_lock);
usr/src/uts/common/io/iwi/ipw2200.c
3050
ipw2200_csr_put32(sc, IPW2200_CSR_INTR_MASK, IPW2200_INTR_MASK_ALL);
usr/src/uts/common/io/iwi/ipw2200.c
308
sc->sc_vendor = ddi_get16(cfgh,
usr/src/uts/common/io/iwi/ipw2200.c
310
sc->sc_device = ddi_get16(cfgh,
usr/src/uts/common/io/iwi/ipw2200.c
312
sc->sc_subven = ddi_get16(cfgh,
usr/src/uts/common/io/iwi/ipw2200.c
314
sc->sc_subdev = ddi_get16(cfgh,
usr/src/uts/common/io/iwi/ipw2200.c
316
IPW2200_DBG(IPW2200_DBG_WIFI, (sc->sc_dip, CE_CONT,
usr/src/uts/common/io/iwi/ipw2200.c
319
sc->sc_vendor, sc->sc_device, sc->sc_subven, sc->sc_subdev));
usr/src/uts/common/io/iwi/ipw2200.c
333
struct ipw2200_softc *sc;
usr/src/uts/common/io/iwi/ipw2200.c
344
sc = ddi_get_soft_state(ipw2200_ssp, ddi_get_instance(dip));
usr/src/uts/common/io/iwi/ipw2200.c
345
ASSERT(sc != NULL);
usr/src/uts/common/io/iwi/ipw2200.c
350
err = ipw2200_setup_pci(dip, sc);
usr/src/uts/common/io/iwi/ipw2200.c
352
IPW2200_DBG(IPW2200_DBG_SUSPEND, (sc->sc_dip, CE_CONT,
usr/src/uts/common/io/iwi/ipw2200.c
361
sc->sc_flags &= ~IPW2200_FLAG_SUSPEND;
usr/src/uts/common/io/iwi/ipw2200.c
362
if (sc->sc_flags & IPW2200_FLAG_RUNNING)
usr/src/uts/common/io/iwi/ipw2200.c
363
(void) ipw2200_init(sc);
usr/src/uts/common/io/iwi/ipw2200.c
365
IPW2200_DBG(IPW2200_DBG_SUSPEND, (sc->sc_dip, CE_CONT,
usr/src/uts/common/io/iwi/ipw2200.c
379
sc = ddi_get_soft_state(ipw2200_ssp, instance);
usr/src/uts/common/io/iwi/ipw2200.c
380
sc->sc_dip = dip;
usr/src/uts/common/io/iwi/ipw2200.c
383
err = ipw2200_setup_pci(dip, sc);
usr/src/uts/common/io/iwi/ipw2200.c
393
err = ddi_regs_map_setup(dip, IPW2200_PCI_CSR_RNUM, &sc->sc_regs,
usr/src/uts/common/io/iwi/ipw2200.c
394
0, 0, &ipw2200_csr_accattr, &sc->sc_ioh);
usr/src/uts/common/io/iwi/ipw2200.c
404
err = ipw2200_chip_reset(sc);
usr/src/uts/common/io/iwi/ipw2200.c
415
ipw2200_hwconf_get(sc);
usr/src/uts/common/io/iwi/ipw2200.c
416
err = ipw2200_ring_init(sc);
usr/src/uts/common/io/iwi/ipw2200.c
426
err = ddi_get_iblock_cookie(dip, 0, &sc->sc_iblk);
usr/src/uts/common/io/iwi/ipw2200.c
436
mutex_init(&sc->sc_ilock, "intr-lock", MUTEX_DRIVER,
usr/src/uts/common/io/iwi/ipw2200.c
437
(void *) sc->sc_iblk);
usr/src/uts/common/io/iwi/ipw2200.c
438
cv_init(&sc->sc_fw_cond, "firmware-ok", CV_DRIVER, NULL);
usr/src/uts/common/io/iwi/ipw2200.c
439
cv_init(&sc->sc_cmd_status_cond, "cmd-status-ring", CV_DRIVER, NULL);
usr/src/uts/common/io/iwi/ipw2200.c
444
mutex_init(&sc->sc_cmd_lock, "cmd-ring", MUTEX_DRIVER,
usr/src/uts/common/io/iwi/ipw2200.c
445
(void *) sc->sc_iblk);
usr/src/uts/common/io/iwi/ipw2200.c
446
cv_init(&sc->sc_cmd_cond, "cmd-ring", CV_DRIVER, NULL);
usr/src/uts/common/io/iwi/ipw2200.c
451
mutex_init(&sc->sc_tx_lock, "tx-ring", MUTEX_DRIVER,
usr/src/uts/common/io/iwi/ipw2200.c
452
(void *) sc->sc_iblk);
usr/src/uts/common/io/iwi/ipw2200.c
457
mutex_init(&sc->sc_resched_lock, "reschedule-lock", MUTEX_DRIVER,
usr/src/uts/common/io/iwi/ipw2200.c
458
(void *) sc->sc_iblk);
usr/src/uts/common/io/iwi/ipw2200.c
463
mutex_init(&sc->sc_mflock, "function-lock", MUTEX_DRIVER,
usr/src/uts/common/io/iwi/ipw2200.c
464
(void *) sc->sc_iblk);
usr/src/uts/common/io/iwi/ipw2200.c
465
cv_init(&sc->sc_mfthread_cv, NULL, CV_DRIVER, NULL);
usr/src/uts/common/io/iwi/ipw2200.c
466
sc->sc_mf_thread = NULL;
usr/src/uts/common/io/iwi/ipw2200.c
467
sc->sc_mfthread_switch = 0;
usr/src/uts/common/io/iwi/ipw2200.c
472
ic = &sc->sc_ic;
usr/src/uts/common/io/iwi/ipw2200.c
486
IEEE80211_ADDR_COPY(ic->ic_macaddr, sc->sc_macaddr);
usr/src/uts/common/io/iwi/ipw2200.c
491
if (sc->sc_device >= 0x4223) {
usr/src/uts/common/io/iwi/ipw2200.c
546
sc->sc_newstate = ic->ic_newstate;
usr/src/uts/common/io/iwi/ipw2200.c
549
sc->sc_authmode = IEEE80211_AUTH_OPEN;
usr/src/uts/common/io/iwi/ipw2200.c
554
err = ddi_add_intr(dip, 0, &sc->sc_iblk, NULL,
usr/src/uts/common/io/iwi/ipw2200.c
555
ipw2200_intr, (caddr_t)sc);
usr/src/uts/common/io/iwi/ipw2200.c
577
macp->m_driver = sc;
usr/src/uts/common/io/iwi/ipw2200.c
611
(void) ipw2200_cache_firmware(sc);
usr/src/uts/common/io/iwi/ipw2200.c
622
sc->sc_mfthread_switch = 1;
usr/src/uts/common/io/iwi/ipw2200.c
623
if (sc->sc_mf_thread == NULL)
usr/src/uts/common/io/iwi/ipw2200.c
624
sc->sc_mf_thread = thread_create((caddr_t)NULL, 0,
usr/src/uts/common/io/iwi/ipw2200.c
625
ipw2200_thread, sc, 0, &p0, TS_RUN, minclsyspri);
usr/src/uts/common/io/iwi/ipw2200.c
630
ddi_remove_intr(dip, 0, sc->sc_iblk);
usr/src/uts/common/io/iwi/ipw2200.c
634
mutex_destroy(&sc->sc_ilock);
usr/src/uts/common/io/iwi/ipw2200.c
635
mutex_destroy(&sc->sc_cmd_lock);
usr/src/uts/common/io/iwi/ipw2200.c
636
mutex_destroy(&sc->sc_tx_lock);
usr/src/uts/common/io/iwi/ipw2200.c
637
mutex_destroy(&sc->sc_mflock);
usr/src/uts/common/io/iwi/ipw2200.c
638
mutex_destroy(&sc->sc_resched_lock);
usr/src/uts/common/io/iwi/ipw2200.c
639
cv_destroy(&sc->sc_fw_cond);
usr/src/uts/common/io/iwi/ipw2200.c
640
cv_destroy(&sc->sc_cmd_status_cond);
usr/src/uts/common/io/iwi/ipw2200.c
641
cv_destroy(&sc->sc_cmd_cond);
usr/src/uts/common/io/iwi/ipw2200.c
642
cv_destroy(&sc->sc_mfthread_cv);
usr/src/uts/common/io/iwi/ipw2200.c
644
ipw2200_ring_free(sc);
usr/src/uts/common/io/iwi/ipw2200.c
646
ddi_regs_map_free(&sc->sc_ioh);
usr/src/uts/common/io/iwi/ipw2200.c
657
struct ipw2200_softc *sc;
usr/src/uts/common/io/iwi/ipw2200.c
660
sc = ddi_get_soft_state(ipw2200_ssp, ddi_get_instance(dip));
usr/src/uts/common/io/iwi/ipw2200.c
661
ASSERT(sc != NULL);
usr/src/uts/common/io/iwi/ipw2200.c
667
if (sc->sc_flags & IPW2200_FLAG_RUNNING) {
usr/src/uts/common/io/iwi/ipw2200.c
668
ipw2200_stop(sc);
usr/src/uts/common/io/iwi/ipw2200.c
670
sc->sc_flags |= IPW2200_FLAG_SUSPEND;
usr/src/uts/common/io/iwi/ipw2200.c
672
IPW2200_DBG(IPW2200_DBG_SUSPEND, (sc->sc_dip, CE_CONT,
usr/src/uts/common/io/iwi/ipw2200.c
679
err = mac_disable(sc->sc_ic.ic_mach);
usr/src/uts/common/io/iwi/ipw2200.c
683
ipw2200_stop(sc);
usr/src/uts/common/io/iwi/ipw2200.c
688
mutex_enter(&sc->sc_mflock);
usr/src/uts/common/io/iwi/ipw2200.c
689
sc->sc_mfthread_switch = 0;
usr/src/uts/common/io/iwi/ipw2200.c
690
while (sc->sc_mf_thread != NULL) {
usr/src/uts/common/io/iwi/ipw2200.c
691
if (cv_wait_sig(&sc->sc_mfthread_cv, &sc->sc_mflock) == 0)
usr/src/uts/common/io/iwi/ipw2200.c
694
mutex_exit(&sc->sc_mflock);
usr/src/uts/common/io/iwi/ipw2200.c
699
(void) mac_unregister(sc->sc_ic.ic_mach);
usr/src/uts/common/io/iwi/ipw2200.c
701
ddi_remove_intr(dip, IPW2200_PCI_INTR_NUM, sc->sc_iblk);
usr/src/uts/common/io/iwi/ipw2200.c
703
mutex_destroy(&sc->sc_ilock);
usr/src/uts/common/io/iwi/ipw2200.c
704
mutex_destroy(&sc->sc_cmd_lock);
usr/src/uts/common/io/iwi/ipw2200.c
705
mutex_destroy(&sc->sc_tx_lock);
usr/src/uts/common/io/iwi/ipw2200.c
706
mutex_destroy(&sc->sc_mflock);
usr/src/uts/common/io/iwi/ipw2200.c
707
mutex_destroy(&sc->sc_resched_lock);
usr/src/uts/common/io/iwi/ipw2200.c
708
cv_destroy(&sc->sc_fw_cond);
usr/src/uts/common/io/iwi/ipw2200.c
709
cv_destroy(&sc->sc_cmd_status_cond);
usr/src/uts/common/io/iwi/ipw2200.c
710
cv_destroy(&sc->sc_cmd_cond);
usr/src/uts/common/io/iwi/ipw2200.c
711
cv_destroy(&sc->sc_mfthread_cv);
usr/src/uts/common/io/iwi/ipw2200.c
716
ieee80211_detach(&sc->sc_ic);
usr/src/uts/common/io/iwi/ipw2200.c
718
(void) ipw2200_free_firmware(sc);
usr/src/uts/common/io/iwi/ipw2200.c
719
ipw2200_ring_free(sc);
usr/src/uts/common/io/iwi/ipw2200.c
721
ddi_regs_map_free(&sc->sc_ioh);
usr/src/uts/common/io/iwi/ipw2200.c
739
struct ipw2200_softc *sc =
usr/src/uts/common/io/iwi/ipw2200.c
741
if (sc == NULL)
usr/src/uts/common/io/iwi/ipw2200.c
751
sc->sc_flags |= IPW2200_FLAG_QUIESCED;
usr/src/uts/common/io/iwi/ipw2200.c
756
ipw2200_master_stop(sc);
usr/src/uts/common/io/iwi/ipw2200.c
757
ipw2200_csr_put32(sc, IPW2200_CSR_RST, IPW2200_RST_SW_RESET);
usr/src/uts/common/io/iwi/ipw2200.c
762
ipw2200_stop(struct ipw2200_softc *sc)
usr/src/uts/common/io/iwi/ipw2200.c
764
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/iwi/ipw2200.c
766
IPW2200_DBG(IPW2200_DBG_HWCAP, (sc->sc_dip, CE_CONT,
usr/src/uts/common/io/iwi/ipw2200.c
769
ipw2200_master_stop(sc);
usr/src/uts/common/io/iwi/ipw2200.c
770
ipw2200_csr_put32(sc, IPW2200_CSR_RST, IPW2200_RST_SW_RESET);
usr/src/uts/common/io/iwi/ipw2200.c
775
ipw2200_ring_reset(sc);
usr/src/uts/common/io/iwi/ipw2200.c
778
sc->sc_flags &= ~IPW2200_FLAG_SCANNING;
usr/src/uts/common/io/iwi/ipw2200.c
779
sc->sc_flags &= ~IPW2200_FLAG_ASSOCIATED;
usr/src/uts/common/io/iwi/ipw2200.c
781
IPW2200_DBG(IPW2200_DBG_HWCAP, (sc->sc_dip, CE_CONT,
usr/src/uts/common/io/iwi/ipw2200.c
786
ipw2200_config(struct ipw2200_softc *sc)
usr/src/uts/common/io/iwi/ipw2200.c
788
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/iwi/ipw2200.c
806
IPW2200_DBG(IPW2200_DBG_WIFI, (sc->sc_dip, CE_CONT,
usr/src/uts/common/io/iwi/ipw2200.c
808
err = ipw2200_cmd(sc, IPW2200_CMD_SET_TX_POWER,
usr/src/uts/common/io/iwi/ipw2200.c
814
IPW2200_DBG(IPW2200_DBG_WIFI, (sc->sc_dip, CE_CONT,
usr/src/uts/common/io/iwi/ipw2200.c
816
err = ipw2200_cmd(sc, IPW2200_CMD_SET_TX_POWER,
usr/src/uts/common/io/iwi/ipw2200.c
825
IPW2200_DBG(IPW2200_DBG_WIFI, (sc->sc_dip, CE_CONT,
usr/src/uts/common/io/iwi/ipw2200.c
830
err = ipw2200_cmd(sc, IPW2200_CMD_SET_MAC_ADDRESS, ic->ic_macaddr,
usr/src/uts/common/io/iwi/ipw2200.c
846
IPW2200_DBG(IPW2200_DBG_WIFI, (sc->sc_dip, CE_CONT,
usr/src/uts/common/io/iwi/ipw2200.c
848
err = ipw2200_cmd(sc, IPW2200_CMD_SET_CONFIG,
usr/src/uts/common/io/iwi/ipw2200.c
857
IPW2200_DBG(IPW2200_DBG_WIFI, (sc->sc_dip, CE_CONT,
usr/src/uts/common/io/iwi/ipw2200.c
859
err = ipw2200_cmd(sc, IPW2200_CMD_SET_POWER_MODE,
usr/src/uts/common/io/iwi/ipw2200.c
872
IPW2200_DBG(IPW2200_DBG_WIFI, (sc->sc_dip, CE_CONT,
usr/src/uts/common/io/iwi/ipw2200.c
874
err = ipw2200_cmd(sc, IPW2200_CMD_SET_RATES, &rs, sizeof (rs), 0);
usr/src/uts/common/io/iwi/ipw2200.c
883
IPW2200_DBG(IPW2200_DBG_WIFI, (sc->sc_dip, CE_CONT,
usr/src/uts/common/io/iwi/ipw2200.c
885
err = ipw2200_cmd(sc, IPW2200_CMD_SET_RATES, &rs, sizeof (rs), 0);
usr/src/uts/common/io/iwi/ipw2200.c
893
IPW2200_DBG(IPW2200_DBG_WIFI, (sc->sc_dip, CE_CONT,
usr/src/uts/common/io/iwi/ipw2200.c
895
err = ipw2200_cmd(sc, IPW2200_CMD_SET_RTS_THRESHOLD, &data,
usr/src/uts/common/io/iwi/ipw2200.c
904
IPW2200_DBG(IPW2200_DBG_WIFI, (sc->sc_dip, CE_CONT,
usr/src/uts/common/io/iwi/ipw2200.c
907
err = ipw2200_cmd(sc, IPW2200_CMD_SET_FRAG_THRESHOLD, &data,
usr/src/uts/common/io/iwi/ipw2200.c
916
IPW2200_DBG(IPW2200_DBG_WIFI, (sc->sc_dip, CE_CONT,
usr/src/uts/common/io/iwi/ipw2200.c
924
err = ipw2200_cmd(sc, IPW2200_CMD_SET_ESSID, ic->ic_des_essid,
usr/src/uts/common/io/iwi/ipw2200.c
934
IPW2200_DBG(IPW2200_DBG_WIFI, (sc->sc_dip, CE_CONT,
usr/src/uts/common/io/iwi/ipw2200.c
937
err = ipw2200_cmd(sc, IPW2200_CMD_SET_IV, &data, sizeof (data), 0);
usr/src/uts/common/io/iwi/ipw2200.c
945
IPW2200_DBG(IPW2200_DBG_WIFI, (sc->sc_dip, CE_CONT,
usr/src/uts/common/io/iwi/ipw2200.c
956
err = ipw2200_cmd(sc, IPW2200_CMD_SET_WEP_KEY,
usr/src/uts/common/io/iwi/ipw2200.c
963
IPW2200_DBG(IPW2200_DBG_WIFI, (sc->sc_dip, CE_CONT,
usr/src/uts/common/io/iwi/ipw2200.c
966
return (ipw2200_cmd(sc, IPW2200_CMD_ENABLE, NULL, 0, 0));
usr/src/uts/common/io/iwi/ipw2200.c
970
ipw2200_cmd(struct ipw2200_softc *sc,
usr/src/uts/common/io/iwi/ipw2200.c
977
mutex_enter(&sc->sc_cmd_lock);
usr/src/uts/common/io/iwi/ipw2200.c
978
while (sc->sc_cmd_free < 1)
usr/src/uts/common/io/iwi/ipw2200.c
979
cv_wait(&sc->sc_cmd_cond, &sc->sc_cmd_lock);
usr/src/uts/common/io/iwi/ipw2200.c
981
idx = sc->sc_cmd_cur;
usr/src/uts/common/io/iwi/ipw2200.c
982
cmd = &sc->sc_cmdsc[idx];
usr/src/uts/common/io/iwi/ipw2200.c
985
IPW2200_DBG(IPW2200_DBG_RING, (sc->sc_dip, CE_CONT,
usr/src/uts/common/io/iwi/ipw2200.c
997
sc->sc_done[idx] = 0;
usr/src/uts/common/io/iwi/ipw2200_hw.c
100
(uint16_t *)((uintptr_t)sc->sc_regs + off), val);
usr/src/uts/common/io/iwi/ipw2200_hw.c
104
ipw2200_csr_put32(struct ipw2200_softc *sc, uint32_t off,
usr/src/uts/common/io/iwi/ipw2200_hw.c
107
ddi_put32(sc->sc_ioh,
usr/src/uts/common/io/iwi/ipw2200_hw.c
108
(uint32_t *)((uintptr_t)sc->sc_regs + off), val);
usr/src/uts/common/io/iwi/ipw2200_hw.c
112
ipw2200_imem_get8(struct ipw2200_softc *sc, uint32_t addr)
usr/src/uts/common/io/iwi/ipw2200_hw.c
114
ipw2200_csr_put32(sc, IPW2200_CSR_INDIRECT_ADDR, addr);
usr/src/uts/common/io/iwi/ipw2200_hw.c
115
return (ipw2200_csr_get8(sc, IPW2200_CSR_INDIRECT_DATA));
usr/src/uts/common/io/iwi/ipw2200_hw.c
119
ipw2200_imem_get16(struct ipw2200_softc *sc,
usr/src/uts/common/io/iwi/ipw2200_hw.c
122
ipw2200_csr_put32(sc, IPW2200_CSR_INDIRECT_ADDR, addr);
usr/src/uts/common/io/iwi/ipw2200_hw.c
123
return (ipw2200_csr_get16(sc, IPW2200_CSR_INDIRECT_DATA));
usr/src/uts/common/io/iwi/ipw2200_hw.c
127
ipw2200_imem_get32(struct ipw2200_softc *sc, uint32_t addr)
usr/src/uts/common/io/iwi/ipw2200_hw.c
129
ipw2200_csr_put32(sc, IPW2200_CSR_INDIRECT_ADDR, addr);
usr/src/uts/common/io/iwi/ipw2200_hw.c
130
return (ipw2200_csr_get32(sc, IPW2200_CSR_INDIRECT_DATA));
usr/src/uts/common/io/iwi/ipw2200_hw.c
134
ipw2200_imem_put8(struct ipw2200_softc *sc, uint32_t addr, uint8_t val)
usr/src/uts/common/io/iwi/ipw2200_hw.c
136
ipw2200_csr_put32(sc, IPW2200_CSR_INDIRECT_ADDR, addr);
usr/src/uts/common/io/iwi/ipw2200_hw.c
137
ipw2200_csr_put8(sc, IPW2200_CSR_INDIRECT_DATA, val);
usr/src/uts/common/io/iwi/ipw2200_hw.c
141
ipw2200_imem_put16(struct ipw2200_softc *sc, uint32_t addr,
usr/src/uts/common/io/iwi/ipw2200_hw.c
144
ipw2200_csr_put32(sc, IPW2200_CSR_INDIRECT_ADDR, addr);
usr/src/uts/common/io/iwi/ipw2200_hw.c
145
ipw2200_csr_put16(sc, IPW2200_CSR_INDIRECT_DATA, val);
usr/src/uts/common/io/iwi/ipw2200_hw.c
149
ipw2200_imem_put32(struct ipw2200_softc *sc, uint32_t addr,
usr/src/uts/common/io/iwi/ipw2200_hw.c
152
ipw2200_csr_put32(sc, IPW2200_CSR_INDIRECT_ADDR, addr);
usr/src/uts/common/io/iwi/ipw2200_hw.c
153
ipw2200_csr_put32(sc, IPW2200_CSR_INDIRECT_DATA, val);
usr/src/uts/common/io/iwi/ipw2200_hw.c
157
ipw2200_rom_control(struct ipw2200_softc *sc, uint32_t val)
usr/src/uts/common/io/iwi/ipw2200_hw.c
159
ipw2200_imem_put32(sc, IPW2200_IMEM_EEPROM_CTL, val);
usr/src/uts/common/io/iwi/ipw2200_hw.c
164
ipw2200_rom_get16(struct ipw2200_softc *sc, uint8_t addr)
usr/src/uts/common/io/iwi/ipw2200_hw.c
174
ipw2200_rom_control(sc, 0);
usr/src/uts/common/io/iwi/ipw2200_hw.c
175
ipw2200_rom_control(sc, IPW2200_EEPROM_S);
usr/src/uts/common/io/iwi/ipw2200_hw.c
176
ipw2200_rom_control(sc, IPW2200_EEPROM_S | IPW2200_EEPROM_C);
usr/src/uts/common/io/iwi/ipw2200_hw.c
177
ipw2200_rom_control(sc, IPW2200_EEPROM_S);
usr/src/uts/common/io/iwi/ipw2200_hw.c
179
ipw2200_rom_control(sc, IPW2200_EEPROM_S | IPW2200_EEPROM_D);
usr/src/uts/common/io/iwi/ipw2200_hw.c
180
ipw2200_rom_control(sc, IPW2200_EEPROM_S | IPW2200_EEPROM_D |
usr/src/uts/common/io/iwi/ipw2200_hw.c
183
ipw2200_rom_control(sc, IPW2200_EEPROM_S | IPW2200_EEPROM_D);
usr/src/uts/common/io/iwi/ipw2200_hw.c
184
ipw2200_rom_control(sc, IPW2200_EEPROM_S | IPW2200_EEPROM_D |
usr/src/uts/common/io/iwi/ipw2200_hw.c
186
ipw2200_rom_control(sc, IPW2200_EEPROM_S);
usr/src/uts/common/io/iwi/ipw2200_hw.c
187
ipw2200_rom_control(sc, IPW2200_EEPROM_S | IPW2200_EEPROM_C);
usr/src/uts/common/io/iwi/ipw2200_hw.c
192
ipw2200_rom_control(sc, IPW2200_EEPROM_S |
usr/src/uts/common/io/iwi/ipw2200_hw.c
194
ipw2200_rom_control(sc, IPW2200_EEPROM_S |
usr/src/uts/common/io/iwi/ipw2200_hw.c
199
ipw2200_rom_control(sc, IPW2200_EEPROM_S);
usr/src/uts/common/io/iwi/ipw2200_hw.c
206
ipw2200_rom_control(sc, IPW2200_EEPROM_S | IPW2200_EEPROM_C);
usr/src/uts/common/io/iwi/ipw2200_hw.c
207
ipw2200_rom_control(sc, IPW2200_EEPROM_S);
usr/src/uts/common/io/iwi/ipw2200_hw.c
208
tmp = ipw2200_imem_get32(sc, IPW2200_IMEM_EEPROM_CTL);
usr/src/uts/common/io/iwi/ipw2200_hw.c
213
ipw2200_rom_control(sc, 0);
usr/src/uts/common/io/iwi/ipw2200_hw.c
216
ipw2200_rom_control(sc, IPW2200_EEPROM_S);
usr/src/uts/common/io/iwi/ipw2200_hw.c
217
ipw2200_rom_control(sc, 0);
usr/src/uts/common/io/iwi/ipw2200_hw.c
218
ipw2200_rom_control(sc, IPW2200_EEPROM_C);
usr/src/uts/common/io/iwi/ipw2200_hw.c
255
ipw2200_cache_firmware(struct ipw2200_softc *sc)
usr/src/uts/common/io/iwi/ipw2200_hw.c
257
IPW2200_DBG(IPW2200_DBG_FW, (sc->sc_dip, CE_CONT,
usr/src/uts/common/io/iwi/ipw2200_hw.c
261
sc->sc_fw.boot_base = ipw2200_boot_bin + sizeof (struct header);
usr/src/uts/common/io/iwi/ipw2200_hw.c
262
sc->sc_fw.boot_size =
usr/src/uts/common/io/iwi/ipw2200_hw.c
265
sc->sc_fw.uc_base = ipw2200_ucode_bin + sizeof (struct header);
usr/src/uts/common/io/iwi/ipw2200_hw.c
266
sc->sc_fw.uc_size = sizeof (ipw2200_ucode_bin) - sizeof (struct header);
usr/src/uts/common/io/iwi/ipw2200_hw.c
268
sc->sc_fw.fw_base = ipw2200_fw_bin + sizeof (struct header);
usr/src/uts/common/io/iwi/ipw2200_hw.c
269
sc->sc_fw.fw_size = sizeof (ipw2200_fw_bin) - sizeof (struct header);
usr/src/uts/common/io/iwi/ipw2200_hw.c
271
sc->sc_flags |= IPW2200_FLAG_FW_CACHED;
usr/src/uts/common/io/iwi/ipw2200_hw.c
273
IPW2200_DBG(IPW2200_DBG_FW, (sc->sc_dip, CE_CONT,
usr/src/uts/common/io/iwi/ipw2200_hw.c
275
sc->sc_fw.boot_size, sc->sc_fw.uc_size, sc->sc_fw.fw_size));
usr/src/uts/common/io/iwi/ipw2200_hw.c
276
IPW2200_DBG(IPW2200_DBG_FW, (sc->sc_dip, CE_CONT,
usr/src/uts/common/io/iwi/ipw2200_hw.c
288
ipw2200_free_firmware(struct ipw2200_softc *sc)
usr/src/uts/common/io/iwi/ipw2200_hw.c
290
sc->sc_flags &= ~IPW2200_FLAG_FW_CACHED;
usr/src/uts/common/io/iwi/ipw2200_hw.c
299
ipw2200_load_uc(struct ipw2200_softc *sc, uint8_t *buf, size_t size)
usr/src/uts/common/io/iwi/ipw2200_hw.c
304
ipw2200_csr_put32(sc, IPW2200_CSR_RST,
usr/src/uts/common/io/iwi/ipw2200_hw.c
305
IPW2200_RST_STOP_MASTER | ipw2200_csr_get32(sc, IPW2200_CSR_RST));
usr/src/uts/common/io/iwi/ipw2200_hw.c
307
if (ipw2200_csr_get32(sc, IPW2200_CSR_RST) &
usr/src/uts/common/io/iwi/ipw2200_hw.c
313
IPW2200_WARN((sc->sc_dip, CE_CONT,
usr/src/uts/common/io/iwi/ipw2200_hw.c
318
ipw2200_imem_put32(sc, 0x3000e0, 0x80000000);
usr/src/uts/common/io/iwi/ipw2200_hw.c
320
ipw2200_csr_put32(sc, IPW2200_CSR_RST,
usr/src/uts/common/io/iwi/ipw2200_hw.c
322
ipw2200_csr_get32(sc, IPW2200_CSR_RST));
usr/src/uts/common/io/iwi/ipw2200_hw.c
324
ipw2200_imem_put32(sc, 0x3000e0, 0);
usr/src/uts/common/io/iwi/ipw2200_hw.c
326
ipw2200_imem_put32(sc, IPW2200_IMEM_EVENT_CTL, 1);
usr/src/uts/common/io/iwi/ipw2200_hw.c
328
ipw2200_imem_put32(sc, IPW2200_IMEM_EVENT_CTL, 0);
usr/src/uts/common/io/iwi/ipw2200_hw.c
330
ipw2200_imem_put8(sc, 0x200000, 0x00);
usr/src/uts/common/io/iwi/ipw2200_hw.c
331
ipw2200_imem_put8(sc, 0x200000, 0x40);
usr/src/uts/common/io/iwi/ipw2200_hw.c
335
ipw2200_imem_put16(sc, 0x200010, LE_16(*w));
usr/src/uts/common/io/iwi/ipw2200_hw.c
337
ipw2200_imem_put8(sc, 0x200000, 0x00);
usr/src/uts/common/io/iwi/ipw2200_hw.c
338
ipw2200_imem_put8(sc, 0x200000, 0x80);
usr/src/uts/common/io/iwi/ipw2200_hw.c
346
val = ipw2200_imem_get8(sc, 0x200000);
usr/src/uts/common/io/iwi/ipw2200_hw.c
352
IPW2200_WARN((sc->sc_dip, CE_WARN,
usr/src/uts/common/io/iwi/ipw2200_hw.c
358
(void) ipw2200_imem_get32(sc, 0x200004);
usr/src/uts/common/io/iwi/ipw2200_hw.c
360
ipw2200_imem_put8(sc, 0x200000, 0x00);
usr/src/uts/common/io/iwi/ipw2200_hw.c
369
ipw2200_load_fw(struct ipw2200_softc *sc, uint8_t *buf, size_t size)
usr/src/uts/common/io/iwi/ipw2200_hw.c
379
ipw2200_imem_put32(sc, 0x3000a0, 0x27000);
usr/src/uts/common/io/iwi/ipw2200_hw.c
385
err = ipw2200_dma_region_alloc(sc, &dr[cnt], MAX_DR_SIZE, DDI_DMA_READ,
usr/src/uts/common/io/iwi/ipw2200_hw.c
392
ipw2200_csr_put32(sc, IPW2200_CSR_AUTOINC_ADDR, 0x27000);
usr/src/uts/common/io/iwi/ipw2200_hw.c
399
IPW2200_DBG(IPW2200_DBG_FW, (sc->sc_dip, CE_CONT,
usr/src/uts/common/io/iwi/ipw2200_hw.c
409
IPW2200_WARN((sc->sc_dip, CE_WARN,
usr/src/uts/common/io/iwi/ipw2200_hw.c
416
err = ipw2200_dma_region_alloc(sc, &dr[cnt],
usr/src/uts/common/io/iwi/ipw2200_hw.c
438
ipw2200_csr_put32(sc, IPW2200_CSR_AUTOINC_DATA, ctl);
usr/src/uts/common/io/iwi/ipw2200_hw.c
439
ipw2200_csr_put32(sc, IPW2200_CSR_AUTOINC_DATA, src);
usr/src/uts/common/io/iwi/ipw2200_hw.c
440
ipw2200_csr_put32(sc, IPW2200_CSR_AUTOINC_DATA, dst);
usr/src/uts/common/io/iwi/ipw2200_hw.c
441
ipw2200_csr_put32(sc, IPW2200_CSR_AUTOINC_DATA, sum);
usr/src/uts/common/io/iwi/ipw2200_hw.c
451
sentinel = ipw2200_csr_get32(sc, IPW2200_CSR_AUTOINC_ADDR);
usr/src/uts/common/io/iwi/ipw2200_hw.c
452
ipw2200_csr_put32(sc, IPW2200_CSR_AUTOINC_DATA, 0);
usr/src/uts/common/io/iwi/ipw2200_hw.c
454
IPW2200_DBG(IPW2200_DBG_FW, (sc->sc_dip, CE_CONT,
usr/src/uts/common/io/iwi/ipw2200_hw.c
457
ipw2200_csr_put32(sc, IPW2200_CSR_RST,
usr/src/uts/common/io/iwi/ipw2200_hw.c
459
& ipw2200_csr_get32(sc, IPW2200_CSR_RST));
usr/src/uts/common/io/iwi/ipw2200_hw.c
461
ipw2200_imem_put32(sc, 0x3000a4, 0x540100);
usr/src/uts/common/io/iwi/ipw2200_hw.c
464
val = ipw2200_imem_get32(sc, 0x3000d0);
usr/src/uts/common/io/iwi/ipw2200_hw.c
470
IPW2200_WARN((sc->sc_dip, CE_WARN,
usr/src/uts/common/io/iwi/ipw2200_hw.c
475
mutex_enter(&sc->sc_ilock);
usr/src/uts/common/io/iwi/ipw2200_hw.c
477
ipw2200_imem_put32(sc, 0x3000a4, 0x540c00);
usr/src/uts/common/io/iwi/ipw2200_hw.c
482
ipw2200_csr_put32(sc, IPW2200_CSR_INTR_MASK, IPW2200_INTR_MASK_ALL);
usr/src/uts/common/io/iwi/ipw2200_hw.c
488
ipw2200_csr_put32(sc, IPW2200_CSR_RST, 0);
usr/src/uts/common/io/iwi/ipw2200_hw.c
489
ipw2200_csr_put32(sc, IPW2200_CSR_CTL,
usr/src/uts/common/io/iwi/ipw2200_hw.c
490
ipw2200_csr_get32(sc, IPW2200_CSR_CTL) |
usr/src/uts/common/io/iwi/ipw2200_hw.c
496
sc->sc_fw_ok = 0;
usr/src/uts/common/io/iwi/ipw2200_hw.c
497
while (!sc->sc_fw_ok) {
usr/src/uts/common/io/iwi/ipw2200_hw.c
501
if (cv_reltimedwait(&sc->sc_fw_cond, &sc->sc_ilock, clk,
usr/src/uts/common/io/iwi/ipw2200_hw.c
505
mutex_exit(&sc->sc_ilock);
usr/src/uts/common/io/iwi/ipw2200_hw.c
507
if (!sc->sc_fw_ok) {
usr/src/uts/common/io/iwi/ipw2200_hw.c
508
IPW2200_WARN((sc->sc_dip, CE_WARN,
usr/src/uts/common/io/iwi/ipw2200_hw.c
519
IPW2200_WARN((sc->sc_dip, CE_WARN,
usr/src/uts/common/io/iwi/ipw2200_hw.c
60
ipw2200_csr_get8(struct ipw2200_softc *sc, uint32_t off)
usr/src/uts/common/io/iwi/ipw2200_hw.c
62
return (ddi_get8(sc->sc_ioh, (uint8_t *)(sc->sc_regs + off)));
usr/src/uts/common/io/iwi/ipw2200_hw.c
66
ipw2200_csr_get16(struct ipw2200_softc *sc, uint32_t off)
usr/src/uts/common/io/iwi/ipw2200_hw.c
68
return (ddi_get16(sc->sc_ioh,
usr/src/uts/common/io/iwi/ipw2200_hw.c
69
(uint16_t *)((uintptr_t)sc->sc_regs + off)));
usr/src/uts/common/io/iwi/ipw2200_hw.c
73
ipw2200_csr_get32(struct ipw2200_softc *sc, uint32_t off)
usr/src/uts/common/io/iwi/ipw2200_hw.c
75
return (ddi_get32(sc->sc_ioh,
usr/src/uts/common/io/iwi/ipw2200_hw.c
76
(uint32_t *)((uintptr_t)sc->sc_regs + off)));
usr/src/uts/common/io/iwi/ipw2200_hw.c
80
ipw2200_csr_getbuf32(struct ipw2200_softc *sc, uint32_t off,
usr/src/uts/common/io/iwi/ipw2200_hw.c
83
ddi_rep_get32(sc->sc_ioh, buf,
usr/src/uts/common/io/iwi/ipw2200_hw.c
84
(uint32_t *)((uintptr_t)sc->sc_regs + off),
usr/src/uts/common/io/iwi/ipw2200_hw.c
89
ipw2200_csr_put8(struct ipw2200_softc *sc, uint32_t off,
usr/src/uts/common/io/iwi/ipw2200_hw.c
92
ddi_put8(sc->sc_ioh, (uint8_t *)(sc->sc_regs + off), val);
usr/src/uts/common/io/iwi/ipw2200_hw.c
96
ipw2200_csr_put16(struct ipw2200_softc *sc, uint32_t off,
usr/src/uts/common/io/iwi/ipw2200_hw.c
99
ddi_put16(sc->sc_ioh,
usr/src/uts/common/io/iwi/ipw2200_impl.h
201
extern int ipw2200_init(struct ipw2200_softc *sc);
usr/src/uts/common/io/iwi/ipw2200_impl.h
204
extern int ipw2200_dma_region_alloc(struct ipw2200_softc *sc,
usr/src/uts/common/io/iwi/ipw2200_impl.h
207
extern int ipw2200_disable(struct ipw2200_softc *sc);
usr/src/uts/common/io/iwi/ipw2200_impl.h
208
extern int ipw2200_start_scan(struct ipw2200_softc *sc);
usr/src/uts/common/io/iwi/ipw2200_impl.h
213
extern int ipw2200_radio_status(struct ipw2200_softc *sc);
usr/src/uts/common/io/iwi/ipw2200_impl.h
223
extern void ipw2200_get_statistics(struct ipw2200_softc *sc);
usr/src/uts/common/io/iwi/ipw2200_impl.h
727
extern uint8_t ipw2200_csr_get8(struct ipw2200_softc *sc, uint32_t off);
usr/src/uts/common/io/iwi/ipw2200_impl.h
728
extern uint16_t ipw2200_csr_get16(struct ipw2200_softc *sc, uint32_t off);
usr/src/uts/common/io/iwi/ipw2200_impl.h
729
extern uint32_t ipw2200_csr_get32(struct ipw2200_softc *sc, uint32_t off);
usr/src/uts/common/io/iwi/ipw2200_impl.h
730
extern void ipw2200_csr_getbuf32(struct ipw2200_softc *sc, uint32_t off,
usr/src/uts/common/io/iwi/ipw2200_impl.h
732
extern void ipw2200_csr_put8(struct ipw2200_softc *sc, uint32_t off,
usr/src/uts/common/io/iwi/ipw2200_impl.h
734
extern void ipw2200_csr_put16(struct ipw2200_softc *sc, uint32_t off,
usr/src/uts/common/io/iwi/ipw2200_impl.h
736
extern void ipw2200_csr_put32(struct ipw2200_softc *sc, uint32_t off,
usr/src/uts/common/io/iwi/ipw2200_impl.h
741
extern uint8_t ipw2200_imem_get8(struct ipw2200_softc *sc, uint32_t addr);
usr/src/uts/common/io/iwi/ipw2200_impl.h
742
extern uint16_t ipw2200_imem_get16(struct ipw2200_softc *sc,
usr/src/uts/common/io/iwi/ipw2200_impl.h
744
extern uint32_t ipw2200_imem_get32(struct ipw2200_softc *sc,
usr/src/uts/common/io/iwi/ipw2200_impl.h
746
extern void ipw2200_imem_put8(struct ipw2200_softc *sc, uint32_t addr,
usr/src/uts/common/io/iwi/ipw2200_impl.h
748
extern void ipw2200_imem_put16(struct ipw2200_softc *sc, uint32_t addr,
usr/src/uts/common/io/iwi/ipw2200_impl.h
750
extern void ipw2200_imem_put32(struct ipw2200_softc *sc, uint32_t addr,
usr/src/uts/common/io/iwi/ipw2200_impl.h
755
extern void ipw2200_rom_control(struct ipw2200_softc *sc, uint32_t val);
usr/src/uts/common/io/iwi/ipw2200_impl.h
756
extern uint16_t ipw2200_rom_get16(struct ipw2200_softc *sc, uint8_t addr);
usr/src/uts/common/io/iwi/ipw2200_impl.h
761
extern int ipw2200_cache_firmware(struct ipw2200_softc *sc);
usr/src/uts/common/io/iwi/ipw2200_impl.h
762
extern int ipw2200_free_firmware(struct ipw2200_softc *sc);
usr/src/uts/common/io/iwi/ipw2200_impl.h
763
extern int ipw2200_load_uc(struct ipw2200_softc *sc, uint8_t *buf, size_t size);
usr/src/uts/common/io/iwi/ipw2200_impl.h
764
extern int ipw2200_load_fw(struct ipw2200_softc *sc, uint8_t *buf, size_t size);
usr/src/uts/common/io/iwk/iwk2.c
1054
iwk_alloc_fw_dma(iwk_sc_t *sc)
usr/src/uts/common/io/iwk/iwk2.c
1064
t = (char *)(sc->sc_hdr + 1);
usr/src/uts/common/io/iwk/iwk2.c
1065
err = iwk_alloc_dma_mem(sc, LE_32(sc->sc_hdr->textsz),
usr/src/uts/common/io/iwk/iwk2.c
1068
&sc->sc_dma_fw_text);
usr/src/uts/common/io/iwk/iwk2.c
1069
dma_p = &sc->sc_dma_fw_text;
usr/src/uts/common/io/iwk/iwk2.c
1078
(void) memcpy(dma_p->mem_va, t, LE_32(sc->sc_hdr->textsz));
usr/src/uts/common/io/iwk/iwk2.c
1080
t += LE_32(sc->sc_hdr->textsz);
usr/src/uts/common/io/iwk/iwk2.c
1081
err = iwk_alloc_dma_mem(sc, LE_32(sc->sc_hdr->datasz),
usr/src/uts/common/io/iwk/iwk2.c
1084
&sc->sc_dma_fw_data);
usr/src/uts/common/io/iwk/iwk2.c
1085
dma_p = &sc->sc_dma_fw_data;
usr/src/uts/common/io/iwk/iwk2.c
1094
(void) memcpy(dma_p->mem_va, t, LE_32(sc->sc_hdr->datasz));
usr/src/uts/common/io/iwk/iwk2.c
1096
err = iwk_alloc_dma_mem(sc, LE_32(sc->sc_hdr->datasz),
usr/src/uts/common/io/iwk/iwk2.c
1099
&sc->sc_dma_fw_data_bak);
usr/src/uts/common/io/iwk/iwk2.c
1100
dma_p = &sc->sc_dma_fw_data_bak;
usr/src/uts/common/io/iwk/iwk2.c
1110
(void) memcpy(dma_p->mem_va, t, LE_32(sc->sc_hdr->datasz));
usr/src/uts/common/io/iwk/iwk2.c
1112
t += LE_32(sc->sc_hdr->datasz);
usr/src/uts/common/io/iwk/iwk2.c
1113
err = iwk_alloc_dma_mem(sc, LE_32(sc->sc_hdr->init_textsz),
usr/src/uts/common/io/iwk/iwk2.c
1116
&sc->sc_dma_fw_init_text);
usr/src/uts/common/io/iwk/iwk2.c
1117
dma_p = &sc->sc_dma_fw_init_text;
usr/src/uts/common/io/iwk/iwk2.c
1127
(void) memcpy(dma_p->mem_va, t, LE_32(sc->sc_hdr->init_textsz));
usr/src/uts/common/io/iwk/iwk2.c
1129
t += LE_32(sc->sc_hdr->init_textsz);
usr/src/uts/common/io/iwk/iwk2.c
1130
err = iwk_alloc_dma_mem(sc, LE_32(sc->sc_hdr->init_datasz),
usr/src/uts/common/io/iwk/iwk2.c
1133
&sc->sc_dma_fw_init_data);
usr/src/uts/common/io/iwk/iwk2.c
1134
dma_p = &sc->sc_dma_fw_init_data;
usr/src/uts/common/io/iwk/iwk2.c
1144
(void) memcpy(dma_p->mem_va, t, LE_32(sc->sc_hdr->init_datasz));
usr/src/uts/common/io/iwk/iwk2.c
1146
sc->sc_boot = t + LE_32(sc->sc_hdr->init_datasz);
usr/src/uts/common/io/iwk/iwk2.c
1152
iwk_free_fw_dma(iwk_sc_t *sc)
usr/src/uts/common/io/iwk/iwk2.c
1154
iwk_free_dma_mem(&sc->sc_dma_fw_text);
usr/src/uts/common/io/iwk/iwk2.c
1155
iwk_free_dma_mem(&sc->sc_dma_fw_data);
usr/src/uts/common/io/iwk/iwk2.c
1156
iwk_free_dma_mem(&sc->sc_dma_fw_data_bak);
usr/src/uts/common/io/iwk/iwk2.c
1157
iwk_free_dma_mem(&sc->sc_dma_fw_init_text);
usr/src/uts/common/io/iwk/iwk2.c
1158
iwk_free_dma_mem(&sc->sc_dma_fw_init_data);
usr/src/uts/common/io/iwk/iwk2.c
1165
iwk_alloc_shared(iwk_sc_t *sc)
usr/src/uts/common/io/iwk/iwk2.c
1171
err = iwk_alloc_dma_mem(sc, sizeof (iwk_shared_t),
usr/src/uts/common/io/iwk/iwk2.c
1174
&sc->sc_dma_sh);
usr/src/uts/common/io/iwk/iwk2.c
1177
sc->sc_shared = (iwk_shared_t *)sc->sc_dma_sh.mem_va;
usr/src/uts/common/io/iwk/iwk2.c
1179
dma_p = &sc->sc_dma_sh;
usr/src/uts/common/io/iwk/iwk2.c
1186
iwk_free_shared(sc);
usr/src/uts/common/io/iwk/iwk2.c
1191
iwk_free_shared(iwk_sc_t *sc)
usr/src/uts/common/io/iwk/iwk2.c
1193
iwk_free_dma_mem(&sc->sc_dma_sh);
usr/src/uts/common/io/iwk/iwk2.c
1200
iwk_alloc_kw(iwk_sc_t *sc)
usr/src/uts/common/io/iwk/iwk2.c
1206
err = iwk_alloc_dma_mem(sc, IWK_KW_SIZE,
usr/src/uts/common/io/iwk/iwk2.c
1209
&sc->sc_dma_kw);
usr/src/uts/common/io/iwk/iwk2.c
1213
dma_p = &sc->sc_dma_kw;
usr/src/uts/common/io/iwk/iwk2.c
1220
iwk_free_kw(sc);
usr/src/uts/common/io/iwk/iwk2.c
1225
iwk_free_kw(iwk_sc_t *sc)
usr/src/uts/common/io/iwk/iwk2.c
1227
iwk_free_dma_mem(&sc->sc_dma_kw);
usr/src/uts/common/io/iwk/iwk2.c
1231
iwk_alloc_rx_ring(iwk_sc_t *sc)
usr/src/uts/common/io/iwk/iwk2.c
1238
ring = &sc->sc_rxq;
usr/src/uts/common/io/iwk/iwk2.c
1241
err = iwk_alloc_dma_mem(sc, RX_QUEUE_SIZE * sizeof (uint32_t),
usr/src/uts/common/io/iwk/iwk2.c
1260
err = iwk_alloc_dma_mem(sc, sc->sc_dmabuf_sz,
usr/src/uts/common/io/iwk/iwk2.c
1287
iwk_free_rx_ring(sc);
usr/src/uts/common/io/iwk/iwk2.c
1292
iwk_reset_rx_ring(iwk_sc_t *sc)
usr/src/uts/common/io/iwk/iwk2.c
1296
iwk_mac_access_enter(sc);
usr/src/uts/common/io/iwk/iwk2.c
1297
IWK_WRITE(sc, FH_MEM_RCSR_CHNL0_CONFIG_REG, 0);
usr/src/uts/common/io/iwk/iwk2.c
1299
if (IWK_READ(sc, FH_MEM_RSSR_RX_STATUS_REG) & (1 << 24))
usr/src/uts/common/io/iwk/iwk2.c
1307
iwk_mac_access_exit(sc);
usr/src/uts/common/io/iwk/iwk2.c
1309
sc->sc_rxq.cur = 0;
usr/src/uts/common/io/iwk/iwk2.c
1313
iwk_free_rx_ring(iwk_sc_t *sc)
usr/src/uts/common/io/iwk/iwk2.c
1318
if (sc->sc_rxq.data[i].dma_data.dma_hdl)
usr/src/uts/common/io/iwk/iwk2.c
1319
IWK_DMA_SYNC(sc->sc_rxq.data[i].dma_data,
usr/src/uts/common/io/iwk/iwk2.c
1321
iwk_free_dma_mem(&sc->sc_rxq.data[i].dma_data);
usr/src/uts/common/io/iwk/iwk2.c
1324
if (sc->sc_rxq.dma_desc.dma_hdl)
usr/src/uts/common/io/iwk/iwk2.c
1325
IWK_DMA_SYNC(sc->sc_rxq.dma_desc, DDI_DMA_SYNC_FORDEV);
usr/src/uts/common/io/iwk/iwk2.c
1326
iwk_free_dma_mem(&sc->sc_rxq.dma_desc);
usr/src/uts/common/io/iwk/iwk2.c
1330
iwk_alloc_tx_ring(iwk_sc_t *sc, iwk_tx_ring_t *ring,
usr/src/uts/common/io/iwk/iwk2.c
1347
err = iwk_alloc_dma_mem(sc,
usr/src/uts/common/io/iwk/iwk2.c
1365
err = iwk_alloc_dma_mem(sc,
usr/src/uts/common/io/iwk/iwk2.c
1395
err = iwk_alloc_dma_mem(sc, sc->sc_dmabuf_sz,
usr/src/uts/common/io/iwk/iwk2.c
1425
iwk_free_tx_ring(sc, ring);
usr/src/uts/common/io/iwk/iwk2.c
1430
iwk_reset_tx_ring(iwk_sc_t *sc, iwk_tx_ring_t *ring)
usr/src/uts/common/io/iwk/iwk2.c
1435
iwk_mac_access_enter(sc);
usr/src/uts/common/io/iwk/iwk2.c
1437
IWK_WRITE(sc, IWK_FH_TCSR_CHNL_TX_CONFIG_REG(ring->qid), 0);
usr/src/uts/common/io/iwk/iwk2.c
1439
if (IWK_READ(sc, IWK_FH_TSSR_TX_STATUS_REG) &
usr/src/uts/common/io/iwk/iwk2.c
1448
iwk_mac_access_exit(sc);
usr/src/uts/common/io/iwk/iwk2.c
1461
iwk_free_tx_ring(iwk_sc_t *sc, iwk_tx_ring_t *ring)
usr/src/uts/common/io/iwk/iwk2.c
1485
iwk_ring_init(iwk_sc_t *sc)
usr/src/uts/common/io/iwk/iwk2.c
1492
err = iwk_alloc_tx_ring(sc, &sc->sc_txq[i], TFD_TX_CMD_SLOTS,
usr/src/uts/common/io/iwk/iwk2.c
1497
err = iwk_alloc_tx_ring(sc, &sc->sc_txq[IWK_CMD_QUEUE_NUM],
usr/src/uts/common/io/iwk/iwk2.c
1501
err = iwk_alloc_rx_ring(sc);
usr/src/uts/common/io/iwk/iwk2.c
1511
iwk_ring_free(iwk_sc_t *sc)
usr/src/uts/common/io/iwk/iwk2.c
1515
iwk_free_rx_ring(sc);
usr/src/uts/common/io/iwk/iwk2.c
1517
iwk_free_tx_ring(sc, &sc->sc_txq[i]);
usr/src/uts/common/io/iwk/iwk2.c
1548
iwk_sc_t *sc = (iwk_sc_t *)ic;
usr/src/uts/common/io/iwk/iwk2.c
1553
mutex_enter(&sc->sc_glock);
usr/src/uts/common/io/iwk/iwk2.c
1561
sc->sc_flags |= IWK_F_SCANNING;
usr/src/uts/common/io/iwk/iwk2.c
1562
sc->sc_scan_pending = 0;
usr/src/uts/common/io/iwk/iwk2.c
1563
iwk_set_led(sc, 2, 10, 2);
usr/src/uts/common/io/iwk/iwk2.c
1569
sc->sc_config.assoc_id = 0;
usr/src/uts/common/io/iwk/iwk2.c
1570
sc->sc_config.filter_flags &=
usr/src/uts/common/io/iwk/iwk2.c
1574
"flags %x filter_flags %x\n", sc->sc_config.chan,
usr/src/uts/common/io/iwk/iwk2.c
1575
sc->sc_config.flags, sc->sc_config.filter_flags));
usr/src/uts/common/io/iwk/iwk2.c
1577
err = iwk_cmd(sc, REPLY_RXON, &sc->sc_config,
usr/src/uts/common/io/iwk/iwk2.c
1582
sc->sc_flags &= ~IWK_F_SCANNING;
usr/src/uts/common/io/iwk/iwk2.c
1583
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/iwk/iwk2.c
1591
err = iwk_cmd(sc, REPLY_ADD_STA, &node,
usr/src/uts/common/io/iwk/iwk2.c
1596
sc->sc_flags &= ~IWK_F_SCANNING;
usr/src/uts/common/io/iwk/iwk2.c
1597
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/iwk/iwk2.c
1606
sc->sc_flags |= IWK_F_SCANNING;
usr/src/uts/common/io/iwk/iwk2.c
1607
sc->sc_scan_pending = 0;
usr/src/uts/common/io/iwk/iwk2.c
1609
iwk_set_led(sc, 2, 10, 2);
usr/src/uts/common/io/iwk/iwk2.c
1612
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/iwk/iwk2.c
1614
err = sc->sc_newstate(ic, nstate, arg);
usr/src/uts/common/io/iwk/iwk2.c
1615
mutex_enter(&sc->sc_glock);
usr/src/uts/common/io/iwk/iwk2.c
1616
if ((err != 0) || ((err = iwk_scan(sc)) != 0)) {
usr/src/uts/common/io/iwk/iwk2.c
1619
sc->sc_flags &= ~IWK_F_SCANNING;
usr/src/uts/common/io/iwk/iwk2.c
1622
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/iwk/iwk2.c
1628
sc->sc_clk = 0;
usr/src/uts/common/io/iwk/iwk2.c
1633
sc->sc_flags &= ~IWK_F_SCANNING;
usr/src/uts/common/io/iwk/iwk2.c
1637
sc->sc_config.assoc_id = 0;
usr/src/uts/common/io/iwk/iwk2.c
1638
sc->sc_config.filter_flags &= ~LE_32(RXON_FILTER_ASSOC_MSK);
usr/src/uts/common/io/iwk/iwk2.c
1645
if ((err = iwk_hw_set_before_auth(sc)) != 0) {
usr/src/uts/common/io/iwk/iwk2.c
1648
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/iwk/iwk2.c
1655
sc->sc_flags &= ~IWK_F_SCANNING;
usr/src/uts/common/io/iwk/iwk2.c
1660
iwk_set_led(sc, 2, 10, 10);
usr/src/uts/common/io/iwk/iwk2.c
1676
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/iwk/iwk2.c
1689
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/iwk/iwk2.c
1695
sc->sc_tempera = iwk_curr_tempera(sc);
usr/src/uts/common/io/iwk/iwk2.c
1701
err = iwk_tx_power_calibration(sc);
usr/src/uts/common/io/iwk/iwk2.c
1705
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/iwk/iwk2.c
1718
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/iwk/iwk2.c
1724
mutex_enter(&sc->sc_mt_lock);
usr/src/uts/common/io/iwk/iwk2.c
1726
sc->sc_flags |= IWK_F_RATE_AUTO_CTL;
usr/src/uts/common/io/iwk/iwk2.c
1733
sc->sc_flags &= ~IWK_F_RATE_AUTO_CTL;
usr/src/uts/common/io/iwk/iwk2.c
1735
mutex_exit(&sc->sc_mt_lock);
usr/src/uts/common/io/iwk/iwk2.c
1738
iwk_set_led(sc, 2, 0, 1);
usr/src/uts/common/io/iwk/iwk2.c
1743
sc->sc_flags &= ~IWK_F_SCANNING;
usr/src/uts/common/io/iwk/iwk2.c
1747
iwk_set_led(sc, 2, 1, 0);
usr/src/uts/common/io/iwk/iwk2.c
1751
sc->sc_flags &= ~IWK_F_SCANNING;
usr/src/uts/common/io/iwk/iwk2.c
1757
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/iwk/iwk2.c
1759
err = sc->sc_newstate(ic, nstate, arg);
usr/src/uts/common/io/iwk/iwk2.c
1763
mutex_enter(&sc->sc_glock);
usr/src/uts/common/io/iwk/iwk2.c
1769
err = iwk_rx_sens_init(sc);
usr/src/uts/common/io/iwk/iwk2.c
1773
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/iwk/iwk2.c
1778
err = iwk_rxgain_diff_init(sc);
usr/src/uts/common/io/iwk/iwk2.c
1782
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/iwk/iwk2.c
1786
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/iwk/iwk2.c
1796
iwk_sc_t *sc = arg;
usr/src/uts/common/io/iwk/iwk2.c
1797
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/iwk/iwk2.c
1824
iwk_sc_t *sc = (iwk_sc_t *)ic;
usr/src/uts/common/io/iwk/iwk2.c
1838
sc->sc_config.filter_flags &= ~LE_32(RXON_FILTER_DIS_DECRYPT_MSK |
usr/src/uts/common/io/iwk/iwk2.c
1841
mutex_enter(&sc->sc_glock);
usr/src/uts/common/io/iwk/iwk2.c
1849
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/iwk/iwk2.c
1850
mutex_enter(&sc->sc_ibss.node_tb_lock);
usr/src/uts/common/io/iwk/iwk2.c
1857
if (sc->sc_ibss.ibss_node_tb[index1].used &&
usr/src/uts/common/io/iwk/iwk2.c
1858
IEEE80211_ADDR_EQ(sc->sc_ibss.
usr/src/uts/common/io/iwk/iwk2.c
1867
mutex_exit(&sc->sc_ibss.node_tb_lock);
usr/src/uts/common/io/iwk/iwk2.c
1874
sc->sc_ibss.ibss_node_tb[index1].
usr/src/uts/common/io/iwk/iwk2.c
1876
sc->sc_ibss.ibss_node_tb[index1].
usr/src/uts/common/io/iwk/iwk2.c
1879
sc->sc_ibss.ibss_node_tb[index1].
usr/src/uts/common/io/iwk/iwk2.c
1881
sc->sc_ibss.ibss_node_tb[index1].
usr/src/uts/common/io/iwk/iwk2.c
1885
(void) memcpy(sc->sc_ibss.ibss_node_tb[index1].node.key,
usr/src/uts/common/io/iwk/iwk2.c
1887
sc->sc_ibss.ibss_node_tb[index1].node.key_flags |=
usr/src/uts/common/io/iwk/iwk2.c
1889
sc->sc_ibss.ibss_node_tb[index1].node.key_flags =
usr/src/uts/common/io/iwk/iwk2.c
1890
LE_16(sc->sc_ibss.ibss_node_tb[index1].
usr/src/uts/common/io/iwk/iwk2.c
1892
sc->sc_ibss.ibss_node_tb[index1].node.sta_mask =
usr/src/uts/common/io/iwk/iwk2.c
1894
sc->sc_ibss.ibss_node_tb[index1].node.control = 1;
usr/src/uts/common/io/iwk/iwk2.c
1896
mutex_enter(&sc->sc_glock);
usr/src/uts/common/io/iwk/iwk2.c
1897
err = iwk_cmd(sc, REPLY_ADD_STA,
usr/src/uts/common/io/iwk/iwk2.c
1898
&sc->sc_ibss.ibss_node_tb[index1].node,
usr/src/uts/common/io/iwk/iwk2.c
1903
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/iwk/iwk2.c
1904
mutex_exit(&sc->sc_ibss.node_tb_lock);
usr/src/uts/common/io/iwk/iwk2.c
1907
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/iwk/iwk2.c
1909
mutex_exit(&sc->sc_ibss.node_tb_lock);
usr/src/uts/common/io/iwk/iwk2.c
1927
err = iwk_cmd(sc, REPLY_ADD_STA, &node, sizeof (node), 1);
usr/src/uts/common/io/iwk/iwk2.c
1931
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/iwk/iwk2.c
1934
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/iwk/iwk2.c
1942
iwk_mac_access_enter(iwk_sc_t *sc)
usr/src/uts/common/io/iwk/iwk2.c
1947
tmp = IWK_READ(sc, CSR_GP_CNTRL);
usr/src/uts/common/io/iwk/iwk2.c
1948
IWK_WRITE(sc, CSR_GP_CNTRL,
usr/src/uts/common/io/iwk/iwk2.c
1953
if ((IWK_READ(sc, CSR_GP_CNTRL) &
usr/src/uts/common/io/iwk/iwk2.c
1968
iwk_mac_access_exit(iwk_sc_t *sc)
usr/src/uts/common/io/iwk/iwk2.c
1970
uint32_t tmp = IWK_READ(sc, CSR_GP_CNTRL);
usr/src/uts/common/io/iwk/iwk2.c
1971
IWK_WRITE(sc, CSR_GP_CNTRL,
usr/src/uts/common/io/iwk/iwk2.c
1976
iwk_mem_read(iwk_sc_t *sc, uint32_t addr)
usr/src/uts/common/io/iwk/iwk2.c
1978
IWK_WRITE(sc, HBUS_TARG_MEM_RADDR, addr);
usr/src/uts/common/io/iwk/iwk2.c
1979
return (IWK_READ(sc, HBUS_TARG_MEM_RDAT));
usr/src/uts/common/io/iwk/iwk2.c
1983
iwk_mem_write(iwk_sc_t *sc, uint32_t addr, uint32_t data)
usr/src/uts/common/io/iwk/iwk2.c
1985
IWK_WRITE(sc, HBUS_TARG_MEM_WADDR, addr);
usr/src/uts/common/io/iwk/iwk2.c
1986
IWK_WRITE(sc, HBUS_TARG_MEM_WDAT, data);
usr/src/uts/common/io/iwk/iwk2.c
1990
iwk_reg_read(iwk_sc_t *sc, uint32_t addr)
usr/src/uts/common/io/iwk/iwk2.c
1992
IWK_WRITE(sc, HBUS_TARG_PRPH_RADDR, addr | (3 << 24));
usr/src/uts/common/io/iwk/iwk2.c
1993
return (IWK_READ(sc, HBUS_TARG_PRPH_RDAT));
usr/src/uts/common/io/iwk/iwk2.c
1997
iwk_reg_write(iwk_sc_t *sc, uint32_t addr, uint32_t data)
usr/src/uts/common/io/iwk/iwk2.c
1999
IWK_WRITE(sc, HBUS_TARG_PRPH_WADDR, addr | (3 << 24));
usr/src/uts/common/io/iwk/iwk2.c
2000
IWK_WRITE(sc, HBUS_TARG_PRPH_WDAT, data);
usr/src/uts/common/io/iwk/iwk2.c
2004
iwk_reg_write_region_4(iwk_sc_t *sc, uint32_t addr,
usr/src/uts/common/io/iwk/iwk2.c
2008
iwk_reg_write(sc, addr, LE_32(*data));
usr/src/uts/common/io/iwk/iwk2.c
2026
iwk_load_firmware(iwk_sc_t *sc)
usr/src/uts/common/io/iwk/iwk2.c
2028
uint32_t *boot_fw = (uint32_t *)sc->sc_boot;
usr/src/uts/common/io/iwk/iwk2.c
2029
uint32_t size = LE_32(sc->sc_hdr->bootsz);
usr/src/uts/common/io/iwk/iwk2.c
2037
iwk_mac_access_enter(sc);
usr/src/uts/common/io/iwk/iwk2.c
2039
iwk_reg_write(sc, BSM_DRAM_INST_PTR_REG,
usr/src/uts/common/io/iwk/iwk2.c
2040
sc->sc_dma_fw_init_text.cookie.dmac_address >> 4);
usr/src/uts/common/io/iwk/iwk2.c
2041
iwk_reg_write(sc, BSM_DRAM_DATA_PTR_REG,
usr/src/uts/common/io/iwk/iwk2.c
2042
sc->sc_dma_fw_init_data.cookie.dmac_address >> 4);
usr/src/uts/common/io/iwk/iwk2.c
2043
iwk_reg_write(sc, BSM_DRAM_INST_BYTECOUNT_REG,
usr/src/uts/common/io/iwk/iwk2.c
2044
sc->sc_dma_fw_init_text.cookie.dmac_size);
usr/src/uts/common/io/iwk/iwk2.c
2045
iwk_reg_write(sc, BSM_DRAM_DATA_BYTECOUNT_REG,
usr/src/uts/common/io/iwk/iwk2.c
2046
sc->sc_dma_fw_init_data.cookie.dmac_size);
usr/src/uts/common/io/iwk/iwk2.c
2049
iwk_reg_write_region_4(sc, BSM_SRAM_LOWER_BOUND, boot_fw,
usr/src/uts/common/io/iwk/iwk2.c
2052
iwk_reg_write(sc, BSM_WR_MEM_SRC_REG, 0);
usr/src/uts/common/io/iwk/iwk2.c
2053
iwk_reg_write(sc, BSM_WR_MEM_DST_REG, RTC_INST_LOWER_BOUND);
usr/src/uts/common/io/iwk/iwk2.c
2054
iwk_reg_write(sc, BSM_WR_DWCOUNT_REG, size / sizeof (uint32_t));
usr/src/uts/common/io/iwk/iwk2.c
2059
iwk_reg_write(sc, BSM_WR_CTRL_REG, BSM_WR_CTRL_REG_BIT_START);
usr/src/uts/common/io/iwk/iwk2.c
2063
if (!(iwk_reg_read(sc, BSM_WR_CTRL_REG) &
usr/src/uts/common/io/iwk/iwk2.c
2075
iwk_reg_write(sc, BSM_WR_CTRL_REG, BSM_WR_CTRL_REG_BIT_START_EN);
usr/src/uts/common/io/iwk/iwk2.c
2077
iwk_mac_access_exit(sc);
usr/src/uts/common/io/iwk/iwk2.c
2084
iwk_rx_intr(iwk_sc_t *sc, iwk_rx_desc_t *desc, iwk_rx_data_t *data)
usr/src/uts/common/io/iwk/iwk2.c
2086
ieee80211com_t *ic = &sc->sc_ic;
usr/src/uts/common/io/iwk/iwk2.c
2087
iwk_rx_ring_t *ring = &sc->sc_rxq;
usr/src/uts/common/io/iwk/iwk2.c
2138
if ((len < 16) || (len > sc->sc_dmabuf_sz)) {
usr/src/uts/common/io/iwk/iwk2.c
2151
sc->sc_rx_err++;
usr/src/uts/common/io/iwk/iwk2.c
2158
sc->sc_assoc_id = *((uint16_t *)(wh + 1) + 2);
usr/src/uts/common/io/iwk/iwk2.c
2160
sc->sc_assoc_id));
usr/src/uts/common/io/iwk/iwk2.c
2175
sc->sc_rx_nobuf++;
usr/src/uts/common/io/iwk/iwk2.c
2185
iwk_tx_intr(iwk_sc_t *sc, iwk_rx_desc_t *desc, iwk_rx_data_t *data)
usr/src/uts/common/io/iwk/iwk2.c
2187
ieee80211com_t *ic = &sc->sc_ic;
usr/src/uts/common/io/iwk/iwk2.c
2188
iwk_tx_ring_t *ring = &sc->sc_txq[desc->hdr.qid & 0x3];
usr/src/uts/common/io/iwk/iwk2.c
2203
sc->sc_tx_retries++;
usr/src/uts/common/io/iwk/iwk2.c
2205
sc->sc_tx_retries));
usr/src/uts/common/io/iwk/iwk2.c
2208
sc->sc_tx_timer = 0;
usr/src/uts/common/io/iwk/iwk2.c
2210
mutex_enter(&sc->sc_tx_lock);
usr/src/uts/common/io/iwk/iwk2.c
2214
if ((sc->sc_need_reschedule) && (ring->queued <= (ring->count << 3))) {
usr/src/uts/common/io/iwk/iwk2.c
2215
sc->sc_need_reschedule = 0;
usr/src/uts/common/io/iwk/iwk2.c
2216
mutex_exit(&sc->sc_tx_lock);
usr/src/uts/common/io/iwk/iwk2.c
2218
mutex_enter(&sc->sc_tx_lock);
usr/src/uts/common/io/iwk/iwk2.c
2220
mutex_exit(&sc->sc_tx_lock);
usr/src/uts/common/io/iwk/iwk2.c
2224
iwk_cmd_intr(iwk_sc_t *sc, iwk_rx_desc_t *desc)
usr/src/uts/common/io/iwk/iwk2.c
2229
mutex_enter(&sc->sc_glock);
usr/src/uts/common/io/iwk/iwk2.c
2230
sc->sc_flags |= IWK_F_CMD_DONE;
usr/src/uts/common/io/iwk/iwk2.c
2231
cv_signal(&sc->sc_cmd_cv);
usr/src/uts/common/io/iwk/iwk2.c
2232
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/iwk/iwk2.c
2240
iwk_ucode_alive(iwk_sc_t *sc, iwk_rx_desc_t *desc)
usr/src/uts/common/io/iwk/iwk2.c
2259
(void) memcpy(&sc->sc_card_alive_init, ar,
usr/src/uts/common/io/iwk/iwk2.c
2262
iwk_mac_access_enter(sc);
usr/src/uts/common/io/iwk/iwk2.c
2263
iwk_reg_write(sc, BSM_DRAM_INST_PTR_REG,
usr/src/uts/common/io/iwk/iwk2.c
2264
sc->sc_dma_fw_text.cookie.dmac_address >> 4);
usr/src/uts/common/io/iwk/iwk2.c
2265
iwk_reg_write(sc, BSM_DRAM_DATA_PTR_REG,
usr/src/uts/common/io/iwk/iwk2.c
2266
sc->sc_dma_fw_data_bak.cookie.dmac_address >> 4);
usr/src/uts/common/io/iwk/iwk2.c
2267
iwk_reg_write(sc, BSM_DRAM_DATA_BYTECOUNT_REG,
usr/src/uts/common/io/iwk/iwk2.c
2268
sc->sc_dma_fw_data.cookie.dmac_size);
usr/src/uts/common/io/iwk/iwk2.c
2269
iwk_reg_write(sc, BSM_DRAM_INST_BYTECOUNT_REG,
usr/src/uts/common/io/iwk/iwk2.c
2270
sc->sc_dma_fw_text.cookie.dmac_size | 0x80000000);
usr/src/uts/common/io/iwk/iwk2.c
2271
iwk_mac_access_exit(sc);
usr/src/uts/common/io/iwk/iwk2.c
2274
(void) memcpy(&sc->sc_card_alive_run, ar,
usr/src/uts/common/io/iwk/iwk2.c
2280
iwk_mac_access_enter(sc);
usr/src/uts/common/io/iwk/iwk2.c
2283
sc->sc_scd_base = iwk_reg_read(sc, SCD_SRAM_BASE_ADDR);
usr/src/uts/common/io/iwk/iwk2.c
2286
for (base = sc->sc_scd_base + SCD_CONTEXT_DATA_OFFSET, i = 0;
usr/src/uts/common/io/iwk/iwk2.c
2288
iwk_mem_write(sc, base + i, 0);
usr/src/uts/common/io/iwk/iwk2.c
2291
for (base = sc->sc_scd_base + SCD_TX_STTS_BITMAP_OFFSET;
usr/src/uts/common/io/iwk/iwk2.c
2293
iwk_mem_write(sc, base + i, 0);
usr/src/uts/common/io/iwk/iwk2.c
2296
for (base = sc->sc_scd_base + SCD_TRANSLATE_TBL_OFFSET;
usr/src/uts/common/io/iwk/iwk2.c
2298
iwk_mem_write(sc, base + i, 0);
usr/src/uts/common/io/iwk/iwk2.c
2300
iwk_reg_write(sc, SCD_DRAM_BASE_ADDR,
usr/src/uts/common/io/iwk/iwk2.c
2301
sc->sc_dma_sh.cookie.dmac_address >> 10);
usr/src/uts/common/io/iwk/iwk2.c
2302
iwk_reg_write(sc, SCD_QUEUECHAIN_SEL, 0);
usr/src/uts/common/io/iwk/iwk2.c
2306
iwk_reg_write(sc, SCD_QUEUE_RDPTR(i), 0);
usr/src/uts/common/io/iwk/iwk2.c
2307
IWK_WRITE(sc, HBUS_TARG_WRPTR, (i << 8));
usr/src/uts/common/io/iwk/iwk2.c
2308
iwk_mem_write(sc, sc->sc_scd_base +
usr/src/uts/common/io/iwk/iwk2.c
2311
iwk_mem_write(sc, sc->sc_scd_base +
usr/src/uts/common/io/iwk/iwk2.c
2316
iwk_reg_write(sc, SCD_INTERRUPT_MASK,
usr/src/uts/common/io/iwk/iwk2.c
2319
iwk_reg_write(sc, SCD_TXFACT,
usr/src/uts/common/io/iwk/iwk2.c
2326
iwk_reg_write(sc,
usr/src/uts/common/io/iwk/iwk2.c
2332
iwk_mac_access_exit(sc);
usr/src/uts/common/io/iwk/iwk2.c
2334
sc->sc_flags |= IWK_F_FW_INIT;
usr/src/uts/common/io/iwk/iwk2.c
2335
cv_signal(&sc->sc_fw_cv);
usr/src/uts/common/io/iwk/iwk2.c
2344
iwk_sc_t *sc = (iwk_sc_t *)arg;
usr/src/uts/common/io/iwk/iwk2.c
2345
ieee80211com_t *ic = &sc->sc_ic;
usr/src/uts/common/io/iwk/iwk2.c
2350
mutex_enter(&sc->sc_glock);
usr/src/uts/common/io/iwk/iwk2.c
2351
if (sc->sc_rx_softint_pending != 1) {
usr/src/uts/common/io/iwk/iwk2.c
2352
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/iwk/iwk2.c
2356
IWK_WRITE(sc, CSR_INT_MASK, 0);
usr/src/uts/common/io/iwk/iwk2.c
2357
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/iwk/iwk2.c
2363
index = sc->sc_shared->val0 & 0xfff;
usr/src/uts/common/io/iwk/iwk2.c
2365
while (sc->sc_rxq.cur != index) {
usr/src/uts/common/io/iwk/iwk2.c
2366
data = &sc->sc_rxq.data[sc->sc_rxq.cur];
usr/src/uts/common/io/iwk/iwk2.c
2371
index, sc->sc_rxq.cur, desc->hdr.qid, desc->hdr.idx,
usr/src/uts/common/io/iwk/iwk2.c
2381
iwk_cmd_intr(sc, desc);
usr/src/uts/common/io/iwk/iwk2.c
2385
iwk_rx_intr(sc, desc, data);
usr/src/uts/common/io/iwk/iwk2.c
2389
iwk_tx_intr(sc, desc, data);
usr/src/uts/common/io/iwk/iwk2.c
2393
iwk_ucode_alive(sc, desc);
usr/src/uts/common/io/iwk/iwk2.c
2413
sc->sc_ostate = sc->sc_ic.ic_state;
usr/src/uts/common/io/iwk/iwk2.c
2414
ieee80211_new_state(&sc->sc_ic,
usr/src/uts/common/io/iwk/iwk2.c
2416
sc->sc_flags |=
usr/src/uts/common/io/iwk/iwk2.c
2442
sc->sc_scan_pending++;
usr/src/uts/common/io/iwk/iwk2.c
2447
iwk_statistics_notify(sc, desc);
usr/src/uts/common/io/iwk/iwk2.c
2451
sc->sc_rxq.cur = (sc->sc_rxq.cur + 1) % RX_QUEUE_SIZE;
usr/src/uts/common/io/iwk/iwk2.c
2459
IWK_WRITE(sc, FH_RSCSR_CHNL0_RBDCB_WPTR_REG, index & (~7));
usr/src/uts/common/io/iwk/iwk2.c
2461
mutex_enter(&sc->sc_glock);
usr/src/uts/common/io/iwk/iwk2.c
2463
IWK_WRITE(sc, CSR_INT_MASK, CSR_INI_SET_MASK);
usr/src/uts/common/io/iwk/iwk2.c
2464
sc->sc_rx_softint_pending = 0;
usr/src/uts/common/io/iwk/iwk2.c
2465
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/iwk/iwk2.c
2474
iwk_sc_t *sc = (iwk_sc_t *)arg;
usr/src/uts/common/io/iwk/iwk2.c
2477
mutex_enter(&sc->sc_glock);
usr/src/uts/common/io/iwk/iwk2.c
2479
if (sc->sc_flags & IWK_F_SUSPEND) {
usr/src/uts/common/io/iwk/iwk2.c
2480
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/iwk/iwk2.c
2484
r = IWK_READ(sc, CSR_INT);
usr/src/uts/common/io/iwk/iwk2.c
2486
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/iwk/iwk2.c
2492
rfh = IWK_READ(sc, CSR_FH_INT_STATUS);
usr/src/uts/common/io/iwk/iwk2.c
2495
IWK_WRITE(sc, CSR_INT_MASK, 0);
usr/src/uts/common/io/iwk/iwk2.c
2497
IWK_WRITE(sc, CSR_INT, r);
usr/src/uts/common/io/iwk/iwk2.c
2498
IWK_WRITE(sc, CSR_FH_INT_STATUS, rfh);
usr/src/uts/common/io/iwk/iwk2.c
2500
if (sc->sc_soft_hdl == NULL) {
usr/src/uts/common/io/iwk/iwk2.c
2501
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/iwk/iwk2.c
2506
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/iwk/iwk2.c
2509
iwk_write_error_log(sc);
usr/src/uts/common/io/iwk/iwk2.c
2510
iwk_write_event_log(sc);
usr/src/uts/common/io/iwk/iwk2.c
2512
iwk_stop(sc);
usr/src/uts/common/io/iwk/iwk2.c
2513
sc->sc_ostate = sc->sc_ic.ic_state;
usr/src/uts/common/io/iwk/iwk2.c
2516
if (!IWK_CHK_FAST_RECOVER(sc))
usr/src/uts/common/io/iwk/iwk2.c
2517
ieee80211_new_state(&sc->sc_ic, IEEE80211_S_INIT, -1);
usr/src/uts/common/io/iwk/iwk2.c
2519
sc->sc_flags |= IWK_F_HW_ERR_RECOVER;
usr/src/uts/common/io/iwk/iwk2.c
2524
uint32_t tmp = IWK_READ(sc, CSR_GP_CNTRL);
usr/src/uts/common/io/iwk/iwk2.c
2531
sc->sc_rx_softint_pending = 1;
usr/src/uts/common/io/iwk/iwk2.c
2532
(void) ddi_intr_trigger_softint(sc->sc_soft_hdl, NULL);
usr/src/uts/common/io/iwk/iwk2.c
2540
IWK_WRITE(sc, CSR_INT_MASK, CSR_INI_SET_MASK);
usr/src/uts/common/io/iwk/iwk2.c
2541
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/iwk/iwk2.c
2600
iwk_sc_t *sc = (iwk_sc_t *)arg;
usr/src/uts/common/io/iwk/iwk2.c
2601
ieee80211com_t *ic = &sc->sc_ic;
usr/src/uts/common/io/iwk/iwk2.c
2604
if (sc->sc_flags & IWK_F_SUSPEND) {
usr/src/uts/common/io/iwk/iwk2.c
2614
if ((sc->sc_flags & IWK_F_HW_ERR_RECOVER) &&
usr/src/uts/common/io/iwk/iwk2.c
2615
IWK_CHK_FAST_RECOVER(sc)) {
usr/src/uts/common/io/iwk/iwk2.c
2636
iwk_sc_t *sc = (iwk_sc_t *)ic;
usr/src/uts/common/io/iwk/iwk2.c
2650
ring = &sc->sc_txq[0];
usr/src/uts/common/io/iwk/iwk2.c
2657
mutex_enter(&sc->sc_tx_lock);
usr/src/uts/common/io/iwk/iwk2.c
2658
if (sc->sc_flags & IWK_F_SUSPEND) {
usr/src/uts/common/io/iwk/iwk2.c
2659
mutex_exit(&sc->sc_tx_lock);
usr/src/uts/common/io/iwk/iwk2.c
2670
sc->sc_need_reschedule = 1;
usr/src/uts/common/io/iwk/iwk2.c
2671
mutex_exit(&sc->sc_tx_lock);
usr/src/uts/common/io/iwk/iwk2.c
2676
sc->sc_tx_nobuf++;
usr/src/uts/common/io/iwk/iwk2.c
2680
mutex_exit(&sc->sc_tx_lock);
usr/src/uts/common/io/iwk/iwk2.c
2704
mutex_enter(&sc->sc_glock);
usr/src/uts/common/io/iwk/iwk2.c
2705
mutex_enter(&sc->sc_ibss.node_tb_lock);
usr/src/uts/common/io/iwk/iwk2.c
2712
if (sc->sc_ibss.ibss_node_tb[index1].used &&
usr/src/uts/common/io/iwk/iwk2.c
2713
IEEE80211_ADDR_EQ(sc->sc_ibss.
usr/src/uts/common/io/iwk/iwk2.c
273
static int iwk_eep_load(iwk_sc_t *sc);
usr/src/uts/common/io/iwk/iwk2.c
2730
mutex_exit(&sc->sc_ibss.node_tb_lock);
usr/src/uts/common/io/iwk/iwk2.c
2731
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/iwk/iwk2.c
2733
sc->sc_tx_err++;
usr/src/uts/common/io/iwk/iwk2.c
274
static void iwk_get_mac_from_eep(iwk_sc_t *sc);
usr/src/uts/common/io/iwk/iwk2.c
2741
mutex_exit(&sc->sc_ibss.node_tb_lock);
usr/src/uts/common/io/iwk/iwk2.c
2742
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/iwk/iwk2.c
2749
sc->sc_tx_err++;
usr/src/uts/common/io/iwk/iwk2.c
275
static int iwk_eep_sem_down(iwk_sc_t *sc);
usr/src/uts/common/io/iwk/iwk2.c
276
static void iwk_eep_sem_up(iwk_sc_t *sc);
usr/src/uts/common/io/iwk/iwk2.c
2773
sc->sc_tx_err++;
usr/src/uts/common/io/iwk/iwk2.c
2903
mutex_enter(&sc->sc_tx_lock);
usr/src/uts/common/io/iwk/iwk2.c
2905
mutex_exit(&sc->sc_tx_lock);
usr/src/uts/common/io/iwk/iwk2.c
2908
sc->sc_shared->queues_byte_cnt_tbls[ring->qid].
usr/src/uts/common/io/iwk/iwk2.c
2911
sc->sc_shared->queues_byte_cnt_tbls[ring->qid].
usr/src/uts/common/io/iwk/iwk2.c
2919
IWK_WRITE(sc, HBUS_TARG_WRPTR, ring->qid << 8 | ring->cur);
usr/src/uts/common/io/iwk/iwk2.c
292
static int32_t iwk_curr_tempera(iwk_sc_t *sc);
usr/src/uts/common/io/iwk/iwk2.c
2927
if (sc->sc_tx_timer == 0)
usr/src/uts/common/io/iwk/iwk2.c
2928
sc->sc_tx_timer = 4;
usr/src/uts/common/io/iwk/iwk2.c
293
static int iwk_tx_power_calibration(iwk_sc_t *sc);
usr/src/uts/common/io/iwk/iwk2.c
2937
iwk_sc_t *sc = (iwk_sc_t *)arg;
usr/src/uts/common/io/iwk/iwk2.c
2938
ieee80211com_t *ic = &sc->sc_ic;
usr/src/uts/common/io/iwk/iwk2.c
294
static inline int iwk_is_24G_band(iwk_sc_t *sc);
usr/src/uts/common/io/iwk/iwk2.c
295
static inline int iwk_is_fat_channel(iwk_sc_t *sc);
usr/src/uts/common/io/iwk/iwk2.c
2957
(void) memset(&sc->sc_config, 0, sizeof (iwk_rxon_cmd_t));
usr/src/uts/common/io/iwk/iwk2.c
2958
IEEE80211_ADDR_COPY(sc->sc_config.node_addr, ic->ic_macaddr);
usr/src/uts/common/io/iwk/iwk2.c
2959
IEEE80211_ADDR_COPY(sc->sc_config.wlap_bssid, ic->ic_macaddr);
usr/src/uts/common/io/iwk/iwk2.c
2960
sc->sc_config.chan =
usr/src/uts/common/io/iwk/iwk2.c
2962
sc->sc_config.flags = LE_32(RXON_FLG_TSF2HOST_MSK |
usr/src/uts/common/io/iwk/iwk2.c
2965
sc->sc_config.flags &= LE_32(~RXON_FLG_CCK_MSK);
usr/src/uts/common/io/iwk/iwk2.c
2968
sc->sc_config.dev_type = RXON_DEV_TYPE_ESS;
usr/src/uts/common/io/iwk/iwk2.c
2969
sc->sc_config.filter_flags |=
usr/src/uts/common/io/iwk/iwk2.c
297
static struct iwk_eep_channel *iwk_get_eep_channel(iwk_sc_t *sc,
usr/src/uts/common/io/iwk/iwk2.c
2976
sc->sc_config.dev_type = RXON_DEV_TYPE_IBSS;
usr/src/uts/common/io/iwk/iwk2.c
2977
sc->sc_config.flags |=
usr/src/uts/common/io/iwk/iwk2.c
2979
sc->sc_config.filter_flags =
usr/src/uts/common/io/iwk/iwk2.c
2985
sc->sc_config.dev_type = RXON_DEV_TYPE_AP;
usr/src/uts/common/io/iwk/iwk2.c
2988
sc->sc_config.dev_type = RXON_DEV_TYPE_SNIFFER;
usr/src/uts/common/io/iwk/iwk2.c
2989
sc->sc_config.filter_flags |=
usr/src/uts/common/io/iwk/iwk2.c
2995
sc->sc_config.cck_basic_rates = 0x0f;
usr/src/uts/common/io/iwk/iwk2.c
2996
sc->sc_config.ofdm_basic_rates = 0xff;
usr/src/uts/common/io/iwk/iwk2.c
2997
sc->sc_config.ofdm_ht_single_stream_basic_rates = 0xff;
usr/src/uts/common/io/iwk/iwk2.c
2998
sc->sc_config.ofdm_ht_dual_stream_basic_rates = 0xff;
usr/src/uts/common/io/iwk/iwk2.c
300
static int32_t iwk_band_number(iwk_sc_t *sc, uint16_t channel);
usr/src/uts/common/io/iwk/iwk2.c
3000
mutex_enter(&sc->sc_glock);
usr/src/uts/common/io/iwk/iwk2.c
3001
sc->sc_config.rx_chain = LE_16(RXON_RX_CHAIN_DRIVER_FORCE_MSK |
usr/src/uts/common/io/iwk/iwk2.c
3005
err1 = iwk_cmd(sc, REPLY_RXON, &sc->sc_config,
usr/src/uts/common/io/iwk/iwk2.c
3019
txpower.channel = sc->sc_config.chan;
usr/src/uts/common/io/iwk/iwk2.c
3031
err1 = iwk_cmd(sc, REPLY_TX_PWR_TABLE_CMD, &txpower,
usr/src/uts/common/io/iwk/iwk2.c
304
static int iwk_channel_interpolate(iwk_sc_t *sc, uint16_t channel,
usr/src/uts/common/io/iwk/iwk2.c
3042
err1 = iwk_cmd(sc, REPLY_ADD_STA, &node, sizeof (node), 1);
usr/src/uts/common/io/iwk/iwk2.c
3062
err1 = iwk_cmd(sc, REPLY_TX_LINK_QUALITY_CMD, &link_quality,
usr/src/uts/common/io/iwk/iwk2.c
3068
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/iwk/iwk2.c
3082
if (sc->sc_flags & IWK_F_RUNNING) {
usr/src/uts/common/io/iwk/iwk2.c
3083
iwk_m_stop(sc);
usr/src/uts/common/io/iwk/iwk2.c
3084
(void) iwk_m_start(sc);
usr/src/uts/common/io/iwk/iwk2.c
309
static int iwk_txpower_table_cmd_init(iwk_sc_t *sc,
usr/src/uts/common/io/iwk/iwk2.c
3101
iwk_sc_t *sc = (iwk_sc_t *)arg;
usr/src/uts/common/io/iwk/iwk2.c
3103
err = ieee80211_getprop(&sc->sc_ic, pr_name, wldp_pr_num,
usr/src/uts/common/io/iwk/iwk2.c
311
static void iwk_statistics_notify(iwk_sc_t *sc, iwk_rx_desc_t *desc);
usr/src/uts/common/io/iwk/iwk2.c
3114
iwk_sc_t *sc = (iwk_sc_t *)arg;
usr/src/uts/common/io/iwk/iwk2.c
3115
ieee80211com_t *ic = &sc->sc_ic;
usr/src/uts/common/io/iwk/iwk2.c
312
static int iwk_is_associated(iwk_sc_t *sc);
usr/src/uts/common/io/iwk/iwk2.c
3122
if (sc->sc_flags & IWK_F_RUNNING) {
usr/src/uts/common/io/iwk/iwk2.c
3123
iwk_m_stop(sc);
usr/src/uts/common/io/iwk/iwk2.c
3124
(void) iwk_m_start(sc);
usr/src/uts/common/io/iwk/iwk2.c
313
static int iwk_rxgain_diff_init(iwk_sc_t *sc);
usr/src/uts/common/io/iwk/iwk2.c
3139
iwk_sc_t *sc = (iwk_sc_t *)arg;
usr/src/uts/common/io/iwk/iwk2.c
314
static int iwk_rxgain_diff(iwk_sc_t *sc);
usr/src/uts/common/io/iwk/iwk2.c
3140
ieee80211com_t *ic = &sc->sc_ic;
usr/src/uts/common/io/iwk/iwk2.c
3149
iwk_sc_t *sc = (iwk_sc_t *)arg;
usr/src/uts/common/io/iwk/iwk2.c
315
static int iwk_rx_sens_init(iwk_sc_t *sc);
usr/src/uts/common/io/iwk/iwk2.c
3150
ieee80211com_t *ic = &sc->sc_ic;
usr/src/uts/common/io/iwk/iwk2.c
3153
mutex_enter(&sc->sc_glock);
usr/src/uts/common/io/iwk/iwk2.c
316
static int iwk_rx_sens(iwk_sc_t *sc);
usr/src/uts/common/io/iwk/iwk2.c
3162
*val = sc->sc_tx_nobuf;
usr/src/uts/common/io/iwk/iwk2.c
3165
*val = sc->sc_rx_nobuf;
usr/src/uts/common/io/iwk/iwk2.c
3168
*val = sc->sc_rx_err;
usr/src/uts/common/io/iwk/iwk2.c
317
static int iwk_cck_sens(iwk_sc_t *sc, uint32_t actual_rx_time);
usr/src/uts/common/io/iwk/iwk2.c
318
static int iwk_ofdm_sens(iwk_sc_t *sc, uint32_t actual_rx_time);
usr/src/uts/common/io/iwk/iwk2.c
3184
*val = sc->sc_tx_err;
usr/src/uts/common/io/iwk/iwk2.c
3187
*val = sc->sc_tx_retries;
usr/src/uts/common/io/iwk/iwk2.c
3199
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/iwk/iwk2.c
3202
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/iwk/iwk2.c
3205
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/iwk/iwk2.c
3214
iwk_sc_t *sc = (iwk_sc_t *)arg;
usr/src/uts/common/io/iwk/iwk2.c
3215
ieee80211com_t *ic = &sc->sc_ic;
usr/src/uts/common/io/iwk/iwk2.c
3218
err = iwk_init(sc);
usr/src/uts/common/io/iwk/iwk2.c
3226
mutex_enter(&sc->sc_glock);
usr/src/uts/common/io/iwk/iwk2.c
3227
sc->sc_flags |= IWK_F_HW_ERR_RECOVER;
usr/src/uts/common/io/iwk/iwk2.c
3228
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/iwk/iwk2.c
3234
mutex_enter(&sc->sc_glock);
usr/src/uts/common/io/iwk/iwk2.c
3235
sc->sc_flags |= IWK_F_RUNNING;
usr/src/uts/common/io/iwk/iwk2.c
3236
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/iwk/iwk2.c
3244
iwk_sc_t *sc = (iwk_sc_t *)arg;
usr/src/uts/common/io/iwk/iwk2.c
3245
ieee80211com_t *ic = &sc->sc_ic;
usr/src/uts/common/io/iwk/iwk2.c
3247
iwk_stop(sc);
usr/src/uts/common/io/iwk/iwk2.c
3250
mutex_enter(&sc->sc_mt_lock);
usr/src/uts/common/io/iwk/iwk2.c
3251
sc->sc_flags &= ~IWK_F_HW_ERR_RECOVER;
usr/src/uts/common/io/iwk/iwk2.c
3252
sc->sc_flags &= ~IWK_F_RATE_AUTO_CTL;
usr/src/uts/common/io/iwk/iwk2.c
3253
mutex_exit(&sc->sc_mt_lock);
usr/src/uts/common/io/iwk/iwk2.c
3254
mutex_enter(&sc->sc_glock);
usr/src/uts/common/io/iwk/iwk2.c
3255
sc->sc_flags &= ~IWK_F_RUNNING;
usr/src/uts/common/io/iwk/iwk2.c
3256
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/iwk/iwk2.c
3263
iwk_sc_t *sc = (iwk_sc_t *)arg;
usr/src/uts/common/io/iwk/iwk2.c
3264
ieee80211com_t *ic = &sc->sc_ic;
usr/src/uts/common/io/iwk/iwk2.c
3269
mutex_enter(&sc->sc_glock);
usr/src/uts/common/io/iwk/iwk2.c
3270
err = iwk_config(sc);
usr/src/uts/common/io/iwk/iwk2.c
3271
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/iwk/iwk2.c
3299
iwk_thread(iwk_sc_t *sc)
usr/src/uts/common/io/iwk/iwk2.c
3301
ieee80211com_t *ic = &sc->sc_ic;
usr/src/uts/common/io/iwk/iwk2.c
3306
mutex_enter(&sc->sc_mt_lock);
usr/src/uts/common/io/iwk/iwk2.c
3307
while (sc->sc_mf_thread_switch) {
usr/src/uts/common/io/iwk/iwk2.c
3308
tmp = IWK_READ(sc, CSR_GP_CNTRL);
usr/src/uts/common/io/iwk/iwk2.c
3310
sc->sc_flags &= ~IWK_F_RADIO_OFF;
usr/src/uts/common/io/iwk/iwk2.c
3312
sc->sc_flags |= IWK_F_RADIO_OFF;
usr/src/uts/common/io/iwk/iwk2.c
3317
if ((sc->sc_flags & IWK_F_SUSPEND) ||
usr/src/uts/common/io/iwk/iwk2.c
3318
(sc->sc_flags & IWK_F_RADIO_OFF)) {
usr/src/uts/common/io/iwk/iwk2.c
3319
mutex_exit(&sc->sc_mt_lock);
usr/src/uts/common/io/iwk/iwk2.c
3321
mutex_enter(&sc->sc_mt_lock);
usr/src/uts/common/io/iwk/iwk2.c
3329
(sc->sc_flags & IWK_F_HW_ERR_RECOVER)) {
usr/src/uts/common/io/iwk/iwk2.c
3335
iwk_stop(sc);
usr/src/uts/common/io/iwk/iwk2.c
3337
if (IWK_CHK_FAST_RECOVER(sc)) {
usr/src/uts/common/io/iwk/iwk2.c
3339
bcopy(&sc->sc_config, &sc->sc_config_save,
usr/src/uts/common/io/iwk/iwk2.c
3340
sizeof (sc->sc_config));
usr/src/uts/common/io/iwk/iwk2.c
3342
mutex_exit(&sc->sc_mt_lock);
usr/src/uts/common/io/iwk/iwk2.c
3345
mutex_enter(&sc->sc_mt_lock);
usr/src/uts/common/io/iwk/iwk2.c
3348
err = iwk_init(sc);
usr/src/uts/common/io/iwk/iwk2.c
3356
sc->sc_flags |= IWK_F_RUNNING;
usr/src/uts/common/io/iwk/iwk2.c
3358
if (!IWK_CHK_FAST_RECOVER(sc) ||
usr/src/uts/common/io/iwk/iwk2.c
3359
iwk_fast_recover(sc) != IWK_SUCCESS) {
usr/src/uts/common/io/iwk/iwk2.c
3360
sc->sc_flags &= ~IWK_F_HW_ERR_RECOVER;
usr/src/uts/common/io/iwk/iwk2.c
3362
mutex_exit(&sc->sc_mt_lock);
usr/src/uts/common/io/iwk/iwk2.c
3364
if (sc->sc_ostate != IEEE80211_S_INIT)
usr/src/uts/common/io/iwk/iwk2.c
3367
mutex_enter(&sc->sc_mt_lock);
usr/src/uts/common/io/iwk/iwk2.c
3371
if (ic->ic_mach && (sc->sc_flags & IWK_F_LAZY_RESUME)) {
usr/src/uts/common/io/iwk/iwk2.c
3375
sc->sc_flags &= ~IWK_F_LAZY_RESUME;
usr/src/uts/common/io/iwk/iwk2.c
3376
mutex_exit(&sc->sc_mt_lock);
usr/src/uts/common/io/iwk/iwk2.c
3383
ieee80211_new_state(&sc->sc_ic, IEEE80211_S_INIT, -1);
usr/src/uts/common/io/iwk/iwk2.c
3384
mutex_enter(&sc->sc_mt_lock);
usr/src/uts/common/io/iwk/iwk2.c
3388
(sc->sc_flags & IWK_F_SCANNING) && sc->sc_scan_pending) {
usr/src/uts/common/io/iwk/iwk2.c
3392
sc->sc_scan_pending--;
usr/src/uts/common/io/iwk/iwk2.c
3393
mutex_exit(&sc->sc_mt_lock);
usr/src/uts/common/io/iwk/iwk2.c
3395
if (sc->sc_flags & IWK_F_SCANNING)
usr/src/uts/common/io/iwk/iwk2.c
3397
mutex_enter(&sc->sc_mt_lock);
usr/src/uts/common/io/iwk/iwk2.c
3404
(sc->sc_flags & IWK_F_RATE_AUTO_CTL)) {
usr/src/uts/common/io/iwk/iwk2.c
3406
if (clk > sc->sc_clk + drv_usectohz(500000)) {
usr/src/uts/common/io/iwk/iwk2.c
3407
iwk_amrr_timeout(sc);
usr/src/uts/common/io/iwk/iwk2.c
3418
mutex_exit(&sc->sc_mt_lock);
usr/src/uts/common/io/iwk/iwk2.c
3420
mutex_enter(&sc->sc_mt_lock);
usr/src/uts/common/io/iwk/iwk2.c
3422
if (sc->sc_tx_timer) {
usr/src/uts/common/io/iwk/iwk2.c
3425
sc->sc_tx_timer--;
usr/src/uts/common/io/iwk/iwk2.c
3426
if (sc->sc_tx_timer == 0) {
usr/src/uts/common/io/iwk/iwk2.c
3427
sc->sc_flags |= IWK_F_HW_ERR_RECOVER;
usr/src/uts/common/io/iwk/iwk2.c
3428
sc->sc_ostate = IEEE80211_S_RUN;
usr/src/uts/common/io/iwk/iwk2.c
3438
sc->sc_mf_thread = NULL;
usr/src/uts/common/io/iwk/iwk2.c
3439
cv_signal(&sc->sc_mt_cv);
usr/src/uts/common/io/iwk/iwk2.c
3440
mutex_exit(&sc->sc_mt_lock);
usr/src/uts/common/io/iwk/iwk2.c
3448
iwk_cmd(iwk_sc_t *sc, int code, const void *buf, int size, int async)
usr/src/uts/common/io/iwk/iwk2.c
3450
iwk_tx_ring_t *ring = &sc->sc_txq[IWK_CMD_QUEUE_NUM];
usr/src/uts/common/io/iwk/iwk2.c
3456
ASSERT(mutex_owned(&sc->sc_glock));
usr/src/uts/common/io/iwk/iwk2.c
346
static void iwk_destroy_locks(iwk_sc_t *sc);
usr/src/uts/common/io/iwk/iwk2.c
3475
sc->sc_shared->queues_byte_cnt_tbls[ring->qid].
usr/src/uts/common/io/iwk/iwk2.c
3478
sc->sc_shared->queues_byte_cnt_tbls[ring->qid].
usr/src/uts/common/io/iwk/iwk2.c
348
static void iwk_thread(iwk_sc_t *sc);
usr/src/uts/common/io/iwk/iwk2.c
3482
IWK_WRITE(sc, HBUS_TARG_WRPTR, ring->qid << 8 | ring->cur);
usr/src/uts/common/io/iwk/iwk2.c
3487
sc->sc_flags &= ~IWK_F_CMD_DONE;
usr/src/uts/common/io/iwk/iwk2.c
3489
while (!(sc->sc_flags & IWK_F_CMD_DONE)) {
usr/src/uts/common/io/iwk/iwk2.c
3490
if (cv_timedwait(&sc->sc_cmd_cv, &sc->sc_glock, clk) <
usr/src/uts/common/io/iwk/iwk2.c
3494
if (sc->sc_flags & IWK_F_CMD_DONE)
usr/src/uts/common/io/iwk/iwk2.c
3502
iwk_set_led(iwk_sc_t *sc, uint8_t id, uint8_t off, uint8_t on)
usr/src/uts/common/io/iwk/iwk2.c
3511
(void) iwk_cmd(sc, REPLY_LEDS_CMD, &led, sizeof (led), 1);
usr/src/uts/common/io/iwk/iwk2.c
3515
iwk_hw_set_before_auth(iwk_sc_t *sc)
usr/src/uts/common/io/iwk/iwk2.c
3517
ieee80211com_t *ic = &sc->sc_ic;
usr/src/uts/common/io/iwk/iwk2.c
352
static int iwk_fast_recover(iwk_sc_t *sc);
usr/src/uts/common/io/iwk/iwk2.c
3533
IEEE80211_ADDR_COPY(sc->sc_config.bssid, in->in_bssid);
usr/src/uts/common/io/iwk/iwk2.c
3534
sc->sc_config.chan = LE_16(ieee80211_chan2ieee(ic, in->in_chan));
usr/src/uts/common/io/iwk/iwk2.c
3536
sc->sc_config.cck_basic_rates = 0x03;
usr/src/uts/common/io/iwk/iwk2.c
3537
sc->sc_config.ofdm_basic_rates = 0;
usr/src/uts/common/io/iwk/iwk2.c
3540
sc->sc_config.cck_basic_rates = 0;
usr/src/uts/common/io/iwk/iwk2.c
3541
sc->sc_config.ofdm_basic_rates = 0x15;
usr/src/uts/common/io/iwk/iwk2.c
3543
sc->sc_config.cck_basic_rates = 0x0f;
usr/src/uts/common/io/iwk/iwk2.c
3544
sc->sc_config.ofdm_basic_rates = 0xff;
usr/src/uts/common/io/iwk/iwk2.c
3547
sc->sc_config.flags &= ~LE_32(RXON_FLG_SHORT_PREAMBLE_MSK |
usr/src/uts/common/io/iwk/iwk2.c
3551
sc->sc_config.flags |= LE_32(RXON_FLG_SHORT_SLOT_MSK);
usr/src/uts/common/io/iwk/iwk2.c
3553
sc->sc_config.flags &= LE_32(~RXON_FLG_SHORT_SLOT_MSK);
usr/src/uts/common/io/iwk/iwk2.c
3556
sc->sc_config.flags |= LE_32(RXON_FLG_SHORT_PREAMBLE_MSK);
usr/src/uts/common/io/iwk/iwk2.c
3558
sc->sc_config.flags &= LE_32(~RXON_FLG_SHORT_PREAMBLE_MSK);
usr/src/uts/common/io/iwk/iwk2.c
3563
LE_16(sc->sc_config.chan), LE_32(sc->sc_config.flags),
usr/src/uts/common/io/iwk/iwk2.c
3564
LE_32(sc->sc_config.filter_flags),
usr/src/uts/common/io/iwk/iwk2.c
3565
sc->sc_config.cck_basic_rates, sc->sc_config.ofdm_basic_rates,
usr/src/uts/common/io/iwk/iwk2.c
3566
sc->sc_config.bssid[0], sc->sc_config.bssid[1],
usr/src/uts/common/io/iwk/iwk2.c
3567
sc->sc_config.bssid[2], sc->sc_config.bssid[3],
usr/src/uts/common/io/iwk/iwk2.c
3568
sc->sc_config.bssid[4], sc->sc_config.bssid[5]));
usr/src/uts/common/io/iwk/iwk2.c
3569
err = iwk_cmd(sc, REPLY_RXON, &sc->sc_config,
usr/src/uts/common/io/iwk/iwk2.c
3574
sc->sc_config.chan);
usr/src/uts/common/io/iwk/iwk2.c
3579
sc->sc_tempera = iwk_curr_tempera(sc);
usr/src/uts/common/io/iwk/iwk2.c
3582
err = iwk_tx_power_calibration(sc);
usr/src/uts/common/io/iwk/iwk2.c
3593
err = iwk_cmd(sc, REPLY_ADD_STA, &node, sizeof (node), 1);
usr/src/uts/common/io/iwk/iwk2.c
3621
err = iwk_cmd(sc, REPLY_TX_LINK_QUALITY_CMD, &link_quality,
usr/src/uts/common/io/iwk/iwk2.c
3636
iwk_scan(iwk_sc_t *sc)
usr/src/uts/common/io/iwk/iwk2.c
3638
ieee80211com_t *ic = &sc->sc_ic;
usr/src/uts/common/io/iwk/iwk2.c
3639
iwk_tx_ring_t *ring = &sc->sc_txq[IWK_CMD_QUEUE_NUM];
usr/src/uts/common/io/iwk/iwk2.c
3787
sc->sc_shared->queues_byte_cnt_tbls[ring->qid].
usr/src/uts/common/io/iwk/iwk2.c
3790
sc->sc_shared->queues_byte_cnt_tbls[ring->qid].
usr/src/uts/common/io/iwk/iwk2.c
3796
IWK_WRITE(sc, HBUS_TARG_WRPTR, ring->qid << 8 | ring->cur);
usr/src/uts/common/io/iwk/iwk2.c
3802
iwk_config(iwk_sc_t *sc)
usr/src/uts/common/io/iwk/iwk2.c
3804
ieee80211com_t *ic = &sc->sc_ic;
usr/src/uts/common/io/iwk/iwk2.c
3817
err = iwk_cmd(sc, POWER_TABLE_CMD, &powertable,
usr/src/uts/common/io/iwk/iwk2.c
3829
err = iwk_cmd(sc, REPLY_BT_CONFIG, &bt,
usr/src/uts/common/io/iwk/iwk2.c
3839
(void) memset(&sc->sc_config, 0, sizeof (iwk_rxon_cmd_t));
usr/src/uts/common/io/iwk/iwk2.c
3840
IEEE80211_ADDR_COPY(sc->sc_config.node_addr, ic->ic_macaddr);
usr/src/uts/common/io/iwk/iwk2.c
3841
IEEE80211_ADDR_COPY(sc->sc_config.wlap_bssid, ic->ic_macaddr);
usr/src/uts/common/io/iwk/iwk2.c
3842
sc->sc_config.chan = LE_16(ieee80211_chan2ieee(ic, ic->ic_curchan));
usr/src/uts/common/io/iwk/iwk2.c
3843
sc->sc_config.flags = LE_32(RXON_FLG_TSF2HOST_MSK |
usr/src/uts/common/io/iwk/iwk2.c
3845
sc->sc_config.flags &= LE_32(~RXON_FLG_CCK_MSK);
usr/src/uts/common/io/iwk/iwk2.c
3848
sc->sc_config.dev_type = RXON_DEV_TYPE_ESS;
usr/src/uts/common/io/iwk/iwk2.c
3849
sc->sc_config.filter_flags |= LE_32(RXON_FILTER_ACCEPT_GRP_MSK |
usr/src/uts/common/io/iwk/iwk2.c
3855
sc->sc_config.dev_type = RXON_DEV_TYPE_IBSS;
usr/src/uts/common/io/iwk/iwk2.c
3856
sc->sc_config.flags |= LE_32(RXON_FLG_SHORT_PREAMBLE_MSK);
usr/src/uts/common/io/iwk/iwk2.c
3857
sc->sc_config.filter_flags = LE_32(RXON_FILTER_ACCEPT_GRP_MSK |
usr/src/uts/common/io/iwk/iwk2.c
3862
sc->sc_config.dev_type = RXON_DEV_TYPE_AP;
usr/src/uts/common/io/iwk/iwk2.c
3865
sc->sc_config.dev_type = RXON_DEV_TYPE_SNIFFER;
usr/src/uts/common/io/iwk/iwk2.c
3866
sc->sc_config.filter_flags |= LE_32(RXON_FILTER_ACCEPT_GRP_MSK |
usr/src/uts/common/io/iwk/iwk2.c
3870
sc->sc_config.cck_basic_rates = 0x0f;
usr/src/uts/common/io/iwk/iwk2.c
3871
sc->sc_config.ofdm_basic_rates = 0xff;
usr/src/uts/common/io/iwk/iwk2.c
3873
sc->sc_config.ofdm_ht_single_stream_basic_rates = 0xff;
usr/src/uts/common/io/iwk/iwk2.c
3874
sc->sc_config.ofdm_ht_dual_stream_basic_rates = 0xff;
usr/src/uts/common/io/iwk/iwk2.c
3878
sc->sc_config.rx_chain = LE_16(RXON_RX_CHAIN_DRIVER_FORCE_MSK |
usr/src/uts/common/io/iwk/iwk2.c
3883
err = iwk_cmd(sc, REPLY_RXON, &sc->sc_config,
usr/src/uts/common/io/iwk/iwk2.c
3891
sc->sc_tempera = iwk_curr_tempera(sc);
usr/src/uts/common/io/iwk/iwk2.c
3894
err = iwk_tx_power_calibration(sc);
usr/src/uts/common/io/iwk/iwk2.c
3905
err = iwk_cmd(sc, REPLY_ADD_STA, &node, sizeof (node), 0);
usr/src/uts/common/io/iwk/iwk2.c
3927
err = iwk_cmd(sc, REPLY_TX_LINK_QUALITY_CMD, &link_quality,
usr/src/uts/common/io/iwk/iwk2.c
3939
iwk_stop_master(iwk_sc_t *sc)
usr/src/uts/common/io/iwk/iwk2.c
3944
tmp = IWK_READ(sc, CSR_RESET);
usr/src/uts/common/io/iwk/iwk2.c
3945
IWK_WRITE(sc, CSR_RESET, tmp | CSR_RESET_REG_FLAG_STOP_MASTER);
usr/src/uts/common/io/iwk/iwk2.c
3947
tmp = IWK_READ(sc, CSR_GP_CNTRL);
usr/src/uts/common/io/iwk/iwk2.c
3953
if (IWK_READ(sc, CSR_RESET) &
usr/src/uts/common/io/iwk/iwk2.c
3964
iwk_power_up(iwk_sc_t *sc)
usr/src/uts/common/io/iwk/iwk2.c
3968
iwk_mac_access_enter(sc);
usr/src/uts/common/io/iwk/iwk2.c
3969
tmp = iwk_reg_read(sc, ALM_APMG_PS_CTL);
usr/src/uts/common/io/iwk/iwk2.c
3972
iwk_reg_write(sc, ALM_APMG_PS_CTL, tmp);
usr/src/uts/common/io/iwk/iwk2.c
3973
iwk_mac_access_exit(sc);
usr/src/uts/common/io/iwk/iwk2.c
3980
iwk_preinit(iwk_sc_t *sc)
usr/src/uts/common/io/iwk/iwk2.c
3987
IWK_WRITE(sc, CSR_INT, 0xffffffff);
usr/src/uts/common/io/iwk/iwk2.c
3989
tmp = IWK_READ(sc, CSR_GIO_CHICKEN_BITS);
usr/src/uts/common/io/iwk/iwk2.c
3990
IWK_WRITE(sc, CSR_GIO_CHICKEN_BITS,
usr/src/uts/common/io/iwk/iwk2.c
3993
tmp = IWK_READ(sc, CSR_GP_CNTRL);
usr/src/uts/common/io/iwk/iwk2.c
3994
IWK_WRITE(sc, CSR_GP_CNTRL, tmp | CSR_GP_CNTRL_REG_FLAG_INIT_DONE);
usr/src/uts/common/io/iwk/iwk2.c
3998
if (IWK_READ(sc, CSR_GP_CNTRL) &
usr/src/uts/common/io/iwk/iwk2.c
4008
iwk_mac_access_enter(sc);
usr/src/uts/common/io/iwk/iwk2.c
4009
tmp = iwk_reg_read(sc, APMG_CLK_CTRL_REG);
usr/src/uts/common/io/iwk/iwk2.c
4010
iwk_reg_write(sc, APMG_CLK_CTRL_REG, tmp |
usr/src/uts/common/io/iwk/iwk2.c
4014
tmp = iwk_reg_read(sc, ALM_APMG_PCIDEV_STT);
usr/src/uts/common/io/iwk/iwk2.c
4015
iwk_reg_write(sc, ALM_APMG_PCIDEV_STT, tmp |
usr/src/uts/common/io/iwk/iwk2.c
4017
iwk_mac_access_exit(sc);
usr/src/uts/common/io/iwk/iwk2.c
4019
IWK_WRITE(sc, CSR_INT_COALESCING, 512 / 32); /* ??? */
usr/src/uts/common/io/iwk/iwk2.c
4021
(void) iwk_power_up(sc);
usr/src/uts/common/io/iwk/iwk2.c
4023
if ((sc->sc_rev & 0x80) == 0x80 && (sc->sc_rev & 0x7f) < 8) {
usr/src/uts/common/io/iwk/iwk2.c
4024
tmp = ddi_get32(sc->sc_cfg_handle,
usr/src/uts/common/io/iwk/iwk2.c
4025
(uint32_t *)(sc->sc_cfg_base + 0xe8));
usr/src/uts/common/io/iwk/iwk2.c
4026
ddi_put32(sc->sc_cfg_handle,
usr/src/uts/common/io/iwk/iwk2.c
4027
(uint32_t *)(sc->sc_cfg_base + 0xe8),
usr/src/uts/common/io/iwk/iwk2.c
4032
vlink = ddi_get8(sc->sc_cfg_handle,
usr/src/uts/common/io/iwk/iwk2.c
4033
(uint8_t *)(sc->sc_cfg_base + 0xf0));
usr/src/uts/common/io/iwk/iwk2.c
4034
ddi_put8(sc->sc_cfg_handle, (uint8_t *)(sc->sc_cfg_base + 0xf0),
usr/src/uts/common/io/iwk/iwk2.c
4037
tmp = IWK_READ(sc, CSR_SW_VER);
usr/src/uts/common/io/iwk/iwk2.c
4041
IWK_WRITE(sc, CSR_SW_VER, tmp);
usr/src/uts/common/io/iwk/iwk2.c
4044
iwk_mac_access_enter(sc);
usr/src/uts/common/io/iwk/iwk2.c
4045
tmp = iwk_reg_read(sc, ALM_APMG_PS_CTL);
usr/src/uts/common/io/iwk/iwk2.c
4047
iwk_reg_write(sc, ALM_APMG_PS_CTL, tmp);
usr/src/uts/common/io/iwk/iwk2.c
4049
tmp = iwk_reg_read(sc, ALM_APMG_PS_CTL);
usr/src/uts/common/io/iwk/iwk2.c
4051
iwk_reg_write(sc, ALM_APMG_PS_CTL, tmp);
usr/src/uts/common/io/iwk/iwk2.c
4052
iwk_mac_access_exit(sc);
usr/src/uts/common/io/iwk/iwk2.c
4059
static int iwk_eep_sem_down(iwk_sc_t *sc)
usr/src/uts/common/io/iwk/iwk2.c
4065
tmp = IWK_READ(sc, CSR_HW_IF_CONFIG_REG);
usr/src/uts/common/io/iwk/iwk2.c
4066
IWK_WRITE(sc, CSR_HW_IF_CONFIG_REG,
usr/src/uts/common/io/iwk/iwk2.c
4070
if (IWK_READ(sc, CSR_HW_IF_CONFIG_REG) &
usr/src/uts/common/io/iwk/iwk2.c
4082
static void iwk_eep_sem_up(iwk_sc_t *sc)
usr/src/uts/common/io/iwk/iwk2.c
4086
tmp = IWK_READ(sc, CSR_HW_IF_CONFIG_REG);
usr/src/uts/common/io/iwk/iwk2.c
4087
IWK_WRITE(sc, CSR_HW_IF_CONFIG_REG,
usr/src/uts/common/io/iwk/iwk2.c
4095
static int iwk_eep_load(iwk_sc_t *sc)
usr/src/uts/common/io/iwk/iwk2.c
4099
uint16_t addr, eep_sz = sizeof (sc->sc_eep_map);
usr/src/uts/common/io/iwk/iwk2.c
4100
uint16_t *eep_p = (uint16_t *)&sc->sc_eep_map;
usr/src/uts/common/io/iwk/iwk2.c
4103
eep_gp = IWK_READ(sc, CSR_EEPROM_GP);
usr/src/uts/common/io/iwk/iwk2.c
4110
rr = iwk_eep_sem_down(sc);
usr/src/uts/common/io/iwk/iwk2.c
4117
IWK_WRITE(sc, CSR_EEPROM_REG, addr<<1);
usr/src/uts/common/io/iwk/iwk2.c
4118
tmp = IWK_READ(sc, CSR_EEPROM_REG);
usr/src/uts/common/io/iwk/iwk2.c
4119
IWK_WRITE(sc, CSR_EEPROM_REG, tmp & ~(0x2));
usr/src/uts/common/io/iwk/iwk2.c
4122
rv = IWK_READ(sc, CSR_EEPROM_REG);
usr/src/uts/common/io/iwk/iwk2.c
4130
iwk_eep_sem_up(sc);
usr/src/uts/common/io/iwk/iwk2.c
4137
iwk_eep_sem_up(sc);
usr/src/uts/common/io/iwk/iwk2.c
4144
static void iwk_get_mac_from_eep(iwk_sc_t *sc)
usr/src/uts/common/io/iwk/iwk2.c
4146
ieee80211com_t *ic = &sc->sc_ic;
usr/src/uts/common/io/iwk/iwk2.c
4147
struct iwk_eep *ep = &sc->sc_eep_map;
usr/src/uts/common/io/iwk/iwk2.c
4157
iwk_init(iwk_sc_t *sc)
usr/src/uts/common/io/iwk/iwk2.c
4163
mutex_enter(&sc->sc_glock);
usr/src/uts/common/io/iwk/iwk2.c
4164
sc->sc_flags &= ~IWK_F_FW_INIT;
usr/src/uts/common/io/iwk/iwk2.c
4166
(void) iwk_preinit(sc);
usr/src/uts/common/io/iwk/iwk2.c
4168
tmp = IWK_READ(sc, CSR_GP_CNTRL);
usr/src/uts/common/io/iwk/iwk2.c
4175
iwk_mac_access_enter(sc);
usr/src/uts/common/io/iwk/iwk2.c
4176
IWK_WRITE(sc, FH_MEM_RCSR_CHNL0_CONFIG_REG, 0);
usr/src/uts/common/io/iwk/iwk2.c
4178
IWK_WRITE(sc, FH_RSCSR_CHNL0_RBDCB_WPTR_REG, 0);
usr/src/uts/common/io/iwk/iwk2.c
4179
IWK_WRITE(sc, FH_RSCSR_CHNL0_RBDCB_BASE_REG,
usr/src/uts/common/io/iwk/iwk2.c
4180
sc->sc_rxq.dma_desc.cookie.dmac_address >> 8);
usr/src/uts/common/io/iwk/iwk2.c
4182
IWK_WRITE(sc, FH_RSCSR_CHNL0_STTS_WPTR_REG,
usr/src/uts/common/io/iwk/iwk2.c
4183
((uint32_t)(sc->sc_dma_sh.cookie.dmac_address +
usr/src/uts/common/io/iwk/iwk2.c
4186
IWK_WRITE(sc, FH_MEM_RCSR_CHNL0_CONFIG_REG,
usr/src/uts/common/io/iwk/iwk2.c
4192
iwk_mac_access_exit(sc);
usr/src/uts/common/io/iwk/iwk2.c
4193
IWK_WRITE(sc, FH_RSCSR_CHNL0_RBDCB_WPTR_REG,
usr/src/uts/common/io/iwk/iwk2.c
4197
iwk_mac_access_enter(sc);
usr/src/uts/common/io/iwk/iwk2.c
4198
iwk_reg_write(sc, SCD_TXFACT, 0);
usr/src/uts/common/io/iwk/iwk2.c
4201
iwk_reg_write(sc, IWK_FH_KW_MEM_ADDR_REG,
usr/src/uts/common/io/iwk/iwk2.c
4202
sc->sc_dma_kw.cookie.dmac_address >> 4);
usr/src/uts/common/io/iwk/iwk2.c
4205
IWK_WRITE(sc, FH_MEM_CBBC_QUEUE(qid),
usr/src/uts/common/io/iwk/iwk2.c
4206
sc->sc_txq[qid].dma_desc.cookie.dmac_address >> 8);
usr/src/uts/common/io/iwk/iwk2.c
4207
IWK_WRITE(sc, IWK_FH_TCSR_CHNL_TX_CONFIG_REG(qid),
usr/src/uts/common/io/iwk/iwk2.c
4211
iwk_mac_access_exit(sc);
usr/src/uts/common/io/iwk/iwk2.c
4214
IWK_WRITE(sc, CSR_UCODE_DRV_GP1_CLR, CSR_UCODE_SW_BIT_RFKILL);
usr/src/uts/common/io/iwk/iwk2.c
4215
IWK_WRITE(sc, CSR_UCODE_DRV_GP1_CLR,
usr/src/uts/common/io/iwk/iwk2.c
4219
IWK_WRITE(sc, CSR_INT, 0xffffffff);
usr/src/uts/common/io/iwk/iwk2.c
4222
IWK_WRITE(sc, CSR_INT_MASK, CSR_INI_SET_MASK);
usr/src/uts/common/io/iwk/iwk2.c
4224
IWK_WRITE(sc, CSR_UCODE_DRV_GP1_CLR, CSR_UCODE_SW_BIT_RFKILL);
usr/src/uts/common/io/iwk/iwk2.c
4225
IWK_WRITE(sc, CSR_UCODE_DRV_GP1_CLR, CSR_UCODE_SW_BIT_RFKILL);
usr/src/uts/common/io/iwk/iwk2.c
4230
(void) memcpy(sc->sc_dma_fw_data_bak.mem_va,
usr/src/uts/common/io/iwk/iwk2.c
4231
sc->sc_dma_fw_data.mem_va,
usr/src/uts/common/io/iwk/iwk2.c
4232
sc->sc_dma_fw_data.alength);
usr/src/uts/common/io/iwk/iwk2.c
4236
err = iwk_load_firmware(sc);
usr/src/uts/common/io/iwk/iwk2.c
4244
IWK_WRITE(sc, CSR_RESET, 0);
usr/src/uts/common/io/iwk/iwk2.c
4253
while (!(sc->sc_flags & IWK_F_FW_INIT)) {
usr/src/uts/common/io/iwk/iwk2.c
4254
if (cv_timedwait(&sc->sc_fw_cv, &sc->sc_glock, clk) < 0)
usr/src/uts/common/io/iwk/iwk2.c
4257
if (!(sc->sc_flags & IWK_F_FW_INIT)) {
usr/src/uts/common/io/iwk/iwk2.c
4267
err = iwk_config(sc);
usr/src/uts/common/io/iwk/iwk2.c
4274
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/iwk/iwk2.c
4279
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/iwk/iwk2.c
4284
iwk_stop(iwk_sc_t *sc)
usr/src/uts/common/io/iwk/iwk2.c
4289
if (!(sc->sc_flags & IWK_F_QUIESCED))
usr/src/uts/common/io/iwk/iwk2.c
4290
mutex_enter(&sc->sc_glock);
usr/src/uts/common/io/iwk/iwk2.c
4292
IWK_WRITE(sc, CSR_RESET, CSR_RESET_REG_FLAG_NEVO_RESET);
usr/src/uts/common/io/iwk/iwk2.c
4294
IWK_WRITE(sc, CSR_INT_MASK, 0);
usr/src/uts/common/io/iwk/iwk2.c
4295
IWK_WRITE(sc, CSR_INT, CSR_INI_SET_MASK);
usr/src/uts/common/io/iwk/iwk2.c
4296
IWK_WRITE(sc, CSR_FH_INT_STATUS, 0xffffffff);
usr/src/uts/common/io/iwk/iwk2.c
4300
iwk_reset_tx_ring(sc, &sc->sc_txq[i]);
usr/src/uts/common/io/iwk/iwk2.c
4303
iwk_reset_rx_ring(sc);
usr/src/uts/common/io/iwk/iwk2.c
4305
iwk_mac_access_enter(sc);
usr/src/uts/common/io/iwk/iwk2.c
4306
iwk_reg_write(sc, ALM_APMG_CLK_DIS, APMG_CLK_REG_VAL_DMA_CLK_RQT);
usr/src/uts/common/io/iwk/iwk2.c
4307
iwk_mac_access_exit(sc);
usr/src/uts/common/io/iwk/iwk2.c
4311
iwk_stop_master(sc);
usr/src/uts/common/io/iwk/iwk2.c
4313
sc->sc_tx_timer = 0;
usr/src/uts/common/io/iwk/iwk2.c
4314
sc->sc_flags &= ~IWK_F_SCANNING;
usr/src/uts/common/io/iwk/iwk2.c
4315
sc->sc_scan_pending = 0;
usr/src/uts/common/io/iwk/iwk2.c
4317
tmp = IWK_READ(sc, CSR_RESET);
usr/src/uts/common/io/iwk/iwk2.c
4318
IWK_WRITE(sc, CSR_RESET, tmp | CSR_RESET_REG_FLAG_SW_RESET);
usr/src/uts/common/io/iwk/iwk2.c
4320
if (!(sc->sc_flags & IWK_F_QUIESCED))
usr/src/uts/common/io/iwk/iwk2.c
4321
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/iwk/iwk2.c
4361
iwk_amrr_timeout(iwk_sc_t *sc)
usr/src/uts/common/io/iwk/iwk2.c
4363
ieee80211com_t *ic = &sc->sc_ic;
usr/src/uts/common/io/iwk/iwk2.c
4370
sc->sc_clk = ddi_get_lbolt();
usr/src/uts/common/io/iwk/iwk2.c
4425
static int32_t iwk_curr_tempera(iwk_sc_t *sc)
usr/src/uts/common/io/iwk/iwk2.c
4432
if (iwk_is_fat_channel(sc)) {
usr/src/uts/common/io/iwk/iwk2.c
4433
r1 = (int32_t)LE_32(sc->sc_card_alive_init.therm_r1[1]);
usr/src/uts/common/io/iwk/iwk2.c
4434
r2 = (int32_t)LE_32(sc->sc_card_alive_init.therm_r2[1]);
usr/src/uts/common/io/iwk/iwk2.c
4435
r3 = (int32_t)LE_32(sc->sc_card_alive_init.therm_r3[1]);
usr/src/uts/common/io/iwk/iwk2.c
4436
r4_u = LE_32(sc->sc_card_alive_init.therm_r4[1]);
usr/src/uts/common/io/iwk/iwk2.c
4438
r1 = (int32_t)LE_32(sc->sc_card_alive_init.therm_r1[0]);
usr/src/uts/common/io/iwk/iwk2.c
4439
r2 = (int32_t)LE_32(sc->sc_card_alive_init.therm_r2[0]);
usr/src/uts/common/io/iwk/iwk2.c
4440
r3 = (int32_t)LE_32(sc->sc_card_alive_init.therm_r3[0]);
usr/src/uts/common/io/iwk/iwk2.c
4441
r4_u = LE_32(sc->sc_card_alive_init.therm_r4[0]);
usr/src/uts/common/io/iwk/iwk2.c
4444
if (sc->sc_flags & IWK_F_STATISTICS) {
usr/src/uts/common/io/iwk/iwk2.c
4445
r4_s = (int32_t)(LE_32(sc->sc_statistics.general.temperature) <<
usr/src/uts/common/io/iwk/iwk2.c
4472
static inline int iwk_is_24G_band(iwk_sc_t *sc)
usr/src/uts/common/io/iwk/iwk2.c
4474
return (LE_32(sc->sc_config.flags) & RXON_FLG_BAND_24G_MSK);
usr/src/uts/common/io/iwk/iwk2.c
4478
static inline int iwk_is_fat_channel(iwk_sc_t *sc)
usr/src/uts/common/io/iwk/iwk2.c
4480
return ((LE_32(sc->sc_config.flags) &
usr/src/uts/common/io/iwk/iwk2.c
4482
(LE_32(sc->sc_config.flags) & RXON_FLG_CHANNEL_MODE_MIXED_MSK));
usr/src/uts/common/io/iwk/iwk2.c
4554
static struct iwk_eep_channel *iwk_get_eep_channel(iwk_sc_t *sc,
usr/src/uts/common/io/iwk/iwk2.c
4571
return (&sc->sc_eep_map.band_24_channels[i]);
usr/src/uts/common/io/iwk/iwk2.c
4576
return (&sc->sc_eep_map.band_52_channels[i]);
usr/src/uts/common/io/iwk/iwk2.c
4582
return (&sc->sc_eep_map.band_1_channels[i]);
usr/src/uts/common/io/iwk/iwk2.c
4588
return (&sc->sc_eep_map.band_2_channels[i]);
usr/src/uts/common/io/iwk/iwk2.c
4593
return (&sc->sc_eep_map.band_3_channels[i]);
usr/src/uts/common/io/iwk/iwk2.c
4598
return (&sc->sc_eep_map.band_4_channels[i]);
usr/src/uts/common/io/iwk/iwk2.c
4603
return (&sc->sc_eep_map.band_5_channels[i]);
usr/src/uts/common/io/iwk/iwk2.c
4615
static int32_t iwk_band_number(iwk_sc_t *sc, uint16_t channel)
usr/src/uts/common/io/iwk/iwk2.c
4620
if (0 == sc->sc_eep_map.calib_info.band_info_tbl[b_n].ch_from) {
usr/src/uts/common/io/iwk/iwk2.c
4625
(uint16_t)sc->sc_eep_map.calib_info.
usr/src/uts/common/io/iwk/iwk2.c
4628
(uint16_t)sc->sc_eep_map.calib_info.
usr/src/uts/common/io/iwk/iwk2.c
4672
static int iwk_channel_interpolate(iwk_sc_t *sc, uint16_t channel,
usr/src/uts/common/io/iwk/iwk2.c
4681
ban_n = iwk_band_number(sc, channel);
usr/src/uts/common/io/iwk/iwk2.c
4687
(uint32_t)sc->sc_eep_map.calib_info.band_info_tbl[ban_n].ch1.ch_num;
usr/src/uts/common/io/iwk/iwk2.c
4689
(uint32_t)sc->sc_eep_map.calib_info.band_info_tbl[ban_n].ch2.ch_num;
usr/src/uts/common/io/iwk/iwk2.c
4702
&(sc->sc_eep_map.calib_info.
usr/src/uts/common/io/iwk/iwk2.c
4705
&(sc->sc_eep_map.calib_info.band_info_tbl[ban_n].
usr/src/uts/common/io/iwk/iwk2.c
474
iwk_sc_t *sc;
usr/src/uts/common/io/iwk/iwk2.c
4808
static int iwk_txpower_table_cmd_init(iwk_sc_t *sc,
usr/src/uts/common/io/iwk/iwk2.c
4836
channel = LE_16(sc->sc_config.chan);
usr/src/uts/common/io/iwk/iwk2.c
4839
is_24G = iwk_is_24G_band(sc);
usr/src/uts/common/io/iwk/iwk2.c
4842
is_fat = iwk_is_fat_channel(sc);
usr/src/uts/common/io/iwk/iwk2.c
4848
if (is_fat && (LE_32(sc->sc_config.flags) &
usr/src/uts/common/io/iwk/iwk2.c
4855
eep_chan_p = iwk_get_eep_channel(sc, channel, is_24G,
usr/src/uts/common/io/iwk/iwk2.c
4871
sc->sc_user_txpower = (int32_t)eep_chan_p->max_power_avg;
usr/src/uts/common/io/iwk/iwk2.c
4872
if (sc->sc_user_txpower < IWK_TX_POWER_TARGET_POWER_MIN) {
usr/src/uts/common/io/iwk/iwk2.c
4876
} else if (sc->sc_user_txpower > IWK_TX_POWER_TARGET_POWER_MAX) {
usr/src/uts/common/io/iwk/iwk2.c
4882
target_power = 2 * sc->sc_user_txpower;
usr/src/uts/common/io/iwk/iwk2.c
489
sc = ddi_get_soft_state(iwk_soft_state_p,
usr/src/uts/common/io/iwk/iwk2.c
4902
sc->sc_eep_map.calib_info.saturation_power24;
usr/src/uts/common/io/iwk/iwk2.c
4905
sc->sc_eep_map.calib_info.saturation_power52;
usr/src/uts/common/io/iwk/iwk2.c
491
ASSERT(sc != NULL);
usr/src/uts/common/io/iwk/iwk2.c
493
mutex_enter(&sc->sc_glock);
usr/src/uts/common/io/iwk/iwk2.c
4932
(void) iwk_channel_interpolate(sc, channel, &eep_chan_calib);
usr/src/uts/common/io/iwk/iwk2.c
4934
eep_voltage = (int32_t)LE_16(sc->sc_eep_map.calib_info.voltage);
usr/src/uts/common/io/iwk/iwk2.c
4935
init_voltage = (int32_t)LE_32(sc->sc_card_alive_init.voltage);
usr/src/uts/common/io/iwk/iwk2.c
494
sc->sc_flags &= ~IWK_F_SUSPEND;
usr/src/uts/common/io/iwk/iwk2.c
4941
if (sc->sc_tempera >= IWK_TX_POWER_TEMPERATURE_MIN) {
usr/src/uts/common/io/iwk/iwk2.c
4942
temperature = sc->sc_tempera;
usr/src/uts/common/io/iwk/iwk2.c
4946
if (sc->sc_tempera <= IWK_TX_POWER_TEMPERATURE_MAX) {
usr/src/uts/common/io/iwk/iwk2.c
4947
temperature = sc->sc_tempera;
usr/src/uts/common/io/iwk/iwk2.c
495
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/iwk/iwk2.c
497
if (sc->sc_flags & IWK_F_RUNNING)
usr/src/uts/common/io/iwk/iwk2.c
498
(void) iwk_init(sc);
usr/src/uts/common/io/iwk/iwk2.c
4998
LE_32(sc->sc_card_alive_init.
usr/src/uts/common/io/iwk/iwk2.c
500
mutex_enter(&sc->sc_glock);
usr/src/uts/common/io/iwk/iwk2.c
501
sc->sc_flags |= IWK_F_LAZY_RESUME;
usr/src/uts/common/io/iwk/iwk2.c
502
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/iwk/iwk2.c
5066
static int iwk_tx_power_calibration(iwk_sc_t *sc)
usr/src/uts/common/io/iwk/iwk2.c
5071
if (sc->sc_flags & IWK_F_SCANNING) {
usr/src/uts/common/io/iwk/iwk2.c
5076
cmd.band = (uint8_t)iwk_is_24G_band(sc);
usr/src/uts/common/io/iwk/iwk2.c
5077
cmd.channel = sc->sc_config.chan;
usr/src/uts/common/io/iwk/iwk2.c
5081
rv = iwk_txpower_table_cmd_init(sc, &cmd.tx_power);
usr/src/uts/common/io/iwk/iwk2.c
5088
rv = iwk_cmd(sc, REPLY_TX_PWR_TABLE_CMD, &cmd, sizeof (cmd), 1);
usr/src/uts/common/io/iwk/iwk2.c
5094
sc->sc_last_tempera = sc->sc_tempera;
usr/src/uts/common/io/iwk/iwk2.c
5100
static void iwk_statistics_notify(iwk_sc_t *sc, iwk_rx_desc_t *desc)
usr/src/uts/common/io/iwk/iwk2.c
5106
mutex_enter(&sc->sc_glock);
usr/src/uts/common/io/iwk/iwk2.c
5108
is_diff = (sc->sc_statistics.general.temperature !=
usr/src/uts/common/io/iwk/iwk2.c
5110
(LE_32(sc->sc_statistics.flag) &
usr/src/uts/common/io/iwk/iwk2.c
5115
(void) memcpy(&sc->sc_statistics, statistics_p,
usr/src/uts/common/io/iwk/iwk2.c
5118
sc->sc_flags |= IWK_F_STATISTICS;
usr/src/uts/common/io/iwk/iwk2.c
5120
if (!(sc->sc_flags & IWK_F_SCANNING)) {
usr/src/uts/common/io/iwk/iwk2.c
5122
(void) iwk_rxgain_diff(sc);
usr/src/uts/common/io/iwk/iwk2.c
5125
(void) iwk_rx_sens(sc);
usr/src/uts/common/io/iwk/iwk2.c
5130
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/iwk/iwk2.c
5135
sc->sc_tempera = iwk_curr_tempera(sc);
usr/src/uts/common/io/iwk/iwk2.c
5138
if (((sc->sc_tempera - sc->sc_last_tempera) >= 3) ||
usr/src/uts/common/io/iwk/iwk2.c
5139
((sc->sc_last_tempera - sc->sc_tempera) >= 3)) {
usr/src/uts/common/io/iwk/iwk2.c
5141
(void) iwk_tx_power_calibration(sc);
usr/src/uts/common/io/iwk/iwk2.c
5144
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/iwk/iwk2.c
5148
static int iwk_is_associated(iwk_sc_t *sc)
usr/src/uts/common/io/iwk/iwk2.c
5150
return (LE_32(sc->sc_config.filter_flags) & RXON_FILTER_ASSOC_MSK);
usr/src/uts/common/io/iwk/iwk2.c
5154
static int iwk_rxgain_diff_init(iwk_sc_t *sc)
usr/src/uts/common/io/iwk/iwk2.c
5160
gain_diff_p = &sc->sc_rxgain_diff;
usr/src/uts/common/io/iwk/iwk2.c
5169
if (iwk_is_associated(sc)) {
usr/src/uts/common/io/iwk/iwk2.c
5176
rv = iwk_cmd(sc, REPLY_PHY_CALIBRATION_CMD, &cmd,
usr/src/uts/common/io/iwk/iwk2.c
518
sc = ddi_get_soft_state(iwk_soft_state_p, instance);
usr/src/uts/common/io/iwk/iwk2.c
519
sc->sc_dip = dip;
usr/src/uts/common/io/iwk/iwk2.c
5192
static int iwk_rxgain_diff(iwk_sc_t *sc)
usr/src/uts/common/io/iwk/iwk2.c
5206
&sc->sc_statistics.rx.general;
usr/src/uts/common/io/iwk/iwk2.c
5207
struct iwk_rx_gain_diff *gain_diff_p = &sc->sc_rxgain_diff;
usr/src/uts/common/io/iwk/iwk2.c
521
err = ddi_regs_map_setup(dip, 0, &sc->sc_cfg_base, 0, 0,
usr/src/uts/common/io/iwk/iwk2.c
5218
is_24G = iwk_is_24G_band(sc);
usr/src/uts/common/io/iwk/iwk2.c
5219
channel_n = sc->sc_config.chan; /* channel number */
usr/src/uts/common/io/iwk/iwk2.c
522
&iwk_reg_accattr, &sc->sc_cfg_handle);
usr/src/uts/common/io/iwk/iwk2.c
5221
if ((channel_n != (LE_32(sc->sc_statistics.flag) >> 16)) ||
usr/src/uts/common/io/iwk/iwk2.c
5223
(LE_32(sc->sc_statistics.flag) &
usr/src/uts/common/io/iwk/iwk2.c
528
sc->sc_rev = ddi_get8(sc->sc_cfg_handle,
usr/src/uts/common/io/iwk/iwk2.c
529
(uint8_t *)(sc->sc_cfg_base + PCI_CONF_REVID));
usr/src/uts/common/io/iwk/iwk2.c
530
ddi_put8(sc->sc_cfg_handle, (uint8_t *)(sc->sc_cfg_base + 0x41), 0);
usr/src/uts/common/io/iwk/iwk2.c
531
sc->sc_clsz = ddi_get16(sc->sc_cfg_handle,
usr/src/uts/common/io/iwk/iwk2.c
532
(uint16_t *)(sc->sc_cfg_base + PCI_CONF_CACHE_LINESZ));
usr/src/uts/common/io/iwk/iwk2.c
533
if (!sc->sc_clsz)
usr/src/uts/common/io/iwk/iwk2.c
534
sc->sc_clsz = 16;
usr/src/uts/common/io/iwk/iwk2.c
535
sc->sc_clsz = (sc->sc_clsz << 2);
usr/src/uts/common/io/iwk/iwk2.c
536
sc->sc_dmabuf_sz = roundup(0x1000 + sizeof (struct ieee80211_frame) +
usr/src/uts/common/io/iwk/iwk2.c
5365
rv = iwk_cmd(sc, REPLY_PHY_CALIBRATION_CMD,
usr/src/uts/common/io/iwk/iwk2.c
5387
static int iwk_rx_sens_init(iwk_sc_t *sc)
usr/src/uts/common/io/iwk/iwk2.c
539
IEEE80211_WEP_CRCLEN), sc->sc_clsz);
usr/src/uts/common/io/iwk/iwk2.c
5391
struct iwk_rx_sensitivity *rx_sens_p = &sc->sc_rx_sens;
usr/src/uts/common/io/iwk/iwk2.c
543
err = ddi_regs_map_setup(dip, 1, &sc->sc_base,
usr/src/uts/common/io/iwk/iwk2.c
544
0, 0, &iwk_reg_accattr, &sc->sc_handle);
usr/src/uts/common/io/iwk/iwk2.c
5457
rv = iwk_cmd(sc, SENSITIVITY_CMD, &cmd, sizeof (cmd), 1);
usr/src/uts/common/io/iwk/iwk2.c
5474
static int iwk_rx_sens(iwk_sc_t *sc)
usr/src/uts/common/io/iwk/iwk2.c
5479
&sc->sc_statistics.rx.general;
usr/src/uts/common/io/iwk/iwk2.c
5480
struct iwk_rx_sensitivity *rx_sens_p = &sc->sc_rx_sens;
usr/src/uts/common/io/iwk/iwk2.c
5506
rv = iwk_ofdm_sens(sc, actual_rx_time);
usr/src/uts/common/io/iwk/iwk2.c
5512
rv = iwk_cck_sens(sc, actual_rx_time);
usr/src/uts/common/io/iwk/iwk2.c
5551
rv = iwk_cmd(sc, SENSITIVITY_CMD, &cmd, sizeof (cmd), 1);
usr/src/uts/common/io/iwk/iwk2.c
5566
static int iwk_cck_sens(iwk_sc_t *sc, uint32_t actual_rx_time)
usr/src/uts/common/io/iwk/iwk2.c
5577
&sc->sc_statistics.rx.general;
usr/src/uts/common/io/iwk/iwk2.c
5578
struct iwk_rx_sensitivity *rx_sens_p = &sc->sc_rx_sens;
usr/src/uts/common/io/iwk/iwk2.c
5580
cck_fa = LE_32(sc->sc_statistics.rx.cck.false_alarm_cnt);
usr/src/uts/common/io/iwk/iwk2.c
5581
cck_bp = LE_32(sc->sc_statistics.rx.cck.plcp_err);
usr/src/uts/common/io/iwk/iwk2.c
565
sc->sc_intr_htable = kmem_zalloc(sizeof (ddi_intr_handle_t), KM_SLEEP);
usr/src/uts/common/io/iwk/iwk2.c
567
err = ddi_intr_alloc(dip, sc->sc_intr_htable, DDI_INTR_TYPE_FIXED, 0,
usr/src/uts/common/io/iwk/iwk2.c
575
err = ddi_intr_get_pri(sc->sc_intr_htable[0], &sc->sc_intr_pri);
usr/src/uts/common/io/iwk/iwk2.c
5771
static int iwk_ofdm_sens(iwk_sc_t *sc, uint32_t actual_rx_time)
usr/src/uts/common/io/iwk/iwk2.c
5777
struct iwk_rx_sensitivity *rx_sens_p = &sc->sc_rx_sens;
usr/src/uts/common/io/iwk/iwk2.c
5779
ofdm_fa = LE_32(sc->sc_statistics.rx.ofdm.false_alarm_cnt);
usr/src/uts/common/io/iwk/iwk2.c
5780
ofdm_bp = LE_32(sc->sc_statistics.rx.ofdm.plcp_err);
usr/src/uts/common/io/iwk/iwk2.c
582
mutex_init(&sc->sc_glock, NULL, MUTEX_DRIVER,
usr/src/uts/common/io/iwk/iwk2.c
583
DDI_INTR_PRI(sc->sc_intr_pri));
usr/src/uts/common/io/iwk/iwk2.c
584
mutex_init(&sc->sc_tx_lock, NULL, MUTEX_DRIVER,
usr/src/uts/common/io/iwk/iwk2.c
585
DDI_INTR_PRI(sc->sc_intr_pri));
usr/src/uts/common/io/iwk/iwk2.c
5855
iwk_sc_t *sc = (iwk_sc_t *)ic;
usr/src/uts/common/io/iwk/iwk2.c
586
mutex_init(&sc->sc_mt_lock, NULL, MUTEX_DRIVER,
usr/src/uts/common/io/iwk/iwk2.c
5860
sc->sc_recv_mgmt(ic, mp, in, subtype, rssi, rstamp);
usr/src/uts/common/io/iwk/iwk2.c
5862
mutex_enter(&sc->sc_glock);
usr/src/uts/common/io/iwk/iwk2.c
5865
if (sc->sc_ibss.ibss_beacon.syncbeacon && in == ic->ic_bss &&
usr/src/uts/common/io/iwk/iwk2.c
5868
&sc->sc_ibss.ibss_beacon.iwk_boff,
usr/src/uts/common/io/iwk/iwk2.c
5869
sc->sc_ibss.ibss_beacon.mp, 0)) {
usr/src/uts/common/io/iwk/iwk2.c
587
DDI_INTR_PRI(sc->sc_intr_pri));
usr/src/uts/common/io/iwk/iwk2.c
5870
bcopy(sc->sc_ibss.ibss_beacon.mp->b_rptr,
usr/src/uts/common/io/iwk/iwk2.c
5871
sc->sc_ibss.ibss_beacon.beacon_cmd.
usr/src/uts/common/io/iwk/iwk2.c
5873
MBLKL(sc->sc_ibss.ibss_beacon.mp));
usr/src/uts/common/io/iwk/iwk2.c
5875
err = iwk_cmd(sc, REPLY_TX_BEACON,
usr/src/uts/common/io/iwk/iwk2.c
5876
&sc->sc_ibss.ibss_beacon.beacon_cmd,
usr/src/uts/common/io/iwk/iwk2.c
5877
sc->sc_ibss.ibss_beacon.beacon_cmd_len, 1);
usr/src/uts/common/io/iwk/iwk2.c
588
mutex_init(&sc->sc_ibss.node_tb_lock, NULL, MUTEX_DRIVER,
usr/src/uts/common/io/iwk/iwk2.c
5882
sc->sc_ibss.ibss_beacon.syncbeacon = 0;
usr/src/uts/common/io/iwk/iwk2.c
5887
mutex_enter(&sc->sc_ibss.node_tb_lock);
usr/src/uts/common/io/iwk/iwk2.c
589
DDI_INTR_PRI(sc->sc_intr_pri));
usr/src/uts/common/io/iwk/iwk2.c
5893
if (sc->sc_ibss.ibss_node_tb[index1].used &&
usr/src/uts/common/io/iwk/iwk2.c
5894
IEEE80211_ADDR_EQ(sc->sc_ibss.
usr/src/uts/common/io/iwk/iwk2.c
591
cv_init(&sc->sc_fw_cv, NULL, CV_DRIVER, NULL);
usr/src/uts/common/io/iwk/iwk2.c
5912
mutex_exit(&sc->sc_ibss.node_tb_lock);
usr/src/uts/common/io/iwk/iwk2.c
5918
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/iwk/iwk2.c
592
cv_init(&sc->sc_cmd_cv, NULL, CV_DRIVER, NULL);
usr/src/uts/common/io/iwk/iwk2.c
593
cv_init(&sc->sc_tx_cv, "tx-ring", CV_DRIVER, NULL);
usr/src/uts/common/io/iwk/iwk2.c
5945
static void iwk_write_event_log(iwk_sc_t *sc)
usr/src/uts/common/io/iwk/iwk2.c
5959
log_event_table_ptr = LE_32(sc->sc_card_alive_run.log_event_table_ptr);
usr/src/uts/common/io/iwk/iwk2.c
5965
iwk_mac_access_enter(sc);
usr/src/uts/common/io/iwk/iwk2.c
5968
log_size = iwk_mem_read(sc, log_event_table_ptr);
usr/src/uts/common/io/iwk/iwk2.c
597
cv_init(&sc->sc_mt_cv, NULL, CV_DRIVER, NULL);
usr/src/uts/common/io/iwk/iwk2.c
5970
type = iwk_mem_read(sc, log_event_table_ptr);
usr/src/uts/common/io/iwk/iwk2.c
5972
wraps = iwk_mem_read(sc, log_event_table_ptr);
usr/src/uts/common/io/iwk/iwk2.c
5974
idx = iwk_mem_read(sc, log_event_table_ptr);
usr/src/uts/common/io/iwk/iwk2.c
5979
iwk_mac_access_exit(sc);
usr/src/uts/common/io/iwk/iwk2.c
598
sc->sc_mf_thread = NULL;
usr/src/uts/common/io/iwk/iwk2.c
599
sc->sc_mf_thread_switch = 0;
usr/src/uts/common/io/iwk/iwk2.c
5993
event_id = iwk_mem_read(sc, logptr);
usr/src/uts/common/io/iwk/iwk2.c
5995
data1 = iwk_mem_read(sc, logptr);
usr/src/uts/common/io/iwk/iwk2.c
6001
data2 = iwk_mem_read(sc, logptr);
usr/src/uts/common/io/iwk/iwk2.c
6015
event_id = iwk_mem_read(sc, logptr);
usr/src/uts/common/io/iwk/iwk2.c
6017
data1 = iwk_mem_read(sc, logptr);
usr/src/uts/common/io/iwk/iwk2.c
6023
data2 = iwk_mem_read(sc, logptr);
usr/src/uts/common/io/iwk/iwk2.c
6032
iwk_mac_access_exit(sc);
usr/src/uts/common/io/iwk/iwk2.c
604
err = iwk_alloc_shared(sc);
usr/src/uts/common/io/iwk/iwk2.c
6056
static void iwk_write_error_log(iwk_sc_t *sc)
usr/src/uts/common/io/iwk/iwk2.c
6061
err_ptr = LE_32(sc->sc_card_alive_run.error_event_table_ptr);
usr/src/uts/common/io/iwk/iwk2.c
6067
iwk_mac_access_enter(sc);
usr/src/uts/common/io/iwk/iwk2.c
6069
valid = iwk_mem_read(sc, err_ptr);
usr/src/uts/common/io/iwk/iwk2.c
6072
iwk_mac_access_exit(sc);
usr/src/uts/common/io/iwk/iwk2.c
6076
IWK_DBG((IWK_DEBUG_EEPROM, "err=%d ", iwk_mem_read(sc, err_ptr)));
usr/src/uts/common/io/iwk/iwk2.c
6078
IWK_DBG((IWK_DEBUG_EEPROM, "pc=0x%X ", iwk_mem_read(sc, err_ptr)));
usr/src/uts/common/io/iwk/iwk2.c
6081
"branch link1=0x%X ", iwk_mem_read(sc, err_ptr)));
usr/src/uts/common/io/iwk/iwk2.c
6084
"branch link2=0x%X ", iwk_mem_read(sc, err_ptr)));
usr/src/uts/common/io/iwk/iwk2.c
6087
"interrupt link1=0x%X ", iwk_mem_read(sc, err_ptr)));
usr/src/uts/common/io/iwk/iwk2.c
6090
"interrupt link2=0x%X ", iwk_mem_read(sc, err_ptr)));
usr/src/uts/common/io/iwk/iwk2.c
6092
IWK_DBG((IWK_DEBUG_EEPROM, "data1=0x%X ", iwk_mem_read(sc, err_ptr)));
usr/src/uts/common/io/iwk/iwk2.c
6094
IWK_DBG((IWK_DEBUG_EEPROM, "data2=0x%X ", iwk_mem_read(sc, err_ptr)));
usr/src/uts/common/io/iwk/iwk2.c
6096
IWK_DBG((IWK_DEBUG_EEPROM, "line=%d ", iwk_mem_read(sc, err_ptr)));
usr/src/uts/common/io/iwk/iwk2.c
6098
IWK_DBG((IWK_DEBUG_EEPROM, "bcon_time=%d ", iwk_mem_read(sc, err_ptr)));
usr/src/uts/common/io/iwk/iwk2.c
6100
IWK_DBG((IWK_DEBUG_EEPROM, "tsf_low=%d ", iwk_mem_read(sc, err_ptr)));
usr/src/uts/common/io/iwk/iwk2.c
6102
IWK_DBG((IWK_DEBUG_EEPROM, "tsf_hi=%d\n", iwk_mem_read(sc, err_ptr)));
usr/src/uts/common/io/iwk/iwk2.c
6104
iwk_mac_access_exit(sc);
usr/src/uts/common/io/iwk/iwk2.c
6111
iwk_sc_t *sc = (iwk_sc_t *)ic;
usr/src/uts/common/io/iwk/iwk2.c
6115
mutex_enter(&sc->sc_ibss.node_tb_lock);
usr/src/uts/common/io/iwk/iwk2.c
6122
sc->sc_ibss.ibss_node_tb[i].used = 0;
usr/src/uts/common/io/iwk/iwk2.c
6123
(void) memset(&sc->sc_ibss.ibss_node_tb[i].node,
usr/src/uts/common/io/iwk/iwk2.c
6128
sc->sc_ibss.node_number = 0;
usr/src/uts/common/io/iwk/iwk2.c
6130
mutex_exit(&sc->sc_ibss.node_tb_lock);
usr/src/uts/common/io/iwk/iwk2.c
6135
sc->sc_config.dev_type = RXON_DEV_TYPE_IBSS;
usr/src/uts/common/io/iwk/iwk2.c
6137
sc->sc_config.flags |= LE_32(RXON_FLG_SHORT_PREAMBLE_MSK);
usr/src/uts/common/io/iwk/iwk2.c
6138
sc->sc_config.filter_flags =
usr/src/uts/common/io/iwk/iwk2.c
614
err = iwk_alloc_kw(sc);
usr/src/uts/common/io/iwk/iwk2.c
6143
sc->sc_config.assoc_id = 0;
usr/src/uts/common/io/iwk/iwk2.c
6145
IEEE80211_ADDR_COPY(sc->sc_config.bssid, in->in_bssid);
usr/src/uts/common/io/iwk/iwk2.c
6146
sc->sc_config.chan = LE_16(ieee80211_chan2ieee(ic,
usr/src/uts/common/io/iwk/iwk2.c
6150
sc->sc_config.cck_basic_rates = 0x03;
usr/src/uts/common/io/iwk/iwk2.c
6151
sc->sc_config.ofdm_basic_rates = 0;
usr/src/uts/common/io/iwk/iwk2.c
6154
sc->sc_config.cck_basic_rates = 0;
usr/src/uts/common/io/iwk/iwk2.c
6155
sc->sc_config.ofdm_basic_rates = 0x15;
usr/src/uts/common/io/iwk/iwk2.c
6158
sc->sc_config.cck_basic_rates = 0x0f;
usr/src/uts/common/io/iwk/iwk2.c
6159
sc->sc_config.ofdm_basic_rates = 0xff;
usr/src/uts/common/io/iwk/iwk2.c
6162
sc->sc_config.flags &=
usr/src/uts/common/io/iwk/iwk2.c
6167
sc->sc_config.flags |=
usr/src/uts/common/io/iwk/iwk2.c
6172
sc->sc_config.flags |=
usr/src/uts/common/io/iwk/iwk2.c
6176
sc->sc_config.filter_flags |=
usr/src/uts/common/io/iwk/iwk2.c
6179
err = iwk_cmd(sc, REPLY_RXON, &sc->sc_config,
usr/src/uts/common/io/iwk/iwk2.c
6194
iwk_sc_t *sc = (iwk_sc_t *)ic;
usr/src/uts/common/io/iwk/iwk2.c
6199
if (sc->sc_assoc_id != in->in_associd) {
usr/src/uts/common/io/iwk/iwk2.c
6203
in->in_associd, sc->sc_assoc_id);
usr/src/uts/common/io/iwk/iwk2.c
6205
sc->sc_config.assoc_id = LE_16(in->in_associd & 0x3fff);
usr/src/uts/common/io/iwk/iwk2.c
6211
sc->sc_config.flags &=
usr/src/uts/common/io/iwk/iwk2.c
6216
sc->sc_config.flags |=
usr/src/uts/common/io/iwk/iwk2.c
6220
sc->sc_config.flags |=
usr/src/uts/common/io/iwk/iwk2.c
6223
sc->sc_config.filter_flags |=
usr/src/uts/common/io/iwk/iwk2.c
6227
sc->sc_config.filter_flags |=
usr/src/uts/common/io/iwk/iwk2.c
6232
sc->sc_config.chan, sc->sc_config.flags,
usr/src/uts/common/io/iwk/iwk2.c
6233
sc->sc_config.filter_flags));
usr/src/uts/common/io/iwk/iwk2.c
6235
err = iwk_cmd(sc, REPLY_RXON, &sc->sc_config,
usr/src/uts/common/io/iwk/iwk2.c
624
err = iwk_preinit(sc);
usr/src/uts/common/io/iwk/iwk2.c
6247
iwk_fast_recover(iwk_sc_t *sc)
usr/src/uts/common/io/iwk/iwk2.c
6249
ieee80211com_t *ic = &sc->sc_ic;
usr/src/uts/common/io/iwk/iwk2.c
6252
mutex_enter(&sc->sc_glock);
usr/src/uts/common/io/iwk/iwk2.c
6255
bcopy(&sc->sc_config_save, &sc->sc_config,
usr/src/uts/common/io/iwk/iwk2.c
6256
sizeof (sc->sc_config));
usr/src/uts/common/io/iwk/iwk2.c
6259
sc->sc_config.assoc_id = 0;
usr/src/uts/common/io/iwk/iwk2.c
6260
sc->sc_config.filter_flags &=
usr/src/uts/common/io/iwk/iwk2.c
6263
if ((err = iwk_hw_set_before_auth(sc)) != 0) {
usr/src/uts/common/io/iwk/iwk2.c
6266
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/iwk/iwk2.c
6270
bcopy(&sc->sc_config_save, &sc->sc_config,
usr/src/uts/common/io/iwk/iwk2.c
6271
sizeof (sc->sc_config));
usr/src/uts/common/io/iwk/iwk2.c
6278
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/iwk/iwk2.c
6283
sc->sc_tempera = iwk_curr_tempera(sc);
usr/src/uts/common/io/iwk/iwk2.c
6289
err = iwk_tx_power_calibration(sc);
usr/src/uts/common/io/iwk/iwk2.c
6293
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/iwk/iwk2.c
6301
err = iwk_rx_sens_init(sc);
usr/src/uts/common/io/iwk/iwk2.c
6305
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/iwk/iwk2.c
6310
err = iwk_rxgain_diff_init(sc);
usr/src/uts/common/io/iwk/iwk2.c
6314
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/iwk/iwk2.c
6319
iwk_set_led(sc, 2, 0, 1);
usr/src/uts/common/io/iwk/iwk2.c
632
err = iwk_eep_load(sc); /* get hardware configurations from eeprom */
usr/src/uts/common/io/iwk/iwk2.c
6321
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/iwk/iwk2.c
6339
sc->sc_flags &= ~IWK_F_HW_ERR_RECOVER;
usr/src/uts/common/io/iwk/iwk2.c
6352
iwk_sc_t *sc = (iwk_sc_t *)ic;
usr/src/uts/common/io/iwk/iwk2.c
6363
tx_beacon_p = &sc->sc_ibss.ibss_beacon.beacon_cmd;
usr/src/uts/common/io/iwk/iwk2.c
6374
if (sc->sc_ibss.ibss_beacon.mp != NULL) {
usr/src/uts/common/io/iwk/iwk2.c
6375
freemsg(sc->sc_ibss.ibss_beacon.mp);
usr/src/uts/common/io/iwk/iwk2.c
6376
sc->sc_ibss.ibss_beacon.mp = NULL;
usr/src/uts/common/io/iwk/iwk2.c
6379
sc->sc_ibss.ibss_beacon.mp =
usr/src/uts/common/io/iwk/iwk2.c
638
if (LE_16(sc->sc_eep_map.calib_version) < EEP_TX_POWER_VERSION_NEW) {
usr/src/uts/common/io/iwk/iwk2.c
6381
&sc->sc_ibss.ibss_beacon.iwk_boff);
usr/src/uts/common/io/iwk/iwk2.c
6382
if (sc->sc_ibss.ibss_beacon.mp == NULL) {
usr/src/uts/common/io/iwk/iwk2.c
6388
mp = sc->sc_ibss.ibss_beacon.mp;
usr/src/uts/common/io/iwk/iwk2.c
6395
sc->sc_ibss.ibss_beacon.beacon_cmd_len =
usr/src/uts/common/io/iwk/iwk2.c
6420
sc->sc_ibss.ibss_beacon.syncbeacon = 1;
usr/src/uts/common/io/iwk/iwk2.c
6423
&sc->sc_ibss.ibss_beacon.iwk_boff,
usr/src/uts/common/io/iwk/iwk2.c
643
iwk_get_mac_from_eep(sc);
usr/src/uts/common/io/iwk/iwk2.c
6430
err = iwk_cmd(sc, REPLY_TX_BEACON,
usr/src/uts/common/io/iwk/iwk2.c
6432
sc->sc_ibss.ibss_beacon.beacon_cmd_len,
usr/src/uts/common/io/iwk/iwk2.c
6440
sc->sc_ibss.ibss_beacon.syncbeacon = 0;
usr/src/uts/common/io/iwk/iwk2.c
645
err = iwk_ring_init(sc);
usr/src/uts/common/io/iwk/iwk2.c
6450
iwk_sc_t *sc = (iwk_sc_t *)ic;
usr/src/uts/common/io/iwk/iwk2.c
6468
if (!sc->sc_ibss.ibss_node_tb[index].used) {
usr/src/uts/common/io/iwk/iwk2.c
6477
sc->sc_ibss.node_number >= 25) {
usr/src/uts/common/io/iwk/iwk2.c
6478
if (iwk_cmd(sc, REPLY_REMOVE_ALL_STA,
usr/src/uts/common/io/iwk/iwk2.c
6486
sc->sc_ibss.ibss_node_tb[i].used = 0;
usr/src/uts/common/io/iwk/iwk2.c
6487
(void) memset(&sc->sc_ibss.ibss_node_tb[i].node,
usr/src/uts/common/io/iwk/iwk2.c
6491
sc->sc_ibss.node_number = 0;
usr/src/uts/common/io/iwk/iwk2.c
6501
err = iwk_cmd(sc, REPLY_ADD_STA, &bc_node, sizeof (bc_node), 1);
usr/src/uts/common/io/iwk/iwk2.c
652
sc->sc_hdr = (iwk_firmware_hdr_t *)iwk_fw_bin;
usr/src/uts/common/io/iwk/iwk2.c
6524
err = iwk_cmd(sc, REPLY_TX_LINK_QUALITY_CMD,
usr/src/uts/common/io/iwk/iwk2.c
654
err = iwk_alloc_fw_dma(sc);
usr/src/uts/common/io/iwk/iwk2.c
6542
ibss_node_p = &sc->sc_ibss.ibss_node_tb[index];
usr/src/uts/common/io/iwk/iwk2.c
6554
err = iwk_cmd(sc, REPLY_ADD_STA, &ibss_node_p->node,
usr/src/uts/common/io/iwk/iwk2.c
6565
sc->sc_ibss.node_number++;
usr/src/uts/common/io/iwk/iwk2.c
6598
err = iwk_cmd(sc, REPLY_TX_LINK_QUALITY_CMD,
usr/src/uts/common/io/iwk/iwk2.c
665
ic = &sc->sc_ic;
usr/src/uts/common/io/iwk/iwk2.c
716
sc->sc_newstate = ic->ic_newstate;
usr/src/uts/common/io/iwk/iwk2.c
719
sc->sc_recv_mgmt = ic->ic_recv_mgmt;
usr/src/uts/common/io/iwk/iwk2.c
729
err = ddi_intr_add_softint(dip, &sc->sc_soft_hdl, DDI_INTR_SOFTPRI_MAX,
usr/src/uts/common/io/iwk/iwk2.c
730
iwk_rx_softintr, (caddr_t)sc);
usr/src/uts/common/io/iwk/iwk2.c
740
err = ddi_intr_add_handler(sc->sc_intr_htable[0], iwk_intr,
usr/src/uts/common/io/iwk/iwk2.c
741
(caddr_t)sc, NULL);
usr/src/uts/common/io/iwk/iwk2.c
748
err = ddi_intr_enable(sc->sc_intr_htable[0]);
usr/src/uts/common/io/iwk/iwk2.c
770
macp->m_driver = sc;
usr/src/uts/common/io/iwk/iwk2.c
809
sc->sc_mf_thread_switch = 1;
usr/src/uts/common/io/iwk/iwk2.c
810
if (sc->sc_mf_thread == NULL)
usr/src/uts/common/io/iwk/iwk2.c
811
sc->sc_mf_thread = thread_create((caddr_t)NULL, 0,
usr/src/uts/common/io/iwk/iwk2.c
812
iwk_thread, sc, 0, &p0, TS_RUN, minclsyspri);
usr/src/uts/common/io/iwk/iwk2.c
814
sc->sc_flags |= IWK_F_ATTACHED;
usr/src/uts/common/io/iwk/iwk2.c
818
(void) ddi_intr_disable(sc->sc_intr_htable[0]);
usr/src/uts/common/io/iwk/iwk2.c
820
(void) ddi_intr_remove_handler(sc->sc_intr_htable[0]);
usr/src/uts/common/io/iwk/iwk2.c
823
(void) ddi_intr_remove_softint(sc->sc_soft_hdl);
usr/src/uts/common/io/iwk/iwk2.c
824
sc->sc_soft_hdl = NULL;
usr/src/uts/common/io/iwk/iwk2.c
827
iwk_free_fw_dma(sc);
usr/src/uts/common/io/iwk/iwk2.c
829
iwk_ring_free(sc);
usr/src/uts/common/io/iwk/iwk2.c
831
iwk_free_kw(sc);
usr/src/uts/common/io/iwk/iwk2.c
833
iwk_free_shared(sc);
usr/src/uts/common/io/iwk/iwk2.c
835
iwk_destroy_locks(sc);
usr/src/uts/common/io/iwk/iwk2.c
837
(void) ddi_intr_free(sc->sc_intr_htable[0]);
usr/src/uts/common/io/iwk/iwk2.c
839
kmem_free(sc->sc_intr_htable, sizeof (ddi_intr_handle_t));
usr/src/uts/common/io/iwk/iwk2.c
841
ddi_regs_map_free(&sc->sc_handle);
usr/src/uts/common/io/iwk/iwk2.c
843
ddi_regs_map_free(&sc->sc_cfg_handle);
usr/src/uts/common/io/iwk/iwk2.c
853
iwk_sc_t *sc;
usr/src/uts/common/io/iwk/iwk2.c
856
sc = ddi_get_soft_state(iwk_soft_state_p, ddi_get_instance(dip));
usr/src/uts/common/io/iwk/iwk2.c
857
ASSERT(sc != NULL);
usr/src/uts/common/io/iwk/iwk2.c
863
mutex_enter(&sc->sc_glock);
usr/src/uts/common/io/iwk/iwk2.c
864
sc->sc_flags |= IWK_F_SUSPEND;
usr/src/uts/common/io/iwk/iwk2.c
865
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/iwk/iwk2.c
866
if (sc->sc_flags & IWK_F_RUNNING) {
usr/src/uts/common/io/iwk/iwk2.c
867
iwk_stop(sc);
usr/src/uts/common/io/iwk/iwk2.c
876
if (!(sc->sc_flags & IWK_F_ATTACHED))
usr/src/uts/common/io/iwk/iwk2.c
879
err = mac_disable(sc->sc_ic.ic_mach);
usr/src/uts/common/io/iwk/iwk2.c
886
mutex_enter(&sc->sc_mt_lock);
usr/src/uts/common/io/iwk/iwk2.c
887
sc->sc_mf_thread_switch = 0;
usr/src/uts/common/io/iwk/iwk2.c
888
while (sc->sc_mf_thread != NULL) {
usr/src/uts/common/io/iwk/iwk2.c
889
if (cv_wait_sig(&sc->sc_mt_cv, &sc->sc_mt_lock) == 0)
usr/src/uts/common/io/iwk/iwk2.c
892
mutex_exit(&sc->sc_mt_lock);
usr/src/uts/common/io/iwk/iwk2.c
894
iwk_stop(sc);
usr/src/uts/common/io/iwk/iwk2.c
900
(void) mac_unregister(sc->sc_ic.ic_mach);
usr/src/uts/common/io/iwk/iwk2.c
902
mutex_enter(&sc->sc_glock);
usr/src/uts/common/io/iwk/iwk2.c
903
iwk_free_fw_dma(sc);
usr/src/uts/common/io/iwk/iwk2.c
904
iwk_ring_free(sc);
usr/src/uts/common/io/iwk/iwk2.c
905
iwk_free_kw(sc);
usr/src/uts/common/io/iwk/iwk2.c
906
iwk_free_shared(sc);
usr/src/uts/common/io/iwk/iwk2.c
907
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/iwk/iwk2.c
909
(void) ddi_intr_disable(sc->sc_intr_htable[0]);
usr/src/uts/common/io/iwk/iwk2.c
910
(void) ddi_intr_remove_handler(sc->sc_intr_htable[0]);
usr/src/uts/common/io/iwk/iwk2.c
911
(void) ddi_intr_free(sc->sc_intr_htable[0]);
usr/src/uts/common/io/iwk/iwk2.c
912
kmem_free(sc->sc_intr_htable, sizeof (ddi_intr_handle_t));
usr/src/uts/common/io/iwk/iwk2.c
914
(void) ddi_intr_remove_softint(sc->sc_soft_hdl);
usr/src/uts/common/io/iwk/iwk2.c
915
sc->sc_soft_hdl = NULL;
usr/src/uts/common/io/iwk/iwk2.c
920
ieee80211_detach(&sc->sc_ic);
usr/src/uts/common/io/iwk/iwk2.c
922
iwk_destroy_locks(sc);
usr/src/uts/common/io/iwk/iwk2.c
924
ddi_regs_map_free(&sc->sc_handle);
usr/src/uts/common/io/iwk/iwk2.c
925
ddi_regs_map_free(&sc->sc_cfg_handle);
usr/src/uts/common/io/iwk/iwk2.c
945
iwk_sc_t *sc;
usr/src/uts/common/io/iwk/iwk2.c
947
sc = ddi_get_soft_state(iwk_soft_state_p, ddi_get_instance(dip));
usr/src/uts/common/io/iwk/iwk2.c
948
ASSERT(sc != NULL);
usr/src/uts/common/io/iwk/iwk2.c
954
sc->sc_flags |= IWK_F_QUIESCED;
usr/src/uts/common/io/iwk/iwk2.c
956
iwk_stop(sc);
usr/src/uts/common/io/iwk/iwk2.c
962
iwk_destroy_locks(iwk_sc_t *sc)
usr/src/uts/common/io/iwk/iwk2.c
964
cv_destroy(&sc->sc_mt_cv);
usr/src/uts/common/io/iwk/iwk2.c
965
mutex_destroy(&sc->sc_mt_lock);
usr/src/uts/common/io/iwk/iwk2.c
966
cv_destroy(&sc->sc_tx_cv);
usr/src/uts/common/io/iwk/iwk2.c
967
cv_destroy(&sc->sc_cmd_cv);
usr/src/uts/common/io/iwk/iwk2.c
968
cv_destroy(&sc->sc_fw_cv);
usr/src/uts/common/io/iwk/iwk2.c
969
mutex_destroy(&sc->sc_tx_lock);
usr/src/uts/common/io/iwk/iwk2.c
970
mutex_destroy(&sc->sc_glock);
usr/src/uts/common/io/iwk/iwk2.c
977
iwk_alloc_dma_mem(iwk_sc_t *sc, size_t memsize,
usr/src/uts/common/io/iwk/iwk2.c
987
err = ddi_dma_alloc_handle(sc->sc_dip, dma_attr_p,
usr/src/uts/common/io/iwk/iwk2_var.h
40
#define IWK_CHK_FAST_RECOVER(sc) \
usr/src/uts/common/io/iwk/iwk2_var.h
41
(sc->sc_ic.ic_state == IEEE80211_S_RUN && \
usr/src/uts/common/io/iwk/iwk2_var.h
42
sc->sc_ic.ic_opmode == IEEE80211_M_STA)
usr/src/uts/common/io/iwk/iwk_hw.h
3193
#define IWK_READ(sc, reg) \
usr/src/uts/common/io/iwk/iwk_hw.h
3194
ddi_get32((sc)->sc_handle, (uint32_t *)((sc)->sc_base + (reg)))
usr/src/uts/common/io/iwk/iwk_hw.h
3196
#define IWK_WRITE(sc, reg, val) \
usr/src/uts/common/io/iwk/iwk_hw.h
3197
ddi_put32((sc)->sc_handle, (uint32_t *)((sc)->sc_base + (reg)), (val))
usr/src/uts/common/io/iwn/if_iwn.c
1003
if (sc->sc_flags & IWN_FLAG_HAS_5GHZ) {
usr/src/uts/common/io/iwn/if_iwn.c
1007
if (sc->sc_flags & IWN_FLAG_HAS_11N) {
usr/src/uts/common/io/iwn/if_iwn.c
1010
if (sc->nrxchains > 1)
usr/src/uts/common/io/iwn/if_iwn.c
1012
if (sc->nrxchains > 2)
usr/src/uts/common/io/iwn/if_iwn.c
1041
sc->sc_newstate = ic->ic_newstate;
usr/src/uts/common/io/iwn/if_iwn.c
1055
sc->amrr.amrr_min_success_threshold = 1;
usr/src/uts/common/io/iwn/if_iwn.c
1056
sc->amrr.amrr_max_success_threshold = 15;
usr/src/uts/common/io/iwn/if_iwn.c
1070
dev_err(sc->sc_dip, CE_WARN, "!mac_alloc() failed");
usr/src/uts/common/io/iwn/if_iwn.c
1075
macp->m_driver = sc;
usr/src/uts/common/io/iwn/if_iwn.c
1090
dev_err(sc->sc_dip, CE_WARN, "!mac_register() failed");
usr/src/uts/common/io/iwn/if_iwn.c
1101
dev_err(sc->sc_dip, CE_WARN, "!ddi_create_minor_node() failed");
usr/src/uts/common/io/iwn/if_iwn.c
1110
sc->sc_periodic = ddi_periodic_add(iwn_periodic, sc,
usr/src/uts/common/io/iwn/if_iwn.c
1113
if (sc->sc_ks_misc)
usr/src/uts/common/io/iwn/if_iwn.c
1114
kstat_install(sc->sc_ks_misc);
usr/src/uts/common/io/iwn/if_iwn.c
1115
if (sc->sc_ks_ant)
usr/src/uts/common/io/iwn/if_iwn.c
1116
kstat_install(sc->sc_ks_ant);
usr/src/uts/common/io/iwn/if_iwn.c
1117
if (sc->sc_ks_sens)
usr/src/uts/common/io/iwn/if_iwn.c
1118
kstat_install(sc->sc_ks_sens);
usr/src/uts/common/io/iwn/if_iwn.c
1119
if (sc->sc_ks_timing)
usr/src/uts/common/io/iwn/if_iwn.c
1120
kstat_install(sc->sc_ks_timing);
usr/src/uts/common/io/iwn/if_iwn.c
1121
if (sc->sc_ks_edca)
usr/src/uts/common/io/iwn/if_iwn.c
1122
kstat_install(sc->sc_ks_edca);
usr/src/uts/common/io/iwn/if_iwn.c
1123
if (sc->sc_ks_txpower)
usr/src/uts/common/io/iwn/if_iwn.c
1124
kstat_install(sc->sc_ks_txpower);
usr/src/uts/common/io/iwn/if_iwn.c
1125
if (sc->sc_ks_toff)
usr/src/uts/common/io/iwn/if_iwn.c
1126
kstat_install(sc->sc_ks_toff);
usr/src/uts/common/io/iwn/if_iwn.c
1128
sc->sc_flags |= IWN_FLAG_ATTACHED;
usr/src/uts/common/io/iwn/if_iwn.c
1138
iwn_free_rx_ring(sc, &sc->rxq);
usr/src/uts/common/io/iwn/if_iwn.c
1141
for (i = 0; i < sc->ntxqs; i++)
usr/src/uts/common/io/iwn/if_iwn.c
1142
iwn_free_tx_ring(sc, &sc->txq[i]);
usr/src/uts/common/io/iwn/if_iwn.c
1145
iwn_free_sched(sc);
usr/src/uts/common/io/iwn/if_iwn.c
1148
if (sc->ict != NULL)
usr/src/uts/common/io/iwn/if_iwn.c
1149
iwn_free_ict(sc);
usr/src/uts/common/io/iwn/if_iwn.c
1152
iwn_free_kw(sc);
usr/src/uts/common/io/iwn/if_iwn.c
1155
iwn_free_fwmem(sc);
usr/src/uts/common/io/iwn/if_iwn.c
1159
iwn_intr_teardown(sc);
usr/src/uts/common/io/iwn/if_iwn.c
1161
iwn_kstat_free(sc->sc_ks_txpower, sc->sc_txpower,
usr/src/uts/common/io/iwn/if_iwn.c
1164
if (sc->hw_type == IWN_HW_REV_TYPE_6005)
usr/src/uts/common/io/iwn/if_iwn.c
1165
iwn_kstat_free(sc->sc_ks_toff, sc->sc_toff.t6000,
usr/src/uts/common/io/iwn/if_iwn.c
1168
iwn_kstat_free(sc->sc_ks_toff, sc->sc_toff.t2000,
usr/src/uts/common/io/iwn/if_iwn.c
1172
ddi_regs_map_free(&sc->sc_regh);
usr/src/uts/common/io/iwn/if_iwn.c
1176
pci_config_teardown(&sc->sc_pcih);
usr/src/uts/common/io/iwn/if_iwn.c
1179
iwn_kstat_free(sc->sc_ks_misc, sc->sc_misc,
usr/src/uts/common/io/iwn/if_iwn.c
1181
iwn_kstat_free(sc->sc_ks_ant, sc->sc_ant,
usr/src/uts/common/io/iwn/if_iwn.c
1183
iwn_kstat_free(sc->sc_ks_sens, sc->sc_sens,
usr/src/uts/common/io/iwn/if_iwn.c
1185
iwn_kstat_free(sc->sc_ks_timing, sc->sc_timing,
usr/src/uts/common/io/iwn/if_iwn.c
1187
iwn_kstat_free(sc->sc_ks_edca, sc->sc_edca,
usr/src/uts/common/io/iwn/if_iwn.c
1196
iwn4965_attach(struct iwn_softc *sc)
usr/src/uts/common/io/iwn/if_iwn.c
1198
struct iwn_ops *ops = &sc->ops;
usr/src/uts/common/io/iwn/if_iwn.c
1217
sc->ntxqs = IWN4965_NTXQUEUES;
usr/src/uts/common/io/iwn/if_iwn.c
1218
sc->ndmachnls = IWN4965_NDMACHNLS;
usr/src/uts/common/io/iwn/if_iwn.c
1219
sc->broadcast_id = IWN4965_ID_BROADCAST;
usr/src/uts/common/io/iwn/if_iwn.c
1220
sc->rxonsz = IWN4965_RXONSZ;
usr/src/uts/common/io/iwn/if_iwn.c
1221
sc->schedsz = IWN4965_SCHEDSZ;
usr/src/uts/common/io/iwn/if_iwn.c
1222
sc->fw_text_maxsz = IWN4965_FW_TEXT_MAXSZ;
usr/src/uts/common/io/iwn/if_iwn.c
1223
sc->fw_data_maxsz = IWN4965_FW_DATA_MAXSZ;
usr/src/uts/common/io/iwn/if_iwn.c
1224
sc->fwsz = IWN4965_FWSZ;
usr/src/uts/common/io/iwn/if_iwn.c
1225
sc->sched_txfact_addr = IWN4965_SCHED_TXFACT;
usr/src/uts/common/io/iwn/if_iwn.c
1226
sc->limits = &iwn4965_sensitivity_limits;
usr/src/uts/common/io/iwn/if_iwn.c
1227
sc->fwname = "iwlwifi-4965-2.ucode";
usr/src/uts/common/io/iwn/if_iwn.c
1229
sc->txchainmask = IWN_ANT_AB;
usr/src/uts/common/io/iwn/if_iwn.c
1230
sc->rxchainmask = IWN_ANT_ABC;
usr/src/uts/common/io/iwn/if_iwn.c
1232
iwn_kstat_create(sc, "txpower", sizeof (struct iwn_ks_txpower),
usr/src/uts/common/io/iwn/if_iwn.c
1233
&sc->sc_ks_txpower, (void **)&sc->sc_txpower);
usr/src/uts/common/io/iwn/if_iwn.c
1234
iwn_kstat_init_4965(sc);
usr/src/uts/common/io/iwn/if_iwn.c
1240
iwn5000_attach(struct iwn_softc *sc, uint16_t pid)
usr/src/uts/common/io/iwn/if_iwn.c
1242
struct iwn_ops *ops = &sc->ops;
usr/src/uts/common/io/iwn/if_iwn.c
1261
sc->ntxqs = IWN5000_NTXQUEUES;
usr/src/uts/common/io/iwn/if_iwn.c
1262
sc->ndmachnls = IWN5000_NDMACHNLS;
usr/src/uts/common/io/iwn/if_iwn.c
1263
sc->broadcast_id = IWN5000_ID_BROADCAST;
usr/src/uts/common/io/iwn/if_iwn.c
1264
sc->rxonsz = IWN5000_RXONSZ;
usr/src/uts/common/io/iwn/if_iwn.c
1265
sc->schedsz = IWN5000_SCHEDSZ;
usr/src/uts/common/io/iwn/if_iwn.c
1266
sc->fw_text_maxsz = IWN5000_FW_TEXT_MAXSZ;
usr/src/uts/common/io/iwn/if_iwn.c
1267
sc->fw_data_maxsz = IWN5000_FW_DATA_MAXSZ;
usr/src/uts/common/io/iwn/if_iwn.c
1268
sc->fwsz = IWN5000_FWSZ;
usr/src/uts/common/io/iwn/if_iwn.c
1269
sc->sched_txfact_addr = IWN5000_SCHED_TXFACT;
usr/src/uts/common/io/iwn/if_iwn.c
1271
switch (sc->hw_type) {
usr/src/uts/common/io/iwn/if_iwn.c
1273
sc->limits = &iwn5000_sensitivity_limits;
usr/src/uts/common/io/iwn/if_iwn.c
1274
sc->fwname = "iwlwifi-5000-2.ucode";
usr/src/uts/common/io/iwn/if_iwn.c
1276
sc->txchainmask = IWN_ANT_B;
usr/src/uts/common/io/iwn/if_iwn.c
1277
sc->rxchainmask = IWN_ANT_AB;
usr/src/uts/common/io/iwn/if_iwn.c
1280
sc->limits = &iwn5150_sensitivity_limits;
usr/src/uts/common/io/iwn/if_iwn.c
1281
sc->fwname = "iwlwifi-5150-2.ucode";
usr/src/uts/common/io/iwn/if_iwn.c
1285
sc->limits = &iwn5000_sensitivity_limits;
usr/src/uts/common/io/iwn/if_iwn.c
1286
sc->fwname = "iwlwifi-5000-2.ucode";
usr/src/uts/common/io/iwn/if_iwn.c
1289
sc->limits = &iwn1000_sensitivity_limits;
usr/src/uts/common/io/iwn/if_iwn.c
1292
sc->fwname = "iwlwifi-100-5.ucode";
usr/src/uts/common/io/iwn/if_iwn.c
1294
sc->fwname = "iwlwifi-1000-3.ucode";
usr/src/uts/common/io/iwn/if_iwn.c
1297
sc->limits = &iwn6000_sensitivity_limits;
usr/src/uts/common/io/iwn/if_iwn.c
1298
sc->fwname = "iwlwifi-6000-4.ucode";
usr/src/uts/common/io/iwn/if_iwn.c
1301
sc->sc_flags |= IWN_FLAG_INTERNAL_PA;
usr/src/uts/common/io/iwn/if_iwn.c
1303
sc->txchainmask = IWN_ANT_BC;
usr/src/uts/common/io/iwn/if_iwn.c
1304
sc->rxchainmask = IWN_ANT_BC;
usr/src/uts/common/io/iwn/if_iwn.c
1308
sc->limits = &iwn6000_sensitivity_limits;
usr/src/uts/common/io/iwn/if_iwn.c
1309
sc->fwname = "iwlwifi-6050-5.ucode";
usr/src/uts/common/io/iwn/if_iwn.c
1312
sc->limits = &iwn6000_sensitivity_limits;
usr/src/uts/common/io/iwn/if_iwn.c
1320
sc->fwname = "iwlwifi-6000g2b-6.ucode";
usr/src/uts/common/io/iwn/if_iwn.c
1324
sc->fwname = "iwlwifi-6000g2a-6.ucode";
usr/src/uts/common/io/iwn/if_iwn.c
1326
iwn_kstat_create(sc, "temp_offset",
usr/src/uts/common/io/iwn/if_iwn.c
1328
&sc->sc_ks_toff, (void **)&sc->sc_toff.t6000);
usr/src/uts/common/io/iwn/if_iwn.c
1329
iwn_kstat_init_6000(sc);
usr/src/uts/common/io/iwn/if_iwn.c
1332
sc->limits = &iwn2000_sensitivity_limits;
usr/src/uts/common/io/iwn/if_iwn.c
1333
sc->fwname = "iwlwifi-2030-6.ucode";
usr/src/uts/common/io/iwn/if_iwn.c
1336
iwn_kstat_create(sc, "temp_offset",
usr/src/uts/common/io/iwn/if_iwn.c
1338
&sc->sc_ks_toff, (void **)&sc->sc_toff.t2000);
usr/src/uts/common/io/iwn/if_iwn.c
1339
iwn_kstat_init_2000(sc);
usr/src/uts/common/io/iwn/if_iwn.c
1342
sc->limits = &iwn2000_sensitivity_limits;
usr/src/uts/common/io/iwn/if_iwn.c
1343
sc->fwname = "iwlwifi-2000-6.ucode";
usr/src/uts/common/io/iwn/if_iwn.c
1345
iwn_kstat_create(sc, "temp_offset",
usr/src/uts/common/io/iwn/if_iwn.c
1347
&sc->sc_ks_toff, (void **)&sc->sc_toff.t2000);
usr/src/uts/common/io/iwn/if_iwn.c
1348
iwn_kstat_init_2000(sc);
usr/src/uts/common/io/iwn/if_iwn.c
1351
sc->limits = &iwn2000_sensitivity_limits;
usr/src/uts/common/io/iwn/if_iwn.c
1352
sc->fwname = "iwlwifi-135-6.ucode";
usr/src/uts/common/io/iwn/if_iwn.c
1355
iwn_kstat_create(sc, "temp_offset",
usr/src/uts/common/io/iwn/if_iwn.c
1357
&sc->sc_ks_toff, (void **)&sc->sc_toff.t2000);
usr/src/uts/common/io/iwn/if_iwn.c
1358
iwn_kstat_init_2000(sc);
usr/src/uts/common/io/iwn/if_iwn.c
1361
sc->limits = &iwn2000_sensitivity_limits;
usr/src/uts/common/io/iwn/if_iwn.c
1362
sc->fwname = "iwlwifi-105-6.ucode";
usr/src/uts/common/io/iwn/if_iwn.c
1364
iwn_kstat_create(sc, "temp_offset",
usr/src/uts/common/io/iwn/if_iwn.c
1366
&sc->sc_ks_toff, (void **)&sc->sc_toff.t2000);
usr/src/uts/common/io/iwn/if_iwn.c
1367
iwn_kstat_init_2000(sc);
usr/src/uts/common/io/iwn/if_iwn.c
1370
dev_err(sc->sc_dip, CE_WARN, "!adapter type %d not supported",
usr/src/uts/common/io/iwn/if_iwn.c
1371
sc->hw_type);
usr/src/uts/common/io/iwn/if_iwn.c
1380
struct iwn_softc *sc = ddi_get_driver_private(dip);
usr/src/uts/common/io/iwn/if_iwn.c
1381
ieee80211com_t *ic = &sc->sc_ic;
usr/src/uts/common/io/iwn/if_iwn.c
1388
sc->sc_flags &= ~IWN_FLAG_HW_ERR_RECOVER;
usr/src/uts/common/io/iwn/if_iwn.c
1389
sc->sc_flags &= ~IWN_FLAG_RATE_AUTO_CTL;
usr/src/uts/common/io/iwn/if_iwn.c
1391
sc->sc_flags |= IWN_FLAG_SUSPEND;
usr/src/uts/common/io/iwn/if_iwn.c
1393
if (sc->sc_flags & IWN_FLAG_RUNNING) {
usr/src/uts/common/io/iwn/if_iwn.c
1394
iwn_hw_stop(sc, B_TRUE);
usr/src/uts/common/io/iwn/if_iwn.c
1404
if (!(sc->sc_flags & IWN_FLAG_ATTACHED)) {
usr/src/uts/common/io/iwn/if_iwn.c
1412
mutex_enter(&sc->sc_mtx);
usr/src/uts/common/io/iwn/if_iwn.c
1413
sc->sc_flags |= IWN_FLAG_STOP_CALIB_TO;
usr/src/uts/common/io/iwn/if_iwn.c
1414
mutex_exit(&sc->sc_mtx);
usr/src/uts/common/io/iwn/if_iwn.c
1416
if (sc->calib_to != 0)
usr/src/uts/common/io/iwn/if_iwn.c
1417
(void) untimeout(sc->calib_to);
usr/src/uts/common/io/iwn/if_iwn.c
1418
sc->calib_to = 0;
usr/src/uts/common/io/iwn/if_iwn.c
1420
if (sc->scan_to != 0)
usr/src/uts/common/io/iwn/if_iwn.c
1421
(void) untimeout(sc->scan_to);
usr/src/uts/common/io/iwn/if_iwn.c
1422
sc->scan_to = 0;
usr/src/uts/common/io/iwn/if_iwn.c
1424
ddi_periodic_delete(sc->sc_periodic);
usr/src/uts/common/io/iwn/if_iwn.c
1429
iwn_hw_stop(sc, B_TRUE);
usr/src/uts/common/io/iwn/if_iwn.c
1438
iwn_intr_teardown(sc);
usr/src/uts/common/io/iwn/if_iwn.c
1441
mutex_enter(&sc->sc_mtx);
usr/src/uts/common/io/iwn/if_iwn.c
1442
iwn_free_rx_ring(sc, &sc->rxq);
usr/src/uts/common/io/iwn/if_iwn.c
1443
for (qid = 0; qid < sc->ntxqs; qid++)
usr/src/uts/common/io/iwn/if_iwn.c
1444
iwn_free_tx_ring(sc, &sc->txq[qid]);
usr/src/uts/common/io/iwn/if_iwn.c
1445
iwn_free_sched(sc);
usr/src/uts/common/io/iwn/if_iwn.c
1446
iwn_free_kw(sc);
usr/src/uts/common/io/iwn/if_iwn.c
1447
if (sc->ict != NULL)
usr/src/uts/common/io/iwn/if_iwn.c
1448
iwn_free_ict(sc);
usr/src/uts/common/io/iwn/if_iwn.c
1449
iwn_free_fwmem(sc);
usr/src/uts/common/io/iwn/if_iwn.c
1450
mutex_exit(&sc->sc_mtx);
usr/src/uts/common/io/iwn/if_iwn.c
1452
iwn_kstat_free(sc->sc_ks_misc, sc->sc_misc,
usr/src/uts/common/io/iwn/if_iwn.c
1454
iwn_kstat_free(sc->sc_ks_ant, sc->sc_ant,
usr/src/uts/common/io/iwn/if_iwn.c
1456
iwn_kstat_free(sc->sc_ks_sens, sc->sc_sens,
usr/src/uts/common/io/iwn/if_iwn.c
1458
iwn_kstat_free(sc->sc_ks_timing, sc->sc_timing,
usr/src/uts/common/io/iwn/if_iwn.c
1460
iwn_kstat_free(sc->sc_ks_edca, sc->sc_edca,
usr/src/uts/common/io/iwn/if_iwn.c
1462
iwn_kstat_free(sc->sc_ks_txpower, sc->sc_txpower,
usr/src/uts/common/io/iwn/if_iwn.c
1465
if (sc->hw_type == IWN_HW_REV_TYPE_6005)
usr/src/uts/common/io/iwn/if_iwn.c
1466
iwn_kstat_free(sc->sc_ks_toff, sc->sc_toff.t6000,
usr/src/uts/common/io/iwn/if_iwn.c
1469
iwn_kstat_free(sc->sc_ks_toff, sc->sc_toff.t2000,
usr/src/uts/common/io/iwn/if_iwn.c
1472
ddi_regs_map_free(&sc->sc_regh);
usr/src/uts/common/io/iwn/if_iwn.c
1473
pci_config_teardown(&sc->sc_pcih);
usr/src/uts/common/io/iwn/if_iwn.c
1483
struct iwn_softc *sc;
usr/src/uts/common/io/iwn/if_iwn.c
1485
sc = ddi_get_soft_state(iwn_state, ddi_get_instance(dip));
usr/src/uts/common/io/iwn/if_iwn.c
1486
if (sc == NULL)
usr/src/uts/common/io/iwn/if_iwn.c
1498
sc->sc_flags |= IWN_FLAG_QUIESCED;
usr/src/uts/common/io/iwn/if_iwn.c
1503
iwn_hw_stop(sc, B_FALSE);
usr/src/uts/common/io/iwn/if_iwn.c
1509
iwn_nic_lock(struct iwn_softc *sc)
usr/src/uts/common/io/iwn/if_iwn.c
1514
IWN_SETBITS(sc, IWN_GP_CNTRL, IWN_GP_CNTRL_MAC_ACCESS_REQ);
usr/src/uts/common/io/iwn/if_iwn.c
1518
if ((IWN_READ(sc, IWN_GP_CNTRL) &
usr/src/uts/common/io/iwn/if_iwn.c
1528
iwn_nic_unlock(struct iwn_softc *sc)
usr/src/uts/common/io/iwn/if_iwn.c
1530
IWN_CLRBITS(sc, IWN_GP_CNTRL, IWN_GP_CNTRL_MAC_ACCESS_REQ);
usr/src/uts/common/io/iwn/if_iwn.c
1534
iwn_prph_read(struct iwn_softc *sc, uint32_t addr)
usr/src/uts/common/io/iwn/if_iwn.c
1536
IWN_WRITE(sc, IWN_PRPH_RADDR, IWN_PRPH_DWORD | addr);
usr/src/uts/common/io/iwn/if_iwn.c
1537
IWN_BARRIER_READ_WRITE(sc);
usr/src/uts/common/io/iwn/if_iwn.c
1538
return IWN_READ(sc, IWN_PRPH_RDATA);
usr/src/uts/common/io/iwn/if_iwn.c
1542
iwn_prph_write(struct iwn_softc *sc, uint32_t addr, uint32_t data)
usr/src/uts/common/io/iwn/if_iwn.c
1544
IWN_WRITE(sc, IWN_PRPH_WADDR, IWN_PRPH_DWORD | addr);
usr/src/uts/common/io/iwn/if_iwn.c
1545
IWN_BARRIER_WRITE(sc);
usr/src/uts/common/io/iwn/if_iwn.c
1546
IWN_WRITE(sc, IWN_PRPH_WDATA, data);
usr/src/uts/common/io/iwn/if_iwn.c
1550
iwn_prph_setbits(struct iwn_softc *sc, uint32_t addr, uint32_t mask)
usr/src/uts/common/io/iwn/if_iwn.c
1552
iwn_prph_write(sc, addr, iwn_prph_read(sc, addr) | mask);
usr/src/uts/common/io/iwn/if_iwn.c
1556
iwn_prph_clrbits(struct iwn_softc *sc, uint32_t addr, uint32_t mask)
usr/src/uts/common/io/iwn/if_iwn.c
1558
iwn_prph_write(sc, addr, iwn_prph_read(sc, addr) & ~mask);
usr/src/uts/common/io/iwn/if_iwn.c
1562
iwn_prph_write_region_4(struct iwn_softc *sc, uint32_t addr,
usr/src/uts/common/io/iwn/if_iwn.c
1566
iwn_prph_write(sc, addr, *data);
usr/src/uts/common/io/iwn/if_iwn.c
1570
iwn_mem_read(struct iwn_softc *sc, uint32_t addr)
usr/src/uts/common/io/iwn/if_iwn.c
1572
IWN_WRITE(sc, IWN_MEM_RADDR, addr);
usr/src/uts/common/io/iwn/if_iwn.c
1573
IWN_BARRIER_READ_WRITE(sc);
usr/src/uts/common/io/iwn/if_iwn.c
1574
return IWN_READ(sc, IWN_MEM_RDATA);
usr/src/uts/common/io/iwn/if_iwn.c
1578
iwn_mem_write(struct iwn_softc *sc, uint32_t addr, uint32_t data)
usr/src/uts/common/io/iwn/if_iwn.c
1580
IWN_WRITE(sc, IWN_MEM_WADDR, addr);
usr/src/uts/common/io/iwn/if_iwn.c
1581
IWN_BARRIER_WRITE(sc);
usr/src/uts/common/io/iwn/if_iwn.c
1582
IWN_WRITE(sc, IWN_MEM_WDATA, data);
usr/src/uts/common/io/iwn/if_iwn.c
1587
iwn_mem_write_2(struct iwn_softc *sc, uint32_t addr, uint16_t data)
usr/src/uts/common/io/iwn/if_iwn.c
1591
tmp = iwn_mem_read(sc, addr & ~3);
usr/src/uts/common/io/iwn/if_iwn.c
1596
iwn_mem_write(sc, addr & ~3, tmp);
usr/src/uts/common/io/iwn/if_iwn.c
1601
iwn_mem_read_region_4(struct iwn_softc *sc, uint32_t addr, uint32_t *data,
usr/src/uts/common/io/iwn/if_iwn.c
1605
*data++ = iwn_mem_read(sc, addr);
usr/src/uts/common/io/iwn/if_iwn.c
1609
iwn_mem_set_region_4(struct iwn_softc *sc, uint32_t addr, uint32_t val,
usr/src/uts/common/io/iwn/if_iwn.c
1613
iwn_mem_write(sc, addr, val);
usr/src/uts/common/io/iwn/if_iwn.c
1617
iwn_eeprom_lock(struct iwn_softc *sc)
usr/src/uts/common/io/iwn/if_iwn.c
1623
IWN_SETBITS(sc, IWN_HW_IF_CONFIG,
usr/src/uts/common/io/iwn/if_iwn.c
1628
if (IWN_READ(sc, IWN_HW_IF_CONFIG) &
usr/src/uts/common/io/iwn/if_iwn.c
1638
iwn_eeprom_unlock(struct iwn_softc *sc)
usr/src/uts/common/io/iwn/if_iwn.c
1640
IWN_CLRBITS(sc, IWN_HW_IF_CONFIG, IWN_HW_IF_CONFIG_EEPROM_LOCKED);
usr/src/uts/common/io/iwn/if_iwn.c
1648
iwn_init_otprom(struct iwn_softc *sc)
usr/src/uts/common/io/iwn/if_iwn.c
1654
if ((error = iwn_clock_wait(sc)) != 0)
usr/src/uts/common/io/iwn/if_iwn.c
1657
if ((error = iwn_nic_lock(sc)) != 0)
usr/src/uts/common/io/iwn/if_iwn.c
1659
iwn_prph_setbits(sc, IWN_APMG_PS, IWN_APMG_PS_RESET_REQ);
usr/src/uts/common/io/iwn/if_iwn.c
1661
iwn_prph_clrbits(sc, IWN_APMG_PS, IWN_APMG_PS_RESET_REQ);
usr/src/uts/common/io/iwn/if_iwn.c
1662
iwn_nic_unlock(sc);
usr/src/uts/common/io/iwn/if_iwn.c
1665
if (sc->hw_type != IWN_HW_REV_TYPE_1000) {
usr/src/uts/common/io/iwn/if_iwn.c
1666
IWN_SETBITS(sc, IWN_DBG_LINK_PWR_MGMT,
usr/src/uts/common/io/iwn/if_iwn.c
1669
IWN_CLRBITS(sc, IWN_EEPROM_GP, IWN_EEPROM_GP_IF_OWNER);
usr/src/uts/common/io/iwn/if_iwn.c
1671
IWN_SETBITS(sc, IWN_OTP_GP,
usr/src/uts/common/io/iwn/if_iwn.c
1678
if (sc->hw_type == IWN_HW_REV_TYPE_1000) {
usr/src/uts/common/io/iwn/if_iwn.c
1680
IWN_CLRBITS(sc, IWN_OTP_GP, IWN_OTP_GP_RELATIVE_ACCESS);
usr/src/uts/common/io/iwn/if_iwn.c
1683
error = iwn_read_prom_data(sc, base, &next, 2);
usr/src/uts/common/io/iwn/if_iwn.c
1694
sc->prom_base = prev + 1;
usr/src/uts/common/io/iwn/if_iwn.c
1700
iwn_read_prom_data(struct iwn_softc *sc, uint32_t addr, void *data, int count)
usr/src/uts/common/io/iwn/if_iwn.c
1706
addr += sc->prom_base;
usr/src/uts/common/io/iwn/if_iwn.c
1708
IWN_WRITE(sc, IWN_EEPROM, addr << 2);
usr/src/uts/common/io/iwn/if_iwn.c
1710
val = IWN_READ(sc, IWN_EEPROM);
usr/src/uts/common/io/iwn/if_iwn.c
1716
dev_err(sc->sc_dip, CE_WARN,
usr/src/uts/common/io/iwn/if_iwn.c
1720
if (sc->sc_flags & IWN_FLAG_HAS_OTPROM) {
usr/src/uts/common/io/iwn/if_iwn.c
1722
tmp = IWN_READ(sc, IWN_OTP_GP);
usr/src/uts/common/io/iwn/if_iwn.c
1724
dev_err(sc->sc_dip, CE_WARN,
usr/src/uts/common/io/iwn/if_iwn.c
1730
IWN_SETBITS(sc, IWN_OTP_GP,
usr/src/uts/common/io/iwn/if_iwn.c
1742
iwn_dma_contig_alloc(struct iwn_softc *sc, struct iwn_dma_info *dma,
usr/src/uts/common/io/iwn/if_iwn.c
1762
error = ddi_dma_alloc_handle(sc->sc_dip, &dma_attr, DDI_DMA_SLEEP, NULL,
usr/src/uts/common/io/iwn/if_iwn.c
1765
dev_err(sc->sc_dip, CE_WARN,
usr/src/uts/common/io/iwn/if_iwn.c
1774
dev_err(sc->sc_dip, CE_WARN,
usr/src/uts/common/io/iwn/if_iwn.c
1786
dev_err(sc->sc_dip, CE_WARN,
usr/src/uts/common/io/iwn/if_iwn.c
1824
iwn_alloc_sched(struct iwn_softc *sc)
usr/src/uts/common/io/iwn/if_iwn.c
1828
return iwn_dma_contig_alloc(sc, &sc->sched_dma, sc->schedsz,
usr/src/uts/common/io/iwn/if_iwn.c
1829
DDI_DMA_CONSISTENT | DDI_DMA_RDWR, (void **)&sc->sched,
usr/src/uts/common/io/iwn/if_iwn.c
1834
iwn_free_sched(struct iwn_softc *sc)
usr/src/uts/common/io/iwn/if_iwn.c
1836
iwn_dma_contig_free(&sc->sched_dma);
usr/src/uts/common/io/iwn/if_iwn.c
1840
iwn_alloc_kw(struct iwn_softc *sc)
usr/src/uts/common/io/iwn/if_iwn.c
1844
return iwn_dma_contig_alloc(sc, &sc->kw_dma, IWN_KW_SIZE,
usr/src/uts/common/io/iwn/if_iwn.c
1849
iwn_free_kw(struct iwn_softc *sc)
usr/src/uts/common/io/iwn/if_iwn.c
1851
iwn_dma_contig_free(&sc->kw_dma);
usr/src/uts/common/io/iwn/if_iwn.c
1855
iwn_alloc_ict(struct iwn_softc *sc)
usr/src/uts/common/io/iwn/if_iwn.c
1859
return iwn_dma_contig_alloc(sc, &sc->ict_dma, IWN_ICT_SIZE,
usr/src/uts/common/io/iwn/if_iwn.c
1860
DDI_DMA_CONSISTENT | DDI_DMA_RDWR, (void **)&sc->ict,
usr/src/uts/common/io/iwn/if_iwn.c
1865
iwn_free_ict(struct iwn_softc *sc)
usr/src/uts/common/io/iwn/if_iwn.c
1867
iwn_dma_contig_free(&sc->ict_dma);
usr/src/uts/common/io/iwn/if_iwn.c
1871
iwn_alloc_fwmem(struct iwn_softc *sc)
usr/src/uts/common/io/iwn/if_iwn.c
1874
return iwn_dma_contig_alloc(sc, &sc->fw_dma, sc->fwsz,
usr/src/uts/common/io/iwn/if_iwn.c
1879
iwn_free_fwmem(struct iwn_softc *sc)
usr/src/uts/common/io/iwn/if_iwn.c
1881
iwn_dma_contig_free(&sc->fw_dma);
usr/src/uts/common/io/iwn/if_iwn.c
1885
iwn_alloc_rx_ring(struct iwn_softc *sc, struct iwn_rx_ring *ring)
usr/src/uts/common/io/iwn/if_iwn.c
1894
error = iwn_dma_contig_alloc(sc, &ring->desc_dma, size,
usr/src/uts/common/io/iwn/if_iwn.c
1898
dev_err(sc->sc_dip, CE_WARN,
usr/src/uts/common/io/iwn/if_iwn.c
1904
error = iwn_dma_contig_alloc(sc, &ring->stat_dma,
usr/src/uts/common/io/iwn/if_iwn.c
1908
dev_err(sc->sc_dip, CE_WARN,
usr/src/uts/common/io/iwn/if_iwn.c
1919
error = iwn_dma_contig_alloc(sc, &data->dma_data, IWN_RBUF_SIZE,
usr/src/uts/common/io/iwn/if_iwn.c
1923
dev_err(sc->sc_dip, CE_WARN,
usr/src/uts/common/io/iwn/if_iwn.c
1936
fail: iwn_free_rx_ring(sc, ring);
usr/src/uts/common/io/iwn/if_iwn.c
1941
iwn_reset_rx_ring(struct iwn_softc *sc, struct iwn_rx_ring *ring)
usr/src/uts/common/io/iwn/if_iwn.c
1945
if (iwn_nic_lock(sc) == 0) {
usr/src/uts/common/io/iwn/if_iwn.c
1946
IWN_WRITE(sc, IWN_FH_RX_CONFIG, 0);
usr/src/uts/common/io/iwn/if_iwn.c
1948
if (IWN_READ(sc, IWN_FH_RX_STATUS) &
usr/src/uts/common/io/iwn/if_iwn.c
1953
iwn_nic_unlock(sc);
usr/src/uts/common/io/iwn/if_iwn.c
1956
sc->last_rx_valid = 0;
usr/src/uts/common/io/iwn/if_iwn.c
1960
iwn_free_rx_ring(struct iwn_softc *sc, struct iwn_rx_ring *ring)
usr/src/uts/common/io/iwn/if_iwn.c
1962
_NOTE(ARGUNUSED(sc));
usr/src/uts/common/io/iwn/if_iwn.c
1977
iwn_alloc_tx_ring(struct iwn_softc *sc, struct iwn_tx_ring *ring, int qid)
usr/src/uts/common/io/iwn/if_iwn.c
1989
error = iwn_dma_contig_alloc(sc, &ring->desc_dma, size,
usr/src/uts/common/io/iwn/if_iwn.c
1993
dev_err(sc->sc_dip, CE_WARN,
usr/src/uts/common/io/iwn/if_iwn.c
2006
error = iwn_dma_contig_alloc(sc, &ring->cmd_dma, size,
usr/src/uts/common/io/iwn/if_iwn.c
2010
dev_err(sc->sc_dip, CE_WARN,
usr/src/uts/common/io/iwn/if_iwn.c
2023
error = iwn_dma_contig_alloc(sc, &data->dma_data, IWN_TBUF_SIZE,
usr/src/uts/common/io/iwn/if_iwn.c
2027
dev_err(sc->sc_dip, CE_WARN,
usr/src/uts/common/io/iwn/if_iwn.c
2034
fail: iwn_free_tx_ring(sc, ring);
usr/src/uts/common/io/iwn/if_iwn.c
2039
iwn_reset_tx_ring(struct iwn_softc *sc, struct iwn_tx_ring *ring)
usr/src/uts/common/io/iwn/if_iwn.c
2054
sc->qfullmsk &= ~(1 << ring->qid);
usr/src/uts/common/io/iwn/if_iwn.c
2060
iwn_free_tx_ring(struct iwn_softc *sc, struct iwn_tx_ring *ring)
usr/src/uts/common/io/iwn/if_iwn.c
2062
_NOTE(ARGUNUSED(sc));
usr/src/uts/common/io/iwn/if_iwn.c
2077
iwn5000_ict_reset(struct iwn_softc *sc)
usr/src/uts/common/io/iwn/if_iwn.c
2080
IWN_WRITE(sc, IWN_INT_MASK, 0);
usr/src/uts/common/io/iwn/if_iwn.c
2083
memset(sc->ict, 0, IWN_ICT_SIZE);
usr/src/uts/common/io/iwn/if_iwn.c
2084
sc->ict_cur = 0;
usr/src/uts/common/io/iwn/if_iwn.c
2087
IWN_WRITE(sc, IWN_DRAM_INT_TBL, IWN_DRAM_INT_TBL_ENABLE |
usr/src/uts/common/io/iwn/if_iwn.c
2088
IWN_DRAM_INT_TBL_WRAP_CHECK | sc->ict_dma.paddr >> 12);
usr/src/uts/common/io/iwn/if_iwn.c
2091
sc->int_mask |= IWN_INT_RX_PERIODIC;
usr/src/uts/common/io/iwn/if_iwn.c
2093
sc->sc_flags |= IWN_FLAG_USE_ICT;
usr/src/uts/common/io/iwn/if_iwn.c
2096
IWN_WRITE(sc, IWN_INT, 0xffffffff);
usr/src/uts/common/io/iwn/if_iwn.c
2097
IWN_WRITE(sc, IWN_INT_MASK, sc->int_mask);
usr/src/uts/common/io/iwn/if_iwn.c
2101
iwn_read_eeprom(struct iwn_softc *sc)
usr/src/uts/common/io/iwn/if_iwn.c
2103
struct iwn_ops *ops = &sc->ops;
usr/src/uts/common/io/iwn/if_iwn.c
2104
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/iwn/if_iwn.c
2109
if (sc->hw_type >= IWN_HW_REV_TYPE_1000 &&
usr/src/uts/common/io/iwn/if_iwn.c
2110
(IWN_READ(sc, IWN_OTP_GP) & IWN_OTP_GP_DEV_SEL_OTP))
usr/src/uts/common/io/iwn/if_iwn.c
2111
sc->sc_flags |= IWN_FLAG_HAS_OTPROM;
usr/src/uts/common/io/iwn/if_iwn.c
2113
(sc->sc_flags & IWN_FLAG_HAS_OTPROM) ? "OTPROM" : "EEPROM");
usr/src/uts/common/io/iwn/if_iwn.c
2116
if ((error = iwn_apm_init(sc)) != 0) {
usr/src/uts/common/io/iwn/if_iwn.c
2117
dev_err(sc->sc_dip, CE_WARN,
usr/src/uts/common/io/iwn/if_iwn.c
2122
if ((IWN_READ(sc, IWN_EEPROM_GP) & 0x7) == 0) {
usr/src/uts/common/io/iwn/if_iwn.c
2123
dev_err(sc->sc_dip, CE_WARN,
usr/src/uts/common/io/iwn/if_iwn.c
2127
if ((error = iwn_eeprom_lock(sc)) != 0) {
usr/src/uts/common/io/iwn/if_iwn.c
2128
dev_err(sc->sc_dip, CE_WARN,
usr/src/uts/common/io/iwn/if_iwn.c
2132
if (sc->sc_flags & IWN_FLAG_HAS_OTPROM) {
usr/src/uts/common/io/iwn/if_iwn.c
2133
if ((error = iwn_init_otprom(sc)) != 0) {
usr/src/uts/common/io/iwn/if_iwn.c
2134
dev_err(sc->sc_dip, CE_WARN,
usr/src/uts/common/io/iwn/if_iwn.c
2140
iwn_read_prom_data(sc, IWN_EEPROM_SKU_CAP, &val, 2);
usr/src/uts/common/io/iwn/if_iwn.c
2144
sc->sc_flags |= IWN_FLAG_HAS_11N;
usr/src/uts/common/io/iwn/if_iwn.c
2146
iwn_read_prom_data(sc, IWN_EEPROM_RFCFG, &val, 2);
usr/src/uts/common/io/iwn/if_iwn.c
2147
sc->rfcfg = le16toh(val);
usr/src/uts/common/io/iwn/if_iwn.c
2148
IWN_DBG("radio config=0x%04x", sc->rfcfg);
usr/src/uts/common/io/iwn/if_iwn.c
2150
if (sc->txchainmask == 0)
usr/src/uts/common/io/iwn/if_iwn.c
2151
sc->txchainmask = IWN_RFCFG_TXANTMSK(sc->rfcfg);
usr/src/uts/common/io/iwn/if_iwn.c
2152
if (sc->rxchainmask == 0)
usr/src/uts/common/io/iwn/if_iwn.c
2153
sc->rxchainmask = IWN_RFCFG_RXANTMSK(sc->rfcfg);
usr/src/uts/common/io/iwn/if_iwn.c
2156
iwn_read_prom_data(sc, IWN_EEPROM_MAC, ic->ic_macaddr, 6);
usr/src/uts/common/io/iwn/if_iwn.c
2159
ops->read_eeprom(sc);
usr/src/uts/common/io/iwn/if_iwn.c
2161
iwn_apm_stop(sc); /* Power OFF adapter. */
usr/src/uts/common/io/iwn/if_iwn.c
2163
iwn_eeprom_unlock(sc);
usr/src/uts/common/io/iwn/if_iwn.c
2168
iwn4965_read_eeprom(struct iwn_softc *sc)
usr/src/uts/common/io/iwn/if_iwn.c
2175
iwn_read_prom_data(sc, IWN4965_EEPROM_DOMAIN, sc->eeprom_domain, 4);
usr/src/uts/common/io/iwn/if_iwn.c
2180
iwn_read_eeprom_channels(sc, i, addr);
usr/src/uts/common/io/iwn/if_iwn.c
2184
iwn_read_prom_data(sc, IWN4965_EEPROM_MAXPOW, &val, 2);
usr/src/uts/common/io/iwn/if_iwn.c
2185
sc->maxpwr2GHz = val & 0xff;
usr/src/uts/common/io/iwn/if_iwn.c
2186
sc->maxpwr5GHz = val >> 8;
usr/src/uts/common/io/iwn/if_iwn.c
2188
if (sc->maxpwr5GHz < 20 || sc->maxpwr5GHz > 50)
usr/src/uts/common/io/iwn/if_iwn.c
2189
sc->maxpwr5GHz = 38;
usr/src/uts/common/io/iwn/if_iwn.c
2190
if (sc->maxpwr2GHz < 20 || sc->maxpwr2GHz > 50)
usr/src/uts/common/io/iwn/if_iwn.c
2191
sc->maxpwr2GHz = 38;
usr/src/uts/common/io/iwn/if_iwn.c
2192
IWN_DBG("maxpwr 2GHz=%d 5GHz=%d", sc->maxpwr2GHz, sc->maxpwr5GHz);
usr/src/uts/common/io/iwn/if_iwn.c
2195
iwn_read_prom_data(sc, IWN4965_EEPROM_BANDS, sc->bands,
usr/src/uts/common/io/iwn/if_iwn.c
2196
sizeof sc->bands);
usr/src/uts/common/io/iwn/if_iwn.c
2199
iwn_read_prom_data(sc, IWN4965_EEPROM_VOLTAGE, &val, 2);
usr/src/uts/common/io/iwn/if_iwn.c
2200
sc->eeprom_voltage = (int16_t)le16toh(val);
usr/src/uts/common/io/iwn/if_iwn.c
2201
IWN_DBG("voltage=%d (in 0.3V)", sc->eeprom_voltage);
usr/src/uts/common/io/iwn/if_iwn.c
2207
iwn4965_print_power_group(sc, i);
usr/src/uts/common/io/iwn/if_iwn.c
2214
iwn4965_print_power_group(struct iwn_softc *sc, int i)
usr/src/uts/common/io/iwn/if_iwn.c
2216
struct iwn4965_eeprom_band *band = &sc->bands[i];
usr/src/uts/common/io/iwn/if_iwn.c
2220
dev_err(sc->sc_dip, CE_CONT, "!===band %d===", i);
usr/src/uts/common/io/iwn/if_iwn.c
2221
dev_err(sc->sc_dip, CE_CONT, "!chan lo=%d, chan hi=%d", band->lo,
usr/src/uts/common/io/iwn/if_iwn.c
2223
dev_err(sc->sc_dip, CE_CONT, "!chan1 num=%d", chans[0].num);
usr/src/uts/common/io/iwn/if_iwn.c
2226
dev_err(sc->sc_dip, CE_CONT, "!chain %d, sample %d: "
usr/src/uts/common/io/iwn/if_iwn.c
2234
dev_err(sc->sc_dip, CE_CONT, "!chan2 num=%d", chans[1].num);
usr/src/uts/common/io/iwn/if_iwn.c
2237
dev_err(sc->sc_dip, CE_CONT, "!chain %d, sample %d: "
usr/src/uts/common/io/iwn/if_iwn.c
2249
iwn5000_read_eeprom(struct iwn_softc *sc)
usr/src/uts/common/io/iwn/if_iwn.c
2258
iwn_read_prom_data(sc, IWN5000_EEPROM_REG, &val, 2);
usr/src/uts/common/io/iwn/if_iwn.c
2260
iwn_read_prom_data(sc, base + IWN5000_EEPROM_DOMAIN,
usr/src/uts/common/io/iwn/if_iwn.c
2261
sc->eeprom_domain, 4);
usr/src/uts/common/io/iwn/if_iwn.c
2266
iwn_read_eeprom_channels(sc, i, addr);
usr/src/uts/common/io/iwn/if_iwn.c
2270
if (sc->hw_type >= IWN_HW_REV_TYPE_6000)
usr/src/uts/common/io/iwn/if_iwn.c
2271
iwn_read_eeprom_enhinfo(sc);
usr/src/uts/common/io/iwn/if_iwn.c
2273
iwn_read_prom_data(sc, IWN5000_EEPROM_CAL, &val, 2);
usr/src/uts/common/io/iwn/if_iwn.c
2275
iwn_read_prom_data(sc, base, &hdr, sizeof hdr);
usr/src/uts/common/io/iwn/if_iwn.c
2278
sc->calib_ver = hdr.version;
usr/src/uts/common/io/iwn/if_iwn.c
2280
if (sc->hw_type == IWN_HW_REV_TYPE_2030 ||
usr/src/uts/common/io/iwn/if_iwn.c
2281
sc->hw_type == IWN_HW_REV_TYPE_2000 ||
usr/src/uts/common/io/iwn/if_iwn.c
2282
sc->hw_type == IWN_HW_REV_TYPE_135 ||
usr/src/uts/common/io/iwn/if_iwn.c
2283
sc->hw_type == IWN_HW_REV_TYPE_105) {
usr/src/uts/common/io/iwn/if_iwn.c
2284
sc->eeprom_voltage = le16toh(hdr.volt);
usr/src/uts/common/io/iwn/if_iwn.c
2285
iwn_read_prom_data(sc, base + IWN5000_EEPROM_TEMP, &val, 2);
usr/src/uts/common/io/iwn/if_iwn.c
2286
sc->eeprom_temp = le16toh(val);
usr/src/uts/common/io/iwn/if_iwn.c
2287
iwn_read_prom_data(sc, base + IWN2000_EEPROM_RAWTEMP, &val, 2);
usr/src/uts/common/io/iwn/if_iwn.c
2288
sc->eeprom_rawtemp = le16toh(val);
usr/src/uts/common/io/iwn/if_iwn.c
2291
if (sc->hw_type == IWN_HW_REV_TYPE_5150) {
usr/src/uts/common/io/iwn/if_iwn.c
2293
iwn_read_prom_data(sc, base + IWN5000_EEPROM_TEMP, &val, 2);
usr/src/uts/common/io/iwn/if_iwn.c
2294
sc->eeprom_temp = le16toh(val);
usr/src/uts/common/io/iwn/if_iwn.c
2295
iwn_read_prom_data(sc, base + IWN5000_EEPROM_VOLT, &val, 2);
usr/src/uts/common/io/iwn/if_iwn.c
2297
sc->temp_off = sc->eeprom_temp - (volt / -5);
usr/src/uts/common/io/iwn/if_iwn.c
2299
sc->eeprom_temp, volt, sc->temp_off);
usr/src/uts/common/io/iwn/if_iwn.c
2302
iwn_read_prom_data(sc, base + IWN5000_EEPROM_CRYSTAL,
usr/src/uts/common/io/iwn/if_iwn.c
2303
&sc->eeprom_crystal, sizeof (uint32_t));
usr/src/uts/common/io/iwn/if_iwn.c
2305
le32toh(sc->eeprom_crystal));
usr/src/uts/common/io/iwn/if_iwn.c
2310
iwn_read_eeprom_channels(struct iwn_softc *sc, int n, uint32_t addr)
usr/src/uts/common/io/iwn/if_iwn.c
2312
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/iwn/if_iwn.c
2318
iwn_read_prom_data(sc, addr, channels,
usr/src/uts/common/io/iwn/if_iwn.c
2349
sc->sc_flags |= IWN_FLAG_HAS_5GHZ;
usr/src/uts/common/io/iwn/if_iwn.c
2359
sc->maxpwr[chan] = channels[i].maxpwr;
usr/src/uts/common/io/iwn/if_iwn.c
2362
chan, channels[i].flags, sc->maxpwr[chan]);
usr/src/uts/common/io/iwn/if_iwn.c
2367
iwn_read_eeprom_enhinfo(struct iwn_softc *sc)
usr/src/uts/common/io/iwn/if_iwn.c
2374
iwn_read_prom_data(sc, IWN5000_EEPROM_REG, &val, 2);
usr/src/uts/common/io/iwn/if_iwn.c
2376
iwn_read_prom_data(sc, base + IWN6000_EEPROM_ENHINFO,
usr/src/uts/common/io/iwn/if_iwn.c
2379
memset(sc->enh_maxpwr, 0, sizeof sc->enh_maxpwr);
usr/src/uts/common/io/iwn/if_iwn.c
2385
if (sc->txchainmask & IWN_ANT_A)
usr/src/uts/common/io/iwn/if_iwn.c
2387
if (sc->txchainmask & IWN_ANT_B)
usr/src/uts/common/io/iwn/if_iwn.c
2389
if (sc->txchainmask & IWN_ANT_C)
usr/src/uts/common/io/iwn/if_iwn.c
2391
if (sc->ntxchains == 2)
usr/src/uts/common/io/iwn/if_iwn.c
2393
else if (sc->ntxchains == 3)
usr/src/uts/common/io/iwn/if_iwn.c
2398
sc->enh_maxpwr[i] = maxpwr;
usr/src/uts/common/io/iwn/if_iwn.c
2431
struct iwn_softc *sc = (struct iwn_softc *)&ni->in_ic;
usr/src/uts/common/io/iwn/if_iwn.c
2436
ieee80211_amrr_node_init(&sc->amrr, &wn->amn);
usr/src/uts/common/io/iwn/if_iwn.c
2455
struct iwn_softc *sc = (struct iwn_softc *)ic;
usr/src/uts/common/io/iwn/if_iwn.c
2459
mutex_enter(&sc->sc_mtx);
usr/src/uts/common/io/iwn/if_iwn.c
2460
sc->sc_flags |= IWN_FLAG_STOP_CALIB_TO;
usr/src/uts/common/io/iwn/if_iwn.c
2461
mutex_exit(&sc->sc_mtx);
usr/src/uts/common/io/iwn/if_iwn.c
2463
(void) untimeout(sc->calib_to);
usr/src/uts/common/io/iwn/if_iwn.c
2464
sc->calib_to = 0;
usr/src/uts/common/io/iwn/if_iwn.c
2466
mutex_enter(&sc->sc_mtx);
usr/src/uts/common/io/iwn/if_iwn.c
2469
DTRACE_PROBE5(new__state, int, sc->sc_flags,
usr/src/uts/common/io/iwn/if_iwn.c
2475
if ((sc->sc_flags & IWN_FLAG_RADIO_OFF) && nstate != IEEE80211_S_INIT) {
usr/src/uts/common/io/iwn/if_iwn.c
2476
mutex_exit(&sc->sc_mtx);
usr/src/uts/common/io/iwn/if_iwn.c
2480
if (!(sc->sc_flags & IWN_FLAG_HW_INITED) &&
usr/src/uts/common/io/iwn/if_iwn.c
2482
mutex_exit(&sc->sc_mtx);
usr/src/uts/common/io/iwn/if_iwn.c
2489
if (sc->sc_flags & IWN_FLAG_SCANNING) {
usr/src/uts/common/io/iwn/if_iwn.c
2491
dev_err(sc->sc_dip, CE_WARN, "!scan request(%d)"
usr/src/uts/common/io/iwn/if_iwn.c
2494
mutex_exit(&sc->sc_mtx);
usr/src/uts/common/io/iwn/if_iwn.c
2498
bcopy(&sc->rxon, &sc->rxon_save, sizeof (sc->rxon));
usr/src/uts/common/io/iwn/if_iwn.c
2499
sc->sc_ostate = ostate;
usr/src/uts/common/io/iwn/if_iwn.c
2504
sc->sc_flags |= IWN_FLAG_SCANNING_2GHZ;
usr/src/uts/common/io/iwn/if_iwn.c
2507
iwn_set_led(sc, IWN_LED_LINK, 10, 10);
usr/src/uts/common/io/iwn/if_iwn.c
2511
error = iwn_scan(sc, IEEE80211_CHAN_2GHZ);
usr/src/uts/common/io/iwn/if_iwn.c
2513
dev_err(sc->sc_dip, CE_WARN,
usr/src/uts/common/io/iwn/if_iwn.c
2515
sc->sc_flags &= ~IWN_FLAG_SCANNING;
usr/src/uts/common/io/iwn/if_iwn.c
2516
mutex_exit(&sc->sc_mtx);
usr/src/uts/common/io/iwn/if_iwn.c
2520
mutex_exit(&sc->sc_mtx);
usr/src/uts/common/io/iwn/if_iwn.c
2521
sc->scan_to = timeout(iwn_abort_scan, sc, iwn_scan_timeout *
usr/src/uts/common/io/iwn/if_iwn.c
2527
mutex_exit(&sc->sc_mtx);
usr/src/uts/common/io/iwn/if_iwn.c
2533
sc->rxon.associd = 0;
usr/src/uts/common/io/iwn/if_iwn.c
2534
sc->rxon.filter &= ~htole32(IWN_FILTER_BSS);
usr/src/uts/common/io/iwn/if_iwn.c
2535
sc->calib.state = IWN_CALIB_STATE_INIT;
usr/src/uts/common/io/iwn/if_iwn.c
2537
if ((error = iwn_auth(sc)) != 0) {
usr/src/uts/common/io/iwn/if_iwn.c
2538
mutex_exit(&sc->sc_mtx);
usr/src/uts/common/io/iwn/if_iwn.c
2539
dev_err(sc->sc_dip, CE_WARN,
usr/src/uts/common/io/iwn/if_iwn.c
2543
mutex_exit(&sc->sc_mtx);
usr/src/uts/common/io/iwn/if_iwn.c
2547
if ((error = iwn_run(sc)) != 0) {
usr/src/uts/common/io/iwn/if_iwn.c
2548
mutex_exit(&sc->sc_mtx);
usr/src/uts/common/io/iwn/if_iwn.c
2549
dev_err(sc->sc_dip, CE_WARN,
usr/src/uts/common/io/iwn/if_iwn.c
2553
mutex_exit(&sc->sc_mtx);
usr/src/uts/common/io/iwn/if_iwn.c
2557
sc->sc_flags &= ~IWN_FLAG_SCANNING;
usr/src/uts/common/io/iwn/if_iwn.c
2558
sc->calib.state = IWN_CALIB_STATE_INIT;
usr/src/uts/common/io/iwn/if_iwn.c
2563
iwn_set_led(sc, IWN_LED_LINK, 1, 0);
usr/src/uts/common/io/iwn/if_iwn.c
2565
cv_signal(&sc->sc_scan_cv);
usr/src/uts/common/io/iwn/if_iwn.c
2566
mutex_exit(&sc->sc_mtx);
usr/src/uts/common/io/iwn/if_iwn.c
2567
if (sc->scan_to != 0)
usr/src/uts/common/io/iwn/if_iwn.c
2568
(void) untimeout(sc->scan_to);
usr/src/uts/common/io/iwn/if_iwn.c
2569
sc->scan_to = 0;
usr/src/uts/common/io/iwn/if_iwn.c
2573
error = sc->sc_newstate(ic, nstate, arg);
usr/src/uts/common/io/iwn/if_iwn.c
2584
struct iwn_softc *sc = arg;
usr/src/uts/common/io/iwn/if_iwn.c
2587
ieee80211_amrr_choose(&sc->amrr, ni, &wn->amn);
usr/src/uts/common/io/iwn/if_iwn.c
2593
struct iwn_softc *sc = arg;
usr/src/uts/common/io/iwn/if_iwn.c
2594
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/iwn/if_iwn.c
2596
mutex_enter(&sc->sc_mtx);
usr/src/uts/common/io/iwn/if_iwn.c
2600
iwn_iter_func(sc, ic->ic_bss);
usr/src/uts/common/io/iwn/if_iwn.c
2602
ieee80211_iterate_nodes(&ic->ic_sta, iwn_iter_func, sc);
usr/src/uts/common/io/iwn/if_iwn.c
2605
if (++sc->calib_cnt >= 120) {
usr/src/uts/common/io/iwn/if_iwn.c
2609
(void)iwn_cmd(sc, IWN_CMD_GET_STATISTICS, &flags,
usr/src/uts/common/io/iwn/if_iwn.c
2611
sc->calib_cnt = 0;
usr/src/uts/common/io/iwn/if_iwn.c
2615
if ((sc->sc_flags & IWN_FLAG_STOP_CALIB_TO) == 0)
usr/src/uts/common/io/iwn/if_iwn.c
2616
sc->calib_to = timeout(iwn_calib_timeout, sc,
usr/src/uts/common/io/iwn/if_iwn.c
2619
mutex_exit(&sc->sc_mtx);
usr/src/uts/common/io/iwn/if_iwn.c
2627
iwn_rx_phy(struct iwn_softc *sc, struct iwn_rx_desc *desc,
usr/src/uts/common/io/iwn/if_iwn.c
2638
memcpy(&sc->last_rx_stat, stat, sizeof (*stat));
usr/src/uts/common/io/iwn/if_iwn.c
2639
sc->last_rx_valid = 1;
usr/src/uts/common/io/iwn/if_iwn.c
2647
iwn_rx_done(struct iwn_softc *sc, struct iwn_rx_desc *desc,
usr/src/uts/common/io/iwn/if_iwn.c
2650
struct iwn_ops *ops = &sc->ops;
usr/src/uts/common/io/iwn/if_iwn.c
2651
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/iwn/if_iwn.c
2652
struct iwn_rx_ring *ring = &sc->rxq;
usr/src/uts/common/io/iwn/if_iwn.c
2663
if (!sc->last_rx_valid) {
usr/src/uts/common/io/iwn/if_iwn.c
2664
dev_err(sc->sc_dip, CE_WARN,
usr/src/uts/common/io/iwn/if_iwn.c
2668
sc->last_rx_valid = 0;
usr/src/uts/common/io/iwn/if_iwn.c
2669
stat = &sc->last_rx_stat;
usr/src/uts/common/io/iwn/if_iwn.c
2677
dev_err(sc->sc_dip, CE_WARN,
usr/src/uts/common/io/iwn/if_iwn.c
2694
sc->sc_rx_err++;
usr/src/uts/common/io/iwn/if_iwn.c
2700
sc->sc_rx_err++;
usr/src/uts/common/io/iwn/if_iwn.c
2706
sc->sc_rx_nobuf++;
usr/src/uts/common/io/iwn/if_iwn.c
2741
iwn_fix_channel(sc, m, stat);
usr/src/uts/common/io/iwn/if_iwn.c
2753
iwn_rx_compressed_ba(struct iwn_softc *sc, struct iwn_rx_desc *desc,
usr/src/uts/common/io/iwn/if_iwn.c
2762
txq = &sc->txq[le16toh(ba->qid)];
usr/src/uts/common/io/iwn/if_iwn.c
2772
iwn5000_rx_calib_results(struct iwn_softc *sc, struct iwn_rx_desc *desc,
usr/src/uts/common/io/iwn/if_iwn.c
2779
if (sc->sc_flags & IWN_FLAG_CALIB_DONE)
usr/src/uts/common/io/iwn/if_iwn.c
2788
if (sc->hw_type == IWN_HW_REV_TYPE_5150 ||
usr/src/uts/common/io/iwn/if_iwn.c
2789
sc->hw_type == IWN_HW_REV_TYPE_2030 ||
usr/src/uts/common/io/iwn/if_iwn.c
2790
sc->hw_type == IWN_HW_REV_TYPE_2000 ||
usr/src/uts/common/io/iwn/if_iwn.c
2791
sc->hw_type == IWN_HW_REV_TYPE_135 ||
usr/src/uts/common/io/iwn/if_iwn.c
2792
sc->hw_type == IWN_HW_REV_TYPE_105)
usr/src/uts/common/io/iwn/if_iwn.c
2802
if (sc->hw_type < IWN_HW_REV_TYPE_6000 &&
usr/src/uts/common/io/iwn/if_iwn.c
2803
sc->hw_type != IWN_HW_REV_TYPE_5150)
usr/src/uts/common/io/iwn/if_iwn.c
2814
if (sc->calibcmd[idx].buf != NULL)
usr/src/uts/common/io/iwn/if_iwn.c
2815
kmem_free(sc->calibcmd[idx].buf, sc->calibcmd[idx].len);
usr/src/uts/common/io/iwn/if_iwn.c
2816
sc->calibcmd[idx].buf = kmem_zalloc(len, KM_NOSLEEP);
usr/src/uts/common/io/iwn/if_iwn.c
2817
if (sc->calibcmd[idx].buf == NULL) {
usr/src/uts/common/io/iwn/if_iwn.c
2820
sc->calibcmd[idx].len = len;
usr/src/uts/common/io/iwn/if_iwn.c
2821
memcpy(sc->calibcmd[idx].buf, calib, len);
usr/src/uts/common/io/iwn/if_iwn.c
2829
iwn_rx_statistics(struct iwn_softc *sc, struct iwn_rx_desc *desc,
usr/src/uts/common/io/iwn/if_iwn.c
2832
struct iwn_ops *ops = &sc->ops;
usr/src/uts/common/io/iwn/if_iwn.c
2833
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/iwn/if_iwn.c
2834
struct iwn_calib_state *calib = &sc->calib;
usr/src/uts/common/io/iwn/if_iwn.c
2845
sc->calib_cnt = 0; /* Reset TX power calibration timeout. */
usr/src/uts/common/io/iwn/if_iwn.c
2848
if (stats->general.temp != sc->rawtemp) {
usr/src/uts/common/io/iwn/if_iwn.c
2850
sc->rawtemp = stats->general.temp;
usr/src/uts/common/io/iwn/if_iwn.c
2851
temp = ops->get_temperature(sc);
usr/src/uts/common/io/iwn/if_iwn.c
2852
sc->sc_misc->temp.value.ul = temp;
usr/src/uts/common/io/iwn/if_iwn.c
2855
if (sc->hw_type == IWN_HW_REV_TYPE_4965)
usr/src/uts/common/io/iwn/if_iwn.c
2856
iwn4965_power_calibration(sc, temp);
usr/src/uts/common/io/iwn/if_iwn.c
2864
sc->noise = iwn_get_noise(&stats->rx.general);
usr/src/uts/common/io/iwn/if_iwn.c
2865
sc->sc_misc->noise.value.l = sc->noise;
usr/src/uts/common/io/iwn/if_iwn.c
2877
if (sc->hw_type == IWN_HW_REV_TYPE_6005)
usr/src/uts/common/io/iwn/if_iwn.c
2881
iwn_collect_noise(sc, &stats->rx.general);
usr/src/uts/common/io/iwn/if_iwn.c
2883
iwn_tune_sensitivity(sc, &stats->rx);
usr/src/uts/common/io/iwn/if_iwn.c
2891
iwn4965_tx_done(struct iwn_softc *sc, struct iwn_rx_desc *desc,
usr/src/uts/common/io/iwn/if_iwn.c
2898
iwn_tx_done(sc, desc, stat->ackfailcnt, le32toh(stat->status) & 0xff);
usr/src/uts/common/io/iwn/if_iwn.c
2902
iwn5000_tx_done(struct iwn_softc *sc, struct iwn_rx_desc *desc,
usr/src/uts/common/io/iwn/if_iwn.c
2909
iwn5000_reset_sched(sc, desc->qid & 0xf, desc->idx);
usr/src/uts/common/io/iwn/if_iwn.c
2914
iwn_tx_done(sc, desc, stat->ackfailcnt, le16toh(stat->status) & 0xff);
usr/src/uts/common/io/iwn/if_iwn.c
2921
iwn_tx_done(struct iwn_softc *sc, struct iwn_rx_desc *desc, int ackfailcnt,
usr/src/uts/common/io/iwn/if_iwn.c
2924
struct iwn_tx_ring *ring = &sc->txq[desc->qid & 0xf];
usr/src/uts/common/io/iwn/if_iwn.c
2934
sc->sc_tx_err++;
usr/src/uts/common/io/iwn/if_iwn.c
2936
sc->sc_ic.ic_stats.is_tx_frags++;
usr/src/uts/common/io/iwn/if_iwn.c
2941
mutex_enter(&sc->sc_tx_mtx);
usr/src/uts/common/io/iwn/if_iwn.c
2942
sc->sc_tx_timer = 0;
usr/src/uts/common/io/iwn/if_iwn.c
2944
sc->qfullmsk &= ~(1 << ring->qid);
usr/src/uts/common/io/iwn/if_iwn.c
2946
mac_tx_update(sc->sc_ic.ic_mach);
usr/src/uts/common/io/iwn/if_iwn.c
2947
mutex_exit(&sc->sc_tx_mtx);
usr/src/uts/common/io/iwn/if_iwn.c
2955
iwn_cmd_done(struct iwn_softc *sc, struct iwn_rx_desc *desc)
usr/src/uts/common/io/iwn/if_iwn.c
2957
struct iwn_tx_ring *ring = &sc->txq[IWN_CMD_QUEUE_NUM];
usr/src/uts/common/io/iwn/if_iwn.c
2974
mutex_enter(&sc->sc_mtx);
usr/src/uts/common/io/iwn/if_iwn.c
2975
sc->sc_cmd_flag = SC_CMD_FLG_DONE;
usr/src/uts/common/io/iwn/if_iwn.c
2976
cv_signal(&sc->sc_cmd_cv);
usr/src/uts/common/io/iwn/if_iwn.c
2977
mutex_exit(&sc->sc_mtx);
usr/src/uts/common/io/iwn/if_iwn.c
2984
iwn_notif_intr(struct iwn_softc *sc)
usr/src/uts/common/io/iwn/if_iwn.c
2986
struct iwn_ops *ops = &sc->ops;
usr/src/uts/common/io/iwn/if_iwn.c
2987
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/iwn/if_iwn.c
2990
ASSERT(sc != NULL);
usr/src/uts/common/io/iwn/if_iwn.c
2992
(void) ddi_dma_sync(sc->rxq.stat_dma.dma_hdl, 0, 0,
usr/src/uts/common/io/iwn/if_iwn.c
2995
hw = le16toh(sc->rxq.stat->closed_count) & 0xfff;
usr/src/uts/common/io/iwn/if_iwn.c
2996
while (sc->rxq.cur != hw) {
usr/src/uts/common/io/iwn/if_iwn.c
2997
struct iwn_rx_data *data = &sc->rxq.data[sc->rxq.cur];
usr/src/uts/common/io/iwn/if_iwn.c
3007
iwn_cmd_done(sc, desc);
usr/src/uts/common/io/iwn/if_iwn.c
3011
iwn_rx_phy(sc, desc, data);
usr/src/uts/common/io/iwn/if_iwn.c
3017
iwn_rx_done(sc, desc, data);
usr/src/uts/common/io/iwn/if_iwn.c
3022
iwn_rx_compressed_ba(sc, desc, data);
usr/src/uts/common/io/iwn/if_iwn.c
3027
ops->tx_done(sc, desc, data);
usr/src/uts/common/io/iwn/if_iwn.c
3032
mutex_enter(&sc->sc_mtx);
usr/src/uts/common/io/iwn/if_iwn.c
3033
iwn_rx_statistics(sc, desc, data);
usr/src/uts/common/io/iwn/if_iwn.c
3034
mutex_exit(&sc->sc_mtx);
usr/src/uts/common/io/iwn/if_iwn.c
3058
dev_err(sc->sc_dip, CE_WARN,
usr/src/uts/common/io/iwn/if_iwn.c
3066
mutex_enter(&sc->sc_mtx);
usr/src/uts/common/io/iwn/if_iwn.c
3067
(void)iwn_init_sensitivity(sc);
usr/src/uts/common/io/iwn/if_iwn.c
3068
mutex_exit(&sc->sc_mtx);
usr/src/uts/common/io/iwn/if_iwn.c
3085
dev_err(sc->sc_dip, CE_WARN,
usr/src/uts/common/io/iwn/if_iwn.c
3091
memcpy(&sc->ucode_info, uc, sizeof (*uc));
usr/src/uts/common/io/iwn/if_iwn.c
3094
sc->errptr = le32toh(uc->errptr);
usr/src/uts/common/io/iwn/if_iwn.c
3110
dev_err(sc->sc_dip, CE_WARN,
usr/src/uts/common/io/iwn/if_iwn.c
3113
mutex_enter(&sc->sc_mtx);
usr/src/uts/common/io/iwn/if_iwn.c
3114
sc->sc_flags |=
usr/src/uts/common/io/iwn/if_iwn.c
3117
mutex_exit(&sc->sc_mtx);
usr/src/uts/common/io/iwn/if_iwn.c
3118
ieee80211_new_state(&sc->sc_ic,
usr/src/uts/common/io/iwn/if_iwn.c
3154
(sc->sc_flags & IWN_FLAG_SCANNING_2GHZ) &&
usr/src/uts/common/io/iwn/if_iwn.c
3155
(sc->sc_flags & IWN_FLAG_HAS_5GHZ)) {
usr/src/uts/common/io/iwn/if_iwn.c
3160
mutex_enter(&sc->sc_mtx);
usr/src/uts/common/io/iwn/if_iwn.c
3161
sc->sc_flags |= IWN_FLAG_SCANNING_5GHZ;
usr/src/uts/common/io/iwn/if_iwn.c
3162
sc->sc_flags &= ~IWN_FLAG_SCANNING_2GHZ;
usr/src/uts/common/io/iwn/if_iwn.c
3163
if (iwn_scan(sc, IEEE80211_CHAN_5GHZ) == 0) {
usr/src/uts/common/io/iwn/if_iwn.c
3164
mutex_exit(&sc->sc_mtx);
usr/src/uts/common/io/iwn/if_iwn.c
3167
mutex_exit(&sc->sc_mtx);
usr/src/uts/common/io/iwn/if_iwn.c
3170
mutex_enter(&sc->sc_mtx);
usr/src/uts/common/io/iwn/if_iwn.c
3171
sc->sc_flags &= ~IWN_FLAG_SCANNING;
usr/src/uts/common/io/iwn/if_iwn.c
3172
cv_signal(&sc->sc_scan_cv);
usr/src/uts/common/io/iwn/if_iwn.c
3173
mutex_exit(&sc->sc_mtx);
usr/src/uts/common/io/iwn/if_iwn.c
3174
(void) untimeout(sc->scan_to);
usr/src/uts/common/io/iwn/if_iwn.c
3175
sc->scan_to = 0;
usr/src/uts/common/io/iwn/if_iwn.c
3179
iwn5000_rx_calib_results(sc, desc, data);
usr/src/uts/common/io/iwn/if_iwn.c
3183
mutex_enter(&sc->sc_mtx);
usr/src/uts/common/io/iwn/if_iwn.c
3184
sc->sc_flags |= IWN_FLAG_CALIB_DONE;
usr/src/uts/common/io/iwn/if_iwn.c
3185
cv_signal(&sc->sc_calib_cv);
usr/src/uts/common/io/iwn/if_iwn.c
3186
mutex_exit(&sc->sc_mtx);
usr/src/uts/common/io/iwn/if_iwn.c
3190
sc->rxq.cur = (sc->rxq.cur + 1) % IWN_RX_RING_COUNT;
usr/src/uts/common/io/iwn/if_iwn.c
3195
IWN_WRITE(sc, IWN_FH_RX_WPTR, hw & ~7);
usr/src/uts/common/io/iwn/if_iwn.c
3203
iwn_wakeup_intr(struct iwn_softc *sc)
usr/src/uts/common/io/iwn/if_iwn.c
3210
IWN_WRITE(sc, IWN_FH_RX_WPTR, sc->rxq.cur & ~7);
usr/src/uts/common/io/iwn/if_iwn.c
3211
for (qid = 0; qid < sc->ntxqs; qid++) {
usr/src/uts/common/io/iwn/if_iwn.c
3212
struct iwn_tx_ring *ring = &sc->txq[qid];
usr/src/uts/common/io/iwn/if_iwn.c
3213
IWN_WRITE(sc, IWN_HBUS_TARG_WRPTR, qid << 8 | ring->cur);
usr/src/uts/common/io/iwn/if_iwn.c
3223
iwn_fatal_intr(struct iwn_softc *sc)
usr/src/uts/common/io/iwn/if_iwn.c
3231
sc->sc_flags &= ~IWN_FLAG_CALIB_DONE;
usr/src/uts/common/io/iwn/if_iwn.c
3234
if (sc->errptr < IWN_FW_DATA_BASE ||
usr/src/uts/common/io/iwn/if_iwn.c
3235
sc->errptr + sizeof (*dump) >
usr/src/uts/common/io/iwn/if_iwn.c
3236
IWN_FW_DATA_BASE + sc->fw_data_maxsz) {
usr/src/uts/common/io/iwn/if_iwn.c
3237
dev_err(sc->sc_dip, CE_WARN,
usr/src/uts/common/io/iwn/if_iwn.c
3238
"!bad firmware error log address 0x%08x", sc->errptr);
usr/src/uts/common/io/iwn/if_iwn.c
3241
if (iwn_nic_lock(sc) != 0) {
usr/src/uts/common/io/iwn/if_iwn.c
3242
dev_err(sc->sc_dip, CE_WARN,
usr/src/uts/common/io/iwn/if_iwn.c
3248
iwn_mem_read_region_4(sc, sc->errptr, buf, ARRAY_SIZE(buf));
usr/src/uts/common/io/iwn/if_iwn.c
3249
iwn_nic_unlock(sc);
usr/src/uts/common/io/iwn/if_iwn.c
3252
dev_err(sc->sc_dip, CE_WARN,
usr/src/uts/common/io/iwn/if_iwn.c
3256
dev_err(sc->sc_dip, CE_WARN, "!firmware error log:");
usr/src/uts/common/io/iwn/if_iwn.c
3257
dev_err(sc->sc_dip, CE_CONT, "! error type = \"%s\" (0x%08X)",
usr/src/uts/common/io/iwn/if_iwn.c
3261
dev_err(sc->sc_dip, CE_CONT, "! program counter = 0x%08X", dump->pc);
usr/src/uts/common/io/iwn/if_iwn.c
3262
dev_err(sc->sc_dip, CE_CONT, "! source line = 0x%08X",
usr/src/uts/common/io/iwn/if_iwn.c
3264
dev_err(sc->sc_dip, CE_CONT, "! error data = 0x%08X%08X",
usr/src/uts/common/io/iwn/if_iwn.c
3266
dev_err(sc->sc_dip, CE_CONT, "! branch link = 0x%08X%08X",
usr/src/uts/common/io/iwn/if_iwn.c
3268
dev_err(sc->sc_dip, CE_CONT, "! interrupt link = 0x%08X%08X",
usr/src/uts/common/io/iwn/if_iwn.c
3270
dev_err(sc->sc_dip, CE_CONT, "! time = %u", dump->time[0]);
usr/src/uts/common/io/iwn/if_iwn.c
3273
dev_err(sc->sc_dip, CE_WARN, "!driver status:");
usr/src/uts/common/io/iwn/if_iwn.c
3274
for (i = 0; i < sc->ntxqs; i++) {
usr/src/uts/common/io/iwn/if_iwn.c
3275
struct iwn_tx_ring *ring = &sc->txq[i];
usr/src/uts/common/io/iwn/if_iwn.c
3276
dev_err(sc->sc_dip, CE_WARN,
usr/src/uts/common/io/iwn/if_iwn.c
3280
dev_err(sc->sc_dip, CE_WARN, "! rx ring: cur=%d", sc->rxq.cur);
usr/src/uts/common/io/iwn/if_iwn.c
3281
dev_err(sc->sc_dip, CE_WARN, "! 802.11 state %d", sc->sc_ic.ic_state);
usr/src/uts/common/io/iwn/if_iwn.c
3290
struct iwn_softc *sc = (struct iwn_softc *)arg;
usr/src/uts/common/io/iwn/if_iwn.c
3293
if (sc == NULL)
usr/src/uts/common/io/iwn/if_iwn.c
3297
IWN_WRITE(sc, IWN_INT_MASK, 0);
usr/src/uts/common/io/iwn/if_iwn.c
3300
if (sc->sc_flags & IWN_FLAG_USE_ICT) {
usr/src/uts/common/io/iwn/if_iwn.c
3301
(void) ddi_dma_sync(sc->ict_dma.dma_hdl, 0, 0,
usr/src/uts/common/io/iwn/if_iwn.c
3304
while (sc->ict[sc->ict_cur] != 0) {
usr/src/uts/common/io/iwn/if_iwn.c
3305
tmp |= sc->ict[sc->ict_cur];
usr/src/uts/common/io/iwn/if_iwn.c
3306
sc->ict[sc->ict_cur] = 0; /* Acknowledge. */
usr/src/uts/common/io/iwn/if_iwn.c
3307
sc->ict_cur = (sc->ict_cur + 1) % IWN_ICT_COUNT;
usr/src/uts/common/io/iwn/if_iwn.c
3309
(void) ddi_dma_sync(sc->ict_dma.dma_hdl, 0, 0,
usr/src/uts/common/io/iwn/if_iwn.c
3319
r1 = IWN_READ(sc, IWN_INT);
usr/src/uts/common/io/iwn/if_iwn.c
3322
r2 = IWN_READ(sc, IWN_FH_INT);
usr/src/uts/common/io/iwn/if_iwn.c
3325
IWN_WRITE(sc, IWN_INT_MASK, sc->int_mask);
usr/src/uts/common/io/iwn/if_iwn.c
3330
IWN_WRITE(sc, IWN_INT, r1);
usr/src/uts/common/io/iwn/if_iwn.c
3331
if (!(sc->sc_flags & IWN_FLAG_USE_ICT))
usr/src/uts/common/io/iwn/if_iwn.c
3332
IWN_WRITE(sc, IWN_FH_INT, r2);
usr/src/uts/common/io/iwn/if_iwn.c
3335
tmp = IWN_READ(sc, IWN_GP_CNTRL);
usr/src/uts/common/io/iwn/if_iwn.c
3336
dev_err(sc->sc_dip, CE_NOTE,
usr/src/uts/common/io/iwn/if_iwn.c
3341
dev_err(sc->sc_dip, CE_WARN,
usr/src/uts/common/io/iwn/if_iwn.c
3345
dev_err(sc->sc_dip, CE_WARN,
usr/src/uts/common/io/iwn/if_iwn.c
3348
iwn_fatal_intr(sc);
usr/src/uts/common/io/iwn/if_iwn.c
3349
iwn_hw_stop(sc, B_TRUE);
usr/src/uts/common/io/iwn/if_iwn.c
3350
if (!IWN_CHK_FAST_RECOVER(sc))
usr/src/uts/common/io/iwn/if_iwn.c
3351
ieee80211_new_state(&sc->sc_ic, IEEE80211_S_INIT, -1);
usr/src/uts/common/io/iwn/if_iwn.c
3352
mutex_enter(&sc->sc_mtx);
usr/src/uts/common/io/iwn/if_iwn.c
3353
sc->sc_flags |= IWN_FLAG_HW_ERR_RECOVER;
usr/src/uts/common/io/iwn/if_iwn.c
3354
mutex_exit(&sc->sc_mtx);
usr/src/uts/common/io/iwn/if_iwn.c
3360
if (sc->sc_flags & IWN_FLAG_USE_ICT) {
usr/src/uts/common/io/iwn/if_iwn.c
3364
IWN_WRITE(sc, IWN_FH_INT, IWN_FH_INT_RX);
usr/src/uts/common/io/iwn/if_iwn.c
3365
IWN_WRITE_1(sc, IWN_INT_PERIODIC,
usr/src/uts/common/io/iwn/if_iwn.c
3367
iwn_notif_intr(sc);
usr/src/uts/common/io/iwn/if_iwn.c
3369
IWN_WRITE_1(sc, IWN_INT_PERIODIC,
usr/src/uts/common/io/iwn/if_iwn.c
3372
iwn_notif_intr(sc);
usr/src/uts/common/io/iwn/if_iwn.c
3377
if (sc->sc_flags & IWN_FLAG_USE_ICT)
usr/src/uts/common/io/iwn/if_iwn.c
3378
IWN_WRITE(sc, IWN_FH_INT, IWN_FH_INT_TX);
usr/src/uts/common/io/iwn/if_iwn.c
3379
mutex_enter(&sc->sc_mtx);
usr/src/uts/common/io/iwn/if_iwn.c
3380
sc->sc_flags |= IWN_FLAG_FW_DMA;
usr/src/uts/common/io/iwn/if_iwn.c
3381
cv_signal(&sc->sc_fhdma_cv);
usr/src/uts/common/io/iwn/if_iwn.c
3382
mutex_exit(&sc->sc_mtx);
usr/src/uts/common/io/iwn/if_iwn.c
3386
mutex_enter(&sc->sc_mtx);
usr/src/uts/common/io/iwn/if_iwn.c
3387
sc->sc_flags |= IWN_FLAG_FW_ALIVE;
usr/src/uts/common/io/iwn/if_iwn.c
3388
cv_signal(&sc->sc_alive_cv);
usr/src/uts/common/io/iwn/if_iwn.c
3389
mutex_exit(&sc->sc_mtx);
usr/src/uts/common/io/iwn/if_iwn.c
3393
iwn_wakeup_intr(sc);
usr/src/uts/common/io/iwn/if_iwn.c
3396
IWN_WRITE(sc, IWN_INT_MASK, sc->int_mask);
usr/src/uts/common/io/iwn/if_iwn.c
3405
iwn4965_update_sched(struct iwn_softc *sc, int qid, int idx, uint8_t id,
usr/src/uts/common/io/iwn/if_iwn.c
3410
uint16_t *w = &sc->sched[w_idx];
usr/src/uts/common/io/iwn/if_iwn.c
3413
(void) ddi_dma_sync(sc->sched_dma.dma_hdl, w_idx * sizeof (uint16_t),
usr/src/uts/common/io/iwn/if_iwn.c
3417
(void) ddi_dma_sync(sc->sched_dma.dma_hdl,
usr/src/uts/common/io/iwn/if_iwn.c
3424
iwn5000_update_sched(struct iwn_softc *sc, int qid, int idx, uint8_t id,
usr/src/uts/common/io/iwn/if_iwn.c
3428
uint16_t *w = &sc->sched[w_idx];
usr/src/uts/common/io/iwn/if_iwn.c
3431
(void) ddi_dma_sync(sc->sched_dma.dma_hdl, w_idx * sizeof (uint16_t),
usr/src/uts/common/io/iwn/if_iwn.c
3435
(void) ddi_dma_sync(sc->sched_dma.dma_hdl,
usr/src/uts/common/io/iwn/if_iwn.c
3443
iwn5000_reset_sched(struct iwn_softc *sc, int qid, int idx)
usr/src/uts/common/io/iwn/if_iwn.c
3446
uint16_t *w = &sc->sched[w_idx];
usr/src/uts/common/io/iwn/if_iwn.c
3449
(void) ddi_dma_sync(sc->sched_dma.dma_hdl, w_idx * sizeof (uint16_t),
usr/src/uts/common/io/iwn/if_iwn.c
3453
(void) ddi_dma_sync(sc->sched_dma.dma_hdl,
usr/src/uts/common/io/iwn/if_iwn.c
3473
iwn_wme_to_qos_ac(struct iwn_softc *sc, int wme_ac)
usr/src/uts/common/io/iwn/if_iwn.c
3491
dev_err(sc->sc_dip, CE_WARN, "!iwn_wme_to_qos_ac(): "
usr/src/uts/common/io/iwn/if_iwn.c
3515
iwn_wmeparam_check(struct iwn_softc *sc, struct wmeParams *wmeparam)
usr/src/uts/common/io/iwn/if_iwn.c
3530
dev_err(sc->sc_dip, CE_WARN, "!iwn_wmeparam_check(): "
usr/src/uts/common/io/iwn/if_iwn.c
3545
iwn_qosparam_to_hw(struct iwn_softc *sc, int async)
usr/src/uts/common/io/iwn/if_iwn.c
3547
ieee80211com_t *ic = &sc->sc_ic;
usr/src/uts/common/io/iwn/if_iwn.c
3563
err = iwn_wmeparam_check(sc, wmeparam);
usr/src/uts/common/io/iwn/if_iwn.c
3578
j = iwn_wme_to_qos_ac(sc, i);
usr/src/uts/common/io/iwn/if_iwn.c
3583
sc->sc_edca->ac[j].cwmin.value.ul = edcaparam.ac[j].cwmin =
usr/src/uts/common/io/iwn/if_iwn.c
3585
sc->sc_edca->ac[j].cwmax.value.ul = edcaparam.ac[j].cwmax =
usr/src/uts/common/io/iwn/if_iwn.c
3587
sc->sc_edca->ac[j].aifsn.value.ul = edcaparam.ac[j].aifsn =
usr/src/uts/common/io/iwn/if_iwn.c
3589
sc->sc_edca->ac[j].txop.value.ul = edcaparam.ac[j].txoplimit =
usr/src/uts/common/io/iwn/if_iwn.c
3593
err = iwn_cmd(sc, IWN_CMD_EDCA_PARAMS, &edcaparam,
usr/src/uts/common/io/iwn/if_iwn.c
3596
dev_err(sc->sc_dip, CE_WARN, "!iwn_qosparam_to_hw(): "
usr/src/uts/common/io/iwn/if_iwn.c
3643
iwn_wme_tid_to_txq(struct iwn_softc *sc, int tid)
usr/src/uts/common/io/iwn/if_iwn.c
3650
dev_err(sc->sc_dip, CE_WARN, "!wme_tid_to_txq(): "
usr/src/uts/common/io/iwn/if_iwn.c
3664
struct iwn_softc *sc = (struct iwn_softc *)ic;
usr/src/uts/common/io/iwn/if_iwn.c
3694
if (sc->sc_flags & IWN_FLAG_SUSPEND) {
usr/src/uts/common/io/iwn/if_iwn.c
3696
sc->sc_tx_err++;
usr/src/uts/common/io/iwn/if_iwn.c
3709
dev_err(sc->sc_dip, CE_WARN, "!iwn_send(): "
usr/src/uts/common/io/iwn/if_iwn.c
3712
sc->sc_tx_err++;
usr/src/uts/common/io/iwn/if_iwn.c
3729
txq_id = iwn_wme_tid_to_txq(sc, tid);
usr/src/uts/common/io/iwn/if_iwn.c
3734
sc->sc_tx_err++;
usr/src/uts/common/io/iwn/if_iwn.c
3750
if (sc->qfullmsk & (1 << txq_id)) {
usr/src/uts/common/io/iwn/if_iwn.c
3751
sc->sc_tx_err++;
usr/src/uts/common/io/iwn/if_iwn.c
3765
ridx = sc->fixed_ridx;
usr/src/uts/common/io/iwn/if_iwn.c
3785
dev_err(sc->sc_dip, CE_WARN, "!iwn_send(): can't copy");
usr/src/uts/common/io/iwn/if_iwn.c
3814
mutex_enter(&sc->sc_tx_mtx);
usr/src/uts/common/io/iwn/if_iwn.c
3815
ring = &sc->txq[txq_id];
usr/src/uts/common/io/iwn/if_iwn.c
3862
if (sc->hw_type != IWN_HW_REV_TYPE_4965) {
usr/src/uts/common/io/iwn/if_iwn.c
3873
tx->id = sc->broadcast_id;
usr/src/uts/common/io/iwn/if_iwn.c
3918
if (tx->id == sc->broadcast_id) {
usr/src/uts/common/io/iwn/if_iwn.c
3922
txant = IWN_LSB(sc->txchainmask);
usr/src/uts/common/io/iwn/if_iwn.c
3972
sc->ops.update_sched(sc, ring->qid, ring->cur, tx->id, totlen);
usr/src/uts/common/io/iwn/if_iwn.c
3976
IWN_WRITE(sc, IWN_HBUS_TARG_WRPTR, ring->qid << 8 | ring->cur);
usr/src/uts/common/io/iwn/if_iwn.c
3980
sc->qfullmsk |= 1 << ring->qid;
usr/src/uts/common/io/iwn/if_iwn.c
3981
mutex_exit(&sc->sc_tx_mtx);
usr/src/uts/common/io/iwn/if_iwn.c
3986
mutex_enter(&sc->sc_mt_mtx);
usr/src/uts/common/io/iwn/if_iwn.c
3987
if (sc->sc_tx_timer == 0)
usr/src/uts/common/io/iwn/if_iwn.c
3988
sc->sc_tx_timer = 5;
usr/src/uts/common/io/iwn/if_iwn.c
3989
mutex_exit(&sc->sc_mt_mtx);
usr/src/uts/common/io/iwn/if_iwn.c
3997
struct iwn_softc *sc;
usr/src/uts/common/io/iwn/if_iwn.c
4001
sc = (struct iwn_softc *)arg;
usr/src/uts/common/io/iwn/if_iwn.c
4002
ASSERT(sc != NULL);
usr/src/uts/common/io/iwn/if_iwn.c
4003
ic = &sc->sc_ic;
usr/src/uts/common/io/iwn/if_iwn.c
4005
if (sc->sc_flags & IWN_FLAG_SUSPEND) {
usr/src/uts/common/io/iwn/if_iwn.c
4015
if ((sc->sc_flags & IWN_FLAG_HW_ERR_RECOVER)) {
usr/src/uts/common/io/iwn/if_iwn.c
4036
struct iwn_softc *sc = (struct iwn_softc *)arg;
usr/src/uts/common/io/iwn/if_iwn.c
4037
ieee80211com_t *ic = &sc->sc_ic;
usr/src/uts/common/io/iwn/if_iwn.c
4042
mutex_enter(&sc->sc_mt_mtx);
usr/src/uts/common/io/iwn/if_iwn.c
4043
if (sc->sc_tx_timer > 0) {
usr/src/uts/common/io/iwn/if_iwn.c
4044
if (--sc->sc_tx_timer == 0) {
usr/src/uts/common/io/iwn/if_iwn.c
4045
dev_err(sc->sc_dip, CE_WARN, "!device timeout");
usr/src/uts/common/io/iwn/if_iwn.c
4046
sc->sc_flags |= IWN_FLAG_HW_ERR_RECOVER;
usr/src/uts/common/io/iwn/if_iwn.c
4047
sc->sc_ostate = IEEE80211_S_RUN;
usr/src/uts/common/io/iwn/if_iwn.c
4051
mutex_exit(&sc->sc_mt_mtx);
usr/src/uts/common/io/iwn/if_iwn.c
4060
dev_err(sc->sc_dip, CE_WARN, "!iwn_watchdog reset");
usr/src/uts/common/io/iwn/if_iwn.c
4075
struct iwn_softc *sc;
usr/src/uts/common/io/iwn/if_iwn.c
4079
sc = (struct iwn_softc *)arg;
usr/src/uts/common/io/iwn/if_iwn.c
4080
ASSERT(sc != NULL);
usr/src/uts/common/io/iwn/if_iwn.c
4081
ic = &sc->sc_ic;
usr/src/uts/common/io/iwn/if_iwn.c
4083
mutex_enter(&sc->sc_mtx);
usr/src/uts/common/io/iwn/if_iwn.c
4084
while (sc->sc_flags & IWN_FLAG_SCANNING)
usr/src/uts/common/io/iwn/if_iwn.c
4085
cv_wait(&sc->sc_scan_cv, &sc->sc_mtx);
usr/src/uts/common/io/iwn/if_iwn.c
4086
mutex_exit(&sc->sc_mtx);
usr/src/uts/common/io/iwn/if_iwn.c
4099
if (sc->sc_flags & IWN_FLAG_RUNNING) {
usr/src/uts/common/io/iwn/if_iwn.c
4101
iwn_m_stop(sc);
usr/src/uts/common/io/iwn/if_iwn.c
4102
(void) iwn_m_start(sc);
usr/src/uts/common/io/iwn/if_iwn.c
4117
struct iwn_softc *sc;
usr/src/uts/common/io/iwn/if_iwn.c
4119
sc = (struct iwn_softc *)arg;
usr/src/uts/common/io/iwn/if_iwn.c
4120
ASSERT(sc != NULL);
usr/src/uts/common/io/iwn/if_iwn.c
4122
return (ieee80211_getprop(&sc->sc_ic, pr_name, wldp_pr_num,
usr/src/uts/common/io/iwn/if_iwn.c
4130
struct iwn_softc *sc;
usr/src/uts/common/io/iwn/if_iwn.c
4132
sc = (struct iwn_softc *)arg;
usr/src/uts/common/io/iwn/if_iwn.c
4133
ASSERT(sc != NULL);
usr/src/uts/common/io/iwn/if_iwn.c
4135
ieee80211_propinfo(&sc->sc_ic, pr_name, wldp_pr_num, prh);
usr/src/uts/common/io/iwn/if_iwn.c
4142
struct iwn_softc *sc;
usr/src/uts/common/io/iwn/if_iwn.c
4146
sc = (struct iwn_softc *)arg;
usr/src/uts/common/io/iwn/if_iwn.c
4147
ASSERT(sc != NULL);
usr/src/uts/common/io/iwn/if_iwn.c
4148
ic = &sc->sc_ic;
usr/src/uts/common/io/iwn/if_iwn.c
4150
mutex_enter(&sc->sc_mtx);
usr/src/uts/common/io/iwn/if_iwn.c
4151
while (sc->sc_flags & IWN_FLAG_SCANNING)
usr/src/uts/common/io/iwn/if_iwn.c
4152
cv_wait(&sc->sc_scan_cv, &sc->sc_mtx);
usr/src/uts/common/io/iwn/if_iwn.c
4153
mutex_exit(&sc->sc_mtx);
usr/src/uts/common/io/iwn/if_iwn.c
416
iwn_read(struct iwn_softc *sc, int reg)
usr/src/uts/common/io/iwn/if_iwn.c
4160
if (sc->sc_flags & IWN_FLAG_RUNNING) {
usr/src/uts/common/io/iwn/if_iwn.c
4162
iwn_m_stop(sc);
usr/src/uts/common/io/iwn/if_iwn.c
4163
(void) iwn_m_start(sc);
usr/src/uts/common/io/iwn/if_iwn.c
4180
struct iwn_softc *sc;
usr/src/uts/common/io/iwn/if_iwn.c
4184
sc = (struct iwn_softc *)arg;
usr/src/uts/common/io/iwn/if_iwn.c
4185
ASSERT(sc != NULL);
usr/src/uts/common/io/iwn/if_iwn.c
4186
ic = &sc->sc_ic;
usr/src/uts/common/io/iwn/if_iwn.c
4188
mutex_enter(&sc->sc_mtx);
usr/src/uts/common/io/iwn/if_iwn.c
419
return (ddi_get32(sc->sc_regh, (uint32_t *)(sc->sc_base + reg)));
usr/src/uts/common/io/iwn/if_iwn.c
4198
*val = sc->sc_tx_nobuf;
usr/src/uts/common/io/iwn/if_iwn.c
4201
*val = sc->sc_rx_nobuf;
usr/src/uts/common/io/iwn/if_iwn.c
4204
*val = sc->sc_rx_err;
usr/src/uts/common/io/iwn/if_iwn.c
4220
*val = sc->sc_tx_err;
usr/src/uts/common/io/iwn/if_iwn.c
4223
*val = sc->sc_tx_retries;
usr/src/uts/common/io/iwn/if_iwn.c
423
iwn_write(struct iwn_softc *sc, int reg, uint32_t val)
usr/src/uts/common/io/iwn/if_iwn.c
4235
mutex_exit(&sc->sc_mtx);
usr/src/uts/common/io/iwn/if_iwn.c
4238
mutex_exit(&sc->sc_mtx);
usr/src/uts/common/io/iwn/if_iwn.c
4242
mutex_exit(&sc->sc_mtx);
usr/src/uts/common/io/iwn/if_iwn.c
4254
struct iwn_softc *sc;
usr/src/uts/common/io/iwn/if_iwn.c
4258
sc = (struct iwn_softc *)arg;
usr/src/uts/common/io/iwn/if_iwn.c
4259
ASSERT(sc != NULL);
usr/src/uts/common/io/iwn/if_iwn.c
426
ddi_put32(sc->sc_regh, (uint32_t *)(sc->sc_base + reg), val);
usr/src/uts/common/io/iwn/if_iwn.c
4260
ic = &sc->sc_ic;
usr/src/uts/common/io/iwn/if_iwn.c
4263
mutex_enter(&sc->sc_mtx);
usr/src/uts/common/io/iwn/if_iwn.c
4265
err = iwn_config(sc);
usr/src/uts/common/io/iwn/if_iwn.c
4266
mutex_exit(&sc->sc_mtx);
usr/src/uts/common/io/iwn/if_iwn.c
4268
dev_err(sc->sc_dip, CE_WARN, "!iwn_m_unicst(): "
usr/src/uts/common/io/iwn/if_iwn.c
4299
struct iwn_softc *sc = (struct iwn_softc *)arg;
usr/src/uts/common/io/iwn/if_iwn.c
430
iwn_write_1(struct iwn_softc *sc, int reg, uint8_t val)
usr/src/uts/common/io/iwn/if_iwn.c
4300
ieee80211com_t *ic = &sc->sc_ic;
usr/src/uts/common/io/iwn/if_iwn.c
4302
mutex_enter(&sc->sc_mtx);
usr/src/uts/common/io/iwn/if_iwn.c
4303
if ((sc->sc_flags & IWN_FLAG_SCANNING) == 0) {
usr/src/uts/common/io/iwn/if_iwn.c
4304
mutex_exit(&sc->sc_mtx);
usr/src/uts/common/io/iwn/if_iwn.c
4308
dev_err(sc->sc_dip, CE_WARN,
usr/src/uts/common/io/iwn/if_iwn.c
4310
sc->sc_flags, ieee80211_state_name[ic->ic_state]);
usr/src/uts/common/io/iwn/if_iwn.c
4311
sc->sc_flags &= ~IWN_FLAG_SCANNING;
usr/src/uts/common/io/iwn/if_iwn.c
4312
iwn_hw_stop(sc, B_FALSE);
usr/src/uts/common/io/iwn/if_iwn.c
4313
mutex_exit(&sc->sc_mtx);
usr/src/uts/common/io/iwn/if_iwn.c
4315
sc->scan_to = 0;
usr/src/uts/common/io/iwn/if_iwn.c
4316
(void) iwn_init(sc);
usr/src/uts/common/io/iwn/if_iwn.c
432
ddi_put8(sc->sc_regh, (uint8_t *)(sc->sc_base + reg), val);
usr/src/uts/common/io/iwn/if_iwn.c
4326
struct iwn_softc *sc = (struct iwn_softc *)arg;
usr/src/uts/common/io/iwn/if_iwn.c
4327
ieee80211com_t *ic = &sc->sc_ic;
usr/src/uts/common/io/iwn/if_iwn.c
4331
mutex_enter(&sc->sc_mtx);
usr/src/uts/common/io/iwn/if_iwn.c
4332
tmp = IWN_READ(sc, IWN_GP_CNTRL);
usr/src/uts/common/io/iwn/if_iwn.c
4334
sc->sc_flags &= ~IWN_FLAG_RADIO_OFF;
usr/src/uts/common/io/iwn/if_iwn.c
4336
sc->sc_flags |= IWN_FLAG_RADIO_OFF;
usr/src/uts/common/io/iwn/if_iwn.c
4342
if (sc->sc_flags & IWN_FLAG_RADIO_OFF) {
usr/src/uts/common/io/iwn/if_iwn.c
4343
mutex_exit(&sc->sc_mtx);
usr/src/uts/common/io/iwn/if_iwn.c
4347
mutex_exit(&sc->sc_mtx);
usr/src/uts/common/io/iwn/if_iwn.c
4353
(sc->sc_flags & IWN_FLAG_HW_ERR_RECOVER)) {
usr/src/uts/common/io/iwn/if_iwn.c
4354
dev_err(sc->sc_dip, CE_WARN,
usr/src/uts/common/io/iwn/if_iwn.c
4357
mutex_enter(&sc->sc_mtx);
usr/src/uts/common/io/iwn/if_iwn.c
4358
sc->sc_flags |= IWN_FLAG_STOP_CALIB_TO;
usr/src/uts/common/io/iwn/if_iwn.c
4359
mutex_exit(&sc->sc_mtx);
usr/src/uts/common/io/iwn/if_iwn.c
436
iwn_kstat_create(struct iwn_softc *sc, const char *name, size_t size,
usr/src/uts/common/io/iwn/if_iwn.c
4361
if (sc->calib_to != 0)
usr/src/uts/common/io/iwn/if_iwn.c
4362
(void) untimeout(sc->calib_to);
usr/src/uts/common/io/iwn/if_iwn.c
4363
sc->calib_to = 0;
usr/src/uts/common/io/iwn/if_iwn.c
4365
if (sc->scan_to != 0)
usr/src/uts/common/io/iwn/if_iwn.c
4366
(void) untimeout(sc->scan_to);
usr/src/uts/common/io/iwn/if_iwn.c
4367
sc->scan_to = 0;
usr/src/uts/common/io/iwn/if_iwn.c
4369
iwn_hw_stop(sc, B_TRUE);
usr/src/uts/common/io/iwn/if_iwn.c
4371
if (IWN_CHK_FAST_RECOVER(sc)) {
usr/src/uts/common/io/iwn/if_iwn.c
4373
bcopy(&sc->rxon, &sc->rxon_save, sizeof (sc->rxon));
usr/src/uts/common/io/iwn/if_iwn.c
4378
err = iwn_init(sc);
usr/src/uts/common/io/iwn/if_iwn.c
4382
mutex_enter(&sc->sc_mtx);
usr/src/uts/common/io/iwn/if_iwn.c
4383
sc->sc_flags |= IWN_FLAG_RUNNING;
usr/src/uts/common/io/iwn/if_iwn.c
4384
mutex_exit(&sc->sc_mtx);
usr/src/uts/common/io/iwn/if_iwn.c
4386
if (!IWN_CHK_FAST_RECOVER(sc) ||
usr/src/uts/common/io/iwn/if_iwn.c
4387
iwn_fast_recover(sc) != IWN_SUCCESS) {
usr/src/uts/common/io/iwn/if_iwn.c
4388
mutex_enter(&sc->sc_mtx);
usr/src/uts/common/io/iwn/if_iwn.c
4389
sc->sc_flags &= ~IWN_FLAG_HW_ERR_RECOVER;
usr/src/uts/common/io/iwn/if_iwn.c
439
*ks = kstat_create(ddi_driver_name(sc->sc_dip),
usr/src/uts/common/io/iwn/if_iwn.c
4390
mutex_exit(&sc->sc_mtx);
usr/src/uts/common/io/iwn/if_iwn.c
4391
if (sc->sc_ostate != IEEE80211_S_INIT) {
usr/src/uts/common/io/iwn/if_iwn.c
440
ddi_get_instance(sc->sc_dip), name, "misc", KSTAT_TYPE_NAMED,
usr/src/uts/common/io/iwn/if_iwn.c
4402
iwn_cmd(struct iwn_softc *sc, uint8_t code, void *buf, int size, int async)
usr/src/uts/common/io/iwn/if_iwn.c
4404
struct iwn_tx_ring *ring = &sc->txq[IWN_CMD_QUEUE_NUM];
usr/src/uts/common/io/iwn/if_iwn.c
4412
ASSERT(mutex_owned(&sc->sc_mtx));
usr/src/uts/common/io/iwn/if_iwn.c
4420
if (iwn_dma_contig_alloc(sc, &data->cmd_dma, totlen,
usr/src/uts/common/io/iwn/if_iwn.c
4455
sc->ops.update_sched(sc, ring->qid, ring->cur, 0, 0);
usr/src/uts/common/io/iwn/if_iwn.c
4459
IWN_WRITE(sc, IWN_HBUS_TARG_WRPTR, ring->qid << 8 | ring->cur);
usr/src/uts/common/io/iwn/if_iwn.c
4464
sc->sc_cmd_flag = SC_CMD_FLG_NONE;
usr/src/uts/common/io/iwn/if_iwn.c
4466
while (sc->sc_cmd_flag != SC_CMD_FLG_DONE)
usr/src/uts/common/io/iwn/if_iwn.c
4467
if (cv_timedwait(&sc->sc_cmd_cv, &sc->sc_mtx, clk) < 0)
usr/src/uts/common/io/iwn/if_iwn.c
4470
ret = (sc->sc_cmd_flag == SC_CMD_FLG_DONE) ? IWN_SUCCESS : IWN_FAIL;
usr/src/uts/common/io/iwn/if_iwn.c
4471
sc->sc_cmd_flag = SC_CMD_FLG_NONE;
usr/src/uts/common/io/iwn/if_iwn.c
4477
iwn4965_add_node(struct iwn_softc *sc, struct iwn_node_info *node, int async)
usr/src/uts/common/io/iwn/if_iwn.c
4492
return iwn_cmd(sc, IWN_CMD_ADD_NODE, &hnode, sizeof hnode, async);
usr/src/uts/common/io/iwn/if_iwn.c
4496
iwn5000_add_node(struct iwn_softc *sc, struct iwn_node_info *node, int async)
usr/src/uts/common/io/iwn/if_iwn.c
4499
return iwn_cmd(sc, IWN_CMD_ADD_NODE, node, sizeof (*node), async);
usr/src/uts/common/io/iwn/if_iwn.c
4503
iwn_set_link_quality(struct iwn_softc *sc, struct ieee80211_node *ni)
usr/src/uts/common/io/iwn/if_iwn.c
4513
txant = IWN_LSB(sc->txchainmask);
usr/src/uts/common/io/iwn/if_iwn.c
4534
return iwn_cmd(sc, IWN_CMD_LINK_QUALITY, &linkq, sizeof linkq, 1);
usr/src/uts/common/io/iwn/if_iwn.c
4541
iwn_add_broadcast_node(struct iwn_softc *sc, int async)
usr/src/uts/common/io/iwn/if_iwn.c
4543
struct iwn_ops *ops = &sc->ops;
usr/src/uts/common/io/iwn/if_iwn.c
4552
node.id = sc->broadcast_id;
usr/src/uts/common/io/iwn/if_iwn.c
4554
if ((error = ops->add_node(sc, &node, async)) != 0)
usr/src/uts/common/io/iwn/if_iwn.c
4558
txant = IWN_LSB(sc->txchainmask);
usr/src/uts/common/io/iwn/if_iwn.c
4561
linkq.id = sc->broadcast_id;
usr/src/uts/common/io/iwn/if_iwn.c
4569
rinfo = (sc->sc_ic.ic_curmode != IEEE80211_MODE_11A) ?
usr/src/uts/common/io/iwn/if_iwn.c
4579
return iwn_cmd(sc, IWN_CMD_LINK_QUALITY, &linkq, sizeof linkq, async);
usr/src/uts/common/io/iwn/if_iwn.c
458
iwn_kstat_init(struct iwn_softc *sc)
usr/src/uts/common/io/iwn/if_iwn.c
4583
iwn_set_led(struct iwn_softc *sc, uint8_t which, uint8_t off, uint8_t on)
usr/src/uts/common/io/iwn/if_iwn.c
4588
IWN_CLRBITS(sc, IWN_LED, IWN_LED_BSM_CTRL);
usr/src/uts/common/io/iwn/if_iwn.c
4597
(void)iwn_cmd(sc, IWN_CMD_SET_LED, &led, sizeof led, 1);
usr/src/uts/common/io/iwn/if_iwn.c
460
if (sc->sc_ks_misc != NULL)
usr/src/uts/common/io/iwn/if_iwn.c
4605
iwn_set_critical_temp(struct iwn_softc *sc)
usr/src/uts/common/io/iwn/if_iwn.c
461
sc->sc_ks_misc->ks_lock = &sc->sc_mtx;
usr/src/uts/common/io/iwn/if_iwn.c
4610
IWN_WRITE(sc, IWN_UCODE_GP1_CLR, IWN_UCODE_GP1_CTEMP_STOP_RF);
usr/src/uts/common/io/iwn/if_iwn.c
4612
if (sc->hw_type == IWN_HW_REV_TYPE_5150)
usr/src/uts/common/io/iwn/if_iwn.c
4613
temp = (IWN_CTOK(110) - sc->temp_off) * -5;
usr/src/uts/common/io/iwn/if_iwn.c
4614
else if (sc->hw_type == IWN_HW_REV_TYPE_4965)
usr/src/uts/common/io/iwn/if_iwn.c
4619
sc->sc_misc->crit_temp.value.ul = temp;
usr/src/uts/common/io/iwn/if_iwn.c
462
if (sc->sc_ks_ant != NULL)
usr/src/uts/common/io/iwn/if_iwn.c
4623
return iwn_cmd(sc, IWN_CMD_SET_CRITICAL_TEMP, &crit, sizeof crit, 0);
usr/src/uts/common/io/iwn/if_iwn.c
4627
iwn_set_timing(struct iwn_softc *sc, struct ieee80211_node *ni)
usr/src/uts/common/io/iwn/if_iwn.c
463
sc->sc_ks_ant->ks_lock = &sc->sc_mtx;
usr/src/uts/common/io/iwn/if_iwn.c
464
if (sc->sc_ks_sens != NULL)
usr/src/uts/common/io/iwn/if_iwn.c
4642
sc->sc_timing->bintval.value.ul = ni->in_intval;
usr/src/uts/common/io/iwn/if_iwn.c
4643
sc->sc_timing->tstamp.value.ul = ni->in_tstamp.tsf;
usr/src/uts/common/io/iwn/if_iwn.c
4644
sc->sc_timing->init.value.ul = (uint32_t)(val - mod);
usr/src/uts/common/io/iwn/if_iwn.c
4646
return iwn_cmd(sc, IWN_CMD_TIMING, &cmd, sizeof cmd, 1);
usr/src/uts/common/io/iwn/if_iwn.c
465
sc->sc_ks_sens->ks_lock = &sc->sc_mtx;
usr/src/uts/common/io/iwn/if_iwn.c
4650
iwn4965_power_calibration(struct iwn_softc *sc, int temp)
usr/src/uts/common/io/iwn/if_iwn.c
4653
IWN_DBG("temperature %d->%d", sc->temp, temp);
usr/src/uts/common/io/iwn/if_iwn.c
4654
if (abs(temp - sc->temp) >= 3) {
usr/src/uts/common/io/iwn/if_iwn.c
4656
sc->temp = temp;
usr/src/uts/common/io/iwn/if_iwn.c
4657
(void)iwn4965_set_txpower(sc, 1);
usr/src/uts/common/io/iwn/if_iwn.c
466
if (sc->sc_ks_timing != NULL)
usr/src/uts/common/io/iwn/if_iwn.c
4667
iwn4965_set_txpower(struct iwn_softc *sc, int async)
usr/src/uts/common/io/iwn/if_iwn.c
467
sc->sc_ks_timing->ks_lock = &sc->sc_mtx;
usr/src/uts/common/io/iwn/if_iwn.c
4677
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/iwn/if_iwn.c
4678
struct iwn_ucode_info *uc = &sc->ucode_info;
usr/src/uts/common/io/iwn/if_iwn.c
468
if (sc->sc_ks_edca != NULL)
usr/src/uts/common/io/iwn/if_iwn.c
4688
chan = sc->rxon.chan;
usr/src/uts/common/io/iwn/if_iwn.c
4689
sc->sc_txpower->chan.value.l = chan;
usr/src/uts/common/io/iwn/if_iwn.c
469
sc->sc_ks_edca->ks_lock = &sc->sc_mtx;
usr/src/uts/common/io/iwn/if_iwn.c
4697
maxpwr = sc->maxpwr5GHz;
usr/src/uts/common/io/iwn/if_iwn.c
4701
maxpwr = sc->maxpwr2GHz;
usr/src/uts/common/io/iwn/if_iwn.c
4707
vdiff = ((int32_t)le32toh(uc->volt) - sc->eeprom_voltage) / 7;
usr/src/uts/common/io/iwn/if_iwn.c
471
kstat_named_init(&sc->sc_misc->temp,
usr/src/uts/common/io/iwn/if_iwn.c
4712
sc->sc_txpower->vdiff.value.l = vdiff;
usr/src/uts/common/io/iwn/if_iwn.c
4725
sc->sc_txpower->group.value.l = grp;
usr/src/uts/common/io/iwn/if_iwn.c
4729
if (sc->bands[i].lo != 0 &&
usr/src/uts/common/io/iwn/if_iwn.c
473
kstat_named_init(&sc->sc_misc->crit_temp,
usr/src/uts/common/io/iwn/if_iwn.c
4730
sc->bands[i].lo <= chan && chan <= sc->bands[i].hi)
usr/src/uts/common/io/iwn/if_iwn.c
4734
chans = sc->bands[i].chans;
usr/src/uts/common/io/iwn/if_iwn.c
4735
sc->sc_txpower->subband.value.l = i;
usr/src/uts/common/io/iwn/if_iwn.c
475
kstat_named_init(&sc->sc_misc->pslevel,
usr/src/uts/common/io/iwn/if_iwn.c
4750
sc->sc_txpower->txchain[c].power.value.l = power;
usr/src/uts/common/io/iwn/if_iwn.c
4751
sc->sc_txpower->txchain[c].gain.value.l = gain;
usr/src/uts/common/io/iwn/if_iwn.c
4752
sc->sc_txpower->txchain[c].temp.value.l = temp;
usr/src/uts/common/io/iwn/if_iwn.c
4755
tdiff = ((sc->temp - temp) * 2) / tdiv[grp];
usr/src/uts/common/io/iwn/if_iwn.c
4756
sc->sc_txpower->txchain[c].tcomp.value.l = tdiff;
usr/src/uts/common/io/iwn/if_iwn.c
4760
maxchpwr = sc->maxpwr[chan] * 2;
usr/src/uts/common/io/iwn/if_iwn.c
477
kstat_named_init(&sc->sc_misc->noise,
usr/src/uts/common/io/iwn/if_iwn.c
4795
sc->sc_txpower->txchain[c].rate[ridx].rf_gain.value.l =
usr/src/uts/common/io/iwn/if_iwn.c
4797
sc->sc_txpower->txchain[c].rate[ridx].dsp_gain.value.l =
usr/src/uts/common/io/iwn/if_iwn.c
4802
return iwn_cmd(sc, IWN_CMD_TXPOWER, &cmd, sizeof cmd, async);
usr/src/uts/common/io/iwn/if_iwn.c
4809
iwn5000_set_txpower(struct iwn_softc *sc, int async)
usr/src/uts/common/io/iwn/if_iwn.c
481
kstat_named_init(&sc->sc_ant->tx_ant,
usr/src/uts/common/io/iwn/if_iwn.c
4821
return iwn_cmd(sc, IWN_CMD_TXPOWER_DBM, &cmd, sizeof cmd, async);
usr/src/uts/common/io/iwn/if_iwn.c
483
kstat_named_init(&sc->sc_ant->rx_ant,
usr/src/uts/common/io/iwn/if_iwn.c
485
kstat_named_init(&sc->sc_ant->conn_ant,
usr/src/uts/common/io/iwn/if_iwn.c
487
kstat_named_init(&sc->sc_ant->gain[0],
usr/src/uts/common/io/iwn/if_iwn.c
4887
iwn4965_get_temperature(struct iwn_softc *sc)
usr/src/uts/common/io/iwn/if_iwn.c
4889
struct iwn_ucode_info *uc = &sc->ucode_info;
usr/src/uts/common/io/iwn/if_iwn.c
489
kstat_named_init(&sc->sc_ant->gain[1],
usr/src/uts/common/io/iwn/if_iwn.c
4895
r4 = le32toh(sc->rawtemp);
usr/src/uts/common/io/iwn/if_iwn.c
491
kstat_named_init(&sc->sc_ant->gain[2],
usr/src/uts/common/io/iwn/if_iwn.c
4910
iwn5000_get_temperature(struct iwn_softc *sc)
usr/src/uts/common/io/iwn/if_iwn.c
4919
temp = le32toh(sc->rawtemp);
usr/src/uts/common/io/iwn/if_iwn.c
4920
if (sc->hw_type == IWN_HW_REV_TYPE_5150) {
usr/src/uts/common/io/iwn/if_iwn.c
4921
temp = (temp / -5) + sc->temp_off;
usr/src/uts/common/io/iwn/if_iwn.c
4931
iwn_init_sensitivity(struct iwn_softc *sc)
usr/src/uts/common/io/iwn/if_iwn.c
4933
struct iwn_ops *ops = &sc->ops;
usr/src/uts/common/io/iwn/if_iwn.c
4934
struct iwn_calib_state *calib = &sc->calib;
usr/src/uts/common/io/iwn/if_iwn.c
494
kstat_named_init(&sc->sc_sens->ofdm_x1,
usr/src/uts/common/io/iwn/if_iwn.c
4943
calib->ofdm_x1 = sc->limits->min_ofdm_x1;
usr/src/uts/common/io/iwn/if_iwn.c
4944
calib->ofdm_mrc_x1 = sc->limits->min_ofdm_mrc_x1;
usr/src/uts/common/io/iwn/if_iwn.c
4945
calib->ofdm_x4 = sc->limits->min_ofdm_x4;
usr/src/uts/common/io/iwn/if_iwn.c
4946
calib->ofdm_mrc_x4 = sc->limits->min_ofdm_mrc_x4;
usr/src/uts/common/io/iwn/if_iwn.c
4948
calib->cck_mrc_x4 = sc->limits->min_cck_mrc_x4;
usr/src/uts/common/io/iwn/if_iwn.c
4949
calib->energy_cck = sc->limits->energy_cck;
usr/src/uts/common/io/iwn/if_iwn.c
4952
if ((error = iwn_send_sensitivity(sc)) != 0)
usr/src/uts/common/io/iwn/if_iwn.c
4956
if ((error = ops->init_gains(sc)) != 0)
usr/src/uts/common/io/iwn/if_iwn.c
496
kstat_named_init(&sc->sc_sens->ofdm_mrc_x1,
usr/src/uts/common/io/iwn/if_iwn.c
4961
return iwn_cmd(sc, IWN_CMD_GET_STATISTICS, &flags, sizeof flags, 1);
usr/src/uts/common/io/iwn/if_iwn.c
4970
iwn_collect_noise(struct iwn_softc *sc,
usr/src/uts/common/io/iwn/if_iwn.c
4973
struct iwn_ops *ops = &sc->ops;
usr/src/uts/common/io/iwn/if_iwn.c
4974
struct iwn_calib_state *calib = &sc->calib;
usr/src/uts/common/io/iwn/if_iwn.c
498
kstat_named_init(&sc->sc_sens->ofdm_x4,
usr/src/uts/common/io/iwn/if_iwn.c
4992
sc->chainmask = sc->rxchainmask;
usr/src/uts/common/io/iwn/if_iwn.c
4995
sc->chainmask &= ~(1 << i);
usr/src/uts/common/io/iwn/if_iwn.c
4997
sc->sc_ant->conn_ant.value.ul = sc->chainmask;
usr/src/uts/common/io/iwn/if_iwn.c
500
kstat_named_init(&sc->sc_sens->ofdm_mrc_x4,
usr/src/uts/common/io/iwn/if_iwn.c
5000
if ((sc->chainmask & sc->txchainmask) == 0)
usr/src/uts/common/io/iwn/if_iwn.c
5001
sc->chainmask |= IWN_LSB(sc->txchainmask);
usr/src/uts/common/io/iwn/if_iwn.c
5003
(void)ops->set_gains(sc);
usr/src/uts/common/io/iwn/if_iwn.c
5008
sc->rxon.rxchain = htole16(IWN_RXCHAIN_SEL(sc->chainmask));
usr/src/uts/common/io/iwn/if_iwn.c
5009
DTRACE_PROBE2(rxon, struct iwn_rxon *, &sc->rxon, int, sc->rxonsz);
usr/src/uts/common/io/iwn/if_iwn.c
5010
(void)iwn_cmd(sc, IWN_CMD_RXON, &sc->rxon, sc->rxonsz, 1);
usr/src/uts/common/io/iwn/if_iwn.c
5014
if (sc->sc_ic.ic_flags & IEEE80211_F_PMGTON)
usr/src/uts/common/io/iwn/if_iwn.c
5015
(void)iwn_set_pslevel(sc, 0, 3, 1);
usr/src/uts/common/io/iwn/if_iwn.c
5019
iwn4965_init_gains(struct iwn_softc *sc)
usr/src/uts/common/io/iwn/if_iwn.c
502
kstat_named_init(&sc->sc_sens->cck_x4,
usr/src/uts/common/io/iwn/if_iwn.c
5026
return iwn_cmd(sc, IWN_CMD_PHY_CALIB, &cmd, sizeof cmd, 1);
usr/src/uts/common/io/iwn/if_iwn.c
5030
iwn5000_init_gains(struct iwn_softc *sc)
usr/src/uts/common/io/iwn/if_iwn.c
5035
cmd.code = sc->reset_noise_gain;
usr/src/uts/common/io/iwn/if_iwn.c
5038
return iwn_cmd(sc, IWN_CMD_PHY_CALIB, &cmd, sizeof cmd, 1);
usr/src/uts/common/io/iwn/if_iwn.c
504
kstat_named_init(&sc->sc_sens->cck_mrc_x4,
usr/src/uts/common/io/iwn/if_iwn.c
5042
iwn4965_set_gains(struct iwn_softc *sc)
usr/src/uts/common/io/iwn/if_iwn.c
5044
struct iwn_calib_state *calib = &sc->calib;
usr/src/uts/common/io/iwn/if_iwn.c
5051
if (sc->chainmask & (1 << i))
usr/src/uts/common/io/iwn/if_iwn.c
5058
if (sc->chainmask & (1 << i)) {
usr/src/uts/common/io/iwn/if_iwn.c
506
kstat_named_init(&sc->sc_sens->energy_cck,
usr/src/uts/common/io/iwn/if_iwn.c
5066
sc->sc_ant->gain[i].value.ul = cmd.gain[i];
usr/src/uts/common/io/iwn/if_iwn.c
5069
return iwn_cmd(sc, IWN_CMD_PHY_CALIB, &cmd, sizeof cmd, 1);
usr/src/uts/common/io/iwn/if_iwn.c
5073
iwn5000_set_gains(struct iwn_softc *sc)
usr/src/uts/common/io/iwn/if_iwn.c
5075
struct iwn_calib_state *calib = &sc->calib;
usr/src/uts/common/io/iwn/if_iwn.c
5080
div = (sc->hw_type == IWN_HW_REV_TYPE_6050) ? 20 : 30;
usr/src/uts/common/io/iwn/if_iwn.c
5083
cmd.code = sc->noise_gain;
usr/src/uts/common/io/iwn/if_iwn.c
5087
ant = IWN_LSB(sc->rxchainmask);
usr/src/uts/common/io/iwn/if_iwn.c
509
kstat_named_init(&sc->sc_timing->bintval,
usr/src/uts/common/io/iwn/if_iwn.c
5090
if (sc->chainmask & (1 << i)) {
usr/src/uts/common/io/iwn/if_iwn.c
5097
sc->sc_ant->gain[i - 1].value.ul
usr/src/uts/common/io/iwn/if_iwn.c
5101
return iwn_cmd(sc, IWN_CMD_PHY_CALIB, &cmd, sizeof cmd, 1);
usr/src/uts/common/io/iwn/if_iwn.c
5109
iwn_tune_sensitivity(struct iwn_softc *sc, const struct iwn_rx_stats *stats)
usr/src/uts/common/io/iwn/if_iwn.c
511
kstat_named_init(&sc->sc_timing->tstamp,
usr/src/uts/common/io/iwn/if_iwn.c
5128
const struct iwn_sensitivity_limits *limits = sc->limits;
usr/src/uts/common/io/iwn/if_iwn.c
5129
struct iwn_calib_state *calib = &sc->calib;
usr/src/uts/common/io/iwn/if_iwn.c
513
kstat_named_init(&sc->sc_timing->init,
usr/src/uts/common/io/iwn/if_iwn.c
516
kstat_named_init(&sc->sc_edca->ac[0].cwmin,
usr/src/uts/common/io/iwn/if_iwn.c
518
kstat_named_init(&sc->sc_edca->ac[0].cwmax,
usr/src/uts/common/io/iwn/if_iwn.c
520
kstat_named_init(&sc->sc_edca->ac[0].aifsn,
usr/src/uts/common/io/iwn/if_iwn.c
522
kstat_named_init(&sc->sc_edca->ac[0].txop,
usr/src/uts/common/io/iwn/if_iwn.c
524
kstat_named_init(&sc->sc_edca->ac[1].cwmin,
usr/src/uts/common/io/iwn/if_iwn.c
5249
(void)iwn_send_sensitivity(sc);
usr/src/uts/common/io/iwn/if_iwn.c
5255
iwn_send_sensitivity(struct iwn_softc *sc)
usr/src/uts/common/io/iwn/if_iwn.c
5257
struct iwn_calib_state *calib = &sc->calib;
usr/src/uts/common/io/iwn/if_iwn.c
526
kstat_named_init(&sc->sc_edca->ac[1].cwmax,
usr/src/uts/common/io/iwn/if_iwn.c
5269
cmd.energy_ofdm = htole16(sc->limits->energy_ofdm);
usr/src/uts/common/io/iwn/if_iwn.c
5278
if (!(sc->sc_flags & IWN_FLAG_ENH_SENS))
usr/src/uts/common/io/iwn/if_iwn.c
528
kstat_named_init(&sc->sc_edca->ac[1].aifsn,
usr/src/uts/common/io/iwn/if_iwn.c
5292
sc->sc_sens->ofdm_x1.value.ul = calib->ofdm_x1;
usr/src/uts/common/io/iwn/if_iwn.c
5293
sc->sc_sens->ofdm_mrc_x1.value.ul = calib->ofdm_mrc_x1;
usr/src/uts/common/io/iwn/if_iwn.c
5294
sc->sc_sens->ofdm_x4.value.ul = calib->ofdm_x4;
usr/src/uts/common/io/iwn/if_iwn.c
5295
sc->sc_sens->ofdm_mrc_x4.value.ul = calib->ofdm_mrc_x4;
usr/src/uts/common/io/iwn/if_iwn.c
5296
sc->sc_sens->cck_x4.value.ul = calib->cck_x4;
usr/src/uts/common/io/iwn/if_iwn.c
5297
sc->sc_sens->cck_mrc_x4.value.ul = calib->cck_mrc_x4;
usr/src/uts/common/io/iwn/if_iwn.c
5298
sc->sc_sens->energy_cck.value.ul = calib->energy_cck;
usr/src/uts/common/io/iwn/if_iwn.c
530
kstat_named_init(&sc->sc_edca->ac[1].txop,
usr/src/uts/common/io/iwn/if_iwn.c
5300
return iwn_cmd(sc, IWN_CMD_SET_SENSITIVITY, &cmd, len, 1);
usr/src/uts/common/io/iwn/if_iwn.c
5308
iwn_set_pslevel(struct iwn_softc *sc, int dtim, int level, int async)
usr/src/uts/common/io/iwn/if_iwn.c
532
kstat_named_init(&sc->sc_edca->ac[2].cwmin,
usr/src/uts/common/io/iwn/if_iwn.c
5330
reg = pci_config_get32(sc->sc_pcih,
usr/src/uts/common/io/iwn/if_iwn.c
5331
sc->sc_cap_off + PCIE_LINKCTL);
usr/src/uts/common/io/iwn/if_iwn.c
534
kstat_named_init(&sc->sc_edca->ac[2].cwmax,
usr/src/uts/common/io/iwn/if_iwn.c
5354
sc->sc_misc->pslevel.value.ul = level;
usr/src/uts/common/io/iwn/if_iwn.c
5355
return iwn_cmd(sc, IWN_CMD_SET_POWER_MODE, &cmd, sizeof cmd, async);
usr/src/uts/common/io/iwn/if_iwn.c
5359
iwn5000_runtime_calib(struct iwn_softc *sc)
usr/src/uts/common/io/iwn/if_iwn.c
536
kstat_named_init(&sc->sc_edca->ac[2].aifsn,
usr/src/uts/common/io/iwn/if_iwn.c
5366
return iwn_cmd(sc, IWN5000_CMD_CALIB_CONFIG, &cmd, sizeof(cmd), 0);
usr/src/uts/common/io/iwn/if_iwn.c
5370
iwn_config_bt_coex_bluetooth(struct iwn_softc *sc)
usr/src/uts/common/io/iwn/if_iwn.c
5379
return iwn_cmd(sc, IWN_CMD_BT_COEX, &bluetooth, sizeof bluetooth, 0);
usr/src/uts/common/io/iwn/if_iwn.c
538
kstat_named_init(&sc->sc_edca->ac[2].txop,
usr/src/uts/common/io/iwn/if_iwn.c
5383
iwn_config_bt_coex_prio_table(struct iwn_softc *sc)
usr/src/uts/common/io/iwn/if_iwn.c
5398
return iwn_cmd(sc, IWN_CMD_BT_COEX_PRIO_TABLE,
usr/src/uts/common/io/iwn/if_iwn.c
540
kstat_named_init(&sc->sc_edca->ac[3].cwmin,
usr/src/uts/common/io/iwn/if_iwn.c
5403
iwn_config_bt_coex_adv_config(struct iwn_softc *sc, struct iwn_bt_basic *basic,
usr/src/uts/common/io/iwn/if_iwn.c
542
kstat_named_init(&sc->sc_edca->ac[3].cwmax,
usr/src/uts/common/io/iwn/if_iwn.c
5432
error = iwn_cmd(sc, IWN_CMD_BT_COEX, &basic, len, 0);
usr/src/uts/common/io/iwn/if_iwn.c
5434
dev_err(sc->sc_dip, CE_WARN,
usr/src/uts/common/io/iwn/if_iwn.c
5439
error = iwn_config_bt_coex_prio_table(sc);
usr/src/uts/common/io/iwn/if_iwn.c
544
kstat_named_init(&sc->sc_edca->ac[3].aifsn,
usr/src/uts/common/io/iwn/if_iwn.c
5441
dev_err(sc->sc_dip, CE_WARN,
usr/src/uts/common/io/iwn/if_iwn.c
5450
error = iwn_cmd(sc, IWN_CMD_BT_COEX_PROT, &btprot, sizeof btprot, 1);
usr/src/uts/common/io/iwn/if_iwn.c
5452
dev_err(sc->sc_dip, CE_WARN, "!could not open BT protcol");
usr/src/uts/common/io/iwn/if_iwn.c
5457
error = iwn_cmd(sc, IWN_CMD_BT_COEX_PROT, &btprot, sizeof btprot, 1);
usr/src/uts/common/io/iwn/if_iwn.c
5459
dev_err(sc->sc_dip, CE_WARN, "!could not close BT protcol");
usr/src/uts/common/io/iwn/if_iwn.c
546
kstat_named_init(&sc->sc_edca->ac[3].txop,
usr/src/uts/common/io/iwn/if_iwn.c
5466
iwn_config_bt_coex_adv1(struct iwn_softc *sc)
usr/src/uts/common/io/iwn/if_iwn.c
5474
return iwn_config_bt_coex_adv_config(sc, &d.basic, sizeof d);
usr/src/uts/common/io/iwn/if_iwn.c
5478
iwn_config_bt_coex_adv2(struct iwn_softc *sc)
usr/src/uts/common/io/iwn/if_iwn.c
5486
return iwn_config_bt_coex_adv_config(sc, &d.basic, sizeof d);
usr/src/uts/common/io/iwn/if_iwn.c
5490
iwn_config(struct iwn_softc *sc)
usr/src/uts/common/io/iwn/if_iwn.c
5492
struct iwn_ops *ops = &sc->ops;
usr/src/uts/common/io/iwn/if_iwn.c
5493
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/iwn/if_iwn.c
5498
error = ops->config_bt_coex(sc);
usr/src/uts/common/io/iwn/if_iwn.c
5500
dev_err(sc->sc_dip, CE_WARN,
usr/src/uts/common/io/iwn/if_iwn.c
5506
if (sc->hw_type == IWN_HW_REV_TYPE_6005) {
usr/src/uts/common/io/iwn/if_iwn.c
5507
error = iwn6000_temp_offset_calib(sc);
usr/src/uts/common/io/iwn/if_iwn.c
5509
dev_err(sc->sc_dip, CE_WARN,
usr/src/uts/common/io/iwn/if_iwn.c
551
iwn_kstat_init_2000(struct iwn_softc *sc)
usr/src/uts/common/io/iwn/if_iwn.c
5515
if (sc->hw_type == IWN_HW_REV_TYPE_2030 ||
usr/src/uts/common/io/iwn/if_iwn.c
5516
sc->hw_type == IWN_HW_REV_TYPE_2000 ||
usr/src/uts/common/io/iwn/if_iwn.c
5517
sc->hw_type == IWN_HW_REV_TYPE_135 ||
usr/src/uts/common/io/iwn/if_iwn.c
5518
sc->hw_type == IWN_HW_REV_TYPE_105) {
usr/src/uts/common/io/iwn/if_iwn.c
5519
error = iwn2000_temp_offset_calib(sc);
usr/src/uts/common/io/iwn/if_iwn.c
5521
dev_err(sc->sc_dip, CE_WARN,
usr/src/uts/common/io/iwn/if_iwn.c
5527
if (sc->hw_type == IWN_HW_REV_TYPE_6050 ||
usr/src/uts/common/io/iwn/if_iwn.c
5528
sc->hw_type == IWN_HW_REV_TYPE_6005) {
usr/src/uts/common/io/iwn/if_iwn.c
553
if (sc->sc_ks_toff != NULL)
usr/src/uts/common/io/iwn/if_iwn.c
5530
error = iwn5000_runtime_calib(sc);
usr/src/uts/common/io/iwn/if_iwn.c
5532
dev_err(sc->sc_dip, CE_WARN,
usr/src/uts/common/io/iwn/if_iwn.c
5539
if (sc->hw_type != IWN_HW_REV_TYPE_4965) {
usr/src/uts/common/io/iwn/if_iwn.c
554
sc->sc_ks_toff->ks_lock = &sc->sc_mtx;
usr/src/uts/common/io/iwn/if_iwn.c
5540
txmask = htole32(sc->txchainmask);
usr/src/uts/common/io/iwn/if_iwn.c
5541
error = iwn_cmd(sc, IWN5000_CMD_TX_ANT_CONFIG, &txmask,
usr/src/uts/common/io/iwn/if_iwn.c
5544
dev_err(sc->sc_dip, CE_WARN,
usr/src/uts/common/io/iwn/if_iwn.c
5551
memset(&sc->rxon, 0, sizeof (struct iwn_rxon));
usr/src/uts/common/io/iwn/if_iwn.c
5552
IEEE80211_ADDR_COPY(sc->rxon.myaddr, ic->ic_macaddr);
usr/src/uts/common/io/iwn/if_iwn.c
5553
IEEE80211_ADDR_COPY(sc->rxon.wlap, ic->ic_macaddr);
usr/src/uts/common/io/iwn/if_iwn.c
5554
sc->rxon.chan = ieee80211_chan2ieee(ic, ic->ic_ibss_chan);
usr/src/uts/common/io/iwn/if_iwn.c
5555
sc->rxon.flags = htole32(IWN_RXON_TSF | IWN_RXON_CTS_TO_SELF);
usr/src/uts/common/io/iwn/if_iwn.c
5557
sc->rxon.flags |= htole32(IWN_RXON_AUTO | IWN_RXON_24GHZ);
usr/src/uts/common/io/iwn/if_iwn.c
556
kstat_named_init(&sc->sc_toff.t2000->toff_lo,
usr/src/uts/common/io/iwn/if_iwn.c
5560
sc->rxon.mode = IWN_MODE_IBSS;
usr/src/uts/common/io/iwn/if_iwn.c
5561
sc->rxon.filter = htole32(IWN_FILTER_MULTICAST);
usr/src/uts/common/io/iwn/if_iwn.c
5564
sc->rxon.mode = IWN_MODE_STA;
usr/src/uts/common/io/iwn/if_iwn.c
5565
sc->rxon.filter = htole32(IWN_FILTER_MULTICAST);
usr/src/uts/common/io/iwn/if_iwn.c
5568
sc->rxon.mode = IWN_MODE_MONITOR;
usr/src/uts/common/io/iwn/if_iwn.c
5569
sc->rxon.filter = htole32(IWN_FILTER_MULTICAST |
usr/src/uts/common/io/iwn/if_iwn.c
5579
sc->rxon.cck_mask = 0x0f; /* not yet negotiated */
usr/src/uts/common/io/iwn/if_iwn.c
558
kstat_named_init(&sc->sc_toff.t2000->toff_hi,
usr/src/uts/common/io/iwn/if_iwn.c
5580
sc->rxon.ofdm_mask = 0xff; /* not yet negotiated */
usr/src/uts/common/io/iwn/if_iwn.c
5581
sc->rxon.ht_single_mask = 0xff;
usr/src/uts/common/io/iwn/if_iwn.c
5582
sc->rxon.ht_dual_mask = 0xff;
usr/src/uts/common/io/iwn/if_iwn.c
5583
sc->rxon.ht_triple_mask = 0xff;
usr/src/uts/common/io/iwn/if_iwn.c
5585
IWN_RXCHAIN_VALID(sc->rxchainmask) |
usr/src/uts/common/io/iwn/if_iwn.c
5588
sc->rxon.rxchain = htole16(rxchain);
usr/src/uts/common/io/iwn/if_iwn.c
5589
DTRACE_PROBE2(rxon, struct iwn_rxon *, &sc->rxon, int, sc->rxonsz);
usr/src/uts/common/io/iwn/if_iwn.c
5590
error = iwn_cmd(sc, IWN_CMD_RXON, &sc->rxon, sc->rxonsz, 0);
usr/src/uts/common/io/iwn/if_iwn.c
5592
dev_err(sc->sc_dip, CE_WARN,
usr/src/uts/common/io/iwn/if_iwn.c
5597
if ((error = iwn_add_broadcast_node(sc, 0)) != 0) {
usr/src/uts/common/io/iwn/if_iwn.c
5598
dev_err(sc->sc_dip, CE_WARN,
usr/src/uts/common/io/iwn/if_iwn.c
560
kstat_named_init(&sc->sc_toff.t2000->volt,
usr/src/uts/common/io/iwn/if_iwn.c
5604
if ((error = ops->set_txpower(sc, 0)) != 0) {
usr/src/uts/common/io/iwn/if_iwn.c
5605
dev_err(sc->sc_dip, CE_WARN,
usr/src/uts/common/io/iwn/if_iwn.c
5610
if ((error = iwn_set_critical_temp(sc)) != 0) {
usr/src/uts/common/io/iwn/if_iwn.c
5611
dev_err(sc->sc_dip, CE_WARN,
usr/src/uts/common/io/iwn/if_iwn.c
5617
if ((error = iwn_set_pslevel(sc, 0, 0, 0)) != 0) {
usr/src/uts/common/io/iwn/if_iwn.c
5618
dev_err(sc->sc_dip, CE_WARN,
usr/src/uts/common/io/iwn/if_iwn.c
5626
iwn_get_active_dwell_time(struct iwn_softc *sc, uint16_t flags,
usr/src/uts/common/io/iwn/if_iwn.c
5629
_NOTE(ARGUNUSED(sc));
usr/src/uts/common/io/iwn/if_iwn.c
5647
iwn_limit_dwell(struct iwn_softc *sc, uint16_t dwell_time)
usr/src/uts/common/io/iwn/if_iwn.c
565
iwn_kstat_init_4965(struct iwn_softc *sc)
usr/src/uts/common/io/iwn/if_iwn.c
5651
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/iwn/if_iwn.c
5674
iwn_get_passive_dwell_time(struct iwn_softc *sc, uint16_t flags)
usr/src/uts/common/io/iwn/if_iwn.c
5683
return iwn_limit_dwell(sc, passive);
usr/src/uts/common/io/iwn/if_iwn.c
5687
iwn_scan(struct iwn_softc *sc, uint16_t flags)
usr/src/uts/common/io/iwn/if_iwn.c
5689
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/iwn/if_iwn.c
569
if (sc->sc_ks_txpower != NULL)
usr/src/uts/common/io/iwn/if_iwn.c
570
sc->sc_ks_txpower->ks_lock = &sc->sc_mtx;
usr/src/uts/common/io/iwn/if_iwn.c
5704
dev_err(sc->sc_dip, CE_WARN,
usr/src/uts/common/io/iwn/if_iwn.c
5718
IWN_RXCHAIN_VALID(sc->rxchainmask) |
usr/src/uts/common/io/iwn/if_iwn.c
5719
IWN_RXCHAIN_FORCE_MIMO_SEL(sc->rxchainmask) |
usr/src/uts/common/io/iwn/if_iwn.c
572
kstat_named_init(&sc->sc_txpower->vdiff,
usr/src/uts/common/io/iwn/if_iwn.c
5722
sc->hw_type == IWN_HW_REV_TYPE_4965) {
usr/src/uts/common/io/iwn/if_iwn.c
5726
rxchain |= IWN_RXCHAIN_FORCE_SEL(sc->rxchainmask);
usr/src/uts/common/io/iwn/if_iwn.c
5732
tx->id = sc->broadcast_id;
usr/src/uts/common/io/iwn/if_iwn.c
574
kstat_named_init(&sc->sc_txpower->chan,
usr/src/uts/common/io/iwn/if_iwn.c
5750
txant = IWN_LSB(sc->txchainmask);
usr/src/uts/common/io/iwn/if_iwn.c
576
kstat_named_init(&sc->sc_txpower->group,
usr/src/uts/common/io/iwn/if_iwn.c
578
kstat_named_init(&sc->sc_txpower->subband,
usr/src/uts/common/io/iwn/if_iwn.c
5832
if (sc->tlv_feature_flags & IWN_UCODE_TLV_FLAGS_NEWSCAN)
usr/src/uts/common/io/iwn/if_iwn.c
584
kstat_named_init(&sc->sc_txpower->txchain[i].power,
usr/src/uts/common/io/iwn/if_iwn.c
5855
dwell_active = iwn_get_active_dwell_time(sc, flags, is_active);
usr/src/uts/common/io/iwn/if_iwn.c
5856
dwell_passive = iwn_get_passive_dwell_time(sc, flags);
usr/src/uts/common/io/iwn/if_iwn.c
588
kstat_named_init(&sc->sc_txpower->txchain[i].gain,
usr/src/uts/common/io/iwn/if_iwn.c
5882
error = iwn_cmd(sc, IWN_CMD_SCAN, buf, buflen, 1);
usr/src/uts/common/io/iwn/if_iwn.c
5888
iwn_auth(struct iwn_softc *sc)
usr/src/uts/common/io/iwn/if_iwn.c
5890
struct iwn_ops *ops = &sc->ops;
usr/src/uts/common/io/iwn/if_iwn.c
5891
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/iwn/if_iwn.c
5898
IEEE80211_ADDR_COPY(sc->rxon.bssid, ni->in_bssid);
usr/src/uts/common/io/iwn/if_iwn.c
5899
sc->rxon.chan = ieee80211_chan2ieee(ic, ni->in_chan);
usr/src/uts/common/io/iwn/if_iwn.c
5900
sc->rxon.flags = htole32(IWN_RXON_TSF | IWN_RXON_CTS_TO_SELF);
usr/src/uts/common/io/iwn/if_iwn.c
5903
sc->rxon.flags |= htole32(IWN_RXON_AUTO | IWN_RXON_24GHZ);
usr/src/uts/common/io/iwn/if_iwn.c
5905
sc->rxon.flags |= htole32(IWN_RXON_SHSLOT);
usr/src/uts/common/io/iwn/if_iwn.c
5907
sc->rxon.flags |= htole32(IWN_RXON_SHPREAMBLE);
usr/src/uts/common/io/iwn/if_iwn.c
5910
sc->rxon.cck_mask = 0;
usr/src/uts/common/io/iwn/if_iwn.c
5911
sc->rxon.ofdm_mask = 0x15;
usr/src/uts/common/io/iwn/if_iwn.c
5914
sc->rxon.cck_mask = 0x03;
usr/src/uts/common/io/iwn/if_iwn.c
5915
sc->rxon.ofdm_mask = 0;
usr/src/uts/common/io/iwn/if_iwn.c
5918
sc->rxon.cck_mask = 0x0f;
usr/src/uts/common/io/iwn/if_iwn.c
5919
sc->rxon.ofdm_mask = 0x15;
usr/src/uts/common/io/iwn/if_iwn.c
592
kstat_named_init(&sc->sc_txpower->txchain[i].temp,
usr/src/uts/common/io/iwn/if_iwn.c
5921
DTRACE_PROBE2(rxon, struct iwn_rxon *, &sc->rxon, int, sc->rxonsz);
usr/src/uts/common/io/iwn/if_iwn.c
5922
error = iwn_cmd(sc, IWN_CMD_RXON, &sc->rxon, sc->rxonsz, 1);
usr/src/uts/common/io/iwn/if_iwn.c
5924
dev_err(sc->sc_dip, CE_WARN,
usr/src/uts/common/io/iwn/if_iwn.c
5930
if ((error = ops->set_txpower(sc, 1)) != 0) {
usr/src/uts/common/io/iwn/if_iwn.c
5931
dev_err(sc->sc_dip, CE_WARN,
usr/src/uts/common/io/iwn/if_iwn.c
5939
if ((error = iwn_add_broadcast_node(sc, 1)) != 0) {
usr/src/uts/common/io/iwn/if_iwn.c
5940
dev_err(sc->sc_dip, CE_WARN,
usr/src/uts/common/io/iwn/if_iwn.c
5948
iwn_fast_recover(struct iwn_softc *sc)
usr/src/uts/common/io/iwn/if_iwn.c
5952
mutex_enter(&sc->sc_mtx);
usr/src/uts/common/io/iwn/if_iwn.c
5955
bcopy(&sc->rxon_save, &sc->rxon,
usr/src/uts/common/io/iwn/if_iwn.c
5956
sizeof (sc->rxon));
usr/src/uts/common/io/iwn/if_iwn.c
5958
sc->rxon.associd = 0;
usr/src/uts/common/io/iwn/if_iwn.c
5959
sc->rxon.filter &= ~htole32(IWN_FILTER_BSS);
usr/src/uts/common/io/iwn/if_iwn.c
5961
if ((err = iwn_auth(sc)) != IWN_SUCCESS) {
usr/src/uts/common/io/iwn/if_iwn.c
5962
dev_err(sc->sc_dip, CE_WARN, "!iwn_fast_recover(): "
usr/src/uts/common/io/iwn/if_iwn.c
5964
mutex_exit(&sc->sc_mtx);
usr/src/uts/common/io/iwn/if_iwn.c
5968
bcopy(&sc->rxon_save, &sc->rxon, sizeof (sc->rxon));
usr/src/uts/common/io/iwn/if_iwn.c
597
kstat_named_init(&sc->sc_txpower->txchain[i].tcomp,
usr/src/uts/common/io/iwn/if_iwn.c
5971
err = iwn_run(sc);
usr/src/uts/common/io/iwn/if_iwn.c
5973
dev_err(sc->sc_dip, CE_WARN, "!iwn_fast_recover(): "
usr/src/uts/common/io/iwn/if_iwn.c
5975
mutex_exit(&sc->sc_mtx);
usr/src/uts/common/io/iwn/if_iwn.c
5979
iwn_set_led(sc, IWN_LED_LINK, 0, 1);
usr/src/uts/common/io/iwn/if_iwn.c
5981
sc->sc_flags &= ~IWN_FLAG_HW_ERR_RECOVER;
usr/src/uts/common/io/iwn/if_iwn.c
5982
mutex_exit(&sc->sc_mtx);
usr/src/uts/common/io/iwn/if_iwn.c
5991
iwn_run(struct iwn_softc *sc)
usr/src/uts/common/io/iwn/if_iwn.c
5993
struct iwn_ops *ops = &sc->ops;
usr/src/uts/common/io/iwn/if_iwn.c
5994
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/iwn/if_iwn.c
6001
iwn_set_led(sc, IWN_LED_LINK, 5, 5);
usr/src/uts/common/io/iwn/if_iwn.c
6004
if ((error = iwn_set_timing(sc, ni)) != 0) {
usr/src/uts/common/io/iwn/if_iwn.c
6005
dev_err(sc->sc_dip, CE_WARN,
usr/src/uts/common/io/iwn/if_iwn.c
6011
IEEE80211_ADDR_COPY(sc->rxon.bssid, ni->in_bssid);
usr/src/uts/common/io/iwn/if_iwn.c
6012
sc->rxon.associd = htole16(IEEE80211_AID(ni->in_associd));
usr/src/uts/common/io/iwn/if_iwn.c
6014
sc->rxon.flags &= ~htole32(IWN_RXON_SHPREAMBLE | IWN_RXON_SHSLOT);
usr/src/uts/common/io/iwn/if_iwn.c
6016
sc->rxon.flags |= htole32(IWN_RXON_SHSLOT);
usr/src/uts/common/io/iwn/if_iwn.c
6018
sc->rxon.flags |= htole32(IWN_RXON_SHPREAMBLE);
usr/src/uts/common/io/iwn/if_iwn.c
6019
sc->rxon.filter |= htole32(IWN_FILTER_BSS);
usr/src/uts/common/io/iwn/if_iwn.c
6022
sc->rxon.filter |= htole32(IWN_FILTER_BEACON);
usr/src/uts/common/io/iwn/if_iwn.c
6023
DTRACE_PROBE2(rxon, struct iwn_rxon *, &sc->rxon, int, sc->rxonsz);
usr/src/uts/common/io/iwn/if_iwn.c
6024
error = iwn_cmd(sc, IWN_CMD_RXON, &sc->rxon, sc->rxonsz, 1);
usr/src/uts/common/io/iwn/if_iwn.c
6026
dev_err(sc->sc_dip, CE_WARN,
usr/src/uts/common/io/iwn/if_iwn.c
6032
if ((error = ops->set_txpower(sc, 1)) != 0) {
usr/src/uts/common/io/iwn/if_iwn.c
6033
dev_err(sc->sc_dip, CE_WARN,
usr/src/uts/common/io/iwn/if_iwn.c
604
&sc->sc_txpower->txchain[i].rate[r].rf_gain,
usr/src/uts/common/io/iwn/if_iwn.c
6050
error = ops->add_node(sc, &node, 1);
usr/src/uts/common/io/iwn/if_iwn.c
6052
dev_err(sc->sc_dip, CE_WARN,
usr/src/uts/common/io/iwn/if_iwn.c
6056
if ((error = iwn_set_link_quality(sc, ni)) != 0) {
usr/src/uts/common/io/iwn/if_iwn.c
6057
dev_err(sc->sc_dip, CE_WARN,
usr/src/uts/common/io/iwn/if_iwn.c
6062
if ((error = iwn_init_sensitivity(sc)) != 0) {
usr/src/uts/common/io/iwn/if_iwn.c
6063
dev_err(sc->sc_dip, CE_WARN,
usr/src/uts/common/io/iwn/if_iwn.c
6068
if ((error = iwn_qosparam_to_hw(sc, 1)) != 0) {
usr/src/uts/common/io/iwn/if_iwn.c
6069
dev_err(sc->sc_dip, CE_WARN,
usr/src/uts/common/io/iwn/if_iwn.c
6075
sc->sc_flags &= ~IWN_FLAG_STOP_CALIB_TO;
usr/src/uts/common/io/iwn/if_iwn.c
6076
sc->calib.state = IWN_CALIB_STATE_ASSOC;
usr/src/uts/common/io/iwn/if_iwn.c
6077
sc->calib_cnt = 0;
usr/src/uts/common/io/iwn/if_iwn.c
6078
sc->calib_to = timeout(iwn_calib_timeout, sc, drv_usectohz(500000));
usr/src/uts/common/io/iwn/if_iwn.c
6081
iwn_set_led(sc, IWN_LED_LINK, 0, 1);
usr/src/uts/common/io/iwn/if_iwn.c
6094
struct iwn_softc *sc = ic->ic_softc;
usr/src/uts/common/io/iwn/if_iwn.c
6095
struct iwn_ops *ops = &sc->ops;
usr/src/uts/common/io/iwn/if_iwn.c
610
&sc->sc_txpower->txchain[0].rate[0].dsp_gain,
usr/src/uts/common/io/iwn/if_iwn.c
6110
sc->broadcast_id : wn->id;
usr/src/uts/common/io/iwn/if_iwn.c
6117
return ops->add_node(sc, &node, 1);
usr/src/uts/common/io/iwn/if_iwn.c
6124
struct iwn_softc *sc = ic->ic_softc;
usr/src/uts/common/io/iwn/if_iwn.c
6125
struct iwn_ops *ops = &sc->ops;
usr/src/uts/common/io/iwn/if_iwn.c
6139
sc->broadcast_id : wn->id;
usr/src/uts/common/io/iwn/if_iwn.c
6145
(void)ops->add_node(sc, &node, 1);
usr/src/uts/common/io/iwn/if_iwn.c
6159
struct iwn_softc *sc = ic->ic_softc;
usr/src/uts/common/io/iwn/if_iwn.c
6160
struct iwn_ops *ops = &sc->ops;
usr/src/uts/common/io/iwn/if_iwn.c
617
iwn_kstat_init_6000(struct iwn_softc *sc)
usr/src/uts/common/io/iwn/if_iwn.c
6171
return ops->add_node(sc, &node, 1);
usr/src/uts/common/io/iwn/if_iwn.c
6182
struct iwn_softc *sc = ic->ic_softc;
usr/src/uts/common/io/iwn/if_iwn.c
6183
struct iwn_ops *ops = &sc->ops;
usr/src/uts/common/io/iwn/if_iwn.c
619
if (sc->sc_ks_toff != NULL)
usr/src/uts/common/io/iwn/if_iwn.c
6193
(void)ops->add_node(sc, &node, 1);
usr/src/uts/common/io/iwn/if_iwn.c
620
sc->sc_ks_toff->ks_lock = &sc->sc_mtx;
usr/src/uts/common/io/iwn/if_iwn.c
6205
struct iwn_softc *sc = ic->ic_softc;
usr/src/uts/common/io/iwn/if_iwn.c
6206
struct iwn_ops *ops = &sc->ops;
usr/src/uts/common/io/iwn/if_iwn.c
6218
error = ops->add_node(sc, &node, 1);
usr/src/uts/common/io/iwn/if_iwn.c
622
kstat_named_init(&sc->sc_toff.t6000->toff,
usr/src/uts/common/io/iwn/if_iwn.c
6222
if ((error = iwn_nic_lock(sc)) != 0)
usr/src/uts/common/io/iwn/if_iwn.c
6224
ops->ampdu_tx_start(sc, ni, tid, ba->ba_winstart);
usr/src/uts/common/io/iwn/if_iwn.c
6225
iwn_nic_unlock(sc);
usr/src/uts/common/io/iwn/if_iwn.c
6234
struct iwn_softc *sc = ic->ic_softc;
usr/src/uts/common/io/iwn/if_iwn.c
6235
struct iwn_ops *ops = &sc->ops;
usr/src/uts/common/io/iwn/if_iwn.c
6237
if (iwn_nic_lock(sc) != 0)
usr/src/uts/common/io/iwn/if_iwn.c
6239
ops->ampdu_tx_stop(sc, tid, ba->ba_winstart);
usr/src/uts/common/io/iwn/if_iwn.c
6240
iwn_nic_unlock(sc);
usr/src/uts/common/io/iwn/if_iwn.c
6244
iwn4965_ampdu_tx_start(struct iwn_softc *sc, struct ieee80211_node *ni,
usr/src/uts/common/io/iwn/if_iwn.c
6251
iwn_prph_write(sc, IWN4965_SCHED_QUEUE_STATUS(qid),
usr/src/uts/common/io/iwn/if_iwn.c
6255
iwn_mem_write_2(sc, sc->sched_base + IWN4965_SCHED_TRANS_TBL(qid),
usr/src/uts/common/io/iwn/if_iwn.c
6259
iwn_prph_setbits(sc, IWN4965_SCHED_QCHAIN_SEL, 1 << qid);
usr/src/uts/common/io/iwn/if_iwn.c
6262
IWN_WRITE(sc, IWN_HBUS_TARG_WRPTR, qid << 8 | (ssn & 0xff));
usr/src/uts/common/io/iwn/if_iwn.c
6263
iwn_prph_write(sc, IWN4965_SCHED_QUEUE_RDPTR(qid), ssn);
usr/src/uts/common/io/iwn/if_iwn.c
6266
iwn_mem_write(sc, sc->sched_base + IWN4965_SCHED_QUEUE_OFFSET(qid),
usr/src/uts/common/io/iwn/if_iwn.c
6269
iwn_mem_write(sc, sc->sched_base + IWN4965_SCHED_QUEUE_OFFSET(qid) + 4,
usr/src/uts/common/io/iwn/if_iwn.c
627
iwn_intr_teardown(struct iwn_softc *sc)
usr/src/uts/common/io/iwn/if_iwn.c
6273
iwn_prph_setbits(sc, IWN4965_SCHED_INTR_MASK, 1 << qid);
usr/src/uts/common/io/iwn/if_iwn.c
6276
iwn_prph_write(sc, IWN4965_SCHED_QUEUE_STATUS(qid),
usr/src/uts/common/io/iwn/if_iwn.c
6282
iwn4965_ampdu_tx_stop(struct iwn_softc *sc, uint8_t tid, uint16_t ssn)
usr/src/uts/common/io/iwn/if_iwn.c
6287
iwn_prph_write(sc, IWN4965_SCHED_QUEUE_STATUS(qid),
usr/src/uts/common/io/iwn/if_iwn.c
629
if (sc->sc_intr_htable != NULL) {
usr/src/uts/common/io/iwn/if_iwn.c
6291
IWN_WRITE(sc, IWN_HBUS_TARG_WRPTR, qid << 8 | (ssn & 0xff));
usr/src/uts/common/io/iwn/if_iwn.c
6292
iwn_prph_write(sc, IWN4965_SCHED_QUEUE_RDPTR(qid), ssn);
usr/src/uts/common/io/iwn/if_iwn.c
6295
iwn_prph_clrbits(sc, IWN4965_SCHED_INTR_MASK, 1 << qid);
usr/src/uts/common/io/iwn/if_iwn.c
6298
iwn_prph_write(sc, IWN4965_SCHED_QUEUE_STATUS(qid),
usr/src/uts/common/io/iwn/if_iwn.c
630
if ((sc->sc_intr_cap & DDI_INTR_FLAG_BLOCK) != 0) {
usr/src/uts/common/io/iwn/if_iwn.c
6303
iwn5000_ampdu_tx_start(struct iwn_softc *sc, struct ieee80211_node *ni,
usr/src/uts/common/io/iwn/if_iwn.c
631
(void) ddi_intr_block_disable(sc->sc_intr_htable,
usr/src/uts/common/io/iwn/if_iwn.c
6310
iwn_prph_write(sc, IWN5000_SCHED_QUEUE_STATUS(qid),
usr/src/uts/common/io/iwn/if_iwn.c
6314
iwn_mem_write_2(sc, sc->sched_base + IWN5000_SCHED_TRANS_TBL(qid),
usr/src/uts/common/io/iwn/if_iwn.c
6318
iwn_prph_setbits(sc, IWN5000_SCHED_QCHAIN_SEL, 1 << qid);
usr/src/uts/common/io/iwn/if_iwn.c
632
sc->sc_intr_count);
usr/src/uts/common/io/iwn/if_iwn.c
6321
iwn_prph_setbits(sc, IWN5000_SCHED_AGGR_SEL, 1 << qid);
usr/src/uts/common/io/iwn/if_iwn.c
6324
IWN_WRITE(sc, IWN_HBUS_TARG_WRPTR, qid << 8 | (ssn & 0xff));
usr/src/uts/common/io/iwn/if_iwn.c
6325
iwn_prph_write(sc, IWN5000_SCHED_QUEUE_RDPTR(qid), ssn);
usr/src/uts/common/io/iwn/if_iwn.c
6328
iwn_mem_write(sc, sc->sched_base + IWN5000_SCHED_QUEUE_OFFSET(qid) + 4,
usr/src/uts/common/io/iwn/if_iwn.c
6332
iwn_prph_setbits(sc, IWN5000_SCHED_INTR_MASK, 1 << qid);
usr/src/uts/common/io/iwn/if_iwn.c
6335
iwn_prph_write(sc, IWN5000_SCHED_QUEUE_STATUS(qid),
usr/src/uts/common/io/iwn/if_iwn.c
634
(void) ddi_intr_disable(sc->sc_intr_htable[0]);
usr/src/uts/common/io/iwn/if_iwn.c
6340
iwn5000_ampdu_tx_stop(struct iwn_softc *sc, uint8_t tid, uint16_t ssn)
usr/src/uts/common/io/iwn/if_iwn.c
6345
iwn_prph_write(sc, IWN5000_SCHED_QUEUE_STATUS(qid),
usr/src/uts/common/io/iwn/if_iwn.c
6349
iwn_prph_clrbits(sc, IWN5000_SCHED_AGGR_SEL, 1 << qid);
usr/src/uts/common/io/iwn/if_iwn.c
6352
IWN_WRITE(sc, IWN_HBUS_TARG_WRPTR, qid << 8 | (ssn & 0xff));
usr/src/uts/common/io/iwn/if_iwn.c
6353
iwn_prph_write(sc, IWN5000_SCHED_QUEUE_RDPTR(qid), ssn);
usr/src/uts/common/io/iwn/if_iwn.c
6356
iwn_prph_clrbits(sc, IWN5000_SCHED_INTR_MASK, 1 << qid);
usr/src/uts/common/io/iwn/if_iwn.c
6359
iwn_prph_write(sc, IWN5000_SCHED_QUEUE_STATUS(qid),
usr/src/uts/common/io/iwn/if_iwn.c
636
(void) ddi_intr_remove_handler(sc->sc_intr_htable[0]);
usr/src/uts/common/io/iwn/if_iwn.c
6369
iwn5000_query_calibration(struct iwn_softc *sc)
usr/src/uts/common/io/iwn/if_iwn.c
637
(void) ddi_intr_free(sc->sc_intr_htable[0]);
usr/src/uts/common/io/iwn/if_iwn.c
6375
ASSERT(mutex_owned(&sc->sc_mtx));
usr/src/uts/common/io/iwn/if_iwn.c
638
sc->sc_intr_htable[0] = NULL;
usr/src/uts/common/io/iwn/if_iwn.c
6382
error = iwn_cmd(sc, IWN5000_CMD_CALIB_CONFIG, &cmd, sizeof cmd, 0);
usr/src/uts/common/io/iwn/if_iwn.c
6388
while (!(sc->sc_flags & IWN_FLAG_CALIB_DONE))
usr/src/uts/common/io/iwn/if_iwn.c
6389
if (cv_timedwait(&sc->sc_calib_cv, &sc->sc_mtx, clk) < 0)
usr/src/uts/common/io/iwn/if_iwn.c
640
kmem_free(sc->sc_intr_htable, sc->sc_intr_size);
usr/src/uts/common/io/iwn/if_iwn.c
6400
iwn5000_send_calibration(struct iwn_softc *sc)
usr/src/uts/common/io/iwn/if_iwn.c
6405
if (sc->calibcmd[idx].buf == NULL)
usr/src/uts/common/io/iwn/if_iwn.c
6407
error = iwn_cmd(sc, IWN_CMD_PHY_CALIB, sc->calibcmd[idx].buf,
usr/src/uts/common/io/iwn/if_iwn.c
6408
sc->calibcmd[idx].len, 0);
usr/src/uts/common/io/iwn/if_iwn.c
641
sc->sc_intr_size = 0;
usr/src/uts/common/io/iwn/if_iwn.c
6410
dev_err(sc->sc_dip, CE_WARN,
usr/src/uts/common/io/iwn/if_iwn.c
6419
iwn5000_send_wimax_coex(struct iwn_softc *sc)
usr/src/uts/common/io/iwn/if_iwn.c
642
sc->sc_intr_htable = NULL;
usr/src/uts/common/io/iwn/if_iwn.c
6424
if (sc->hw_type == IWN_HW_REV_TYPE_6050) {
usr/src/uts/common/io/iwn/if_iwn.c
6440
return iwn_cmd(sc, IWN5000_CMD_WIMAX_COEX, &wimax, sizeof wimax, 0);
usr/src/uts/common/io/iwn/if_iwn.c
6444
iwn6000_temp_offset_calib(struct iwn_softc *sc)
usr/src/uts/common/io/iwn/if_iwn.c
6452
if (sc->eeprom_temp != 0)
usr/src/uts/common/io/iwn/if_iwn.c
6453
cmd.offset = htole16(sc->eeprom_temp);
usr/src/uts/common/io/iwn/if_iwn.c
6456
sc->sc_toff.t6000->toff.value.l = le16toh(cmd.offset);
usr/src/uts/common/io/iwn/if_iwn.c
6457
return iwn_cmd(sc, IWN_CMD_PHY_CALIB, &cmd, sizeof cmd, 0);
usr/src/uts/common/io/iwn/if_iwn.c
6461
iwn2000_temp_offset_calib(struct iwn_softc *sc)
usr/src/uts/common/io/iwn/if_iwn.c
6469
if (sc->eeprom_rawtemp != 0) {
usr/src/uts/common/io/iwn/if_iwn.c
647
iwn_intr_add(struct iwn_softc *sc, int intr_type)
usr/src/uts/common/io/iwn/if_iwn.c
6470
cmd.offset_low = htole16(sc->eeprom_rawtemp);
usr/src/uts/common/io/iwn/if_iwn.c
6471
cmd.offset_high = htole16(sc->eeprom_temp);
usr/src/uts/common/io/iwn/if_iwn.c
6476
cmd.burnt_voltage_ref = htole16(sc->eeprom_voltage);
usr/src/uts/common/io/iwn/if_iwn.c
6477
sc->sc_toff.t2000->toff_lo.value.l = le16toh(cmd.offset_low);
usr/src/uts/common/io/iwn/if_iwn.c
6478
sc->sc_toff.t2000->toff_hi.value.l = le16toh(cmd.offset_high);
usr/src/uts/common/io/iwn/if_iwn.c
6479
sc->sc_toff.t2000->volt.value.l = le16toh(cmd.burnt_voltage_ref);
usr/src/uts/common/io/iwn/if_iwn.c
6481
return iwn_cmd(sc, IWN_CMD_PHY_CALIB, &cmd, sizeof cmd, 0);
usr/src/uts/common/io/iwn/if_iwn.c
6489
iwn4965_post_alive(struct iwn_softc *sc)
usr/src/uts/common/io/iwn/if_iwn.c
6493
if ((error = iwn_nic_lock(sc)) != 0)
usr/src/uts/common/io/iwn/if_iwn.c
6497
sc->sched_base = iwn_prph_read(sc, IWN_SCHED_SRAM_ADDR);
usr/src/uts/common/io/iwn/if_iwn.c
6498
iwn_mem_set_region_4(sc, sc->sched_base + IWN4965_SCHED_CTX_OFF, 0,
usr/src/uts/common/io/iwn/if_iwn.c
6502
iwn_prph_write(sc, IWN4965_SCHED_DRAM_ADDR, sc->sched_dma.paddr >> 10);
usr/src/uts/common/io/iwn/if_iwn.c
6504
IWN_SETBITS(sc, IWN_FH_TX_CHICKEN, IWN_FH_TX_CHICKEN_SCHED_RETRY);
usr/src/uts/common/io/iwn/if_iwn.c
6507
iwn_prph_write(sc, IWN4965_SCHED_QCHAIN_SEL, 0);
usr/src/uts/common/io/iwn/if_iwn.c
6510
iwn_prph_write(sc, IWN4965_SCHED_QUEUE_RDPTR(qid), 0);
usr/src/uts/common/io/iwn/if_iwn.c
6511
IWN_WRITE(sc, IWN_HBUS_TARG_WRPTR, qid << 8 | 0);
usr/src/uts/common/io/iwn/if_iwn.c
6514
iwn_mem_write(sc, sc->sched_base +
usr/src/uts/common/io/iwn/if_iwn.c
6517
iwn_mem_write(sc, sc->sched_base +
usr/src/uts/common/io/iwn/if_iwn.c
6523
iwn_prph_write(sc, IWN4965_SCHED_INTR_MASK, 0xffff);
usr/src/uts/common/io/iwn/if_iwn.c
6525
iwn_prph_write(sc, IWN4965_SCHED_TXFACT, 0xff);
usr/src/uts/common/io/iwn/if_iwn.c
653
if (ddi_intr_get_nintrs(sc->sc_dip, intr_type, &ni) != DDI_SUCCESS)
usr/src/uts/common/io/iwn/if_iwn.c
6530
iwn_prph_write(sc, IWN4965_SCHED_QUEUE_STATUS(qid),
usr/src/uts/common/io/iwn/if_iwn.c
6533
iwn_nic_unlock(sc);
usr/src/uts/common/io/iwn/if_iwn.c
6542
iwn5000_post_alive(struct iwn_softc *sc)
usr/src/uts/common/io/iwn/if_iwn.c
6547
iwn5000_ict_reset(sc);
usr/src/uts/common/io/iwn/if_iwn.c
6549
if ((error = iwn_nic_lock(sc)) != 0)
usr/src/uts/common/io/iwn/if_iwn.c
6553
sc->sched_base = iwn_prph_read(sc, IWN_SCHED_SRAM_ADDR);
usr/src/uts/common/io/iwn/if_iwn.c
6554
iwn_mem_set_region_4(sc, sc->sched_base + IWN5000_SCHED_CTX_OFF, 0,
usr/src/uts/common/io/iwn/if_iwn.c
6558
iwn_prph_write(sc, IWN5000_SCHED_DRAM_ADDR, sc->sched_dma.paddr >> 10);
usr/src/uts/common/io/iwn/if_iwn.c
6560
IWN_SETBITS(sc, IWN_FH_TX_CHICKEN, IWN_FH_TX_CHICKEN_SCHED_RETRY);
usr/src/uts/common/io/iwn/if_iwn.c
6563
iwn_prph_write(sc, IWN5000_SCHED_QCHAIN_SEL, 0xfffef);
usr/src/uts/common/io/iwn/if_iwn.c
6564
iwn_prph_write(sc, IWN5000_SCHED_AGGR_SEL, 0);
usr/src/uts/common/io/iwn/if_iwn.c
6567
iwn_prph_write(sc, IWN5000_SCHED_QUEUE_RDPTR(qid), 0);
usr/src/uts/common/io/iwn/if_iwn.c
6568
IWN_WRITE(sc, IWN_HBUS_TARG_WRPTR, qid << 8 | 0);
usr/src/uts/common/io/iwn/if_iwn.c
657
if (ddi_intr_get_navail(sc->sc_dip, intr_type, &na) != DDI_SUCCESS)
usr/src/uts/common/io/iwn/if_iwn.c
6570
iwn_mem_write(sc, sc->sched_base +
usr/src/uts/common/io/iwn/if_iwn.c
6573
iwn_mem_write(sc, sc->sched_base +
usr/src/uts/common/io/iwn/if_iwn.c
6579
iwn_prph_write(sc, IWN5000_SCHED_INTR_MASK, 0xfffff);
usr/src/uts/common/io/iwn/if_iwn.c
6581
iwn_prph_write(sc, IWN5000_SCHED_TXFACT, 0xff);
usr/src/uts/common/io/iwn/if_iwn.c
6586
iwn_prph_write(sc, IWN5000_SCHED_QUEUE_STATUS(qid),
usr/src/uts/common/io/iwn/if_iwn.c
6589
iwn_nic_unlock(sc);
usr/src/uts/common/io/iwn/if_iwn.c
6592
error = iwn5000_send_wimax_coex(sc);
usr/src/uts/common/io/iwn/if_iwn.c
6594
dev_err(sc->sc_dip, CE_WARN,
usr/src/uts/common/io/iwn/if_iwn.c
6598
if (sc->hw_type != IWN_HW_REV_TYPE_5150) {
usr/src/uts/common/io/iwn/if_iwn.c
660
sc->sc_intr_size = sizeof (ddi_intr_handle_t);
usr/src/uts/common/io/iwn/if_iwn.c
6606
cmd.cap_pin[0] = le32toh(sc->eeprom_crystal) & 0xff;
usr/src/uts/common/io/iwn/if_iwn.c
6607
cmd.cap_pin[1] = (le32toh(sc->eeprom_crystal) >> 16) & 0xff;
usr/src/uts/common/io/iwn/if_iwn.c
6608
error = iwn_cmd(sc, IWN_CMD_PHY_CALIB, &cmd, sizeof cmd, 0);
usr/src/uts/common/io/iwn/if_iwn.c
661
sc->sc_intr_htable = kmem_zalloc(sc->sc_intr_size, KM_SLEEP);
usr/src/uts/common/io/iwn/if_iwn.c
6610
dev_err(sc->sc_dip, CE_WARN,
usr/src/uts/common/io/iwn/if_iwn.c
6615
if (!(sc->sc_flags & IWN_FLAG_CALIB_DONE)) {
usr/src/uts/common/io/iwn/if_iwn.c
6617
if ((error = iwn5000_query_calibration(sc)) != 0) {
usr/src/uts/common/io/iwn/if_iwn.c
6618
dev_err(sc->sc_dip, CE_WARN,
usr/src/uts/common/io/iwn/if_iwn.c
6626
iwn_hw_stop(sc, B_FALSE);
usr/src/uts/common/io/iwn/if_iwn.c
6627
error = iwn_hw_init(sc);
usr/src/uts/common/io/iwn/if_iwn.c
663
ret = ddi_intr_alloc(sc->sc_dip, sc->sc_intr_htable, intr_type, 0, 1,
usr/src/uts/common/io/iwn/if_iwn.c
6630
error = iwn5000_send_calibration(sc);
usr/src/uts/common/io/iwn/if_iwn.c
664
&sc->sc_intr_count, DDI_INTR_ALLOC_STRICT);
usr/src/uts/common/io/iwn/if_iwn.c
6640
iwn4965_load_bootcode(struct iwn_softc *sc, const uint8_t *ucode, int size)
usr/src/uts/common/io/iwn/if_iwn.c
6646
if ((error = iwn_nic_lock(sc)) != 0)
usr/src/uts/common/io/iwn/if_iwn.c
6650
iwn_prph_write_region_4(sc, IWN_BSM_SRAM_BASE,
usr/src/uts/common/io/iwn/if_iwn.c
6654
iwn_prph_write(sc, IWN_BSM_WR_MEM_SRC, 0);
usr/src/uts/common/io/iwn/if_iwn.c
6655
iwn_prph_write(sc, IWN_BSM_WR_MEM_DST, IWN_FW_TEXT_BASE);
usr/src/uts/common/io/iwn/if_iwn.c
6656
iwn_prph_write(sc, IWN_BSM_WR_DWCOUNT, size);
usr/src/uts/common/io/iwn/if_iwn.c
6659
iwn_prph_write(sc, IWN_BSM_WR_CTRL, IWN_BSM_WR_CTRL_START);
usr/src/uts/common/io/iwn/if_iwn.c
666
dev_err(sc->sc_dip, CE_WARN, "!ddi_intr_alloc() failed");
usr/src/uts/common/io/iwn/if_iwn.c
6663
if (!(iwn_prph_read(sc, IWN_BSM_WR_CTRL) &
usr/src/uts/common/io/iwn/if_iwn.c
6669
dev_err(sc->sc_dip, CE_WARN,
usr/src/uts/common/io/iwn/if_iwn.c
6671
iwn_nic_unlock(sc);
usr/src/uts/common/io/iwn/if_iwn.c
6676
iwn_prph_write(sc, IWN_BSM_WR_CTRL, IWN_BSM_WR_CTRL_START_EN);
usr/src/uts/common/io/iwn/if_iwn.c
6678
iwn_nic_unlock(sc);
usr/src/uts/common/io/iwn/if_iwn.c
6683
iwn4965_load_firmware(struct iwn_softc *sc)
usr/src/uts/common/io/iwn/if_iwn.c
6685
struct iwn_fw_info *fw = &sc->fw;
usr/src/uts/common/io/iwn/if_iwn.c
6686
struct iwn_dma_info *dma = &sc->fw_dma;
usr/src/uts/common/io/iwn/if_iwn.c
6690
ASSERT(mutex_owned(&sc->sc_mtx));
usr/src/uts/common/io/iwn/if_iwn.c
6699
if ((error = iwn_nic_lock(sc)) != 0)
usr/src/uts/common/io/iwn/if_iwn.c
670
ret = ddi_intr_get_pri(sc->sc_intr_htable[0], &sc->sc_intr_pri);
usr/src/uts/common/io/iwn/if_iwn.c
6701
iwn_prph_write(sc, IWN_BSM_DRAM_DATA_ADDR, dma->paddr >> 4);
usr/src/uts/common/io/iwn/if_iwn.c
6702
iwn_prph_write(sc, IWN_BSM_DRAM_DATA_SIZE, fw->init.datasz);
usr/src/uts/common/io/iwn/if_iwn.c
6703
iwn_prph_write(sc, IWN_BSM_DRAM_TEXT_ADDR,
usr/src/uts/common/io/iwn/if_iwn.c
6705
iwn_prph_write(sc, IWN_BSM_DRAM_TEXT_SIZE, fw->init.textsz);
usr/src/uts/common/io/iwn/if_iwn.c
6706
iwn_nic_unlock(sc);
usr/src/uts/common/io/iwn/if_iwn.c
6709
error = iwn4965_load_bootcode(sc, fw->boot.text, fw->boot.textsz);
usr/src/uts/common/io/iwn/if_iwn.c
6711
dev_err(sc->sc_dip, CE_WARN,
usr/src/uts/common/io/iwn/if_iwn.c
6716
IWN_WRITE(sc, IWN_RESET, 0);
usr/src/uts/common/io/iwn/if_iwn.c
672
dev_err(sc->sc_dip, CE_WARN, "!ddi_intr_get_pri() failed");
usr/src/uts/common/io/iwn/if_iwn.c
6720
while ((sc->sc_flags & IWN_FLAG_FW_ALIVE) == 0) {
usr/src/uts/common/io/iwn/if_iwn.c
6721
if (cv_timedwait(&sc->sc_alive_cv, &sc->sc_mtx, clk) < 0) {
usr/src/uts/common/io/iwn/if_iwn.c
6722
dev_err(sc->sc_dip, CE_WARN,
usr/src/uts/common/io/iwn/if_iwn.c
6729
sc->rawtemp = sc->ucode_info.temp[3].chan20MHz;
usr/src/uts/common/io/iwn/if_iwn.c
6730
sc->temp = iwn4965_get_temperature(sc);
usr/src/uts/common/io/iwn/if_iwn.c
6731
sc->sc_misc->temp.value.ul = sc->temp;
usr/src/uts/common/io/iwn/if_iwn.c
6740
if ((error = iwn_nic_lock(sc)) != 0)
usr/src/uts/common/io/iwn/if_iwn.c
6742
iwn_prph_write(sc, IWN_BSM_DRAM_DATA_ADDR, dma->paddr >> 4);
usr/src/uts/common/io/iwn/if_iwn.c
6743
iwn_prph_write(sc, IWN_BSM_DRAM_DATA_SIZE, fw->main.datasz);
usr/src/uts/common/io/iwn/if_iwn.c
6744
iwn_prph_write(sc, IWN_BSM_DRAM_TEXT_ADDR,
usr/src/uts/common/io/iwn/if_iwn.c
6746
iwn_prph_write(sc, IWN_BSM_DRAM_TEXT_SIZE,
usr/src/uts/common/io/iwn/if_iwn.c
6748
iwn_nic_unlock(sc);
usr/src/uts/common/io/iwn/if_iwn.c
6754
iwn5000_load_firmware_section(struct iwn_softc *sc, uint32_t dst,
usr/src/uts/common/io/iwn/if_iwn.c
6757
struct iwn_dma_info *dma = &sc->fw_dma;
usr/src/uts/common/io/iwn/if_iwn.c
676
ret = ddi_intr_add_handler(sc->sc_intr_htable[0], iwn_intr, (caddr_t)sc,
usr/src/uts/common/io/iwn/if_iwn.c
6761
ASSERT(mutex_owned(&sc->sc_mtx));
usr/src/uts/common/io/iwn/if_iwn.c
6767
if ((error = iwn_nic_lock(sc)) != 0)
usr/src/uts/common/io/iwn/if_iwn.c
6770
IWN_WRITE(sc, IWN_FH_TX_CONFIG(IWN_SRVC_DMACHNL),
usr/src/uts/common/io/iwn/if_iwn.c
6773
IWN_WRITE(sc, IWN_FH_SRAM_ADDR(IWN_SRVC_DMACHNL), dst);
usr/src/uts/common/io/iwn/if_iwn.c
6774
IWN_WRITE(sc, IWN_FH_TFBD_CTRL0(IWN_SRVC_DMACHNL),
usr/src/uts/common/io/iwn/if_iwn.c
6776
IWN_WRITE(sc, IWN_FH_TFBD_CTRL1(IWN_SRVC_DMACHNL),
usr/src/uts/common/io/iwn/if_iwn.c
6778
IWN_WRITE(sc, IWN_FH_TXBUF_STATUS(IWN_SRVC_DMACHNL),
usr/src/uts/common/io/iwn/if_iwn.c
6784
IWN_WRITE(sc, IWN_FH_TX_CONFIG(IWN_SRVC_DMACHNL),
usr/src/uts/common/io/iwn/if_iwn.c
6787
iwn_nic_unlock(sc);
usr/src/uts/common/io/iwn/if_iwn.c
679
dev_err(sc->sc_dip, CE_WARN, "!ddi_intr_add_handler() failed");
usr/src/uts/common/io/iwn/if_iwn.c
6791
while ((sc->sc_flags & IWN_FLAG_FW_DMA) == 0) {
usr/src/uts/common/io/iwn/if_iwn.c
6792
if (cv_timedwait(&sc->sc_fhdma_cv, &sc->sc_mtx, clk) < 0)
usr/src/uts/common/io/iwn/if_iwn.c
6795
sc->sc_flags &= ~IWN_FLAG_FW_DMA;
usr/src/uts/common/io/iwn/if_iwn.c
6801
iwn5000_load_firmware(struct iwn_softc *sc)
usr/src/uts/common/io/iwn/if_iwn.c
6807
fw = (sc->sc_flags & IWN_FLAG_CALIB_DONE) ?
usr/src/uts/common/io/iwn/if_iwn.c
6808
&sc->fw.main : &sc->fw.init;
usr/src/uts/common/io/iwn/if_iwn.c
6810
error = iwn5000_load_firmware_section(sc, IWN_FW_TEXT_BASE,
usr/src/uts/common/io/iwn/if_iwn.c
6813
dev_err(sc->sc_dip, CE_WARN,
usr/src/uts/common/io/iwn/if_iwn.c
6817
error = iwn5000_load_firmware_section(sc, IWN_FW_DATA_BASE,
usr/src/uts/common/io/iwn/if_iwn.c
6820
dev_err(sc->sc_dip, CE_WARN,
usr/src/uts/common/io/iwn/if_iwn.c
6826
IWN_WRITE(sc, IWN_RESET, 0);
usr/src/uts/common/io/iwn/if_iwn.c
683
ret = ddi_intr_get_cap(sc->sc_intr_htable[0], &sc->sc_intr_cap);
usr/src/uts/common/io/iwn/if_iwn.c
6834
iwn_read_firmware_leg(struct iwn_softc *sc, struct iwn_fw_info *fw)
usr/src/uts/common/io/iwn/if_iwn.c
6836
_NOTE(ARGUNUSED(sc));
usr/src/uts/common/io/iwn/if_iwn.c
6847
dev_err(sc->sc_dip, CE_WARN,
usr/src/uts/common/io/iwn/if_iwn.c
685
dev_err(sc->sc_dip, CE_WARN, "!ddi_intr_get_cap() failed");
usr/src/uts/common/io/iwn/if_iwn.c
6857
dev_err(sc->sc_dip, CE_WARN,
usr/src/uts/common/io/iwn/if_iwn.c
6870
dev_err(sc->sc_dip, CE_WARN,
usr/src/uts/common/io/iwn/if_iwn.c
6888
iwn_read_firmware_tlv(struct iwn_softc *sc, struct iwn_fw_info *fw,
usr/src/uts/common/io/iwn/if_iwn.c
689
if ((sc->sc_intr_cap & DDI_INTR_FLAG_BLOCK) != 0) {
usr/src/uts/common/io/iwn/if_iwn.c
6891
_NOTE(ARGUNUSED(sc));
usr/src/uts/common/io/iwn/if_iwn.c
6899
dev_err(sc->sc_dip, CE_WARN,
usr/src/uts/common/io/iwn/if_iwn.c
690
ret = ddi_intr_block_enable(sc->sc_intr_htable,
usr/src/uts/common/io/iwn/if_iwn.c
6905
dev_err(sc->sc_dip, CE_WARN,
usr/src/uts/common/io/iwn/if_iwn.c
691
sc->sc_intr_count);
usr/src/uts/common/io/iwn/if_iwn.c
6929
dev_err(sc->sc_dip, CE_WARN,
usr/src/uts/common/io/iwn/if_iwn.c
694
ret = ddi_intr_enable(sc->sc_intr_htable[0]);
usr/src/uts/common/io/iwn/if_iwn.c
6963
dev_err(sc->sc_dip, CE_WARN,
usr/src/uts/common/io/iwn/if_iwn.c
6968
sc->sc_flags |= IWN_FLAG_ENH_SENS;
usr/src/uts/common/io/iwn/if_iwn.c
6972
dev_err(sc->sc_dip, CE_WARN,
usr/src/uts/common/io/iwn/if_iwn.c
6978
sc->reset_noise_gain = le32toh(*ptr);
usr/src/uts/common/io/iwn/if_iwn.c
6979
sc->noise_gain = le32toh(*ptr) + 1;
usr/src/uts/common/io/iwn/if_iwn.c
6987
sc->tlv_feature_flags = le32toh(*ptr);
usr/src/uts/common/io/iwn/if_iwn.c
6988
IWN_DBG("feature: 0x%08x", sc->tlv_feature_flags);
usr/src/uts/common/io/iwn/if_iwn.c
699
dev_err(sc->sc_dip, CE_WARN, "!%s() failed", func);
usr/src/uts/common/io/iwn/if_iwn.c
7001
iwn_read_firmware(struct iwn_softc *sc)
usr/src/uts/common/io/iwn/if_iwn.c
7003
struct iwn_fw_info *fw = &sc->fw;
usr/src/uts/common/io/iwn/if_iwn.c
7012
sc->reset_noise_gain = IWN5000_PHY_CALIB_RESET_NOISE_GAIN;
usr/src/uts/common/io/iwn/if_iwn.c
7013
sc->noise_gain = IWN5000_PHY_CALIB_NOISE_GAIN;
usr/src/uts/common/io/iwn/if_iwn.c
7020
if ((error = firmware_open("iwn", sc->fwname, &fwh)) != 0) {
usr/src/uts/common/io/iwn/if_iwn.c
7021
dev_err(sc->sc_dip, CE_WARN,
usr/src/uts/common/io/iwn/if_iwn.c
7022
"!could not get firmware handle %s", sc->fwname);
usr/src/uts/common/io/iwn/if_iwn.c
7027
dev_err(sc->sc_dip, CE_WARN,
usr/src/uts/common/io/iwn/if_iwn.c
7038
dev_err(sc->sc_dip, CE_WARN,
usr/src/uts/common/io/iwn/if_iwn.c
7039
"!could not read firmware %s", sc->fwname);
usr/src/uts/common/io/iwn/if_iwn.c
7046
error = iwn_read_firmware_leg(sc, fw);
usr/src/uts/common/io/iwn/if_iwn.c
7048
error = iwn_read_firmware_tlv(sc, fw, 1);
usr/src/uts/common/io/iwn/if_iwn.c
7050
dev_err(sc->sc_dip, CE_WARN,
usr/src/uts/common/io/iwn/if_iwn.c
7056
if (fw->main.textsz > sc->fw_text_maxsz ||
usr/src/uts/common/io/iwn/if_iwn.c
7057
fw->main.datasz > sc->fw_data_maxsz ||
usr/src/uts/common/io/iwn/if_iwn.c
7058
fw->init.textsz > sc->fw_text_maxsz ||
usr/src/uts/common/io/iwn/if_iwn.c
7059
fw->init.datasz > sc->fw_data_maxsz ||
usr/src/uts/common/io/iwn/if_iwn.c
7062
dev_err(sc->sc_dip, CE_WARN,
usr/src/uts/common/io/iwn/if_iwn.c
707
iwn_intr_setup(struct iwn_softc *sc)
usr/src/uts/common/io/iwn/if_iwn.c
7077
iwn_clock_wait(struct iwn_softc *sc)
usr/src/uts/common/io/iwn/if_iwn.c
7082
IWN_SETBITS(sc, IWN_GP_CNTRL, IWN_GP_CNTRL_INIT_DONE);
usr/src/uts/common/io/iwn/if_iwn.c
7086
if (IWN_READ(sc, IWN_GP_CNTRL) & IWN_GP_CNTRL_MAC_CLOCK_READY)
usr/src/uts/common/io/iwn/if_iwn.c
7090
dev_err(sc->sc_dip, CE_WARN,
usr/src/uts/common/io/iwn/if_iwn.c
7096
iwn_apm_init(struct iwn_softc *sc)
usr/src/uts/common/io/iwn/if_iwn.c
7102
IWN_SETBITS(sc, IWN_GIO_CHICKEN, IWN_GIO_CHICKEN_DIS_L0S_TIMER);
usr/src/uts/common/io/iwn/if_iwn.c
7104
IWN_SETBITS(sc, IWN_GIO_CHICKEN, IWN_GIO_CHICKEN_L1A_NO_L0S_RX);
usr/src/uts/common/io/iwn/if_iwn.c
7107
IWN_SETBITS(sc, IWN_DBG_HPET_MEM, 0xffff0000);
usr/src/uts/common/io/iwn/if_iwn.c
7110
IWN_SETBITS(sc, IWN_HW_IF_CONFIG, IWN_HW_IF_CONFIG_HAP_WAKE_L1A);
usr/src/uts/common/io/iwn/if_iwn.c
7113
reg = pci_config_get32(sc->sc_pcih,
usr/src/uts/common/io/iwn/if_iwn.c
7114
sc->sc_cap_off + PCIE_LINKCTL);
usr/src/uts/common/io/iwn/if_iwn.c
7117
IWN_SETBITS(sc, IWN_GIO, IWN_GIO_L0S_ENA);
usr/src/uts/common/io/iwn/if_iwn.c
7119
IWN_CLRBITS(sc, IWN_GIO, IWN_GIO_L0S_ENA);
usr/src/uts/common/io/iwn/if_iwn.c
712
ret = ddi_intr_get_supported_types(sc->sc_dip, &intr_type);
usr/src/uts/common/io/iwn/if_iwn.c
7121
if (sc->hw_type != IWN_HW_REV_TYPE_4965 &&
usr/src/uts/common/io/iwn/if_iwn.c
7122
sc->hw_type <= IWN_HW_REV_TYPE_1000)
usr/src/uts/common/io/iwn/if_iwn.c
7123
IWN_SETBITS(sc, IWN_ANA_PLL, IWN_ANA_PLL_INIT);
usr/src/uts/common/io/iwn/if_iwn.c
7126
if ((error = iwn_clock_wait(sc)) != 0)
usr/src/uts/common/io/iwn/if_iwn.c
7129
if ((error = iwn_nic_lock(sc)) != 0)
usr/src/uts/common/io/iwn/if_iwn.c
7131
if (sc->hw_type == IWN_HW_REV_TYPE_4965) {
usr/src/uts/common/io/iwn/if_iwn.c
7133
iwn_prph_write(sc, IWN_APMG_CLK_EN,
usr/src/uts/common/io/iwn/if_iwn.c
7138
iwn_prph_write(sc, IWN_APMG_CLK_EN,
usr/src/uts/common/io/iwn/if_iwn.c
714
dev_err(sc->sc_dip, CE_WARN,
usr/src/uts/common/io/iwn/if_iwn.c
7143
iwn_prph_setbits(sc, IWN_APMG_PCI_STT, IWN_APMG_PCI_STT_L1A_DIS);
usr/src/uts/common/io/iwn/if_iwn.c
7144
iwn_nic_unlock(sc);
usr/src/uts/common/io/iwn/if_iwn.c
7150
iwn_apm_stop_master(struct iwn_softc *sc)
usr/src/uts/common/io/iwn/if_iwn.c
7155
IWN_SETBITS(sc, IWN_RESET, IWN_RESET_STOP_MASTER);
usr/src/uts/common/io/iwn/if_iwn.c
7157
if (IWN_READ(sc, IWN_RESET) & IWN_RESET_MASTER_DISABLED)
usr/src/uts/common/io/iwn/if_iwn.c
7161
dev_err(sc->sc_dip, CE_WARN,
usr/src/uts/common/io/iwn/if_iwn.c
7166
iwn_apm_stop(struct iwn_softc *sc)
usr/src/uts/common/io/iwn/if_iwn.c
7168
iwn_apm_stop_master(sc);
usr/src/uts/common/io/iwn/if_iwn.c
7171
IWN_SETBITS(sc, IWN_RESET, IWN_RESET_SW);
usr/src/uts/common/io/iwn/if_iwn.c
7174
IWN_CLRBITS(sc, IWN_GP_CNTRL, IWN_GP_CNTRL_INIT_DONE);
usr/src/uts/common/io/iwn/if_iwn.c
7178
iwn4965_nic_config(struct iwn_softc *sc)
usr/src/uts/common/io/iwn/if_iwn.c
7180
if (IWN_RFCFG_TYPE(sc->rfcfg) == 1) {
usr/src/uts/common/io/iwn/if_iwn.c
7186
IWN_SETBITS(sc, IWN_HW_IF_CONFIG,
usr/src/uts/common/io/iwn/if_iwn.c
7187
IWN_RFCFG_TYPE(sc->rfcfg) |
usr/src/uts/common/io/iwn/if_iwn.c
7188
IWN_RFCFG_STEP(sc->rfcfg) |
usr/src/uts/common/io/iwn/if_iwn.c
7189
IWN_RFCFG_DASH(sc->rfcfg));
usr/src/uts/common/io/iwn/if_iwn.c
7191
IWN_SETBITS(sc, IWN_HW_IF_CONFIG,
usr/src/uts/common/io/iwn/if_iwn.c
7197
iwn5000_nic_config(struct iwn_softc *sc)
usr/src/uts/common/io/iwn/if_iwn.c
720
if (iwn_intr_add(sc, DDI_INTR_TYPE_MSIX) == DDI_SUCCESS)
usr/src/uts/common/io/iwn/if_iwn.c
7202
if (IWN_RFCFG_TYPE(sc->rfcfg) < 3) {
usr/src/uts/common/io/iwn/if_iwn.c
7203
IWN_SETBITS(sc, IWN_HW_IF_CONFIG,
usr/src/uts/common/io/iwn/if_iwn.c
7204
IWN_RFCFG_TYPE(sc->rfcfg) |
usr/src/uts/common/io/iwn/if_iwn.c
7205
IWN_RFCFG_STEP(sc->rfcfg) |
usr/src/uts/common/io/iwn/if_iwn.c
7206
IWN_RFCFG_DASH(sc->rfcfg));
usr/src/uts/common/io/iwn/if_iwn.c
7208
IWN_SETBITS(sc, IWN_HW_IF_CONFIG,
usr/src/uts/common/io/iwn/if_iwn.c
7211
if ((error = iwn_nic_lock(sc)) != 0)
usr/src/uts/common/io/iwn/if_iwn.c
7213
iwn_prph_setbits(sc, IWN_APMG_PS, IWN_APMG_PS_EARLY_PWROFF_DIS);
usr/src/uts/common/io/iwn/if_iwn.c
7215
if (sc->hw_type == IWN_HW_REV_TYPE_1000) {
usr/src/uts/common/io/iwn/if_iwn.c
722
iwn_intr_teardown(sc);
usr/src/uts/common/io/iwn/if_iwn.c
7221
tmp = iwn_prph_read(sc, IWN_APMG_DIGITAL_SVR);
usr/src/uts/common/io/iwn/if_iwn.c
7224
iwn_prph_write(sc, IWN_APMG_DIGITAL_SVR, tmp);
usr/src/uts/common/io/iwn/if_iwn.c
7226
iwn_nic_unlock(sc);
usr/src/uts/common/io/iwn/if_iwn.c
7228
if (sc->sc_flags & IWN_FLAG_INTERNAL_PA) {
usr/src/uts/common/io/iwn/if_iwn.c
7230
IWN_WRITE(sc, IWN_GP_DRIVER, IWN_GP_DRIVER_RADIO_2X2_IPA);
usr/src/uts/common/io/iwn/if_iwn.c
7232
if ((sc->hw_type == IWN_HW_REV_TYPE_6050 ||
usr/src/uts/common/io/iwn/if_iwn.c
7233
sc->hw_type == IWN_HW_REV_TYPE_6005) && sc->calib_ver >= 6) {
usr/src/uts/common/io/iwn/if_iwn.c
7235
IWN_SETBITS(sc, IWN_GP_DRIVER, IWN_GP_DRIVER_CALIB_VER6);
usr/src/uts/common/io/iwn/if_iwn.c
7237
if (sc->hw_type == IWN_HW_REV_TYPE_6005)
usr/src/uts/common/io/iwn/if_iwn.c
7238
IWN_SETBITS(sc, IWN_GP_DRIVER, IWN_GP_DRIVER_6050_1X2);
usr/src/uts/common/io/iwn/if_iwn.c
7239
if (sc->hw_type == IWN_HW_REV_TYPE_2030 ||
usr/src/uts/common/io/iwn/if_iwn.c
7240
sc->hw_type == IWN_HW_REV_TYPE_2000 ||
usr/src/uts/common/io/iwn/if_iwn.c
7241
sc->hw_type == IWN_HW_REV_TYPE_135 ||
usr/src/uts/common/io/iwn/if_iwn.c
7242
sc->hw_type == IWN_HW_REV_TYPE_105)
usr/src/uts/common/io/iwn/if_iwn.c
7243
IWN_SETBITS(sc, IWN_GP_DRIVER, IWN_GP_DRIVER_RADIO_IQ_INVERT);
usr/src/uts/common/io/iwn/if_iwn.c
7251
iwn_hw_prepare(struct iwn_softc *sc)
usr/src/uts/common/io/iwn/if_iwn.c
7256
IWN_SETBITS(sc, IWN_HW_IF_CONFIG, IWN_HW_IF_CONFIG_NIC_READY);
usr/src/uts/common/io/iwn/if_iwn.c
7258
if (IWN_READ(sc, IWN_HW_IF_CONFIG) &
usr/src/uts/common/io/iwn/if_iwn.c
726
if (iwn_intr_add(sc, DDI_INTR_TYPE_MSI) == DDI_SUCCESS)
usr/src/uts/common/io/iwn/if_iwn.c
7265
IWN_SETBITS(sc, IWN_HW_IF_CONFIG, IWN_HW_IF_CONFIG_PREPARE);
usr/src/uts/common/io/iwn/if_iwn.c
7267
if (!(IWN_READ(sc, IWN_HW_IF_CONFIG) &
usr/src/uts/common/io/iwn/if_iwn.c
7276
IWN_SETBITS(sc, IWN_HW_IF_CONFIG, IWN_HW_IF_CONFIG_NIC_READY);
usr/src/uts/common/io/iwn/if_iwn.c
7278
if (IWN_READ(sc, IWN_HW_IF_CONFIG) &
usr/src/uts/common/io/iwn/if_iwn.c
728
iwn_intr_teardown(sc);
usr/src/uts/common/io/iwn/if_iwn.c
7287
iwn_hw_init(struct iwn_softc *sc)
usr/src/uts/common/io/iwn/if_iwn.c
7289
struct iwn_ops *ops = &sc->ops;
usr/src/uts/common/io/iwn/if_iwn.c
7294
ASSERT(mutex_owned(&sc->sc_mtx));
usr/src/uts/common/io/iwn/if_iwn.c
7297
IWN_WRITE(sc, IWN_INT, 0xffffffff);
usr/src/uts/common/io/iwn/if_iwn.c
7299
if ((error = iwn_apm_init(sc)) != 0) {
usr/src/uts/common/io/iwn/if_iwn.c
7300
dev_err(sc->sc_dip, CE_WARN,
usr/src/uts/common/io/iwn/if_iwn.c
7306
if ((error = iwn_nic_lock(sc)) != 0)
usr/src/uts/common/io/iwn/if_iwn.c
7308
iwn_prph_clrbits(sc, IWN_APMG_PS, IWN_APMG_PS_PWR_SRC_MASK);
usr/src/uts/common/io/iwn/if_iwn.c
7309
iwn_nic_unlock(sc);
usr/src/uts/common/io/iwn/if_iwn.c
7312
if ((error = ops->nic_config(sc)) != 0)
usr/src/uts/common/io/iwn/if_iwn.c
7316
if ((error = iwn_nic_lock(sc)) != 0)
usr/src/uts/common/io/iwn/if_iwn.c
7318
IWN_WRITE(sc, IWN_FH_RX_CONFIG, 0);
usr/src/uts/common/io/iwn/if_iwn.c
7319
IWN_WRITE(sc, IWN_FH_RX_WPTR, 0);
usr/src/uts/common/io/iwn/if_iwn.c
732
if (iwn_intr_add(sc, DDI_INTR_TYPE_FIXED) == DDI_SUCCESS)
usr/src/uts/common/io/iwn/if_iwn.c
7321
IWN_WRITE(sc, IWN_FH_RX_BASE, sc->rxq.desc_dma.paddr >> 8);
usr/src/uts/common/io/iwn/if_iwn.c
7323
IWN_WRITE(sc, IWN_FH_STATUS_WPTR, sc->rxq.stat_dma.paddr >> 4);
usr/src/uts/common/io/iwn/if_iwn.c
7335
IWN_WRITE(sc, IWN_FH_RX_CONFIG, rx_config);
usr/src/uts/common/io/iwn/if_iwn.c
7336
iwn_nic_unlock(sc);
usr/src/uts/common/io/iwn/if_iwn.c
7337
IWN_WRITE(sc, IWN_FH_RX_WPTR, (IWN_RX_RING_COUNT - 1) & ~7);
usr/src/uts/common/io/iwn/if_iwn.c
7339
if ((error = iwn_nic_lock(sc)) != 0)
usr/src/uts/common/io/iwn/if_iwn.c
734
iwn_intr_teardown(sc);
usr/src/uts/common/io/iwn/if_iwn.c
7343
iwn_prph_write(sc, sc->sched_txfact_addr, 0);
usr/src/uts/common/io/iwn/if_iwn.c
7346
IWN_WRITE(sc, IWN_FH_KW_ADDR, sc->kw_dma.paddr >> 4);
usr/src/uts/common/io/iwn/if_iwn.c
7349
for (qid = 0; qid < sc->ntxqs; qid++) {
usr/src/uts/common/io/iwn/if_iwn.c
7350
struct iwn_tx_ring *txq = &sc->txq[qid];
usr/src/uts/common/io/iwn/if_iwn.c
7353
IWN_WRITE(sc, IWN_FH_CBBC_QUEUE(qid),
usr/src/uts/common/io/iwn/if_iwn.c
7356
iwn_nic_unlock(sc);
usr/src/uts/common/io/iwn/if_iwn.c
7359
for (chnl = 0; chnl < sc->ndmachnls; chnl++) {
usr/src/uts/common/io/iwn/if_iwn.c
7360
IWN_WRITE(sc, IWN_FH_TX_CONFIG(chnl),
usr/src/uts/common/io/iwn/if_iwn.c
7366
IWN_WRITE(sc, IWN_UCODE_GP1_CLR, IWN_UCODE_GP1_RFKILL);
usr/src/uts/common/io/iwn/if_iwn.c
7367
IWN_WRITE(sc, IWN_UCODE_GP1_CLR, IWN_UCODE_GP1_CMD_BLOCKED);
usr/src/uts/common/io/iwn/if_iwn.c
737
dev_err(sc->sc_dip, CE_WARN, "!iwn_intr_setup() failed");
usr/src/uts/common/io/iwn/if_iwn.c
7370
IWN_WRITE(sc, IWN_INT, 0xffffffff);
usr/src/uts/common/io/iwn/if_iwn.c
7372
IWN_WRITE(sc, IWN_INT_COALESCING, 512 / 32);
usr/src/uts/common/io/iwn/if_iwn.c
7374
IWN_WRITE(sc, IWN_INT_MASK, sc->int_mask);
usr/src/uts/common/io/iwn/if_iwn.c
7377
IWN_WRITE(sc, IWN_UCODE_GP1_CLR, IWN_UCODE_GP1_RFKILL);
usr/src/uts/common/io/iwn/if_iwn.c
7378
IWN_WRITE(sc, IWN_UCODE_GP1_CLR, IWN_UCODE_GP1_RFKILL);
usr/src/uts/common/io/iwn/if_iwn.c
7381
if (sc->hw_type >= IWN_HW_REV_TYPE_6000)
usr/src/uts/common/io/iwn/if_iwn.c
7382
IWN_SETBITS(sc, IWN_SHADOW_REG_CTRL, 0x800fffff);
usr/src/uts/common/io/iwn/if_iwn.c
7384
if ((error = ops->load_firmware(sc)) != 0) {
usr/src/uts/common/io/iwn/if_iwn.c
7385
dev_err(sc->sc_dip, CE_WARN,
usr/src/uts/common/io/iwn/if_iwn.c
7391
while ((sc->sc_flags & IWN_FLAG_FW_ALIVE) == 0) {
usr/src/uts/common/io/iwn/if_iwn.c
7392
if (cv_timedwait(&sc->sc_alive_cv, &sc->sc_mtx, clk) < 0) {
usr/src/uts/common/io/iwn/if_iwn.c
7393
dev_err(sc->sc_dip, CE_WARN,
usr/src/uts/common/io/iwn/if_iwn.c
7399
return ops->post_alive(sc);
usr/src/uts/common/io/iwn/if_iwn.c
7403
iwn_hw_stop(struct iwn_softc *sc, boolean_t lock)
usr/src/uts/common/io/iwn/if_iwn.c
7408
mutex_enter(&sc->sc_mtx);
usr/src/uts/common/io/iwn/if_iwn.c
7411
IWN_WRITE(sc, IWN_RESET, IWN_RESET_NEVO);
usr/src/uts/common/io/iwn/if_iwn.c
7414
IWN_WRITE(sc, IWN_INT_MASK, 0);
usr/src/uts/common/io/iwn/if_iwn.c
7415
IWN_WRITE(sc, IWN_INT, 0xffffffff);
usr/src/uts/common/io/iwn/if_iwn.c
7416
IWN_WRITE(sc, IWN_FH_INT, 0xffffffff);
usr/src/uts/common/io/iwn/if_iwn.c
7417
sc->sc_flags &= ~IWN_FLAG_USE_ICT;
usr/src/uts/common/io/iwn/if_iwn.c
7420
iwn_nic_unlock(sc);
usr/src/uts/common/io/iwn/if_iwn.c
7423
iwn_prph_write(sc, sc->sched_txfact_addr, 0);
usr/src/uts/common/io/iwn/if_iwn.c
7426
if (iwn_nic_lock(sc) == 0) {
usr/src/uts/common/io/iwn/if_iwn.c
7427
for (chnl = 0; chnl < sc->ndmachnls; chnl++) {
usr/src/uts/common/io/iwn/if_iwn.c
7428
IWN_WRITE(sc, IWN_FH_TX_CONFIG(chnl), 0);
usr/src/uts/common/io/iwn/if_iwn.c
7430
if (IWN_READ(sc, IWN_FH_TX_STATUS) &
usr/src/uts/common/io/iwn/if_iwn.c
7436
iwn_nic_unlock(sc);
usr/src/uts/common/io/iwn/if_iwn.c
7440
iwn_reset_rx_ring(sc, &sc->rxq);
usr/src/uts/common/io/iwn/if_iwn.c
7443
for (qid = 0; qid < sc->ntxqs; qid++)
usr/src/uts/common/io/iwn/if_iwn.c
7444
iwn_reset_tx_ring(sc, &sc->txq[qid]);
usr/src/uts/common/io/iwn/if_iwn.c
7446
if (iwn_nic_lock(sc) == 0) {
usr/src/uts/common/io/iwn/if_iwn.c
7447
iwn_prph_write(sc, IWN_APMG_CLK_DIS,
usr/src/uts/common/io/iwn/if_iwn.c
7449
iwn_nic_unlock(sc);
usr/src/uts/common/io/iwn/if_iwn.c
7453
iwn_apm_stop(sc);
usr/src/uts/common/io/iwn/if_iwn.c
7455
sc->sc_flags &= ~(IWN_FLAG_HW_INITED | IWN_FLAG_FW_ALIVE);
usr/src/uts/common/io/iwn/if_iwn.c
7458
mutex_exit(&sc->sc_mtx);
usr/src/uts/common/io/iwn/if_iwn.c
7463
iwn_init(struct iwn_softc *sc)
usr/src/uts/common/io/iwn/if_iwn.c
7467
mutex_enter(&sc->sc_mtx);
usr/src/uts/common/io/iwn/if_iwn.c
7468
if (sc->sc_flags & IWN_FLAG_HW_INITED)
usr/src/uts/common/io/iwn/if_iwn.c
7470
if ((error = iwn_hw_prepare(sc)) != 0) {
usr/src/uts/common/io/iwn/if_iwn.c
7471
dev_err(sc->sc_dip, CE_WARN, "!hardware not ready");
usr/src/uts/common/io/iwn/if_iwn.c
7476
if (!(IWN_READ(sc, IWN_GP_CNTRL) & IWN_GP_CNTRL_RFKILL)) {
usr/src/uts/common/io/iwn/if_iwn.c
7477
dev_err(sc->sc_dip, CE_WARN,
usr/src/uts/common/io/iwn/if_iwn.c
7484
if ((error = iwn_read_firmware(sc)) != 0) {
usr/src/uts/common/io/iwn/if_iwn.c
7485
dev_err(sc->sc_dip, CE_WARN, "!could not read firmware");
usr/src/uts/common/io/iwn/if_iwn.c
7490
sc->int_mask = IWN_INT_MASK_DEF;
usr/src/uts/common/io/iwn/if_iwn.c
7491
sc->sc_flags &= ~IWN_FLAG_USE_ICT;
usr/src/uts/common/io/iwn/if_iwn.c
7494
ASSERT(sc->fw.data != NULL && sc->fw.size > 0);
usr/src/uts/common/io/iwn/if_iwn.c
7495
error = iwn_hw_init(sc);
usr/src/uts/common/io/iwn/if_iwn.c
7497
dev_err(sc->sc_dip, CE_WARN, "!could not initialize hardware");
usr/src/uts/common/io/iwn/if_iwn.c
7502
if ((error = iwn_config(sc)) != 0) {
usr/src/uts/common/io/iwn/if_iwn.c
7503
dev_err(sc->sc_dip, CE_WARN, "!could not configure device");
usr/src/uts/common/io/iwn/if_iwn.c
7507
sc->sc_flags |= IWN_FLAG_HW_INITED;
usr/src/uts/common/io/iwn/if_iwn.c
7509
mutex_exit(&sc->sc_mtx);
usr/src/uts/common/io/iwn/if_iwn.c
7513
iwn_hw_stop(sc, B_FALSE);
usr/src/uts/common/io/iwn/if_iwn.c
7514
mutex_exit(&sc->sc_mtx);
usr/src/uts/common/io/iwn/if_iwn.c
7578
iwn_fix_channel(struct iwn_softc *sc, mblk_t *m,
usr/src/uts/common/io/iwn/if_iwn.c
7581
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/iwn/if_iwn.c
7597
if (sc->sc_flags & IWN_FLAG_SCANNING_5GHZ) {
usr/src/uts/common/io/iwn/if_iwn.c
7625
struct iwn_softc *sc;
usr/src/uts/common/io/iwn/if_iwn.c
7629
sc = (struct iwn_softc *)arg;
usr/src/uts/common/io/iwn/if_iwn.c
7630
ASSERT(sc != NULL);
usr/src/uts/common/io/iwn/if_iwn.c
7631
ic = &sc->sc_ic;
usr/src/uts/common/io/iwn/if_iwn.c
7633
err = iwn_init(sc);
usr/src/uts/common/io/iwn/if_iwn.c
7641
!(IWN_READ(sc, IWN_GP_CNTRL) & IWN_GP_CNTRL_RFKILL)) {
usr/src/uts/common/io/iwn/if_iwn.c
7642
mutex_enter(&sc->sc_mtx);
usr/src/uts/common/io/iwn/if_iwn.c
7643
sc->sc_flags |= IWN_FLAG_HW_ERR_RECOVER;
usr/src/uts/common/io/iwn/if_iwn.c
7644
sc->sc_flags |= IWN_FLAG_RADIO_OFF;
usr/src/uts/common/io/iwn/if_iwn.c
7645
mutex_exit(&sc->sc_mtx);
usr/src/uts/common/io/iwn/if_iwn.c
7654
mutex_enter(&sc->sc_mtx);
usr/src/uts/common/io/iwn/if_iwn.c
7655
sc->sc_flags |= IWN_FLAG_RUNNING;
usr/src/uts/common/io/iwn/if_iwn.c
7656
mutex_exit(&sc->sc_mtx);
usr/src/uts/common/io/iwn/if_iwn.c
7667
struct iwn_softc *sc;
usr/src/uts/common/io/iwn/if_iwn.c
7670
sc = (struct iwn_softc *)arg;
usr/src/uts/common/io/iwn/if_iwn.c
7671
ASSERT(sc != NULL);
usr/src/uts/common/io/iwn/if_iwn.c
7672
ic = &sc->sc_ic;
usr/src/uts/common/io/iwn/if_iwn.c
7674
iwn_hw_stop(sc, B_TRUE);
usr/src/uts/common/io/iwn/if_iwn.c
7683
mutex_enter(&sc->sc_mtx);
usr/src/uts/common/io/iwn/if_iwn.c
7684
sc->sc_flags &= ~IWN_FLAG_HW_ERR_RECOVER;
usr/src/uts/common/io/iwn/if_iwn.c
7685
sc->sc_flags &= ~IWN_FLAG_RATE_AUTO_CTL;
usr/src/uts/common/io/iwn/if_iwn.c
7687
sc->sc_flags &= ~IWN_FLAG_RUNNING;
usr/src/uts/common/io/iwn/if_iwn.c
7688
sc->sc_flags &= ~IWN_FLAG_SCANNING;
usr/src/uts/common/io/iwn/if_iwn.c
7689
mutex_exit(&sc->sc_mtx);
usr/src/uts/common/io/iwn/if_iwn.c
769
struct iwn_softc *sc;
usr/src/uts/common/io/iwn/if_iwn.c
783
sc = ddi_get_soft_state(iwn_state,
usr/src/uts/common/io/iwn/if_iwn.c
785
ASSERT(sc != NULL);
usr/src/uts/common/io/iwn/if_iwn.c
787
if (sc->sc_flags & IWN_FLAG_RUNNING) {
usr/src/uts/common/io/iwn/if_iwn.c
788
(void) iwn_init(sc);
usr/src/uts/common/io/iwn/if_iwn.c
791
sc->sc_flags &= ~IWN_FLAG_SUSPEND;
usr/src/uts/common/io/iwn/if_iwn.c
805
sc = ddi_get_soft_state(iwn_state, instance);
usr/src/uts/common/io/iwn/if_iwn.c
806
ddi_set_driver_private(dip, (caddr_t)sc);
usr/src/uts/common/io/iwn/if_iwn.c
808
ic = &sc->sc_ic;
usr/src/uts/common/io/iwn/if_iwn.c
810
sc->sc_dip = dip;
usr/src/uts/common/io/iwn/if_iwn.c
812
iwn_kstat_create(sc, "hw_state", sizeof (struct iwn_ks_misc),
usr/src/uts/common/io/iwn/if_iwn.c
813
&sc->sc_ks_misc, (void **)&sc->sc_misc);
usr/src/uts/common/io/iwn/if_iwn.c
814
iwn_kstat_create(sc, "antennas", sizeof (struct iwn_ks_ant),
usr/src/uts/common/io/iwn/if_iwn.c
815
&sc->sc_ks_ant, (void **)&sc->sc_ant);
usr/src/uts/common/io/iwn/if_iwn.c
816
iwn_kstat_create(sc, "sensitivity", sizeof (struct iwn_ks_sens),
usr/src/uts/common/io/iwn/if_iwn.c
817
&sc->sc_ks_sens, (void **)&sc->sc_sens);
usr/src/uts/common/io/iwn/if_iwn.c
818
iwn_kstat_create(sc, "timing", sizeof (struct iwn_ks_timing),
usr/src/uts/common/io/iwn/if_iwn.c
819
&sc->sc_ks_timing, (void **)&sc->sc_timing);
usr/src/uts/common/io/iwn/if_iwn.c
820
iwn_kstat_create(sc, "edca", sizeof (struct iwn_ks_edca),
usr/src/uts/common/io/iwn/if_iwn.c
821
&sc->sc_ks_edca, (void **)&sc->sc_edca);
usr/src/uts/common/io/iwn/if_iwn.c
823
if (pci_config_setup(dip, &sc->sc_pcih) != DDI_SUCCESS) {
usr/src/uts/common/io/iwn/if_iwn.c
824
dev_err(sc->sc_dip, CE_WARN, "!pci_config_setup() failed");
usr/src/uts/common/io/iwn/if_iwn.c
832
error = iwn_pci_get_capability(sc->sc_pcih, PCI_CAP_ID_PCI_E,
usr/src/uts/common/io/iwn/if_iwn.c
833
&sc->sc_cap_off);
usr/src/uts/common/io/iwn/if_iwn.c
835
dev_err(sc->sc_dip, CE_WARN,
usr/src/uts/common/io/iwn/if_iwn.c
841
reg = pci_config_get8(sc->sc_pcih, 0x41);
usr/src/uts/common/io/iwn/if_iwn.c
843
pci_config_put8(sc->sc_pcih, 0x41, 0);
usr/src/uts/common/io/iwn/if_iwn.c
845
error = ddi_regs_map_setup(dip, 1, &sc->sc_base, 0, 0, &iwn_reg_accattr,
usr/src/uts/common/io/iwn/if_iwn.c
846
&sc->sc_regh);
usr/src/uts/common/io/iwn/if_iwn.c
848
dev_err(sc->sc_dip, CE_WARN, "!ddi_regs_map_setup() failed");
usr/src/uts/common/io/iwn/if_iwn.c
853
IWN_WRITE(sc, IWN_INT, 0xffffffff);
usr/src/uts/common/io/iwn/if_iwn.c
856
IWN_WRITE(sc, IWN_INT_MASK, 0);
usr/src/uts/common/io/iwn/if_iwn.c
859
if (iwn_intr_setup(sc) != DDI_SUCCESS)
usr/src/uts/common/io/iwn/if_iwn.c
862
mutex_init(&sc->sc_mtx, NULL, MUTEX_DRIVER,
usr/src/uts/common/io/iwn/if_iwn.c
863
DDI_INTR_PRI(sc->sc_intr_pri));
usr/src/uts/common/io/iwn/if_iwn.c
864
mutex_init(&sc->sc_tx_mtx, NULL, MUTEX_DRIVER,
usr/src/uts/common/io/iwn/if_iwn.c
865
DDI_INTR_PRI(sc->sc_intr_pri));
usr/src/uts/common/io/iwn/if_iwn.c
866
mutex_init(&sc->sc_mt_mtx, NULL, MUTEX_DRIVER,
usr/src/uts/common/io/iwn/if_iwn.c
867
DDI_INTR_PRI(sc->sc_intr_pri));
usr/src/uts/common/io/iwn/if_iwn.c
869
cv_init(&sc->sc_cmd_cv, NULL, CV_DRIVER, NULL);
usr/src/uts/common/io/iwn/if_iwn.c
870
cv_init(&sc->sc_scan_cv, NULL, CV_DRIVER, NULL);
usr/src/uts/common/io/iwn/if_iwn.c
871
cv_init(&sc->sc_fhdma_cv, NULL, CV_DRIVER, NULL);
usr/src/uts/common/io/iwn/if_iwn.c
872
cv_init(&sc->sc_alive_cv, NULL, CV_DRIVER, NULL);
usr/src/uts/common/io/iwn/if_iwn.c
873
cv_init(&sc->sc_calib_cv, NULL, CV_DRIVER, NULL);
usr/src/uts/common/io/iwn/if_iwn.c
875
iwn_kstat_init(sc);
usr/src/uts/common/io/iwn/if_iwn.c
878
sc->hw_type =
usr/src/uts/common/io/iwn/if_iwn.c
879
(IWN_READ(sc, IWN_HW_REV) & IWN_HW_REV_TYPE_MASK)
usr/src/uts/common/io/iwn/if_iwn.c
881
if (sc->hw_type == IWN_HW_REV_TYPE_4965)
usr/src/uts/common/io/iwn/if_iwn.c
882
error = iwn4965_attach(sc);
usr/src/uts/common/io/iwn/if_iwn.c
884
error = iwn5000_attach(sc, sc->sc_devid);
usr/src/uts/common/io/iwn/if_iwn.c
886
dev_err(sc->sc_dip, CE_WARN, "!could not attach device");
usr/src/uts/common/io/iwn/if_iwn.c
890
if ((error = iwn_hw_prepare(sc)) != 0) {
usr/src/uts/common/io/iwn/if_iwn.c
891
dev_err(sc->sc_dip, CE_WARN, "!hardware not ready");
usr/src/uts/common/io/iwn/if_iwn.c
896
if ((error = iwn_read_eeprom(sc)) != 0) {
usr/src/uts/common/io/iwn/if_iwn.c
897
dev_err(sc->sc_dip, CE_WARN, "!could not read EEPROM");
usr/src/uts/common/io/iwn/if_iwn.c
902
if ((error = iwn_alloc_fwmem(sc)) != 0) {
usr/src/uts/common/io/iwn/if_iwn.c
903
dev_err(sc->sc_dip, CE_WARN,
usr/src/uts/common/io/iwn/if_iwn.c
909
if ((error = iwn_alloc_kw(sc)) != 0) {
usr/src/uts/common/io/iwn/if_iwn.c
910
dev_err(sc->sc_dip, CE_WARN,
usr/src/uts/common/io/iwn/if_iwn.c
916
if (sc->hw_type != IWN_HW_REV_TYPE_4965 &&
usr/src/uts/common/io/iwn/if_iwn.c
917
(error = iwn_alloc_ict(sc)) != 0) {
usr/src/uts/common/io/iwn/if_iwn.c
918
dev_err(sc->sc_dip, CE_WARN, "!could not allocate ICT table");
usr/src/uts/common/io/iwn/if_iwn.c
923
if ((error = iwn_alloc_sched(sc)) != 0) {
usr/src/uts/common/io/iwn/if_iwn.c
924
dev_err(sc->sc_dip, CE_WARN,
usr/src/uts/common/io/iwn/if_iwn.c
930
for (i = 0; i < sc->ntxqs; i++) {
usr/src/uts/common/io/iwn/if_iwn.c
931
if ((error = iwn_alloc_tx_ring(sc, &sc->txq[i], i)) != 0) {
usr/src/uts/common/io/iwn/if_iwn.c
932
dev_err(sc->sc_dip, CE_WARN,
usr/src/uts/common/io/iwn/if_iwn.c
935
iwn_free_tx_ring(sc, &sc->txq[i]);
usr/src/uts/common/io/iwn/if_iwn.c
941
if ((error = iwn_alloc_rx_ring(sc, &sc->rxq)) != 0) {
usr/src/uts/common/io/iwn/if_iwn.c
942
dev_err(sc->sc_dip, CE_WARN, "!could not allocate RX ring");
usr/src/uts/common/io/iwn/if_iwn.c
947
IWN_WRITE(sc, IWN_INT, 0xffffffff);
usr/src/uts/common/io/iwn/if_iwn.c
950
sc->ntxchains =
usr/src/uts/common/io/iwn/if_iwn.c
951
((sc->txchainmask >> 2) & 1) +
usr/src/uts/common/io/iwn/if_iwn.c
952
((sc->txchainmask >> 1) & 1) +
usr/src/uts/common/io/iwn/if_iwn.c
953
((sc->txchainmask >> 0) & 1);
usr/src/uts/common/io/iwn/if_iwn.c
954
sc->nrxchains =
usr/src/uts/common/io/iwn/if_iwn.c
955
((sc->rxchainmask >> 2) & 1) +
usr/src/uts/common/io/iwn/if_iwn.c
956
((sc->rxchainmask >> 1) & 1) +
usr/src/uts/common/io/iwn/if_iwn.c
957
((sc->rxchainmask >> 0) & 1);
usr/src/uts/common/io/iwn/if_iwn.c
958
dev_err(sc->sc_dip, CE_CONT, "!MIMO %dT%dR, %s, address %s",
usr/src/uts/common/io/iwn/if_iwn.c
959
sc->ntxchains, sc->nrxchains, sc->eeprom_domain,
usr/src/uts/common/io/iwn/if_iwn.c
962
sc->sc_ant->tx_ant.value.ul = sc->txchainmask;
usr/src/uts/common/io/iwn/if_iwn.c
963
sc->sc_ant->rx_ant.value.ul = sc->rxchainmask;
usr/src/uts/common/io/iwn/if_iwn.c
982
if (sc->sc_flags & IWN_FLAG_HAS_11N) {
usr/src/uts/common/io/iwn/if_iwn.c
991
if (sc->hw_type != IWN_HW_REV_TYPE_4965)
usr/src/uts/common/io/iwn/if_iwn.c
993
if (sc->hw_type == IWN_HW_REV_TYPE_6050)
usr/src/uts/common/io/iwn/if_iwnreg.h
1985
#define IWN_READ(sc, reg) \
usr/src/uts/common/io/iwn/if_iwnreg.h
1986
iwn_read(sc, reg)
usr/src/uts/common/io/iwn/if_iwnreg.h
1988
#define IWN_WRITE(sc, reg, val) \
usr/src/uts/common/io/iwn/if_iwnreg.h
1989
iwn_write(sc, reg, val)
usr/src/uts/common/io/iwn/if_iwnreg.h
1991
#define IWN_WRITE_1(sc, reg, val) \
usr/src/uts/common/io/iwn/if_iwnreg.h
1992
iwn_write_1(sc, reg, val)
usr/src/uts/common/io/iwn/if_iwnreg.h
1994
#define IWN_SETBITS(sc, reg, mask) \
usr/src/uts/common/io/iwn/if_iwnreg.h
1995
IWN_WRITE(sc, reg, IWN_READ(sc, reg) | (mask))
usr/src/uts/common/io/iwn/if_iwnreg.h
1997
#define IWN_CLRBITS(sc, reg, mask) \
usr/src/uts/common/io/iwn/if_iwnreg.h
1998
IWN_WRITE(sc, reg, IWN_READ(sc, reg) & ~(mask))
usr/src/uts/common/io/iwn/if_iwnreg.h
2000
#define IWN_BARRIER_WRITE(sc) \
usr/src/uts/common/io/iwn/if_iwnreg.h
2003
#define IWN_BARRIER_READ_WRITE(sc) \
usr/src/uts/common/io/iwn/if_iwnvar.h
417
#define IWN_CHK_FAST_RECOVER(sc) \
usr/src/uts/common/io/iwn/if_iwnvar.h
418
(sc->sc_ic.ic_state == IEEE80211_S_RUN && \
usr/src/uts/common/io/iwn/if_iwnvar.h
419
sc->sc_ic.ic_opmode == IEEE80211_M_STA)
usr/src/uts/common/io/iwp/iwp.c
1000
ddi_regs_map_free(&sc->sc_cfg_handle);
usr/src/uts/common/io/iwp/iwp.c
1011
iwp_destroy_locks(iwp_sc_t *sc)
usr/src/uts/common/io/iwp/iwp.c
1013
cv_destroy(&sc->sc_mt_cv);
usr/src/uts/common/io/iwp/iwp.c
1014
cv_destroy(&sc->sc_cmd_cv);
usr/src/uts/common/io/iwp/iwp.c
1015
cv_destroy(&sc->sc_put_seg_cv);
usr/src/uts/common/io/iwp/iwp.c
1016
cv_destroy(&sc->sc_ucode_cv);
usr/src/uts/common/io/iwp/iwp.c
1017
mutex_destroy(&sc->sc_mt_lock);
usr/src/uts/common/io/iwp/iwp.c
1018
mutex_destroy(&sc->sc_tx_lock);
usr/src/uts/common/io/iwp/iwp.c
1019
mutex_destroy(&sc->sc_glock);
usr/src/uts/common/io/iwp/iwp.c
1026
iwp_alloc_dma_mem(iwp_sc_t *sc, size_t memsize,
usr/src/uts/common/io/iwp/iwp.c
1036
err = ddi_dma_alloc_handle(sc->sc_dip, dma_attr_p,
usr/src/uts/common/io/iwp/iwp.c
1103
iwp_alloc_fw_dma(iwp_sc_t *sc)
usr/src/uts/common/io/iwp/iwp.c
1117
if (LE_32(sc->sc_hdr->init_textsz) > RTC_INST_SIZE) {
usr/src/uts/common/io/iwp/iwp.c
1120
LE_32(sc->sc_hdr->init_textsz));
usr/src/uts/common/io/iwp/iwp.c
1125
if (LE_32(sc->sc_hdr->init_datasz) > RTC_DATA_SIZE) {
usr/src/uts/common/io/iwp/iwp.c
1128
LE_32(sc->sc_hdr->init_datasz));
usr/src/uts/common/io/iwp/iwp.c
1133
if (LE_32(sc->sc_hdr->textsz) > RTC_INST_SIZE) {
usr/src/uts/common/io/iwp/iwp.c
1136
LE_32(sc->sc_hdr->textsz));
usr/src/uts/common/io/iwp/iwp.c
1141
if (LE_32(sc->sc_hdr->datasz) > RTC_DATA_SIZE) {
usr/src/uts/common/io/iwp/iwp.c
1144
LE_32(sc->sc_hdr->datasz));
usr/src/uts/common/io/iwp/iwp.c
1152
t = (char *)(sc->sc_hdr + 1);
usr/src/uts/common/io/iwp/iwp.c
1153
err = iwp_alloc_dma_mem(sc, LE_32(sc->sc_hdr->textsz),
usr/src/uts/common/io/iwp/iwp.c
1156
&sc->sc_dma_fw_text);
usr/src/uts/common/io/iwp/iwp.c
1163
dma_p = &sc->sc_dma_fw_text;
usr/src/uts/common/io/iwp/iwp.c
1170
(void) memcpy(dma_p->mem_va, t, LE_32(sc->sc_hdr->textsz));
usr/src/uts/common/io/iwp/iwp.c
1175
t += LE_32(sc->sc_hdr->textsz);
usr/src/uts/common/io/iwp/iwp.c
1176
err = iwp_alloc_dma_mem(sc, LE_32(sc->sc_hdr->datasz),
usr/src/uts/common/io/iwp/iwp.c
1179
&sc->sc_dma_fw_data);
usr/src/uts/common/io/iwp/iwp.c
1186
dma_p = &sc->sc_dma_fw_data;
usr/src/uts/common/io/iwp/iwp.c
1193
(void) memcpy(dma_p->mem_va, t, LE_32(sc->sc_hdr->datasz));
usr/src/uts/common/io/iwp/iwp.c
1195
err = iwp_alloc_dma_mem(sc, LE_32(sc->sc_hdr->datasz),
usr/src/uts/common/io/iwp/iwp.c
1198
&sc->sc_dma_fw_data_bak);
usr/src/uts/common/io/iwp/iwp.c
1205
dma_p = &sc->sc_dma_fw_data_bak;
usr/src/uts/common/io/iwp/iwp.c
1213
(void) memcpy(dma_p->mem_va, t, LE_32(sc->sc_hdr->datasz));
usr/src/uts/common/io/iwp/iwp.c
1218
t += LE_32(sc->sc_hdr->datasz);
usr/src/uts/common/io/iwp/iwp.c
1219
err = iwp_alloc_dma_mem(sc, LE_32(sc->sc_hdr->init_textsz),
usr/src/uts/common/io/iwp/iwp.c
1222
&sc->sc_dma_fw_init_text);
usr/src/uts/common/io/iwp/iwp.c
1229
dma_p = &sc->sc_dma_fw_init_text;
usr/src/uts/common/io/iwp/iwp.c
1237
(void) memcpy(dma_p->mem_va, t, LE_32(sc->sc_hdr->init_textsz));
usr/src/uts/common/io/iwp/iwp.c
1242
t += LE_32(sc->sc_hdr->init_textsz);
usr/src/uts/common/io/iwp/iwp.c
1243
err = iwp_alloc_dma_mem(sc, LE_32(sc->sc_hdr->init_datasz),
usr/src/uts/common/io/iwp/iwp.c
1246
&sc->sc_dma_fw_init_data);
usr/src/uts/common/io/iwp/iwp.c
1253
dma_p = &sc->sc_dma_fw_init_data;
usr/src/uts/common/io/iwp/iwp.c
1261
(void) memcpy(dma_p->mem_va, t, LE_32(sc->sc_hdr->init_datasz));
usr/src/uts/common/io/iwp/iwp.c
1263
sc->sc_boot = t + LE_32(sc->sc_hdr->init_datasz);
usr/src/uts/common/io/iwp/iwp.c
1269
iwp_free_fw_dma(iwp_sc_t *sc)
usr/src/uts/common/io/iwp/iwp.c
1271
iwp_free_dma_mem(&sc->sc_dma_fw_text);
usr/src/uts/common/io/iwp/iwp.c
1272
iwp_free_dma_mem(&sc->sc_dma_fw_data);
usr/src/uts/common/io/iwp/iwp.c
1273
iwp_free_dma_mem(&sc->sc_dma_fw_data_bak);
usr/src/uts/common/io/iwp/iwp.c
1274
iwp_free_dma_mem(&sc->sc_dma_fw_init_text);
usr/src/uts/common/io/iwp/iwp.c
1275
iwp_free_dma_mem(&sc->sc_dma_fw_init_data);
usr/src/uts/common/io/iwp/iwp.c
1282
iwp_alloc_shared(iwp_sc_t *sc)
usr/src/uts/common/io/iwp/iwp.c
1292
err = iwp_alloc_dma_mem(sc, sizeof (iwp_shared_t),
usr/src/uts/common/io/iwp/iwp.c
1295
&sc->sc_dma_sh);
usr/src/uts/common/io/iwp/iwp.c
1300
sc->sc_shared = (iwp_shared_t *)sc->sc_dma_sh.mem_va;
usr/src/uts/common/io/iwp/iwp.c
1303
dma_p = &sc->sc_dma_sh;
usr/src/uts/common/io/iwp/iwp.c
1312
iwp_free_shared(sc);
usr/src/uts/common/io/iwp/iwp.c
1317
iwp_free_shared(iwp_sc_t *sc)
usr/src/uts/common/io/iwp/iwp.c
1319
iwp_free_dma_mem(&sc->sc_dma_sh);
usr/src/uts/common/io/iwp/iwp.c
1326
iwp_alloc_kw(iwp_sc_t *sc)
usr/src/uts/common/io/iwp/iwp.c
1336
err = iwp_alloc_dma_mem(sc, IWP_KW_SIZE,
usr/src/uts/common/io/iwp/iwp.c
1339
&sc->sc_dma_kw);
usr/src/uts/common/io/iwp/iwp.c
1345
dma_p = &sc->sc_dma_kw;
usr/src/uts/common/io/iwp/iwp.c
1354
iwp_free_kw(sc);
usr/src/uts/common/io/iwp/iwp.c
1359
iwp_free_kw(iwp_sc_t *sc)
usr/src/uts/common/io/iwp/iwp.c
1361
iwp_free_dma_mem(&sc->sc_dma_kw);
usr/src/uts/common/io/iwp/iwp.c
1368
iwp_alloc_rx_ring(iwp_sc_t *sc)
usr/src/uts/common/io/iwp/iwp.c
1377
ring = &sc->sc_rxq;
usr/src/uts/common/io/iwp/iwp.c
1383
err = iwp_alloc_dma_mem(sc, RX_QUEUE_SIZE * sizeof (uint32_t),
usr/src/uts/common/io/iwp/iwp.c
1408
err = iwp_alloc_dma_mem(sc, sc->sc_dmabuf_sz,
usr/src/uts/common/io/iwp/iwp.c
1440
iwp_free_rx_ring(sc);
usr/src/uts/common/io/iwp/iwp.c
1448
iwp_reset_rx_ring(iwp_sc_t *sc)
usr/src/uts/common/io/iwp/iwp.c
1452
iwp_mac_access_enter(sc);
usr/src/uts/common/io/iwp/iwp.c
1453
IWP_WRITE(sc, FH_MEM_RCSR_CHNL0_CONFIG_REG, 0);
usr/src/uts/common/io/iwp/iwp.c
1455
if (IWP_READ(sc, FH_MEM_RSSR_RX_STATUS_REG) & (1 << 24)) {
usr/src/uts/common/io/iwp/iwp.c
1466
iwp_mac_access_exit(sc);
usr/src/uts/common/io/iwp/iwp.c
1468
sc->sc_rxq.cur = 0;
usr/src/uts/common/io/iwp/iwp.c
1472
iwp_free_rx_ring(iwp_sc_t *sc)
usr/src/uts/common/io/iwp/iwp.c
1477
if (sc->sc_rxq.data[i].dma_data.dma_hdl) {
usr/src/uts/common/io/iwp/iwp.c
1478
IWP_DMA_SYNC(sc->sc_rxq.data[i].dma_data,
usr/src/uts/common/io/iwp/iwp.c
1482
iwp_free_dma_mem(&sc->sc_rxq.data[i].dma_data);
usr/src/uts/common/io/iwp/iwp.c
1485
if (sc->sc_rxq.dma_desc.dma_hdl) {
usr/src/uts/common/io/iwp/iwp.c
1486
IWP_DMA_SYNC(sc->sc_rxq.dma_desc, DDI_DMA_SYNC_FORDEV);
usr/src/uts/common/io/iwp/iwp.c
1489
iwp_free_dma_mem(&sc->sc_rxq.dma_desc);
usr/src/uts/common/io/iwp/iwp.c
1496
iwp_alloc_tx_ring(iwp_sc_t *sc, iwp_tx_ring_t *ring,
usr/src/uts/common/io/iwp/iwp.c
1518
err = iwp_alloc_dma_mem(sc,
usr/src/uts/common/io/iwp/iwp.c
1544
err = iwp_alloc_dma_mem(sc,
usr/src/uts/common/io/iwp/iwp.c
1581
err = iwp_alloc_dma_mem(sc, sc->sc_dmabuf_sz,
usr/src/uts/common/io/iwp/iwp.c
1620
iwp_reset_tx_ring(iwp_sc_t *sc, iwp_tx_ring_t *ring)
usr/src/uts/common/io/iwp/iwp.c
1625
iwp_mac_access_enter(sc);
usr/src/uts/common/io/iwp/iwp.c
1627
IWP_WRITE(sc, IWP_FH_TCSR_CHNL_TX_CONFIG_REG(ring->qid), 0);
usr/src/uts/common/io/iwp/iwp.c
1629
if (IWP_READ(sc, IWP_FH_TSSR_TX_STATUS_REG) &
usr/src/uts/common/io/iwp/iwp.c
1644
iwp_mac_access_exit(sc);
usr/src/uts/common/io/iwp/iwp.c
1647
if (!(sc->sc_flags & IWP_F_QUIESCED)) {
usr/src/uts/common/io/iwp/iwp.c
1690
iwp_ring_init(iwp_sc_t *sc)
usr/src/uts/common/io/iwp/iwp.c
1699
err = iwp_alloc_tx_ring(sc, &sc->sc_txq[i], TFD_TX_CMD_SLOTS,
usr/src/uts/common/io/iwp/iwp.c
1709
err = iwp_alloc_tx_ring(sc, &sc->sc_txq[IWP_CMD_QUEUE_NUM],
usr/src/uts/common/io/iwp/iwp.c
1715
err = iwp_alloc_rx_ring(sc);
usr/src/uts/common/io/iwp/iwp.c
1725
iwp_ring_free(iwp_sc_t *sc)
usr/src/uts/common/io/iwp/iwp.c
1729
iwp_free_rx_ring(sc);
usr/src/uts/common/io/iwp/iwp.c
1731
iwp_free_tx_ring(&sc->sc_txq[i]);
usr/src/uts/common/io/iwp/iwp.c
1793
iwp_sc_t *sc;
usr/src/uts/common/io/iwp/iwp.c
1802
sc = (iwp_sc_t *)ic;
usr/src/uts/common/io/iwp/iwp.c
1806
mutex_enter(&sc->sc_glock);
usr/src/uts/common/io/iwp/iwp.c
1812
atomic_or_32(&sc->sc_flags, IWP_F_SCANNING);
usr/src/uts/common/io/iwp/iwp.c
1813
iwp_set_led(sc, 2, 10, 2);
usr/src/uts/common/io/iwp/iwp.c
1819
sc->sc_config.assoc_id = 0;
usr/src/uts/common/io/iwp/iwp.c
1820
sc->sc_config.filter_flags &=
usr/src/uts/common/io/iwp/iwp.c
1826
LE_16(sc->sc_config.chan),
usr/src/uts/common/io/iwp/iwp.c
1827
LE_32(sc->sc_config.flags),
usr/src/uts/common/io/iwp/iwp.c
1828
LE_32(sc->sc_config.filter_flags)));
usr/src/uts/common/io/iwp/iwp.c
1830
err = iwp_cmd(sc, REPLY_RXON, &sc->sc_config,
usr/src/uts/common/io/iwp/iwp.c
1835
atomic_and_32(&sc->sc_flags, ~IWP_F_SCANNING);
usr/src/uts/common/io/iwp/iwp.c
1836
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/iwp/iwp.c
1844
err = iwp_cmd(sc, REPLY_ADD_STA, &node,
usr/src/uts/common/io/iwp/iwp.c
1849
atomic_and_32(&sc->sc_flags, ~IWP_F_SCANNING);
usr/src/uts/common/io/iwp/iwp.c
1850
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/iwp/iwp.c
1855
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/iwp/iwp.c
1857
err = sc->sc_newstate(ic, nstate, arg);
usr/src/uts/common/io/iwp/iwp.c
1858
mutex_enter(&sc->sc_glock);
usr/src/uts/common/io/iwp/iwp.c
1859
if ((err != 0) || ((err = iwp_scan(sc)) != 0)) {
usr/src/uts/common/io/iwp/iwp.c
1862
atomic_and_32(&sc->sc_flags, ~IWP_F_SCANNING);
usr/src/uts/common/io/iwp/iwp.c
1865
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/iwp/iwp.c
1870
sc->sc_clk = 0;
usr/src/uts/common/io/iwp/iwp.c
1875
atomic_and_32(&sc->sc_flags, ~IWP_F_SCANNING);
usr/src/uts/common/io/iwp/iwp.c
1881
sc->sc_config.assoc_id = 0;
usr/src/uts/common/io/iwp/iwp.c
1882
sc->sc_config.filter_flags &= ~LE_32(RXON_FILTER_ASSOC_MSK);
usr/src/uts/common/io/iwp/iwp.c
1889
if ((err = iwp_hw_set_before_auth(sc)) != 0) {
usr/src/uts/common/io/iwp/iwp.c
1892
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/iwp/iwp.c
1899
atomic_and_32(&sc->sc_flags, ~IWP_F_SCANNING);
usr/src/uts/common/io/iwp/iwp.c
1904
iwp_set_led(sc, 2, 10, 10);
usr/src/uts/common/io/iwp/iwp.c
1911
err = iwp_run_state_config(sc);
usr/src/uts/common/io/iwp/iwp.c
1915
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/iwp/iwp.c
1923
atomic_or_32(&sc->sc_flags, IWP_F_RATE_AUTO_CTL);
usr/src/uts/common/io/iwp/iwp.c
1935
atomic_and_32(&sc->sc_flags, ~IWP_F_RATE_AUTO_CTL);
usr/src/uts/common/io/iwp/iwp.c
1941
iwp_set_led(sc, 2, 0, 1);
usr/src/uts/common/io/iwp/iwp.c
1946
atomic_and_32(&sc->sc_flags, ~IWP_F_SCANNING);
usr/src/uts/common/io/iwp/iwp.c
1951
iwp_set_led(sc, 2, 1, 0);
usr/src/uts/common/io/iwp/iwp.c
1956
atomic_and_32(&sc->sc_flags, ~IWP_F_SCANNING);
usr/src/uts/common/io/iwp/iwp.c
1961
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/iwp/iwp.c
1963
return (sc->sc_newstate(ic, nstate, arg));
usr/src/uts/common/io/iwp/iwp.c
1970
iwp_mac_access_enter(iwp_sc_t *sc)
usr/src/uts/common/io/iwp/iwp.c
1975
tmp = IWP_READ(sc, CSR_GP_CNTRL);
usr/src/uts/common/io/iwp/iwp.c
1976
IWP_WRITE(sc, CSR_GP_CNTRL,
usr/src/uts/common/io/iwp/iwp.c
1981
if ((IWP_READ(sc, CSR_GP_CNTRL) &
usr/src/uts/common/io/iwp/iwp.c
2002
iwp_mac_access_exit(iwp_sc_t *sc)
usr/src/uts/common/io/iwp/iwp.c
2004
uint32_t tmp = IWP_READ(sc, CSR_GP_CNTRL);
usr/src/uts/common/io/iwp/iwp.c
2005
IWP_WRITE(sc, CSR_GP_CNTRL,
usr/src/uts/common/io/iwp/iwp.c
2023
iwp_mem_write(iwp_sc_t *sc, uint32_t addr, uint32_t data)
usr/src/uts/common/io/iwp/iwp.c
2025
IWP_WRITE(sc, HBUS_TARG_MEM_WADDR, addr);
usr/src/uts/common/io/iwp/iwp.c
2026
IWP_WRITE(sc, HBUS_TARG_MEM_WDAT, data);
usr/src/uts/common/io/iwp/iwp.c
2033
iwp_reg_read(iwp_sc_t *sc, uint32_t addr)
usr/src/uts/common/io/iwp/iwp.c
2035
IWP_WRITE(sc, HBUS_TARG_PRPH_RADDR, addr | (3 << 24));
usr/src/uts/common/io/iwp/iwp.c
2036
return (IWP_READ(sc, HBUS_TARG_PRPH_RDAT));
usr/src/uts/common/io/iwp/iwp.c
2043
iwp_reg_write(iwp_sc_t *sc, uint32_t addr, uint32_t data)
usr/src/uts/common/io/iwp/iwp.c
2045
IWP_WRITE(sc, HBUS_TARG_PRPH_WADDR, addr | (3 << 24));
usr/src/uts/common/io/iwp/iwp.c
2046
IWP_WRITE(sc, HBUS_TARG_PRPH_WDAT, data);
usr/src/uts/common/io/iwp/iwp.c
2058
iwp_load_init_firmware(iwp_sc_t *sc)
usr/src/uts/common/io/iwp/iwp.c
2063
atomic_and_32(&sc->sc_flags, ~IWP_F_PUT_SEG);
usr/src/uts/common/io/iwp/iwp.c
2068
err = iwp_put_seg_fw(sc, sc->sc_dma_fw_init_text.cookie.dmac_address,
usr/src/uts/common/io/iwp/iwp.c
2069
RTC_INST_LOWER_BOUND, sc->sc_dma_fw_init_text.cookie.dmac_size);
usr/src/uts/common/io/iwp/iwp.c
2079
while (!(sc->sc_flags & IWP_F_PUT_SEG)) {
usr/src/uts/common/io/iwp/iwp.c
2080
if (cv_timedwait(&sc->sc_put_seg_cv, &sc->sc_glock, clk) < 0) {
usr/src/uts/common/io/iwp/iwp.c
2085
if (!(sc->sc_flags & IWP_F_PUT_SEG)) {
usr/src/uts/common/io/iwp/iwp.c
2091
atomic_and_32(&sc->sc_flags, ~IWP_F_PUT_SEG);
usr/src/uts/common/io/iwp/iwp.c
2096
err = iwp_put_seg_fw(sc, sc->sc_dma_fw_init_data.cookie.dmac_address,
usr/src/uts/common/io/iwp/iwp.c
2097
RTC_DATA_LOWER_BOUND, sc->sc_dma_fw_init_data.cookie.dmac_size);
usr/src/uts/common/io/iwp/iwp.c
2109
while (!(sc->sc_flags & IWP_F_PUT_SEG)) {
usr/src/uts/common/io/iwp/iwp.c
2110
if (cv_timedwait(&sc->sc_put_seg_cv, &sc->sc_glock, clk) < 0) {
usr/src/uts/common/io/iwp/iwp.c
2115
if (!(sc->sc_flags & IWP_F_PUT_SEG)) {
usr/src/uts/common/io/iwp/iwp.c
2121
atomic_and_32(&sc->sc_flags, ~IWP_F_PUT_SEG);
usr/src/uts/common/io/iwp/iwp.c
2127
iwp_load_run_firmware(iwp_sc_t *sc)
usr/src/uts/common/io/iwp/iwp.c
2132
atomic_and_32(&sc->sc_flags, ~IWP_F_PUT_SEG);
usr/src/uts/common/io/iwp/iwp.c
2137
err = iwp_put_seg_fw(sc, sc->sc_dma_fw_text.cookie.dmac_address,
usr/src/uts/common/io/iwp/iwp.c
2138
RTC_INST_LOWER_BOUND, sc->sc_dma_fw_text.cookie.dmac_size);
usr/src/uts/common/io/iwp/iwp.c
2148
while (!(sc->sc_flags & IWP_F_PUT_SEG)) {
usr/src/uts/common/io/iwp/iwp.c
2149
if (cv_timedwait(&sc->sc_put_seg_cv, &sc->sc_glock, clk) < 0) {
usr/src/uts/common/io/iwp/iwp.c
2154
if (!(sc->sc_flags & IWP_F_PUT_SEG)) {
usr/src/uts/common/io/iwp/iwp.c
2160
atomic_and_32(&sc->sc_flags, ~IWP_F_PUT_SEG);
usr/src/uts/common/io/iwp/iwp.c
2165
err = iwp_put_seg_fw(sc, sc->sc_dma_fw_data_bak.cookie.dmac_address,
usr/src/uts/common/io/iwp/iwp.c
2166
RTC_DATA_LOWER_BOUND, sc->sc_dma_fw_data.cookie.dmac_size);
usr/src/uts/common/io/iwp/iwp.c
2178
while (!(sc->sc_flags & IWP_F_PUT_SEG)) {
usr/src/uts/common/io/iwp/iwp.c
2179
if (cv_timedwait(&sc->sc_put_seg_cv, &sc->sc_glock, clk) < 0) {
usr/src/uts/common/io/iwp/iwp.c
2184
if (!(sc->sc_flags & IWP_F_PUT_SEG)) {
usr/src/uts/common/io/iwp/iwp.c
2190
atomic_and_32(&sc->sc_flags, ~IWP_F_PUT_SEG);
usr/src/uts/common/io/iwp/iwp.c
2200
iwp_rx_phy_intr(iwp_sc_t *sc, iwp_rx_desc_t *desc)
usr/src/uts/common/io/iwp/iwp.c
2203
sc->sc_rx_phy_res.flag = 1;
usr/src/uts/common/io/iwp/iwp.c
2205
(void) memcpy(sc->sc_rx_phy_res.buf, (uint8_t *)(desc + 1),
usr/src/uts/common/io/iwp/iwp.c
2214
iwp_rx_mpdu_intr(iwp_sc_t *sc, iwp_rx_desc_t *desc)
usr/src/uts/common/io/iwp/iwp.c
2216
ieee80211com_t *ic = &sc->sc_ic;
usr/src/uts/common/io/iwp/iwp.c
2218
iwp_rx_ring_t *ring = &sc->sc_rxq;
usr/src/uts/common/io/iwp/iwp.c
2236
stat = (iwp_rx_phy_res_t *)sc->sc_rx_phy_res.buf;
usr/src/uts/common/io/iwp/iwp.c
2284
if ((len < 16) || (len > sc->sc_dmabuf_sz)) {
usr/src/uts/common/io/iwp/iwp.c
2299
sc->sc_rx_err++;
usr/src/uts/common/io/iwp/iwp.c
2307
sc->sc_assoc_id = *((uint16_t *)(wh + 1) + 2);
usr/src/uts/common/io/iwp/iwp.c
2310
sc->sc_assoc_id));
usr/src/uts/common/io/iwp/iwp.c
2330
sc->sc_rx_nobuf++;
usr/src/uts/common/io/iwp/iwp.c
2345
iwp_tx_intr(iwp_sc_t *sc, iwp_rx_desc_t *desc)
usr/src/uts/common/io/iwp/iwp.c
2347
ieee80211com_t *ic = &sc->sc_ic;
usr/src/uts/common/io/iwp/iwp.c
2348
iwp_tx_ring_t *ring = &sc->sc_txq[desc->hdr.qid & 0x3];
usr/src/uts/common/io/iwp/iwp.c
2364
sc->sc_tx_retries++;
usr/src/uts/common/io/iwp/iwp.c
2367
sc->sc_tx_retries));
usr/src/uts/common/io/iwp/iwp.c
2370
mutex_enter(&sc->sc_mt_lock);
usr/src/uts/common/io/iwp/iwp.c
2371
sc->sc_tx_timer = 0;
usr/src/uts/common/io/iwp/iwp.c
2372
mutex_exit(&sc->sc_mt_lock);
usr/src/uts/common/io/iwp/iwp.c
2374
mutex_enter(&sc->sc_tx_lock);
usr/src/uts/common/io/iwp/iwp.c
2381
if ((sc->sc_need_reschedule) && (ring->queued <= (ring->count >> 3))) {
usr/src/uts/common/io/iwp/iwp.c
2382
sc->sc_need_reschedule = 0;
usr/src/uts/common/io/iwp/iwp.c
2383
mutex_exit(&sc->sc_tx_lock);
usr/src/uts/common/io/iwp/iwp.c
2385
mutex_enter(&sc->sc_tx_lock);
usr/src/uts/common/io/iwp/iwp.c
2388
mutex_exit(&sc->sc_tx_lock);
usr/src/uts/common/io/iwp/iwp.c
2395
iwp_cmd_intr(iwp_sc_t *sc, iwp_rx_desc_t *desc)
usr/src/uts/common/io/iwp/iwp.c
2401
if (sc->sc_cmd_accum > 0) {
usr/src/uts/common/io/iwp/iwp.c
2402
sc->sc_cmd_accum--;
usr/src/uts/common/io/iwp/iwp.c
2406
mutex_enter(&sc->sc_glock);
usr/src/uts/common/io/iwp/iwp.c
2408
sc->sc_cmd_flag = SC_CMD_FLG_DONE;
usr/src/uts/common/io/iwp/iwp.c
2410
cv_signal(&sc->sc_cmd_cv);
usr/src/uts/common/io/iwp/iwp.c
2412
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/iwp/iwp.c
2424
iwp_ucode_alive(iwp_sc_t *sc, iwp_rx_desc_t *desc)
usr/src/uts/common/io/iwp/iwp.c
2430
struct iwp_calib_results *res_p = &sc->sc_calib_results;
usr/src/uts/common/io/iwp/iwp.c
2454
(void) memcpy(&sc->sc_card_alive_init, ar,
usr/src/uts/common/io/iwp/iwp.c
2460
mutex_enter(&sc->sc_glock);
usr/src/uts/common/io/iwp/iwp.c
2462
rv = iwp_alive_common(sc);
usr/src/uts/common/io/iwp/iwp.c
2466
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/iwp/iwp.c
2480
rv = iwp_cmd(sc, CALIBRATION_CFG_CMD, &cmd, sizeof (cmd), 1);
usr/src/uts/common/io/iwp/iwp.c
2484
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/iwp/iwp.c
2488
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/iwp/iwp.c
2495
(void) memcpy(&sc->sc_card_alive_run, ar,
usr/src/uts/common/io/iwp/iwp.c
2498
mutex_enter(&sc->sc_glock);
usr/src/uts/common/io/iwp/iwp.c
2503
rv = iwp_alive_common(sc);
usr/src/uts/common/io/iwp/iwp.c
2507
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/iwp/iwp.c
2515
rv = iwp_cmd(sc, REPLY_PHY_CALIBRATION_CMD,
usr/src/uts/common/io/iwp/iwp.c
2521
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/iwp/iwp.c
2532
rv = iwp_cmd(sc, REPLY_PHY_CALIBRATION_CMD,
usr/src/uts/common/io/iwp/iwp.c
2538
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/iwp/iwp.c
2549
rv = iwp_cmd(sc, REPLY_PHY_CALIBRATION_CMD,
usr/src/uts/common/io/iwp/iwp.c
2556
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/iwp/iwp.c
2567
rv = iwp_cmd(sc, REPLY_PHY_CALIBRATION_CMD,
usr/src/uts/common/io/iwp/iwp.c
2574
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/iwp/iwp.c
2581
atomic_or_32(&sc->sc_flags, IWP_F_FW_INIT);
usr/src/uts/common/io/iwp/iwp.c
2582
cv_signal(&sc->sc_ucode_cv);
usr/src/uts/common/io/iwp/iwp.c
2584
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/iwp/iwp.c
2597
iwp_sc_t *sc;
usr/src/uts/common/io/iwp/iwp.c
2606
sc = (iwp_sc_t *)arg;
usr/src/uts/common/io/iwp/iwp.c
2607
ic = &sc->sc_ic;
usr/src/uts/common/io/iwp/iwp.c
2613
index = (sc->sc_shared->val0) & 0xfff;
usr/src/uts/common/io/iwp/iwp.c
2615
while (sc->sc_rxq.cur != index) {
usr/src/uts/common/io/iwp/iwp.c
2616
data = &sc->sc_rxq.data[sc->sc_rxq.cur];
usr/src/uts/common/io/iwp/iwp.c
2622
index, sc->sc_rxq.cur, desc->hdr.qid, desc->hdr.idx,
usr/src/uts/common/io/iwp/iwp.c
2631
iwp_cmd_intr(sc, desc);
usr/src/uts/common/io/iwp/iwp.c
2636
iwp_rx_phy_intr(sc, desc);
usr/src/uts/common/io/iwp/iwp.c
2640
iwp_rx_mpdu_intr(sc, desc);
usr/src/uts/common/io/iwp/iwp.c
2644
iwp_tx_intr(sc, desc);
usr/src/uts/common/io/iwp/iwp.c
2648
iwp_ucode_alive(sc, desc);
usr/src/uts/common/io/iwp/iwp.c
2668
sc->sc_ostate = sc->sc_ic.ic_state;
usr/src/uts/common/io/iwp/iwp.c
2669
ieee80211_new_state(&sc->sc_ic,
usr/src/uts/common/io/iwp/iwp.c
2671
atomic_or_32(&sc->sc_flags,
usr/src/uts/common/io/iwp/iwp.c
2702
sc->sc_scan_pending++;
usr/src/uts/common/io/iwp/iwp.c
2715
iwp_save_calib_result(sc, desc);
usr/src/uts/common/io/iwp/iwp.c
2719
mutex_enter(&sc->sc_glock);
usr/src/uts/common/io/iwp/iwp.c
2720
atomic_or_32(&sc->sc_flags, IWP_F_FW_INIT);
usr/src/uts/common/io/iwp/iwp.c
2721
cv_signal(&sc->sc_ucode_cv);
usr/src/uts/common/io/iwp/iwp.c
2722
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/iwp/iwp.c
2743
sc->sc_rxq.cur = (sc->sc_rxq.cur + 1) % RX_QUEUE_SIZE;
usr/src/uts/common/io/iwp/iwp.c
2751
IWP_WRITE(sc, FH_RSCSR_CHNL0_RBDCB_WPTR_REG, index & (~7));
usr/src/uts/common/io/iwp/iwp.c
2756
IWP_WRITE(sc, CSR_INT_MASK, CSR_INI_SET_MASK);
usr/src/uts/common/io/iwp/iwp.c
2768
iwp_sc_t *sc;
usr/src/uts/common/io/iwp/iwp.c
2774
sc = (iwp_sc_t *)arg;
usr/src/uts/common/io/iwp/iwp.c
2776
r = IWP_READ(sc, CSR_INT);
usr/src/uts/common/io/iwp/iwp.c
2784
rfh = IWP_READ(sc, CSR_FH_INT_STATUS);
usr/src/uts/common/io/iwp/iwp.c
2792
IWP_WRITE(sc, CSR_INT_MASK, 0);
usr/src/uts/common/io/iwp/iwp.c
2797
IWP_WRITE(sc, CSR_INT, r);
usr/src/uts/common/io/iwp/iwp.c
2798
IWP_WRITE(sc, CSR_FH_INT_STATUS, rfh);
usr/src/uts/common/io/iwp/iwp.c
2803
iwp_stop(sc);
usr/src/uts/common/io/iwp/iwp.c
2804
sc->sc_ostate = sc->sc_ic.ic_state;
usr/src/uts/common/io/iwp/iwp.c
2807
if (!IWP_CHK_FAST_RECOVER(sc)) {
usr/src/uts/common/io/iwp/iwp.c
2808
ieee80211_new_state(&sc->sc_ic, IEEE80211_S_INIT, -1);
usr/src/uts/common/io/iwp/iwp.c
2811
atomic_or_32(&sc->sc_flags, IWP_F_HW_ERR_RECOVER);
usr/src/uts/common/io/iwp/iwp.c
2816
uint32_t tmp = IWP_READ(sc, CSR_GP_CNTRL);
usr/src/uts/common/io/iwp/iwp.c
2824
(void) ddi_intr_trigger_softint(sc->sc_soft_hdl, NULL);
usr/src/uts/common/io/iwp/iwp.c
2829
mutex_enter(&sc->sc_glock);
usr/src/uts/common/io/iwp/iwp.c
2830
atomic_or_32(&sc->sc_flags, IWP_F_PUT_SEG);
usr/src/uts/common/io/iwp/iwp.c
2831
cv_signal(&sc->sc_put_seg_cv);
usr/src/uts/common/io/iwp/iwp.c
2832
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/iwp/iwp.c
2845
IWP_WRITE(sc, CSR_INT_MASK, CSR_INI_SET_MASK);
usr/src/uts/common/io/iwp/iwp.c
2924
iwp_sc_t *sc;
usr/src/uts/common/io/iwp/iwp.c
2931
sc = (iwp_sc_t *)arg;
usr/src/uts/common/io/iwp/iwp.c
2932
ic = &sc->sc_ic;
usr/src/uts/common/io/iwp/iwp.c
2934
if (sc->sc_flags & IWP_F_SUSPEND) {
usr/src/uts/common/io/iwp/iwp.c
2944
if ((sc->sc_flags & IWP_F_HW_ERR_RECOVER) &&
usr/src/uts/common/io/iwp/iwp.c
2945
IWP_CHK_FAST_RECOVER(sc)) {
usr/src/uts/common/io/iwp/iwp.c
2971
iwp_sc_t *sc;
usr/src/uts/common/io/iwp/iwp.c
2989
sc = (iwp_sc_t *)ic;
usr/src/uts/common/io/iwp/iwp.c
2991
if (sc->sc_flags & IWP_F_SUSPEND) {
usr/src/uts/common/io/iwp/iwp.c
3000
mutex_enter(&sc->sc_tx_lock);
usr/src/uts/common/io/iwp/iwp.c
3001
ring = &sc->sc_txq[0];
usr/src/uts/common/io/iwp/iwp.c
3015
sc->sc_need_reschedule = 1;
usr/src/uts/common/io/iwp/iwp.c
3016
mutex_exit(&sc->sc_tx_lock);
usr/src/uts/common/io/iwp/iwp.c
3022
sc->sc_tx_nobuf++;
usr/src/uts/common/io/iwp/iwp.c
3029
mutex_exit(&sc->sc_tx_lock);
usr/src/uts/common/io/iwp/iwp.c
3039
mutex_enter(&sc->sc_tx_lock);
usr/src/uts/common/io/iwp/iwp.c
3041
if ((sc->sc_need_reschedule) && (ring->queued <= 0)) {
usr/src/uts/common/io/iwp/iwp.c
3042
sc->sc_need_reschedule = 0;
usr/src/uts/common/io/iwp/iwp.c
3043
mutex_exit(&sc->sc_tx_lock);
usr/src/uts/common/io/iwp/iwp.c
3045
mutex_enter(&sc->sc_tx_lock);
usr/src/uts/common/io/iwp/iwp.c
3047
mutex_exit(&sc->sc_tx_lock);
usr/src/uts/common/io/iwp/iwp.c
3072
sc->sc_tx_err++;
usr/src/uts/common/io/iwp/iwp.c
3074
mutex_enter(&sc->sc_tx_lock);
usr/src/uts/common/io/iwp/iwp.c
3076
if ((sc->sc_need_reschedule) && (ring->queued <= 0)) {
usr/src/uts/common/io/iwp/iwp.c
3077
sc->sc_need_reschedule = 0;
usr/src/uts/common/io/iwp/iwp.c
3078
mutex_exit(&sc->sc_tx_lock);
usr/src/uts/common/io/iwp/iwp.c
3080
mutex_enter(&sc->sc_tx_lock);
usr/src/uts/common/io/iwp/iwp.c
3082
mutex_exit(&sc->sc_tx_lock);
usr/src/uts/common/io/iwp/iwp.c
3116
sc->sc_tx_err++;
usr/src/uts/common/io/iwp/iwp.c
3118
mutex_enter(&sc->sc_tx_lock);
usr/src/uts/common/io/iwp/iwp.c
3120
if ((sc->sc_need_reschedule) && (ring->queued <= 0)) {
usr/src/uts/common/io/iwp/iwp.c
3121
sc->sc_need_reschedule = 0;
usr/src/uts/common/io/iwp/iwp.c
3122
mutex_exit(&sc->sc_tx_lock);
usr/src/uts/common/io/iwp/iwp.c
3124
mutex_enter(&sc->sc_tx_lock);
usr/src/uts/common/io/iwp/iwp.c
3126
mutex_exit(&sc->sc_tx_lock);
usr/src/uts/common/io/iwp/iwp.c
3261
mutex_enter(&sc->sc_tx_lock);
usr/src/uts/common/io/iwp/iwp.c
3286
sc->sc_shared->queues_byte_cnt_tbls[ring->qid].
usr/src/uts/common/io/iwp/iwp.c
3290
sc->sc_shared->queues_byte_cnt_tbls[ring->qid].
usr/src/uts/common/io/iwp/iwp.c
3299
IWP_WRITE(sc, HBUS_TARG_WRPTR, ring->qid << 8 | ring->desc_cur);
usr/src/uts/common/io/iwp/iwp.c
3301
mutex_exit(&sc->sc_tx_lock);
usr/src/uts/common/io/iwp/iwp.c
3312
mutex_enter(&sc->sc_mt_lock);
usr/src/uts/common/io/iwp/iwp.c
3313
if (0 == sc->sc_tx_timer) {
usr/src/uts/common/io/iwp/iwp.c
3314
sc->sc_tx_timer = 4;
usr/src/uts/common/io/iwp/iwp.c
3316
mutex_exit(&sc->sc_mt_lock);
usr/src/uts/common/io/iwp/iwp.c
3328
iwp_sc_t *sc;
usr/src/uts/common/io/iwp/iwp.c
3335
sc = (iwp_sc_t *)arg;
usr/src/uts/common/io/iwp/iwp.c
3336
ic = &sc->sc_ic;
usr/src/uts/common/io/iwp/iwp.c
3349
if (sc->sc_flags & IWP_F_RUNNING) {
usr/src/uts/common/io/iwp/iwp.c
3350
iwp_m_stop(sc);
usr/src/uts/common/io/iwp/iwp.c
3351
(void) iwp_m_start(sc);
usr/src/uts/common/io/iwp/iwp.c
3366
iwp_sc_t *sc;
usr/src/uts/common/io/iwp/iwp.c
3372
sc = (iwp_sc_t *)arg;
usr/src/uts/common/io/iwp/iwp.c
3374
err = ieee80211_getprop(&sc->sc_ic, pr_name, wldp_pr_num,
usr/src/uts/common/io/iwp/iwp.c
3384
iwp_sc_t *sc;
usr/src/uts/common/io/iwp/iwp.c
3386
sc = (iwp_sc_t *)arg;
usr/src/uts/common/io/iwp/iwp.c
3387
ieee80211_propinfo(&sc->sc_ic, pr_name, wldp_pr_num, prh);
usr/src/uts/common/io/iwp/iwp.c
3394
iwp_sc_t *sc;
usr/src/uts/common/io/iwp/iwp.c
3401
sc = (iwp_sc_t *)arg;
usr/src/uts/common/io/iwp/iwp.c
3402
ic = &sc->sc_ic;
usr/src/uts/common/io/iwp/iwp.c
3409
if (sc->sc_flags & IWP_F_RUNNING) {
usr/src/uts/common/io/iwp/iwp.c
3410
iwp_m_stop(sc);
usr/src/uts/common/io/iwp/iwp.c
3411
(void) iwp_m_start(sc);
usr/src/uts/common/io/iwp/iwp.c
3427
iwp_sc_t *sc;
usr/src/uts/common/io/iwp/iwp.c
3434
sc = (iwp_sc_t *)arg;
usr/src/uts/common/io/iwp/iwp.c
3435
ic = &sc->sc_ic;
usr/src/uts/common/io/iwp/iwp.c
3437
mutex_enter(&sc->sc_glock);
usr/src/uts/common/io/iwp/iwp.c
3447
*val = sc->sc_tx_nobuf;
usr/src/uts/common/io/iwp/iwp.c
3450
*val = sc->sc_rx_nobuf;
usr/src/uts/common/io/iwp/iwp.c
3453
*val = sc->sc_rx_err;
usr/src/uts/common/io/iwp/iwp.c
3469
*val = sc->sc_tx_err;
usr/src/uts/common/io/iwp/iwp.c
3472
*val = sc->sc_tx_retries;
usr/src/uts/common/io/iwp/iwp.c
3484
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/iwp/iwp.c
3487
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/iwp/iwp.c
3491
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/iwp/iwp.c
3503
iwp_sc_t *sc;
usr/src/uts/common/io/iwp/iwp.c
3510
sc = (iwp_sc_t *)arg;
usr/src/uts/common/io/iwp/iwp.c
3511
ic = &sc->sc_ic;
usr/src/uts/common/io/iwp/iwp.c
3513
err = iwp_init(sc);
usr/src/uts/common/io/iwp/iwp.c
3520
atomic_or_32(&sc->sc_flags, IWP_F_HW_ERR_RECOVER);
usr/src/uts/common/io/iwp/iwp.c
3526
atomic_or_32(&sc->sc_flags, IWP_F_RUNNING);
usr/src/uts/common/io/iwp/iwp.c
3537
iwp_sc_t *sc;
usr/src/uts/common/io/iwp/iwp.c
3543
sc = (iwp_sc_t *)arg;
usr/src/uts/common/io/iwp/iwp.c
3544
ic = &sc->sc_ic;
usr/src/uts/common/io/iwp/iwp.c
3546
iwp_stop(sc);
usr/src/uts/common/io/iwp/iwp.c
3551
iwp_release_calib_buffer(sc);
usr/src/uts/common/io/iwp/iwp.c
3555
atomic_and_32(&sc->sc_flags, ~IWP_F_HW_ERR_RECOVER);
usr/src/uts/common/io/iwp/iwp.c
3556
atomic_and_32(&sc->sc_flags, ~IWP_F_RATE_AUTO_CTL);
usr/src/uts/common/io/iwp/iwp.c
3558
atomic_and_32(&sc->sc_flags, ~IWP_F_RUNNING);
usr/src/uts/common/io/iwp/iwp.c
3559
atomic_and_32(&sc->sc_flags, ~IWP_F_SCANNING);
usr/src/uts/common/io/iwp/iwp.c
3568
iwp_sc_t *sc;
usr/src/uts/common/io/iwp/iwp.c
3575
sc = (iwp_sc_t *)arg;
usr/src/uts/common/io/iwp/iwp.c
3576
ic = &sc->sc_ic;
usr/src/uts/common/io/iwp/iwp.c
3580
mutex_enter(&sc->sc_glock);
usr/src/uts/common/io/iwp/iwp.c
3581
err = iwp_config(sc);
usr/src/uts/common/io/iwp/iwp.c
3582
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/iwp/iwp.c
3614
iwp_thread(iwp_sc_t *sc)
usr/src/uts/common/io/iwp/iwp.c
3616
ieee80211com_t *ic = &sc->sc_ic;
usr/src/uts/common/io/iwp/iwp.c
3624
while (sc->sc_mf_thread_switch) {
usr/src/uts/common/io/iwp/iwp.c
3625
tmp = IWP_READ(sc, CSR_GP_CNTRL);
usr/src/uts/common/io/iwp/iwp.c
3627
atomic_and_32(&sc->sc_flags, ~IWP_F_RADIO_OFF);
usr/src/uts/common/io/iwp/iwp.c
3629
atomic_or_32(&sc->sc_flags, IWP_F_RADIO_OFF);
usr/src/uts/common/io/iwp/iwp.c
3635
if (sc->sc_flags & IWP_F_RADIO_OFF) {
usr/src/uts/common/io/iwp/iwp.c
3644
(sc->sc_flags & IWP_F_HW_ERR_RECOVER)) {
usr/src/uts/common/io/iwp/iwp.c
3649
iwp_stop(sc);
usr/src/uts/common/io/iwp/iwp.c
3651
if (IWP_CHK_FAST_RECOVER(sc)) {
usr/src/uts/common/io/iwp/iwp.c
3653
bcopy(&sc->sc_config, &sc->sc_config_save,
usr/src/uts/common/io/iwp/iwp.c
3654
sizeof (sc->sc_config));
usr/src/uts/common/io/iwp/iwp.c
3660
err = iwp_init(sc);
usr/src/uts/common/io/iwp/iwp.c
3670
atomic_or_32(&sc->sc_flags, IWP_F_RUNNING);
usr/src/uts/common/io/iwp/iwp.c
3674
if (!IWP_CHK_FAST_RECOVER(sc) ||
usr/src/uts/common/io/iwp/iwp.c
3675
iwp_fast_recover(sc) != IWP_SUCCESS) {
usr/src/uts/common/io/iwp/iwp.c
3676
atomic_and_32(&sc->sc_flags,
usr/src/uts/common/io/iwp/iwp.c
3680
if (sc->sc_ostate != IEEE80211_S_INIT) {
usr/src/uts/common/io/iwp/iwp.c
3688
(sc->sc_flags & IWP_F_SCANNING) && sc->sc_scan_pending) {
usr/src/uts/common/io/iwp/iwp.c
3692
sc->sc_scan_pending--;
usr/src/uts/common/io/iwp/iwp.c
3701
(sc->sc_flags & IWP_F_RATE_AUTO_CTL)) {
usr/src/uts/common/io/iwp/iwp.c
3703
if (clk > sc->sc_clk + drv_usectohz(1000000)) {
usr/src/uts/common/io/iwp/iwp.c
3704
iwp_amrr_timeout(sc);
usr/src/uts/common/io/iwp/iwp.c
3710
mutex_enter(&sc->sc_mt_lock);
usr/src/uts/common/io/iwp/iwp.c
3711
if (sc->sc_tx_timer) {
usr/src/uts/common/io/iwp/iwp.c
3714
sc->sc_tx_timer--;
usr/src/uts/common/io/iwp/iwp.c
3715
if (0 == sc->sc_tx_timer) {
usr/src/uts/common/io/iwp/iwp.c
3716
atomic_or_32(&sc->sc_flags,
usr/src/uts/common/io/iwp/iwp.c
3718
sc->sc_ostate = IEEE80211_S_RUN;
usr/src/uts/common/io/iwp/iwp.c
3726
mutex_exit(&sc->sc_mt_lock);
usr/src/uts/common/io/iwp/iwp.c
3729
mutex_enter(&sc->sc_mt_lock);
usr/src/uts/common/io/iwp/iwp.c
3730
sc->sc_mf_thread = NULL;
usr/src/uts/common/io/iwp/iwp.c
3731
cv_signal(&sc->sc_mt_cv);
usr/src/uts/common/io/iwp/iwp.c
3732
mutex_exit(&sc->sc_mt_lock);
usr/src/uts/common/io/iwp/iwp.c
3740
iwp_cmd(iwp_sc_t *sc, int code, const void *buf, int size, int async)
usr/src/uts/common/io/iwp/iwp.c
3742
iwp_tx_ring_t *ring = &sc->sc_txq[IWP_CMD_QUEUE_NUM];
usr/src/uts/common/io/iwp/iwp.c
3747
ASSERT(mutex_owned(&sc->sc_glock));
usr/src/uts/common/io/iwp/iwp.c
3767
sc->sc_cmd_accum++;
usr/src/uts/common/io/iwp/iwp.c
3773
sc->sc_shared->queues_byte_cnt_tbls[ring->qid].
usr/src/uts/common/io/iwp/iwp.c
3776
sc->sc_shared->queues_byte_cnt_tbls[ring->qid].
usr/src/uts/common/io/iwp/iwp.c
3780
IWP_WRITE(sc, HBUS_TARG_WRPTR, ring->qid << 8 | ring->cur);
usr/src/uts/common/io/iwp/iwp.c
3788
while (sc->sc_cmd_flag != SC_CMD_FLG_DONE) {
usr/src/uts/common/io/iwp/iwp.c
3789
if (cv_timedwait(&sc->sc_cmd_cv,
usr/src/uts/common/io/iwp/iwp.c
3790
&sc->sc_glock, clk) < 0) {
usr/src/uts/common/io/iwp/iwp.c
3795
if (SC_CMD_FLG_DONE == sc->sc_cmd_flag) {
usr/src/uts/common/io/iwp/iwp.c
3796
sc->sc_cmd_flag = SC_CMD_FLG_NONE;
usr/src/uts/common/io/iwp/iwp.c
3799
sc->sc_cmd_flag = SC_CMD_FLG_NONE;
usr/src/uts/common/io/iwp/iwp.c
3809
iwp_set_led(iwp_sc_t *sc, uint8_t id, uint8_t off, uint8_t on)
usr/src/uts/common/io/iwp/iwp.c
3818
(void) iwp_cmd(sc, REPLY_LEDS_CMD, &led, sizeof (led), 1);
usr/src/uts/common/io/iwp/iwp.c
3825
iwp_hw_set_before_auth(iwp_sc_t *sc)
usr/src/uts/common/io/iwp/iwp.c
3827
ieee80211com_t *ic = &sc->sc_ic;
usr/src/uts/common/io/iwp/iwp.c
3835
IEEE80211_ADDR_COPY(sc->sc_config.bssid, in->in_bssid);
usr/src/uts/common/io/iwp/iwp.c
3836
sc->sc_config.chan = LE_16(ieee80211_chan2ieee(ic, in->in_chan));
usr/src/uts/common/io/iwp/iwp.c
3838
sc->sc_config.ofdm_ht_triple_stream_basic_rates = 0;
usr/src/uts/common/io/iwp/iwp.c
3839
sc->sc_config.ofdm_ht_dual_stream_basic_rates = 0;
usr/src/uts/common/io/iwp/iwp.c
3840
sc->sc_config.ofdm_ht_single_stream_basic_rates = 0;
usr/src/uts/common/io/iwp/iwp.c
3843
sc->sc_config.cck_basic_rates = 0x03;
usr/src/uts/common/io/iwp/iwp.c
3844
sc->sc_config.ofdm_basic_rates = 0;
usr/src/uts/common/io/iwp/iwp.c
3847
sc->sc_config.cck_basic_rates = 0;
usr/src/uts/common/io/iwp/iwp.c
3848
sc->sc_config.ofdm_basic_rates = 0x15;
usr/src/uts/common/io/iwp/iwp.c
3850
sc->sc_config.cck_basic_rates = 0x0f;
usr/src/uts/common/io/iwp/iwp.c
3851
sc->sc_config.ofdm_basic_rates = 0xff;
usr/src/uts/common/io/iwp/iwp.c
3854
sc->sc_config.flags &= ~LE_32(RXON_FLG_SHORT_PREAMBLE_MSK |
usr/src/uts/common/io/iwp/iwp.c
3858
sc->sc_config.flags |= LE_32(RXON_FLG_SHORT_SLOT_MSK);
usr/src/uts/common/io/iwp/iwp.c
3860
sc->sc_config.flags &= LE_32(~RXON_FLG_SHORT_SLOT_MSK);
usr/src/uts/common/io/iwp/iwp.c
3864
sc->sc_config.flags |= LE_32(RXON_FLG_SHORT_PREAMBLE_MSK);
usr/src/uts/common/io/iwp/iwp.c
3866
sc->sc_config.flags &= LE_32(~RXON_FLG_SHORT_PREAMBLE_MSK);
usr/src/uts/common/io/iwp/iwp.c
3873
LE_16(sc->sc_config.chan), LE_32(sc->sc_config.flags),
usr/src/uts/common/io/iwp/iwp.c
3874
LE_32(sc->sc_config.filter_flags),
usr/src/uts/common/io/iwp/iwp.c
3875
sc->sc_config.cck_basic_rates, sc->sc_config.ofdm_basic_rates,
usr/src/uts/common/io/iwp/iwp.c
3876
sc->sc_config.bssid[0], sc->sc_config.bssid[1],
usr/src/uts/common/io/iwp/iwp.c
3877
sc->sc_config.bssid[2], sc->sc_config.bssid[3],
usr/src/uts/common/io/iwp/iwp.c
3878
sc->sc_config.bssid[4], sc->sc_config.bssid[5]));
usr/src/uts/common/io/iwp/iwp.c
3880
err = iwp_cmd(sc, REPLY_RXON, &sc->sc_config,
usr/src/uts/common/io/iwp/iwp.c
3884
"failed to config chan%d\n", sc->sc_config.chan);
usr/src/uts/common/io/iwp/iwp.c
3891
err = iwp_add_ap_sta(sc);
usr/src/uts/common/io/iwp/iwp.c
3904
iwp_scan(iwp_sc_t *sc)
usr/src/uts/common/io/iwp/iwp.c
3906
ieee80211com_t *ic = &sc->sc_ic;
usr/src/uts/common/io/iwp/iwp.c
3907
iwp_tx_ring_t *ring = &sc->sc_txq[IWP_CMD_QUEUE_NUM];
usr/src/uts/common/io/iwp/iwp.c
4070
sc->sc_shared->queues_byte_cnt_tbls[ring->qid]
usr/src/uts/common/io/iwp/iwp.c
4073
sc->sc_shared->queues_byte_cnt_tbls[ring->qid].
usr/src/uts/common/io/iwp/iwp.c
4081
IWP_WRITE(sc, HBUS_TARG_WRPTR, ring->qid << 8 | ring->cur);
usr/src/uts/common/io/iwp/iwp.c
4090
iwp_config(iwp_sc_t *sc)
usr/src/uts/common/io/iwp/iwp.c
4092
ieee80211com_t *ic = &sc->sc_ic;
usr/src/uts/common/io/iwp/iwp.c
4105
err = iwp_cmd(sc, POWER_TABLE_CMD, &powertable,
usr/src/uts/common/io/iwp/iwp.c
4120
err = iwp_cmd(sc, REPLY_BT_CONFIG, &bt,
usr/src/uts/common/io/iwp/iwp.c
4131
(void) memset(&sc->sc_config, 0, sizeof (iwp_rxon_cmd_t));
usr/src/uts/common/io/iwp/iwp.c
4132
IEEE80211_ADDR_COPY(sc->sc_config.node_addr, ic->ic_macaddr);
usr/src/uts/common/io/iwp/iwp.c
4133
IEEE80211_ADDR_COPY(sc->sc_config.wlap_bssid, ic->ic_macaddr);
usr/src/uts/common/io/iwp/iwp.c
4134
sc->sc_config.chan = LE_16(ieee80211_chan2ieee(ic, ic->ic_curchan));
usr/src/uts/common/io/iwp/iwp.c
4135
sc->sc_config.flags = LE_32(RXON_FLG_BAND_24G_MSK);
usr/src/uts/common/io/iwp/iwp.c
4136
sc->sc_config.flags &= LE_32(~(RXON_FLG_CHANNEL_MODE_MIXED_MSK |
usr/src/uts/common/io/iwp/iwp.c
4141
sc->sc_config.dev_type = RXON_DEV_TYPE_ESS;
usr/src/uts/common/io/iwp/iwp.c
4142
sc->sc_config.filter_flags |= LE_32(RXON_FILTER_ACCEPT_GRP_MSK |
usr/src/uts/common/io/iwp/iwp.c
4148
sc->sc_config.dev_type = RXON_DEV_TYPE_IBSS;
usr/src/uts/common/io/iwp/iwp.c
4150
sc->sc_config.flags |= LE_32(RXON_FLG_SHORT_PREAMBLE_MSK);
usr/src/uts/common/io/iwp/iwp.c
4151
sc->sc_config.filter_flags = LE_32(RXON_FILTER_ACCEPT_GRP_MSK |
usr/src/uts/common/io/iwp/iwp.c
4156
sc->sc_config.dev_type = RXON_DEV_TYPE_AP;
usr/src/uts/common/io/iwp/iwp.c
4159
sc->sc_config.dev_type = RXON_DEV_TYPE_SNIFFER;
usr/src/uts/common/io/iwp/iwp.c
4160
sc->sc_config.filter_flags |= LE_32(RXON_FILTER_ACCEPT_GRP_MSK |
usr/src/uts/common/io/iwp/iwp.c
4168
sc->sc_config.cck_basic_rates = 0x0f;
usr/src/uts/common/io/iwp/iwp.c
4173
sc->sc_config.ofdm_basic_rates = 0xff;
usr/src/uts/common/io/iwp/iwp.c
4175
sc->sc_config.rx_chain = LE_16(RXON_RX_CHAIN_DRIVER_FORCE_MSK |
usr/src/uts/common/io/iwp/iwp.c
4180
err = iwp_cmd(sc, REPLY_RXON, &sc->sc_config,
usr/src/uts/common/io/iwp/iwp.c
4195
err = iwp_cmd(sc, REPLY_REMOVE_STA, &rm_sta, sizeof (iwp_rem_sta_t), 0);
usr/src/uts/common/io/iwp/iwp.c
4211
err = iwp_cmd(sc, REPLY_ADD_STA, &node, sizeof (node), 0);
usr/src/uts/common/io/iwp/iwp.c
4232
iwp_sc_t *sc;
usr/src/uts/common/io/iwp/iwp.c
4234
sc = ddi_get_soft_state(iwp_soft_state_p, ddi_get_instance(dip));
usr/src/uts/common/io/iwp/iwp.c
4235
if (NULL == sc) {
usr/src/uts/common/io/iwp/iwp.c
4248
atomic_or_32(&sc->sc_flags, IWP_F_QUIESCED);
usr/src/uts/common/io/iwp/iwp.c
4253
iwp_stop(sc);
usr/src/uts/common/io/iwp/iwp.c
4259
iwp_stop_master(iwp_sc_t *sc)
usr/src/uts/common/io/iwp/iwp.c
4264
tmp = IWP_READ(sc, CSR_RESET);
usr/src/uts/common/io/iwp/iwp.c
4265
IWP_WRITE(sc, CSR_RESET, tmp | CSR_RESET_REG_FLAG_STOP_MASTER);
usr/src/uts/common/io/iwp/iwp.c
4267
tmp = IWP_READ(sc, CSR_GP_CNTRL);
usr/src/uts/common/io/iwp/iwp.c
4274
if (IWP_READ(sc, CSR_RESET) &
usr/src/uts/common/io/iwp/iwp.c
4290
iwp_power_up(iwp_sc_t *sc)
usr/src/uts/common/io/iwp/iwp.c
4294
iwp_mac_access_enter(sc);
usr/src/uts/common/io/iwp/iwp.c
4295
tmp = iwp_reg_read(sc, ALM_APMG_PS_CTL);
usr/src/uts/common/io/iwp/iwp.c
4298
iwp_reg_write(sc, ALM_APMG_PS_CTL, tmp);
usr/src/uts/common/io/iwp/iwp.c
4299
iwp_mac_access_exit(sc);
usr/src/uts/common/io/iwp/iwp.c
4309
iwp_preinit(iwp_sc_t *sc)
usr/src/uts/common/io/iwp/iwp.c
4319
IWP_WRITE(sc, CSR_INT, 0xffffffff);
usr/src/uts/common/io/iwp/iwp.c
4321
tmp = IWP_READ(sc, CSR_GIO_CHICKEN_BITS);
usr/src/uts/common/io/iwp/iwp.c
4322
IWP_WRITE(sc, CSR_GIO_CHICKEN_BITS,
usr/src/uts/common/io/iwp/iwp.c
4325
tmp = IWP_READ(sc, CSR_GP_CNTRL);
usr/src/uts/common/io/iwp/iwp.c
4326
IWP_WRITE(sc, CSR_GP_CNTRL, tmp | CSR_GP_CNTRL_REG_FLAG_INIT_DONE);
usr/src/uts/common/io/iwp/iwp.c
4332
if (IWP_READ(sc, CSR_GP_CNTRL) &
usr/src/uts/common/io/iwp/iwp.c
4343
iwp_mac_access_enter(sc);
usr/src/uts/common/io/iwp/iwp.c
4345
iwp_reg_write(sc, ALM_APMG_CLK_EN, APMG_CLK_REG_VAL_DMA_CLK_RQT);
usr/src/uts/common/io/iwp/iwp.c
4348
tmp = iwp_reg_read(sc, ALM_APMG_PCIDEV_STT);
usr/src/uts/common/io/iwp/iwp.c
4349
iwp_reg_write(sc, ALM_APMG_PCIDEV_STT, tmp |
usr/src/uts/common/io/iwp/iwp.c
4351
iwp_mac_access_exit(sc);
usr/src/uts/common/io/iwp/iwp.c
4353
radio_cfg = IWP_READ_EEP_SHORT(sc, EEP_SP_RADIO_CONFIGURATION);
usr/src/uts/common/io/iwp/iwp.c
4355
tmp = IWP_READ(sc, CSR_HW_IF_CONFIG_REG);
usr/src/uts/common/io/iwp/iwp.c
4356
IWP_WRITE(sc, CSR_HW_IF_CONFIG_REG,
usr/src/uts/common/io/iwp/iwp.c
4367
IWP_WRITE(sc, CSR_INT_COALESCING, 512 / 32);
usr/src/uts/common/io/iwp/iwp.c
4369
(void) iwp_power_up(sc);
usr/src/uts/common/io/iwp/iwp.c
4371
if ((sc->sc_rev & 0x80) == 0x80 && (sc->sc_rev & 0x7f) < 8) {
usr/src/uts/common/io/iwp/iwp.c
4372
tmp = ddi_get32(sc->sc_cfg_handle,
usr/src/uts/common/io/iwp/iwp.c
4373
(uint32_t *)(sc->sc_cfg_base + 0xe8));
usr/src/uts/common/io/iwp/iwp.c
4374
ddi_put32(sc->sc_cfg_handle,
usr/src/uts/common/io/iwp/iwp.c
4375
(uint32_t *)(sc->sc_cfg_base + 0xe8),
usr/src/uts/common/io/iwp/iwp.c
4379
vlink = ddi_get8(sc->sc_cfg_handle,
usr/src/uts/common/io/iwp/iwp.c
4380
(uint8_t *)(sc->sc_cfg_base + 0xf0));
usr/src/uts/common/io/iwp/iwp.c
4381
ddi_put8(sc->sc_cfg_handle, (uint8_t *)(sc->sc_cfg_base + 0xf0),
usr/src/uts/common/io/iwp/iwp.c
4384
tmp = IWP_READ(sc, CSR_HW_IF_CONFIG_REG);
usr/src/uts/common/io/iwp/iwp.c
4387
IWP_WRITE(sc, CSR_HW_IF_CONFIG_REG, tmp);
usr/src/uts/common/io/iwp/iwp.c
4392
iwp_mac_access_enter(sc);
usr/src/uts/common/io/iwp/iwp.c
4393
tmp = iwp_reg_read(sc, ALM_APMG_PS_CTL);
usr/src/uts/common/io/iwp/iwp.c
4395
iwp_reg_write(sc, ALM_APMG_PS_CTL, tmp);
usr/src/uts/common/io/iwp/iwp.c
4398
tmp = iwp_reg_read(sc, ALM_APMG_PS_CTL);
usr/src/uts/common/io/iwp/iwp.c
4400
iwp_reg_write(sc, ALM_APMG_PS_CTL, tmp);
usr/src/uts/common/io/iwp/iwp.c
4401
iwp_mac_access_exit(sc);
usr/src/uts/common/io/iwp/iwp.c
4403
if (PA_TYPE_MIX == sc->sc_chip_param.pa_type) {
usr/src/uts/common/io/iwp/iwp.c
4404
IWP_WRITE(sc, CSR_GP_DRIVER_REG,
usr/src/uts/common/io/iwp/iwp.c
4408
if (PA_TYPE_INTER == sc->sc_chip_param.pa_type) {
usr/src/uts/common/io/iwp/iwp.c
4410
IWP_WRITE(sc, CSR_GP_DRIVER_REG,
usr/src/uts/common/io/iwp/iwp.c
4421
iwp_eep_sem_down(iwp_sc_t *sc)
usr/src/uts/common/io/iwp/iwp.c
4427
tmp = IWP_READ(sc, CSR_HW_IF_CONFIG_REG);
usr/src/uts/common/io/iwp/iwp.c
4428
IWP_WRITE(sc, CSR_HW_IF_CONFIG_REG,
usr/src/uts/common/io/iwp/iwp.c
4432
if (IWP_READ(sc, CSR_HW_IF_CONFIG_REG) &
usr/src/uts/common/io/iwp/iwp.c
4446
iwp_eep_sem_up(iwp_sc_t *sc)
usr/src/uts/common/io/iwp/iwp.c
4450
tmp = IWP_READ(sc, CSR_HW_IF_CONFIG_REG);
usr/src/uts/common/io/iwp/iwp.c
4451
IWP_WRITE(sc, CSR_HW_IF_CONFIG_REG,
usr/src/uts/common/io/iwp/iwp.c
4459
iwp_eep_load(iwp_sc_t *sc)
usr/src/uts/common/io/iwp/iwp.c
4463
uint16_t addr, eep_sz = sizeof (sc->sc_eep_map);
usr/src/uts/common/io/iwp/iwp.c
4464
uint16_t *eep_p = (uint16_t *)&sc->sc_eep_map;
usr/src/uts/common/io/iwp/iwp.c
4469
eep_gp = IWP_READ(sc, CSR_EEPROM_GP);
usr/src/uts/common/io/iwp/iwp.c
4477
rr = iwp_eep_sem_down(sc);
usr/src/uts/common/io/iwp/iwp.c
4485
IWP_WRITE(sc, CSR_EEPROM_REG, addr<<1);
usr/src/uts/common/io/iwp/iwp.c
4486
tmp = IWP_READ(sc, CSR_EEPROM_REG);
usr/src/uts/common/io/iwp/iwp.c
4487
IWP_WRITE(sc, CSR_EEPROM_REG, tmp & ~(0x2));
usr/src/uts/common/io/iwp/iwp.c
4490
rv = IWP_READ(sc, CSR_EEPROM_REG);
usr/src/uts/common/io/iwp/iwp.c
4500
iwp_eep_sem_up(sc);
usr/src/uts/common/io/iwp/iwp.c
4507
iwp_eep_sem_up(sc);
usr/src/uts/common/io/iwp/iwp.c
4515
iwp_get_mac_from_eep(iwp_sc_t *sc)
usr/src/uts/common/io/iwp/iwp.c
4517
ieee80211com_t *ic = &sc->sc_ic;
usr/src/uts/common/io/iwp/iwp.c
4519
IEEE80211_ADDR_COPY(ic->ic_macaddr, &sc->sc_eep_map[EEP_MAC_ADDRESS]);
usr/src/uts/common/io/iwp/iwp.c
4531
iwp_init(iwp_sc_t *sc)
usr/src/uts/common/io/iwp/iwp.c
4539
iwp_release_calib_buffer(sc);
usr/src/uts/common/io/iwp/iwp.c
4541
mutex_enter(&sc->sc_glock);
usr/src/uts/common/io/iwp/iwp.c
4542
atomic_and_32(&sc->sc_flags, ~IWP_F_FW_INIT);
usr/src/uts/common/io/iwp/iwp.c
4544
err = iwp_init_common(sc);
usr/src/uts/common/io/iwp/iwp.c
4546
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/iwp/iwp.c
4553
(void) memcpy(sc->sc_dma_fw_data_bak.mem_va,
usr/src/uts/common/io/iwp/iwp.c
4554
sc->sc_dma_fw_data.mem_va,
usr/src/uts/common/io/iwp/iwp.c
4555
sc->sc_dma_fw_data.alength);
usr/src/uts/common/io/iwp/iwp.c
4558
err = iwp_load_init_firmware(sc);
usr/src/uts/common/io/iwp/iwp.c
4562
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/iwp/iwp.c
4569
IWP_WRITE(sc, CSR_RESET, 0);
usr/src/uts/common/io/iwp/iwp.c
4572
while (!(sc->sc_flags & IWP_F_FW_INIT)) {
usr/src/uts/common/io/iwp/iwp.c
4573
if (cv_timedwait(&sc->sc_ucode_cv,
usr/src/uts/common/io/iwp/iwp.c
4574
&sc->sc_glock, clk) < 0) {
usr/src/uts/common/io/iwp/iwp.c
4579
if (!(sc->sc_flags & IWP_F_FW_INIT)) {
usr/src/uts/common/io/iwp/iwp.c
4582
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/iwp/iwp.c
4586
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/iwp/iwp.c
4591
iwp_stop(sc);
usr/src/uts/common/io/iwp/iwp.c
4593
mutex_enter(&sc->sc_glock);
usr/src/uts/common/io/iwp/iwp.c
4594
atomic_and_32(&sc->sc_flags, ~IWP_F_FW_INIT);
usr/src/uts/common/io/iwp/iwp.c
4596
err = iwp_init_common(sc);
usr/src/uts/common/io/iwp/iwp.c
4598
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/iwp/iwp.c
4605
err = iwp_load_run_firmware(sc);
usr/src/uts/common/io/iwp/iwp.c
4609
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/iwp/iwp.c
4616
IWP_WRITE(sc, CSR_RESET, 0);
usr/src/uts/common/io/iwp/iwp.c
4619
while (!(sc->sc_flags & IWP_F_FW_INIT)) {
usr/src/uts/common/io/iwp/iwp.c
4620
if (cv_timedwait(&sc->sc_ucode_cv,
usr/src/uts/common/io/iwp/iwp.c
4621
&sc->sc_glock, clk) < 0) {
usr/src/uts/common/io/iwp/iwp.c
4626
if (!(sc->sc_flags & IWP_F_FW_INIT)) {
usr/src/uts/common/io/iwp/iwp.c
4629
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/iwp/iwp.c
4633
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/iwp/iwp.c
4637
mutex_enter(&sc->sc_glock);
usr/src/uts/common/io/iwp/iwp.c
4638
atomic_and_32(&sc->sc_flags, ~IWP_F_FW_INIT);
usr/src/uts/common/io/iwp/iwp.c
4644
err = iwp_config(sc);
usr/src/uts/common/io/iwp/iwp.c
4648
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/iwp/iwp.c
4655
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/iwp/iwp.c
4663
iwp_stop(iwp_sc_t *sc)
usr/src/uts/common/io/iwp/iwp.c
4669
if (!(sc->sc_flags & IWP_F_QUIESCED)) {
usr/src/uts/common/io/iwp/iwp.c
4670
mutex_enter(&sc->sc_glock);
usr/src/uts/common/io/iwp/iwp.c
4673
IWP_WRITE(sc, CSR_RESET, CSR_RESET_REG_FLAG_NEVO_RESET);
usr/src/uts/common/io/iwp/iwp.c
4677
IWP_WRITE(sc, CSR_INT_MASK, 0);
usr/src/uts/common/io/iwp/iwp.c
4678
IWP_WRITE(sc, CSR_INT, CSR_INI_SET_MASK);
usr/src/uts/common/io/iwp/iwp.c
4679
IWP_WRITE(sc, CSR_FH_INT_STATUS, 0xffffffff);
usr/src/uts/common/io/iwp/iwp.c
4685
iwp_reset_tx_ring(sc, &sc->sc_txq[i]);
usr/src/uts/common/io/iwp/iwp.c
4691
iwp_reset_rx_ring(sc);
usr/src/uts/common/io/iwp/iwp.c
4693
iwp_mac_access_enter(sc);
usr/src/uts/common/io/iwp/iwp.c
4694
iwp_reg_write(sc, ALM_APMG_CLK_DIS, APMG_CLK_REG_VAL_DMA_CLK_RQT);
usr/src/uts/common/io/iwp/iwp.c
4695
iwp_mac_access_exit(sc);
usr/src/uts/common/io/iwp/iwp.c
4699
iwp_stop_master(sc);
usr/src/uts/common/io/iwp/iwp.c
4701
mutex_enter(&sc->sc_mt_lock);
usr/src/uts/common/io/iwp/iwp.c
4702
sc->sc_tx_timer = 0;
usr/src/uts/common/io/iwp/iwp.c
4703
mutex_exit(&sc->sc_mt_lock);
usr/src/uts/common/io/iwp/iwp.c
4705
tmp = IWP_READ(sc, CSR_RESET);
usr/src/uts/common/io/iwp/iwp.c
4706
IWP_WRITE(sc, CSR_RESET, tmp | CSR_RESET_REG_FLAG_SW_RESET);
usr/src/uts/common/io/iwp/iwp.c
4709
if (!(sc->sc_flags & IWP_F_QUIESCED)) {
usr/src/uts/common/io/iwp/iwp.c
4710
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/iwp/iwp.c
475
iwp_sc_t *sc;
usr/src/uts/common/io/iwp/iwp.c
4753
iwp_amrr_timeout(iwp_sc_t *sc)
usr/src/uts/common/io/iwp/iwp.c
4755
ieee80211com_t *ic = &sc->sc_ic;
usr/src/uts/common/io/iwp/iwp.c
4766
sc->sc_clk = ddi_get_lbolt();
usr/src/uts/common/io/iwp/iwp.c
4828
iwp_eep_addr_trans(iwp_sc_t *sc, uint32_t indi_addr)
usr/src/uts/common/io/iwp/iwp.c
4835
return (&sc->sc_eep_map[di_addr]);
usr/src/uts/common/io/iwp/iwp.c
4840
temp = IWP_READ_EEP_SHORT(sc, EEP_LINK_GENERAL);
usr/src/uts/common/io/iwp/iwp.c
4843
temp = IWP_READ_EEP_SHORT(sc, EEP_LINK_HOST);
usr/src/uts/common/io/iwp/iwp.c
4846
temp = IWP_READ_EEP_SHORT(sc, EEP_LINK_REGULATORY);
usr/src/uts/common/io/iwp/iwp.c
4849
temp = IWP_READ_EEP_SHORT(sc, EEP_LINK_CALIBRATION);
usr/src/uts/common/io/iwp/iwp.c
4852
temp = IWP_READ_EEP_SHORT(sc, EEP_LINK_PROCESS_ADJST);
usr/src/uts/common/io/iwp/iwp.c
4855
temp = IWP_READ_EEP_SHORT(sc, EEP_LINK_OTHERS);
usr/src/uts/common/io/iwp/iwp.c
4866
return (&sc->sc_eep_map[di_addr]);
usr/src/uts/common/io/iwp/iwp.c
4873
iwp_put_seg_fw(iwp_sc_t *sc, uint32_t addr_s, uint32_t addr_d, uint32_t len)
usr/src/uts/common/io/iwp/iwp.c
4876
iwp_mac_access_enter(sc);
usr/src/uts/common/io/iwp/iwp.c
4878
IWP_WRITE(sc, IWP_FH_TCSR_CHNL_TX_CONFIG_REG(IWP_FH_SRVC_CHNL),
usr/src/uts/common/io/iwp/iwp.c
4881
IWP_WRITE(sc, IWP_FH_SRVC_CHNL_SRAM_ADDR_REG(IWP_FH_SRVC_CHNL), addr_d);
usr/src/uts/common/io/iwp/iwp.c
4883
IWP_WRITE(sc, IWP_FH_TFDIB_CTRL0_REG(IWP_FH_SRVC_CHNL),
usr/src/uts/common/io/iwp/iwp.c
4886
IWP_WRITE(sc, IWP_FH_TFDIB_CTRL1_REG(IWP_FH_SRVC_CHNL), len);
usr/src/uts/common/io/iwp/iwp.c
4888
IWP_WRITE(sc, IWP_FH_TCSR_CHNL_TX_BUF_STS_REG(IWP_FH_SRVC_CHNL),
usr/src/uts/common/io/iwp/iwp.c
4893
IWP_WRITE(sc, IWP_FH_TCSR_CHNL_TX_CONFIG_REG(IWP_FH_SRVC_CHNL),
usr/src/uts/common/io/iwp/iwp.c
4898
iwp_mac_access_exit(sc);
usr/src/uts/common/io/iwp/iwp.c
4907
iwp_alive_common(iwp_sc_t *sc)
usr/src/uts/common/io/iwp/iwp.c
491
sc = ddi_get_soft_state(iwp_soft_state_p,
usr/src/uts/common/io/iwp/iwp.c
4918
iwp_mac_access_enter(sc);
usr/src/uts/common/io/iwp/iwp.c
4923
sc->sc_scd_base = iwp_reg_read(sc, IWP_SCD_SRAM_BASE_ADDR);
usr/src/uts/common/io/iwp/iwp.c
4925
for (base = sc->sc_scd_base + IWP_SCD_CONTEXT_DATA_OFFSET;
usr/src/uts/common/io/iwp/iwp.c
4926
base < sc->sc_scd_base + IWP_SCD_TX_STTS_BITMAP_OFFSET;
usr/src/uts/common/io/iwp/iwp.c
4928
iwp_mem_write(sc, base, 0);
usr/src/uts/common/io/iwp/iwp.c
493
ASSERT(sc != NULL);
usr/src/uts/common/io/iwp/iwp.c
4931
for (; base < sc->sc_scd_base + IWP_SCD_TRANSLATE_TBL_OFFSET;
usr/src/uts/common/io/iwp/iwp.c
4933
iwp_mem_write(sc, base, 0);
usr/src/uts/common/io/iwp/iwp.c
4937
iwp_mem_write(sc, base + i, 0);
usr/src/uts/common/io/iwp/iwp.c
4940
iwp_reg_write(sc, IWP_SCD_DRAM_BASE_ADDR,
usr/src/uts/common/io/iwp/iwp.c
4941
sc->sc_dma_sh.cookie.dmac_address >> 10);
usr/src/uts/common/io/iwp/iwp.c
4943
iwp_reg_write(sc, IWP_SCD_QUEUECHAIN_SEL,
usr/src/uts/common/io/iwp/iwp.c
4946
iwp_reg_write(sc, IWP_SCD_AGGR_SEL, 0);
usr/src/uts/common/io/iwp/iwp.c
4949
iwp_reg_write(sc, IWP_SCD_QUEUE_RDPTR(i), 0);
usr/src/uts/common/io/iwp/iwp.c
495
if (sc->sc_flags & IWP_F_RUNNING) {
usr/src/uts/common/io/iwp/iwp.c
4950
IWP_WRITE(sc, HBUS_TARG_WRPTR, 0 | (i << 8));
usr/src/uts/common/io/iwp/iwp.c
4951
iwp_mem_write(sc, sc->sc_scd_base +
usr/src/uts/common/io/iwp/iwp.c
4953
iwp_mem_write(sc, sc->sc_scd_base +
usr/src/uts/common/io/iwp/iwp.c
496
(void) iwp_init(sc);
usr/src/uts/common/io/iwp/iwp.c
4963
iwp_reg_write(sc, IWP_SCD_INTERRUPT_MASK, (1 << IWP_NUM_QUEUES) - 1);
usr/src/uts/common/io/iwp/iwp.c
4965
iwp_reg_write(sc, (IWP_SCD_BASE + 0x10),
usr/src/uts/common/io/iwp/iwp.c
4968
IWP_WRITE(sc, HBUS_TARG_WRPTR, (IWP_CMD_QUEUE_NUM << 8));
usr/src/uts/common/io/iwp/iwp.c
4969
iwp_reg_write(sc, IWP_SCD_QUEUE_RDPTR(IWP_CMD_QUEUE_NUM), 0);
usr/src/uts/common/io/iwp/iwp.c
4976
iwp_reg_write(sc, IWP_SCD_QUEUE_STATUS_BITS(i),
usr/src/uts/common/io/iwp/iwp.c
4983
iwp_reg_write(sc, IWP_SCD_QUEUE_STATUS_BITS(IWP_CMD_QUEUE_NUM),
usr/src/uts/common/io/iwp/iwp.c
499
atomic_and_32(&sc->sc_flags, ~IWP_F_SUSPEND);
usr/src/uts/common/io/iwp/iwp.c
4990
iwp_reg_write(sc, IWP_SCD_QUEUE_STATUS_BITS(i),
usr/src/uts/common/io/iwp/iwp.c
4997
iwp_mac_access_exit(sc);
usr/src/uts/common/io/iwp/iwp.c
5001
rv = iwp_cmd(sc, COEX_PRIORITY_TABLE_CMD, &w_cmd, sizeof (w_cmd), 1);
usr/src/uts/common/io/iwp/iwp.c
5011
c_cmd.data.cap_pin1 = LE_16(sc->sc_eep_calib->xtal_calib[0]);
usr/src/uts/common/io/iwp/iwp.c
5012
c_cmd.data.cap_pin2 = LE_16(sc->sc_eep_calib->xtal_calib[1]);
usr/src/uts/common/io/iwp/iwp.c
5014
rv = iwp_cmd(sc, REPLY_PHY_CALIBRATION_CMD, &c_cmd, sizeof (c_cmd), 1);
usr/src/uts/common/io/iwp/iwp.c
5034
iwp_save_calib_result(iwp_sc_t *sc, iwp_rx_desc_t *desc)
usr/src/uts/common/io/iwp/iwp.c
5036
struct iwp_calib_results *res_p = &sc->sc_calib_results;
usr/src/uts/common/io/iwp/iwp.c
5109
iwp_release_calib_buffer(iwp_sc_t *sc)
usr/src/uts/common/io/iwp/iwp.c
5111
if (sc->sc_calib_results.lo_res != NULL) {
usr/src/uts/common/io/iwp/iwp.c
5112
kmem_free(sc->sc_calib_results.lo_res,
usr/src/uts/common/io/iwp/iwp.c
5113
sc->sc_calib_results.lo_res_len);
usr/src/uts/common/io/iwp/iwp.c
5114
sc->sc_calib_results.lo_res = NULL;
usr/src/uts/common/io/iwp/iwp.c
5117
if (sc->sc_calib_results.tx_iq_res != NULL) {
usr/src/uts/common/io/iwp/iwp.c
5118
kmem_free(sc->sc_calib_results.tx_iq_res,
usr/src/uts/common/io/iwp/iwp.c
5119
sc->sc_calib_results.tx_iq_res_len);
usr/src/uts/common/io/iwp/iwp.c
5120
sc->sc_calib_results.tx_iq_res = NULL;
usr/src/uts/common/io/iwp/iwp.c
5123
if (sc->sc_calib_results.tx_iq_perd_res != NULL) {
usr/src/uts/common/io/iwp/iwp.c
5124
kmem_free(sc->sc_calib_results.tx_iq_perd_res,
usr/src/uts/common/io/iwp/iwp.c
5125
sc->sc_calib_results.tx_iq_perd_res_len);
usr/src/uts/common/io/iwp/iwp.c
5126
sc->sc_calib_results.tx_iq_perd_res = NULL;
usr/src/uts/common/io/iwp/iwp.c
5129
if (sc->sc_calib_results.base_band_res != NULL) {
usr/src/uts/common/io/iwp/iwp.c
5130
kmem_free(sc->sc_calib_results.base_band_res,
usr/src/uts/common/io/iwp/iwp.c
5131
sc->sc_calib_results.base_band_res_len);
usr/src/uts/common/io/iwp/iwp.c
5132
sc->sc_calib_results.base_band_res = NULL;
usr/src/uts/common/io/iwp/iwp.c
5141
iwp_init_common(iwp_sc_t *sc)
usr/src/uts/common/io/iwp/iwp.c
5146
(void) iwp_preinit(sc);
usr/src/uts/common/io/iwp/iwp.c
5148
tmp = IWP_READ(sc, CSR_GP_CNTRL);
usr/src/uts/common/io/iwp/iwp.c
5158
iwp_mac_access_enter(sc);
usr/src/uts/common/io/iwp/iwp.c
5159
IWP_WRITE(sc, FH_MEM_RCSR_CHNL0_CONFIG_REG, 0);
usr/src/uts/common/io/iwp/iwp.c
516
sc = ddi_get_soft_state(iwp_soft_state_p, instance);
usr/src/uts/common/io/iwp/iwp.c
5161
IWP_WRITE(sc, FH_RSCSR_CHNL0_RBDCB_WPTR_REG, 0);
usr/src/uts/common/io/iwp/iwp.c
5162
IWP_WRITE(sc, FH_RSCSR_CHNL0_RBDCB_BASE_REG,
usr/src/uts/common/io/iwp/iwp.c
5163
sc->sc_rxq.dma_desc.cookie.dmac_address >> 8);
usr/src/uts/common/io/iwp/iwp.c
5165
IWP_WRITE(sc, FH_RSCSR_CHNL0_STTS_WPTR_REG,
usr/src/uts/common/io/iwp/iwp.c
5166
((uint32_t)(sc->sc_dma_sh.cookie.dmac_address +
usr/src/uts/common/io/iwp/iwp.c
5169
IWP_WRITE(sc, FH_MEM_RCSR_CHNL0_CONFIG_REG,
usr/src/uts/common/io/iwp/iwp.c
517
ASSERT(sc != NULL);
usr/src/uts/common/io/iwp/iwp.c
5175
iwp_mac_access_exit(sc);
usr/src/uts/common/io/iwp/iwp.c
5176
IWP_WRITE(sc, FH_RSCSR_CHNL0_RBDCB_WPTR_REG,
usr/src/uts/common/io/iwp/iwp.c
5182
iwp_mac_access_enter(sc);
usr/src/uts/common/io/iwp/iwp.c
5183
iwp_reg_write(sc, IWP_SCD_TXFACT, 0);
usr/src/uts/common/io/iwp/iwp.c
5188
IWP_WRITE(sc, IWP_FH_KW_MEM_ADDR_REG,
usr/src/uts/common/io/iwp/iwp.c
5189
sc->sc_dma_kw.cookie.dmac_address >> 4);
usr/src/uts/common/io/iwp/iwp.c
519
sc->sc_dip = dip;
usr/src/uts/common/io/iwp/iwp.c
5192
IWP_WRITE(sc, FH_MEM_CBBC_QUEUE(qid),
usr/src/uts/common/io/iwp/iwp.c
5193
sc->sc_txq[qid].dma_desc.cookie.dmac_address >> 8);
usr/src/uts/common/io/iwp/iwp.c
5194
IWP_WRITE(sc, IWP_FH_TCSR_CHNL_TX_CONFIG_REG(qid),
usr/src/uts/common/io/iwp/iwp.c
5199
iwp_mac_access_exit(sc);
usr/src/uts/common/io/iwp/iwp.c
5204
IWP_WRITE(sc, CSR_UCODE_DRV_GP1_CLR, CSR_UCODE_SW_BIT_RFKILL);
usr/src/uts/common/io/iwp/iwp.c
5205
IWP_WRITE(sc, CSR_UCODE_DRV_GP1_CLR,
usr/src/uts/common/io/iwp/iwp.c
5211
IWP_WRITE(sc, CSR_INT, 0xffffffff);
usr/src/uts/common/io/iwp/iwp.c
5216
IWP_WRITE(sc, CSR_INT_MASK, CSR_INI_SET_MASK);
usr/src/uts/common/io/iwp/iwp.c
5218
IWP_WRITE(sc, CSR_UCODE_DRV_GP1_CLR, CSR_UCODE_SW_BIT_RFKILL);
usr/src/uts/common/io/iwp/iwp.c
5219
IWP_WRITE(sc, CSR_UCODE_DRV_GP1_CLR, CSR_UCODE_SW_BIT_RFKILL);
usr/src/uts/common/io/iwp/iwp.c
5225
iwp_fast_recover(iwp_sc_t *sc)
usr/src/uts/common/io/iwp/iwp.c
5227
ieee80211com_t *ic = &sc->sc_ic;
usr/src/uts/common/io/iwp/iwp.c
5230
mutex_enter(&sc->sc_glock);
usr/src/uts/common/io/iwp/iwp.c
5233
bcopy(&sc->sc_config_save, &sc->sc_config,
usr/src/uts/common/io/iwp/iwp.c
5234
sizeof (sc->sc_config));
usr/src/uts/common/io/iwp/iwp.c
5236
sc->sc_config.assoc_id = 0;
usr/src/uts/common/io/iwp/iwp.c
5237
sc->sc_config.filter_flags &= ~LE_32(RXON_FILTER_ASSOC_MSK);
usr/src/uts/common/io/iwp/iwp.c
5239
if ((err = iwp_hw_set_before_auth(sc)) != IWP_SUCCESS) {
usr/src/uts/common/io/iwp/iwp.c
524
err = ddi_regs_map_setup(dip, 0, &sc->sc_cfg_base, 0, 0,
usr/src/uts/common/io/iwp/iwp.c
5242
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/iwp/iwp.c
5246
bcopy(&sc->sc_config_save, &sc->sc_config,
usr/src/uts/common/io/iwp/iwp.c
5247
sizeof (sc->sc_config));
usr/src/uts/common/io/iwp/iwp.c
525
&iwp_reg_accattr, &sc->sc_cfg_handle);
usr/src/uts/common/io/iwp/iwp.c
5250
err = iwp_run_state_config(sc);
usr/src/uts/common/io/iwp/iwp.c
5254
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/iwp/iwp.c
5258
iwp_set_led(sc, 2, 0, 1);
usr/src/uts/common/io/iwp/iwp.c
5260
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/iwp/iwp.c
5262
atomic_and_32(&sc->sc_flags, ~IWP_F_HW_ERR_RECOVER);
usr/src/uts/common/io/iwp/iwp.c
5273
iwp_run_state_config(iwp_sc_t *sc)
usr/src/uts/common/io/iwp/iwp.c
5275
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/iwp/iwp.c
5282
sc->sc_config.assoc_id = in->in_associd & 0x3fff;
usr/src/uts/common/io/iwp/iwp.c
5288
sc->sc_config.flags &=
usr/src/uts/common/io/iwp/iwp.c
5293
sc->sc_config.flags |=
usr/src/uts/common/io/iwp/iwp.c
5298
sc->sc_config.flags |=
usr/src/uts/common/io/iwp/iwp.c
5302
sc->sc_config.filter_flags |=
usr/src/uts/common/io/iwp/iwp.c
5306
sc->sc_config.filter_flags |=
usr/src/uts/common/io/iwp/iwp.c
5313
sc->sc_config.chan, sc->sc_config.flags,
usr/src/uts/common/io/iwp/iwp.c
5314
sc->sc_config.filter_flags));
usr/src/uts/common/io/iwp/iwp.c
5316
err = iwp_cmd(sc, REPLY_RXON, &sc->sc_config,
usr/src/uts/common/io/iwp/iwp.c
532
sc->sc_dev_id = ddi_get16(sc->sc_cfg_handle,
usr/src/uts/common/io/iwp/iwp.c
533
(uint16_t *)(sc->sc_cfg_base + PCI_CONF_DEVID));
usr/src/uts/common/io/iwp/iwp.c
5332
iwp_overwrite_ic_default(iwp_sc_t *sc)
usr/src/uts/common/io/iwp/iwp.c
5334
ieee80211com_t *ic = &sc->sc_ic;
usr/src/uts/common/io/iwp/iwp.c
5336
sc->sc_newstate = ic->ic_newstate;
usr/src/uts/common/io/iwp/iwp.c
534
if ((sc->sc_dev_id != 0x422B) &&
usr/src/uts/common/io/iwp/iwp.c
5347
iwp_add_ap_sta(iwp_sc_t *sc)
usr/src/uts/common/io/iwp/iwp.c
5349
ieee80211com_t *ic = &sc->sc_ic;
usr/src/uts/common/io/iwp/iwp.c
535
(sc->sc_dev_id != 0x422C) &&
usr/src/uts/common/io/iwp/iwp.c
536
(sc->sc_dev_id != 0x4238) &&
usr/src/uts/common/io/iwp/iwp.c
5362
err = iwp_cmd(sc, REPLY_ADD_STA, &node, sizeof (node), 1);
usr/src/uts/common/io/iwp/iwp.c
537
(sc->sc_dev_id != 0x4239) &&
usr/src/uts/common/io/iwp/iwp.c
5376
iwp_eep_ver_chk(iwp_sc_t *sc)
usr/src/uts/common/io/iwp/iwp.c
5378
if ((IWP_READ_EEP_SHORT(sc, EEP_VERSION) < 0x011a) ||
usr/src/uts/common/io/iwp/iwp.c
5379
(sc->sc_eep_calib->tx_pow_calib_hdr.calib_version < 4)) {
usr/src/uts/common/io/iwp/iwp.c
538
(sc->sc_dev_id != 0x008d) &&
usr/src/uts/common/io/iwp/iwp.c
539
(sc->sc_dev_id != 0x008e)) {
usr/src/uts/common/io/iwp/iwp.c
5392
iwp_set_chip_param(iwp_sc_t *sc)
usr/src/uts/common/io/iwp/iwp.c
5394
if ((0x008d == sc->sc_dev_id) ||
usr/src/uts/common/io/iwp/iwp.c
5395
(0x008e == sc->sc_dev_id)) {
usr/src/uts/common/io/iwp/iwp.c
5396
sc->sc_chip_param.phy_mode = PHY_MODE_G |
usr/src/uts/common/io/iwp/iwp.c
5399
sc->sc_chip_param.tx_ant = ANT_A | ANT_B;
usr/src/uts/common/io/iwp/iwp.c
5400
sc->sc_chip_param.rx_ant = ANT_A | ANT_B;
usr/src/uts/common/io/iwp/iwp.c
5402
sc->sc_chip_param.pa_type = PA_TYPE_MIX;
usr/src/uts/common/io/iwp/iwp.c
5405
if ((0x422c == sc->sc_dev_id) ||
usr/src/uts/common/io/iwp/iwp.c
5406
(0x4239 == sc->sc_dev_id)) {
usr/src/uts/common/io/iwp/iwp.c
5407
sc->sc_chip_param.phy_mode = PHY_MODE_G |
usr/src/uts/common/io/iwp/iwp.c
5410
sc->sc_chip_param.tx_ant = ANT_B | ANT_C;
usr/src/uts/common/io/iwp/iwp.c
5411
sc->sc_chip_param.rx_ant = ANT_B | ANT_C;
usr/src/uts/common/io/iwp/iwp.c
5413
sc->sc_chip_param.pa_type = PA_TYPE_INTER;
usr/src/uts/common/io/iwp/iwp.c
5416
if ((0x422b == sc->sc_dev_id) ||
usr/src/uts/common/io/iwp/iwp.c
5417
(0x4238 == sc->sc_dev_id)) {
usr/src/uts/common/io/iwp/iwp.c
5418
sc->sc_chip_param.phy_mode = PHY_MODE_G |
usr/src/uts/common/io/iwp/iwp.c
5421
sc->sc_chip_param.tx_ant = ANT_A | ANT_B | ANT_C;
usr/src/uts/common/io/iwp/iwp.c
5422
sc->sc_chip_param.rx_ant = ANT_A | ANT_B | ANT_C;
usr/src/uts/common/io/iwp/iwp.c
5424
sc->sc_chip_param.pa_type = PA_TYPE_SYSTEM;
usr/src/uts/common/io/iwp/iwp.c
545
iwp_set_chip_param(sc);
usr/src/uts/common/io/iwp/iwp.c
547
sc->sc_rev = ddi_get8(sc->sc_cfg_handle,
usr/src/uts/common/io/iwp/iwp.c
548
(uint8_t *)(sc->sc_cfg_base + PCI_CONF_REVID));
usr/src/uts/common/io/iwp/iwp.c
553
ddi_put8(sc->sc_cfg_handle, (uint8_t *)(sc->sc_cfg_base +
usr/src/uts/common/io/iwp/iwp.c
559
sc->sc_clsz = ddi_get16(sc->sc_cfg_handle,
usr/src/uts/common/io/iwp/iwp.c
560
(uint16_t *)(sc->sc_cfg_base + PCI_CONF_CACHE_LINESZ));
usr/src/uts/common/io/iwp/iwp.c
561
if (!sc->sc_clsz) {
usr/src/uts/common/io/iwp/iwp.c
562
sc->sc_clsz = 16;
usr/src/uts/common/io/iwp/iwp.c
564
sc->sc_clsz = (sc->sc_clsz << 2);
usr/src/uts/common/io/iwp/iwp.c
566
sc->sc_dmabuf_sz = roundup(0x1000 + sizeof (struct ieee80211_frame) +
usr/src/uts/common/io/iwp/iwp.c
569
IEEE80211_WEP_CRCLEN), sc->sc_clsz);
usr/src/uts/common/io/iwp/iwp.c
574
err = ddi_regs_map_setup(dip, 1, &sc->sc_base,
usr/src/uts/common/io/iwp/iwp.c
575
0, 0, &iwp_reg_accattr, &sc->sc_handle);
usr/src/uts/common/io/iwp/iwp.c
585
sc->sc_hw_rev = IWP_READ(sc, CSR_HW_REV);
usr/src/uts/common/io/iwp/iwp.c
601
sc->sc_intr_htable = kmem_zalloc(sizeof (ddi_intr_handle_t), KM_SLEEP);
usr/src/uts/common/io/iwp/iwp.c
603
err = ddi_intr_alloc(dip, sc->sc_intr_htable, DDI_INTR_TYPE_FIXED, 0,
usr/src/uts/common/io/iwp/iwp.c
611
err = ddi_intr_get_pri(sc->sc_intr_htable[0], &sc->sc_intr_pri);
usr/src/uts/common/io/iwp/iwp.c
618
mutex_init(&sc->sc_glock, NULL, MUTEX_DRIVER,
usr/src/uts/common/io/iwp/iwp.c
619
DDI_INTR_PRI(sc->sc_intr_pri));
usr/src/uts/common/io/iwp/iwp.c
620
mutex_init(&sc->sc_tx_lock, NULL, MUTEX_DRIVER,
usr/src/uts/common/io/iwp/iwp.c
621
DDI_INTR_PRI(sc->sc_intr_pri));
usr/src/uts/common/io/iwp/iwp.c
622
mutex_init(&sc->sc_mt_lock, NULL, MUTEX_DRIVER,
usr/src/uts/common/io/iwp/iwp.c
623
DDI_INTR_PRI(sc->sc_intr_pri));
usr/src/uts/common/io/iwp/iwp.c
625
cv_init(&sc->sc_cmd_cv, NULL, CV_DRIVER, NULL);
usr/src/uts/common/io/iwp/iwp.c
626
cv_init(&sc->sc_put_seg_cv, NULL, CV_DRIVER, NULL);
usr/src/uts/common/io/iwp/iwp.c
627
cv_init(&sc->sc_ucode_cv, NULL, CV_DRIVER, NULL);
usr/src/uts/common/io/iwp/iwp.c
632
cv_init(&sc->sc_mt_cv, NULL, CV_DRIVER, NULL);
usr/src/uts/common/io/iwp/iwp.c
633
sc->sc_mf_thread = NULL;
usr/src/uts/common/io/iwp/iwp.c
634
sc->sc_mf_thread_switch = 0;
usr/src/uts/common/io/iwp/iwp.c
639
err = iwp_alloc_shared(sc);
usr/src/uts/common/io/iwp/iwp.c
646
(void) memset(sc->sc_shared, 0, sizeof (iwp_shared_t));
usr/src/uts/common/io/iwp/iwp.c
651
err = iwp_alloc_kw(sc);
usr/src/uts/common/io/iwp/iwp.c
661
err = iwp_preinit(sc);
usr/src/uts/common/io/iwp/iwp.c
671
err = iwp_eep_load(sc);
usr/src/uts/common/io/iwp/iwp.c
681
sc->sc_eep_calib = (struct iwp_eep_calibration *)
usr/src/uts/common/io/iwp/iwp.c
682
iwp_eep_addr_trans(sc, EEP_CALIBRATION);
usr/src/uts/common/io/iwp/iwp.c
684
err = iwp_eep_ver_chk(sc);
usr/src/uts/common/io/iwp/iwp.c
692
iwp_get_mac_from_eep(sc);
usr/src/uts/common/io/iwp/iwp.c
698
err = iwp_ring_init(sc);
usr/src/uts/common/io/iwp/iwp.c
705
sc->sc_hdr = (iwp_firmware_hdr_t *)iwp_fw_bin;
usr/src/uts/common/io/iwp/iwp.c
710
err = iwp_alloc_fw_dma(sc);
usr/src/uts/common/io/iwp/iwp.c
721
ic = &sc->sc_ic;
usr/src/uts/common/io/iwp/iwp.c
770
iwp_overwrite_ic_default(sc);
usr/src/uts/common/io/iwp/iwp.c
782
err = ddi_intr_add_softint(dip, &sc->sc_soft_hdl, DDI_INTR_SOFTPRI_MAX,
usr/src/uts/common/io/iwp/iwp.c
783
iwp_rx_softintr, (caddr_t)sc);
usr/src/uts/common/io/iwp/iwp.c
790
err = ddi_intr_add_handler(sc->sc_intr_htable[0], iwp_intr,
usr/src/uts/common/io/iwp/iwp.c
791
(caddr_t)sc, NULL);
usr/src/uts/common/io/iwp/iwp.c
798
err = ddi_intr_enable(sc->sc_intr_htable[0]);
usr/src/uts/common/io/iwp/iwp.c
823
macp->m_driver = sc;
usr/src/uts/common/io/iwp/iwp.c
863
sc->sc_mf_thread_switch = 1;
usr/src/uts/common/io/iwp/iwp.c
864
if (NULL == sc->sc_mf_thread) {
usr/src/uts/common/io/iwp/iwp.c
865
sc->sc_mf_thread = thread_create((caddr_t)NULL, 0,
usr/src/uts/common/io/iwp/iwp.c
866
iwp_thread, sc, 0, &p0, TS_RUN, minclsyspri);
usr/src/uts/common/io/iwp/iwp.c
869
atomic_or_32(&sc->sc_flags, IWP_F_ATTACHED);
usr/src/uts/common/io/iwp/iwp.c
874
(void) ddi_intr_disable(sc->sc_intr_htable[0]);
usr/src/uts/common/io/iwp/iwp.c
876
(void) ddi_intr_remove_handler(sc->sc_intr_htable[0]);
usr/src/uts/common/io/iwp/iwp.c
878
(void) ddi_intr_remove_softint(sc->sc_soft_hdl);
usr/src/uts/common/io/iwp/iwp.c
879
sc->sc_soft_hdl = NULL;
usr/src/uts/common/io/iwp/iwp.c
882
iwp_free_fw_dma(sc);
usr/src/uts/common/io/iwp/iwp.c
884
iwp_ring_free(sc);
usr/src/uts/common/io/iwp/iwp.c
886
iwp_free_kw(sc);
usr/src/uts/common/io/iwp/iwp.c
888
iwp_free_shared(sc);
usr/src/uts/common/io/iwp/iwp.c
890
iwp_destroy_locks(sc);
usr/src/uts/common/io/iwp/iwp.c
892
(void) ddi_intr_free(sc->sc_intr_htable[0]);
usr/src/uts/common/io/iwp/iwp.c
894
kmem_free(sc->sc_intr_htable, sizeof (ddi_intr_handle_t));
usr/src/uts/common/io/iwp/iwp.c
896
ddi_regs_map_free(&sc->sc_handle);
usr/src/uts/common/io/iwp/iwp.c
898
ddi_regs_map_free(&sc->sc_cfg_handle);
usr/src/uts/common/io/iwp/iwp.c
908
iwp_sc_t *sc;
usr/src/uts/common/io/iwp/iwp.c
912
sc = ddi_get_soft_state(iwp_soft_state_p, ddi_get_instance(dip));
usr/src/uts/common/io/iwp/iwp.c
913
ASSERT(sc != NULL);
usr/src/uts/common/io/iwp/iwp.c
914
ic = &sc->sc_ic;
usr/src/uts/common/io/iwp/iwp.c
920
atomic_and_32(&sc->sc_flags, ~IWP_F_HW_ERR_RECOVER);
usr/src/uts/common/io/iwp/iwp.c
921
atomic_and_32(&sc->sc_flags, ~IWP_F_RATE_AUTO_CTL);
usr/src/uts/common/io/iwp/iwp.c
923
atomic_or_32(&sc->sc_flags, IWP_F_SUSPEND);
usr/src/uts/common/io/iwp/iwp.c
925
if (sc->sc_flags & IWP_F_RUNNING) {
usr/src/uts/common/io/iwp/iwp.c
926
iwp_stop(sc);
usr/src/uts/common/io/iwp/iwp.c
938
if (!(sc->sc_flags & IWP_F_ATTACHED)) {
usr/src/uts/common/io/iwp/iwp.c
945
sc->sc_mf_thread_switch = 0;
usr/src/uts/common/io/iwp/iwp.c
947
mutex_enter(&sc->sc_mt_lock);
usr/src/uts/common/io/iwp/iwp.c
948
while (sc->sc_mf_thread != NULL) {
usr/src/uts/common/io/iwp/iwp.c
949
if (cv_wait_sig(&sc->sc_mt_cv, &sc->sc_mt_lock) == 0) {
usr/src/uts/common/io/iwp/iwp.c
953
mutex_exit(&sc->sc_mt_lock);
usr/src/uts/common/io/iwp/iwp.c
955
err = mac_disable(sc->sc_ic.ic_mach);
usr/src/uts/common/io/iwp/iwp.c
963
iwp_stop(sc);
usr/src/uts/common/io/iwp/iwp.c
970
iwp_release_calib_buffer(sc);
usr/src/uts/common/io/iwp/iwp.c
975
(void) mac_unregister(sc->sc_ic.ic_mach);
usr/src/uts/common/io/iwp/iwp.c
977
mutex_enter(&sc->sc_glock);
usr/src/uts/common/io/iwp/iwp.c
978
iwp_free_fw_dma(sc);
usr/src/uts/common/io/iwp/iwp.c
979
iwp_ring_free(sc);
usr/src/uts/common/io/iwp/iwp.c
980
iwp_free_kw(sc);
usr/src/uts/common/io/iwp/iwp.c
981
iwp_free_shared(sc);
usr/src/uts/common/io/iwp/iwp.c
982
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/iwp/iwp.c
984
(void) ddi_intr_disable(sc->sc_intr_htable[0]);
usr/src/uts/common/io/iwp/iwp.c
985
(void) ddi_intr_remove_handler(sc->sc_intr_htable[0]);
usr/src/uts/common/io/iwp/iwp.c
986
(void) ddi_intr_free(sc->sc_intr_htable[0]);
usr/src/uts/common/io/iwp/iwp.c
987
kmem_free(sc->sc_intr_htable, sizeof (ddi_intr_handle_t));
usr/src/uts/common/io/iwp/iwp.c
989
(void) ddi_intr_remove_softint(sc->sc_soft_hdl);
usr/src/uts/common/io/iwp/iwp.c
990
sc->sc_soft_hdl = NULL;
usr/src/uts/common/io/iwp/iwp.c
995
ieee80211_detach(&sc->sc_ic);
usr/src/uts/common/io/iwp/iwp.c
997
iwp_destroy_locks(sc);
usr/src/uts/common/io/iwp/iwp.c
999
ddi_regs_map_free(&sc->sc_handle);
usr/src/uts/common/io/iwp/iwp_eeprom.h
200
#define IWP_READ_EEP_SHORT(sc, addr) ((((uint16_t)sc->sc_eep_map[addr + 1])\
usr/src/uts/common/io/iwp/iwp_eeprom.h
202
((uint16_t)sc->sc_eep_map[addr]))
usr/src/uts/common/io/iwp/iwp_hw.h
2568
#define IWP_READ(sc, reg) \
usr/src/uts/common/io/iwp/iwp_hw.h
2569
ddi_get32((sc)->sc_handle, (uint32_t *)((sc)->sc_base + (reg)))
usr/src/uts/common/io/iwp/iwp_hw.h
2571
#define IWP_WRITE(sc, reg, val) \
usr/src/uts/common/io/iwp/iwp_hw.h
2572
ddi_put32((sc)->sc_handle, (uint32_t *)((sc)->sc_base + (reg)), (val))
usr/src/uts/common/io/iwp/iwp_var.h
40
#define IWP_CHK_FAST_RECOVER(sc) \
usr/src/uts/common/io/iwp/iwp_var.h
41
(sc->sc_ic.ic_state == IEEE80211_S_RUN && \
usr/src/uts/common/io/iwp/iwp_var.h
42
sc->sc_ic.ic_opmode == IEEE80211_M_STA)
usr/src/uts/common/io/mwl/mwl.c
1013
mwlFwReset(sc);
usr/src/uts/common/io/mwl/mwl.c
1015
mwl_ctl_write4(sc, MACREG_REG_A2H_INTERRUPT_CLEAR_SEL,
usr/src/uts/common/io/mwl/mwl.c
1017
mwl_ctl_write4(sc, MACREG_REG_A2H_INTERRUPT_CAUSE, 0x00);
usr/src/uts/common/io/mwl/mwl.c
1018
mwl_ctl_write4(sc, MACREG_REG_A2H_INTERRUPT_MASK, 0x00);
usr/src/uts/common/io/mwl/mwl.c
1019
mwl_ctl_write4(sc, MACREG_REG_A2H_INTERRUPT_STATUS_MASK,
usr/src/uts/common/io/mwl/mwl.c
1021
if (sc->sc_SDRAMSIZE_Addr != 0) {
usr/src/uts/common/io/mwl/mwl.c
1023
mwlPokeSdramController(sc, sc->sc_SDRAMSIZE_Addr);
usr/src/uts/common/io/mwl/mwl.c
1041
if (!mwlSendBlock(sc, fwboot_size, fwboot, fwboot_size) ||
usr/src/uts/common/io/mwl/mwl.c
1042
!mwlSendBlock(sc, 0, NULL, 0)) {
usr/src/uts/common/io/mwl/mwl.c
1047
if (sc->sc_SDRAMSIZE_Addr != 0) {
usr/src/uts/common/io/mwl/mwl.c
1049
mwlPokeSdramController(sc, sc->sc_SDRAMSIZE_Addr);
usr/src/uts/common/io/mwl/mwl.c
1053
mwl_ctl_write4(sc, MACREG_REG_INT_CODE, 0);
usr/src/uts/common/io/mwl/mwl.c
1054
blocksize = mwl_ctl_read4(sc, MACREG_REG_SCRATCH);
usr/src/uts/common/io/mwl/mwl.c
1082
if (!mwlSendBlock2(sc, fp, nbytes)) {
usr/src/uts/common/io/mwl/mwl.c
1092
if (!mwlSendBlock(sc, FW_DOWNLOAD_BLOCK_SIZE, fp,
usr/src/uts/common/io/mwl/mwl.c
1106
sc->sc_cmd_mem[1] = 0;
usr/src/uts/common/io/mwl/mwl.c
1111
mwlTriggerPciCmd(sc);
usr/src/uts/common/io/mwl/mwl.c
1113
mwl_ctl_write4(sc, MACREG_REG_GEN_PTR, OpMode);
usr/src/uts/common/io/mwl/mwl.c
1115
if (mwl_ctl_read4(sc, MACREG_REG_INT_CODE) ==
usr/src/uts/common/io/mwl/mwl.c
1117
mwl_ctl_write4(sc, MACREG_REG_INT_CODE, 0x00);
usr/src/uts/common/io/mwl/mwl.c
1118
return (mwlResetHalState(sc));
usr/src/uts/common/io/mwl/mwl.c
1125
mwlFwReset(sc);
usr/src/uts/common/io/mwl/mwl.c
1142
mwlSendCmd(struct mwl_softc *sc)
usr/src/uts/common/io/mwl/mwl.c
1144
(void) ddi_dma_sync(sc->sc_cmd_dma.dma_hdl,
usr/src/uts/common/io/mwl/mwl.c
1146
sc->sc_cmd_dma.alength,
usr/src/uts/common/io/mwl/mwl.c
1149
mwl_ctl_write4(sc, MACREG_REG_GEN_PTR, sc->sc_cmd_dmaaddr);
usr/src/uts/common/io/mwl/mwl.c
1150
(void) mwl_ctl_read4(sc, MACREG_REG_INT_CODE);
usr/src/uts/common/io/mwl/mwl.c
1152
mwl_ctl_write4(sc, MACREG_REG_H2A_INTERRUPT_EVENTS,
usr/src/uts/common/io/mwl/mwl.c
1157
mwlExecuteCmd(struct mwl_softc *sc, unsigned short cmd)
usr/src/uts/common/io/mwl/mwl.c
1159
if (mwl_ctl_read4(sc, MACREG_REG_INT_CODE) == 0xffffffff) {
usr/src/uts/common/io/mwl/mwl.c
1164
mwlSendCmd(sc);
usr/src/uts/common/io/mwl/mwl.c
1165
if (!mwlWaitForCmdComplete(sc, 0x8000 | cmd)) {
usr/src/uts/common/io/mwl/mwl.c
1170
(void) ddi_dma_sync(sc->sc_cmd_dma.dma_hdl,
usr/src/uts/common/io/mwl/mwl.c
1172
sc->sc_cmd_dma.alength,
usr/src/uts/common/io/mwl/mwl.c
1179
dumpresult(sc, 1);
usr/src/uts/common/io/mwl/mwl.c
1185
mwlWaitForCmdComplete(struct mwl_softc *sc, uint16_t cmdCode)
usr/src/uts/common/io/mwl/mwl.c
1191
if (sc->sc_cmd_mem[0] == LE_16(cmdCode))
usr/src/uts/common/io/mwl/mwl.c
1262
dumpresult(struct mwl_softc *sc, int showresult)
usr/src/uts/common/io/mwl/mwl.c
1264
const FWCmdHdr *h = (const FWCmdHdr *)sc->sc_cmd_mem;
usr/src/uts/common/io/mwl/mwl.c
1293
mwlGetCalTable(struct mwl_softc *sc, uint8_t annex, uint8_t index)
usr/src/uts/common/io/mwl/mwl.c
1303
retval = mwlExecuteCmd(sc, HostCmd_CMD_GET_CALTABLE);
usr/src/uts/common/io/mwl/mwl.c
1398
mwlGetPwrCalTable(struct mwl_softc *sc)
usr/src/uts/common/io/mwl/mwl.c
1405
data = ((const HostCmd_FW_GET_CALTABLE *) sc->sc_cmd_mem)->calTbl;
usr/src/uts/common/io/mwl/mwl.c
1406
if (mwlGetCalTable(sc, 33, 0) == 0) {
usr/src/uts/common/io/mwl/mwl.c
1411
get2Ghz(&sc->sc_20M, &data[12], len);
usr/src/uts/common/io/mwl/mwl.c
1413
if (mwlGetCalTable(sc, 34, 0) == 0) {
usr/src/uts/common/io/mwl/mwl.c
1418
ci = &sc->sc_40M;
usr/src/uts/common/io/mwl/mwl.c
1421
if (mwlGetCalTable(sc, 35, 0) == 0) {
usr/src/uts/common/io/mwl/mwl.c
1426
get5Ghz(&sc->sc_20M_5G, &data[20], len);
usr/src/uts/common/io/mwl/mwl.c
1428
if (mwlGetCalTable(sc, 36, 0) == 0) {
usr/src/uts/common/io/mwl/mwl.c
1433
ci = &sc->sc_40M_5G;
usr/src/uts/common/io/mwl/mwl.c
1436
sc->sc_hw_flags |= MHF_CALDATA;
usr/src/uts/common/io/mwl/mwl.c
1444
mwlResetHalState(struct mwl_softc *sc)
usr/src/uts/common/io/mwl/mwl.c
1453
if ((sc->sc_hw_flags & MHF_CALDATA) == 0)
usr/src/uts/common/io/mwl/mwl.c
1454
err = mwlGetPwrCalTable(sc);
usr/src/uts/common/io/mwl/mwl.c
1574
mwl_hal_getchannelinfo(struct mwl_softc *sc, int band, int chw,
usr/src/uts/common/io/mwl/mwl.c
1579
*ci = (chw == MWL_CH_20_MHz_WIDTH) ? &sc->sc_20M : &sc->sc_40M;
usr/src/uts/common/io/mwl/mwl.c
1583
&sc->sc_20M_5G : &sc->sc_40M_5G;
usr/src/uts/common/io/mwl/mwl.c
1592
getchannels(struct mwl_softc *sc, int maxchans, int *nchans,
usr/src/uts/common/io/mwl/mwl.c
1604
if (mwl_hal_getchannelinfo(sc,
usr/src/uts/common/io/mwl/mwl.c
1607
if (mwl_hal_getchannelinfo(sc,
usr/src/uts/common/io/mwl/mwl.c
1610
if (mwl_hal_getchannelinfo(sc,
usr/src/uts/common/io/mwl/mwl.c
1614
if (mwl_hal_getchannelinfo(sc,
usr/src/uts/common/io/mwl/mwl.c
1621
mwl_getchannels(struct mwl_softc *sc)
usr/src/uts/common/io/mwl/mwl.c
1628
(void) memset(sc->sc_channels, 0, sizeof (sc->sc_channels));
usr/src/uts/common/io/mwl/mwl.c
1629
sc->sc_nchans = 0;
usr/src/uts/common/io/mwl/mwl.c
1630
getchannels(sc, IEEE80211_CHAN_MAX, &sc->sc_nchans, sc->sc_channels);
usr/src/uts/common/io/mwl/mwl.c
1632
sc->sc_regdomain.regdomain = SKU_DEBUG;
usr/src/uts/common/io/mwl/mwl.c
1633
sc->sc_regdomain.country = CTRY_DEFAULT;
usr/src/uts/common/io/mwl/mwl.c
1634
sc->sc_regdomain.location = 'I';
usr/src/uts/common/io/mwl/mwl.c
1635
sc->sc_regdomain.isocc[0] = ' '; /* XXX? */
usr/src/uts/common/io/mwl/mwl.c
1636
sc->sc_regdomain.isocc[1] = ' ';
usr/src/uts/common/io/mwl/mwl.c
1637
return (sc->sc_nchans == 0 ? EIO : 0);
usr/src/uts/common/io/mwl/mwl.c
1650
mwl_gethwspecs(struct mwl_softc *sc)
usr/src/uts/common/io/mwl/mwl.c
1656
hw = &sc->sc_hwspecs;
usr/src/uts/common/io/mwl/mwl.c
1659
pCmd->ulFwAwakeCookie = LE_32((unsigned int)sc->sc_cmd_dmaaddr + 2048);
usr/src/uts/common/io/mwl/mwl.c
1661
retval = mwlExecuteCmd(sc, HostCmd_CMD_GET_HW_SPEC);
usr/src/uts/common/io/mwl/mwl.c
1678
sc->sc_revs.mh_macRev = hw->hwVersion; /* XXX */
usr/src/uts/common/io/mwl/mwl.c
1679
sc->sc_revs.mh_phyRev = hw->hostInterface; /* XXX */
usr/src/uts/common/io/mwl/mwl.c
1686
mwl_hal_setmac_locked(struct mwl_softc *sc,
usr/src/uts/common/io/mwl/mwl.c
1697
return (mwlExecuteCmd(sc, HostCmd_CMD_SET_MAC_ADDR));
usr/src/uts/common/io/mwl/mwl.c
1716
mwl_hal_newstation(struct mwl_softc *sc,
usr/src/uts/common/io/mwl/mwl.c
1739
retval = mwlExecuteCmd(sc, HostCmd_CMD_SET_NEW_STN);
usr/src/uts/common/io/mwl/mwl.c
1750
mwl_hal_setantenna(struct mwl_softc *sc, MWL_HAL_ANTENNA dirSet, int ant)
usr/src/uts/common/io/mwl/mwl.c
1765
retval = mwlExecuteCmd(sc, HostCmd_CMD_802_11_RF_ANTENNA);
usr/src/uts/common/io/mwl/mwl.c
1775
mwl_hal_setradio(struct mwl_softc *sc, int onoff, MWL_HAL_PREAMBLE preamble)
usr/src/uts/common/io/mwl/mwl.c
1789
retval = mwlExecuteCmd(sc, HostCmd_CMD_802_11_RADIO_CONTROL);
usr/src/uts/common/io/mwl/mwl.c
1794
mwl_hal_setwmm(struct mwl_softc *sc, int onoff)
usr/src/uts/common/io/mwl/mwl.c
1803
retval = mwlExecuteCmd(sc, HostCmd_CMD_SET_WMM_MODE);
usr/src/uts/common/io/mwl/mwl.c
1850
mwl_hal_setchannel(struct mwl_softc *sc, const MWL_HAL_CHANNEL *chan)
usr/src/uts/common/io/mwl/mwl.c
1860
retval = mwlExecuteCmd(sc, HostCmd_CMD_SET_RF_CHANNEL);
usr/src/uts/common/io/mwl/mwl.c
1865
mwl_hal_settxpower(struct mwl_softc *sc,
usr/src/uts/common/io/mwl/mwl.c
1872
hc = findhalchannel(sc, c);
usr/src/uts/common/io/mwl/mwl.c
1894
retval = mwlExecuteCmd(sc, HostCmd_CMD_802_11_RF_TX_POWER);
usr/src/uts/common/io/mwl/mwl.c
1902
mwl_hal_settxrate(struct mwl_softc *sc, MWL_HAL_TXRATE_HANDLING handling,
usr/src/uts/common/io/mwl/mwl.c
1948
retval = mwlExecuteCmd(sc, HostCmd_CMD_SET_FIXED_RATE);
usr/src/uts/common/io/mwl/mwl.c
1953
mwl_hal_settxrate_auto(struct mwl_softc *sc, const MWL_HAL_TXRATE *rate)
usr/src/uts/common/io/mwl/mwl.c
1968
retval = mwlExecuteCmd(sc, HostCmd_CMD_SET_FIXED_RATE);
usr/src/uts/common/io/mwl/mwl.c
1977
mwl_hal_setrateadaptmode(struct mwl_softc *sc, uint16_t mode)
usr/src/uts/common/io/mwl/mwl.c
1987
retval = mwlExecuteCmd(sc, HostCmd_CMD_SET_RATE_ADAPT_MODE);
usr/src/uts/common/io/mwl/mwl.c
1992
mwl_hal_setoptimizationlevel(struct mwl_softc *sc, int level)
usr/src/uts/common/io/mwl/mwl.c
2001
retval = mwlExecuteCmd(sc, HostCmd_CMD_SET_OPTIMIZATION_LEVEL);
usr/src/uts/common/io/mwl/mwl.c
2009
mwl_hal_setregioncode(struct mwl_softc *sc, int regionCode)
usr/src/uts/common/io/mwl/mwl.c
2026
retval = mwlExecuteCmd(sc, HostCmd_CMD_SET_REGION_CODE);
usr/src/uts/common/io/mwl/mwl.c
2031
mwl_hal_setassocid(struct mwl_softc *sc,
usr/src/uts/common/io/mwl/mwl.c
2034
HostCmd_FW_SET_AID *pCmd = (HostCmd_FW_SET_AID *) &sc->sc_cmd_mem[0];
usr/src/uts/common/io/mwl/mwl.c
2041
retval = mwlExecuteCmd(sc, HostCmd_CMD_SET_AID);
usr/src/uts/common/io/mwl/mwl.c
2052
struct mwl_softc *sc = (struct mwl_softc *)ic;
usr/src/uts/common/io/mwl/mwl.c
2068
return (mwl_hal_settxrate(sc, RATE_AUTO, &rates));
usr/src/uts/common/io/mwl/mwl.c
2077
mwl_hal_setrtsthreshold(struct mwl_softc *sc, int threshold)
usr/src/uts/common/io/mwl/mwl.c
2087
retval = mwlExecuteCmd(sc, HostCmd_CMD_802_11_RTS_THSD);
usr/src/uts/common/io/mwl/mwl.c
2092
mwl_hal_setcsmode(struct mwl_softc *sc, MWL_HAL_CSMODE csmode)
usr/src/uts/common/io/mwl/mwl.c
2102
retval = mwlExecuteCmd(sc, HostCmd_CMD_SET_LINKADAPT_CS_MODE);
usr/src/uts/common/io/mwl/mwl.c
2107
mwl_hal_setpromisc(struct mwl_softc *sc, int ena)
usr/src/uts/common/io/mwl/mwl.c
2111
v = mwl_ctl_read4(sc, MACREG_REG_PROMISCUOUS);
usr/src/uts/common/io/mwl/mwl.c
2112
mwl_ctl_write4(sc, MACREG_REG_PROMISCUOUS, ena ? v | 1 : v & ~1);
usr/src/uts/common/io/mwl/mwl.c
2118
mwl_hal_start(struct mwl_softc *sc)
usr/src/uts/common/io/mwl/mwl.c
2126
retval = mwlExecuteCmd(sc, HostCmd_CMD_BSS_START);
usr/src/uts/common/io/mwl/mwl.c
2134
mwl_hal_setinframode(struct mwl_softc *sc)
usr/src/uts/common/io/mwl/mwl.c
2142
retval = mwlExecuteCmd(sc, HostCmd_CMD_SET_INFRA_MODE);
usr/src/uts/common/io/mwl/mwl.c
2147
mwl_hal_stop(struct mwl_softc *sc)
usr/src/uts/common/io/mwl/mwl.c
2155
retval = mwlExecuteCmd(sc, HostCmd_CMD_BSS_START);
usr/src/uts/common/io/mwl/mwl.c
2161
mwl_hal_keyset(struct mwl_softc *sc, const MWL_HAL_KEYVAL *kv,
usr/src/uts/common/io/mwl/mwl.c
2204
retval = mwlExecuteCmd(sc, HostCmd_CMD_UPDATE_ENCRYPTION);
usr/src/uts/common/io/mwl/mwl.c
2209
mwl_hal_keyreset(struct mwl_softc *sc, const MWL_HAL_KEYVAL *kv,
usr/src/uts/common/io/mwl/mwl.c
2227
retval = mwlExecuteCmd(sc, HostCmd_CMD_UPDATE_ENCRYPTION);
usr/src/uts/common/io/mwl/mwl.c
2303
struct mwl_softc *sc = (struct mwl_softc *)ic;
usr/src/uts/common/io/mwl/mwl.c
2326
return (mwl_hal_keyreset(sc, &hk, bcastaddr) == 0);
usr/src/uts/common/io/mwl/mwl.c
2343
struct mwl_softc *sc = (struct mwl_softc *)ic;
usr/src/uts/common/io/mwl/mwl.c
2405
(void) mwl_hal_keyset(sc, &hk, ic->ic_macaddr);
usr/src/uts/common/io/mwl/mwl.c
2407
return (mwl_hal_keyset(sc, &hk, macaddr) == 0);
usr/src/uts/common/io/mwl/mwl.c
2455
mwl_chan_set(struct mwl_softc *sc, struct mwl_channel *chan)
usr/src/uts/common/io/mwl/mwl.c
2470
mwl_hal_intrset(sc, 0); /* disable interrupts */
usr/src/uts/common/io/mwl/mwl.c
2472
(void) mwl_hal_setchannel(sc, &hchan);
usr/src/uts/common/io/mwl/mwl.c
2483
(void) mwl_hal_settxpower(sc, &hchan, maxtxpow / 2);
usr/src/uts/common/io/mwl/mwl.c
2485
(void) mwl_setcurchanrates(sc);
usr/src/uts/common/io/mwl/mwl.c
2487
sc->sc_curchan = hchan;
usr/src/uts/common/io/mwl/mwl.c
2488
mwl_hal_intrset(sc, sc->sc_imask);
usr/src/uts/common/io/mwl/mwl.c
2569
mwl_setcurchanrates(struct mwl_softc *sc)
usr/src/uts/common/io/mwl/mwl.c
2571
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/mwl/mwl.c
2576
rs = mwl_get_suprates(ic, sc->sc_cur_chan);
usr/src/uts/common/io/mwl/mwl.c
2582
return (mwl_hal_settxrate_auto(sc, &rates));
usr/src/uts/common/io/mwl/mwl.c
2586
findhalchannel(const struct mwl_softc *sc, const MWL_HAL_CHANNEL *c)
usr/src/uts/common/io/mwl/mwl.c
2595
ci = &sc->sc_40M;
usr/src/uts/common/io/mwl/mwl.c
2600
ci = &sc->sc_20M;
usr/src/uts/common/io/mwl/mwl.c
2605
ci = &sc->sc_40M_5G;
usr/src/uts/common/io/mwl/mwl.c
2610
ci = &sc->sc_20M_5G;
usr/src/uts/common/io/mwl/mwl.c
2660
mwl_startrecv(struct mwl_softc *sc)
usr/src/uts/common/io/mwl/mwl.c
2668
ring = &sc->sc_rxring;
usr/src/uts/common/io/mwl/mwl.c
2710
(void) mwl_mode_init(sc);
usr/src/uts/common/io/mwl/mwl.c
2716
mwl_mode_init(struct mwl_softc *sc)
usr/src/uts/common/io/mwl/mwl.c
2725
(void) mwl_hal_setpromisc(sc, 0);
usr/src/uts/common/io/mwl/mwl.c
2737
mwl_hal_txstart(struct mwl_softc *sc, int qnum)
usr/src/uts/common/io/mwl/mwl.c
2740
mwl_ctl_write4(sc, MACREG_REG_H2A_INTERRUPT_EVENTS,
usr/src/uts/common/io/mwl/mwl.c
2742
(void) mwl_ctl_read4(sc, MACREG_REG_INT_CODE);
usr/src/uts/common/io/mwl/mwl.c
2748
struct mwl_softc *sc = (struct mwl_softc *)ic;
usr/src/uts/common/io/mwl/mwl.c
2761
MWL_TXLOCK(sc);
usr/src/uts/common/io/mwl/mwl.c
2764
if (!MWL_IS_RUNNING(sc) || MWL_IS_SUSPEND(sc)) {
usr/src/uts/common/io/mwl/mwl.c
2769
ring = &sc->sc_txring[1];
usr/src/uts/common/io/mwl/mwl.c
2773
sc->sc_need_sched = 1;
usr/src/uts/common/io/mwl/mwl.c
2774
sc->sc_tx_nobuf++;
usr/src/uts/common/io/mwl/mwl.c
2798
sc->sc_tx_err++;
usr/src/uts/common/io/mwl/mwl.c
2812
sc->sc_tx_err++;
usr/src/uts/common/io/mwl/mwl.c
2896
mwl_hal_txstart(sc, 0);
usr/src/uts/common/io/mwl/mwl.c
2909
MWL_TXUNLOCK(sc);
usr/src/uts/common/io/mwl/mwl.c
2920
struct mwl_softc *sc = (struct mwl_softc *)arg;
usr/src/uts/common/io/mwl/mwl.c
2921
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/mwl/mwl.c
2926
sc->sc_scan_id = 0;
usr/src/uts/common/io/mwl/mwl.c
2974
struct mwl_softc *sc = (struct mwl_softc *)ic;
usr/src/uts/common/io/mwl/mwl.c
2981
if (sc->sc_scan_id != 0) {
usr/src/uts/common/io/mwl/mwl.c
2982
(void) untimeout(sc->sc_scan_id);
usr/src/uts/common/io/mwl/mwl.c
2983
sc->sc_scan_id = 0;
usr/src/uts/common/io/mwl/mwl.c
2986
MWL_GLOCK(sc);
usr/src/uts/common/io/mwl/mwl.c
3001
sc->sc_cur_chan =
usr/src/uts/common/io/mwl/mwl.c
3002
&sc->sc_channels[3 * chan - 2];
usr/src/uts/common/io/mwl/mwl.c
3005
chan, sc->sc_cur_chan->ic_ieee);
usr/src/uts/common/io/mwl/mwl.c
3006
(void) mwl_chan_set(sc, sc->sc_cur_chan);
usr/src/uts/common/io/mwl/mwl.c
3009
sc->sc_scan_id = timeout(mwl_next_scan, (void *)sc,
usr/src/uts/common/io/mwl/mwl.c
3015
sc->sc_cur_chan = &sc->sc_channels[3 * chan - 2];
usr/src/uts/common/io/mwl/mwl.c
3018
chan, sc->sc_cur_chan->ic_ieee);
usr/src/uts/common/io/mwl/mwl.c
3019
(void) mwl_chan_set(sc, sc->sc_cur_chan);
usr/src/uts/common/io/mwl/mwl.c
3021
(void) mwl_hal_newstation(sc, ic->ic_macaddr, 0, 0, NULL, 0, 0);
usr/src/uts/common/io/mwl/mwl.c
3028
(void) mwl_hal_newstation(sc,
usr/src/uts/common/io/mwl/mwl.c
3031
(void) mwl_hal_setassocid(sc,
usr/src/uts/common/io/mwl/mwl.c
3034
(void) mwl_hal_setrtsthreshold(sc, ic->ic_rtsthreshold);
usr/src/uts/common/io/mwl/mwl.c
3035
(void) mwl_hal_setcsmode(sc, CSMODE_AUTO_ENA);
usr/src/uts/common/io/mwl/mwl.c
3041
MWL_GUNLOCK(sc);
usr/src/uts/common/io/mwl/mwl.c
3043
return (sc->sc_newstate(ic, nstate, arg));
usr/src/uts/common/io/mwl/mwl.c
3050
mwl_hal_intrset(struct mwl_softc *sc, uint32_t mask)
usr/src/uts/common/io/mwl/mwl.c
3052
mwl_ctl_write4(sc, MACREG_REG_A2H_INTERRUPT_MASK, 0);
usr/src/uts/common/io/mwl/mwl.c
3053
(void) mwl_ctl_read4(sc, MACREG_REG_INT_CODE);
usr/src/uts/common/io/mwl/mwl.c
3055
sc->sc_hal_imask = mask;
usr/src/uts/common/io/mwl/mwl.c
3056
mwl_ctl_write4(sc, MACREG_REG_A2H_INTERRUPT_MASK, mask);
usr/src/uts/common/io/mwl/mwl.c
3057
(void) mwl_ctl_read4(sc, MACREG_REG_INT_CODE);
usr/src/uts/common/io/mwl/mwl.c
3064
mwl_hal_getisr(struct mwl_softc *sc, uint32_t *status)
usr/src/uts/common/io/mwl/mwl.c
3068
cause = mwl_ctl_read4(sc, MACREG_REG_A2H_INTERRUPT_CAUSE);
usr/src/uts/common/io/mwl/mwl.c
3073
mwl_ctl_write4(sc, MACREG_REG_A2H_INTERRUPT_CAUSE,
usr/src/uts/common/io/mwl/mwl.c
3074
cause & ~sc->sc_hal_imask);
usr/src/uts/common/io/mwl/mwl.c
3075
(void) mwl_ctl_read4(sc, MACREG_REG_INT_CODE);
usr/src/uts/common/io/mwl/mwl.c
3076
cause &= sc->sc_hal_imask;
usr/src/uts/common/io/mwl/mwl.c
3082
mwl_tx_intr(struct mwl_softc *sc)
usr/src/uts/common/io/mwl/mwl.c
3084
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/mwl/mwl.c
3090
MWL_TXLOCK(sc);
usr/src/uts/common/io/mwl/mwl.c
3092
ring = &sc->sc_txring[1];
usr/src/uts/common/io/mwl/mwl.c
3095
MWL_TXUNLOCK(sc);
usr/src/uts/common/io/mwl/mwl.c
3139
if (sc->sc_need_sched &&
usr/src/uts/common/io/mwl/mwl.c
3141
sc->sc_need_sched = 0;
usr/src/uts/common/io/mwl/mwl.c
3147
MWL_TXUNLOCK(sc);
usr/src/uts/common/io/mwl/mwl.c
3170
mwl_rx_intr(struct mwl_softc *sc)
usr/src/uts/common/io/mwl/mwl.c
3172
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/mwl/mwl.c
3184
MWL_RXLOCK(sc);
usr/src/uts/common/io/mwl/mwl.c
3186
ring = &sc->sc_rxring;
usr/src/uts/common/io/mwl/mwl.c
3204
sc->sc_rx_err++;
usr/src/uts/common/io/mwl/mwl.c
3217
if (len < 32 || len > sc->sc_dmabuf_size) {
usr/src/uts/common/io/mwl/mwl.c
3220
sc->sc_rx_err++;
usr/src/uts/common/io/mwl/mwl.c
3224
mp0 = allocb(sc->sc_dmabuf_size, BPRI_MED);
usr/src/uts/common/io/mwl/mwl.c
3228
sc->sc_rx_nobuf++;
usr/src/uts/common/io/mwl/mwl.c
3290
MWL_RXUNLOCK(sc);
usr/src/uts/common/io/mwl/mwl.c
3297
struct mwl_softc *sc = (struct mwl_softc *)data;
usr/src/uts/common/io/mwl/mwl.c
3303
MWL_GLOCK(sc);
usr/src/uts/common/io/mwl/mwl.c
3304
if (sc->sc_rx_pend) {
usr/src/uts/common/io/mwl/mwl.c
3305
sc->sc_rx_pend = 0;
usr/src/uts/common/io/mwl/mwl.c
3306
MWL_GUNLOCK(sc);
usr/src/uts/common/io/mwl/mwl.c
3307
mwl_rx_intr(sc);
usr/src/uts/common/io/mwl/mwl.c
3310
MWL_GUNLOCK(sc);
usr/src/uts/common/io/mwl/mwl.c
3319
struct mwl_softc *sc = (struct mwl_softc *)arg;
usr/src/uts/common/io/mwl/mwl.c
3322
MWL_GLOCK(sc);
usr/src/uts/common/io/mwl/mwl.c
3324
if (!MWL_IS_RUNNING(sc) || MWL_IS_SUSPEND(sc)) {
usr/src/uts/common/io/mwl/mwl.c
3325
MWL_GUNLOCK(sc);
usr/src/uts/common/io/mwl/mwl.c
3332
mwl_hal_getisr(sc, &status); /* NB: clears ISR too */
usr/src/uts/common/io/mwl/mwl.c
3334
MWL_GUNLOCK(sc);
usr/src/uts/common/io/mwl/mwl.c
3339
sc->sc_rx_pend = 1;
usr/src/uts/common/io/mwl/mwl.c
3340
(void) ddi_intr_trigger_softint(sc->sc_softintr_hdl, NULL);
usr/src/uts/common/io/mwl/mwl.c
3343
mwl_tx_intr(sc);
usr/src/uts/common/io/mwl/mwl.c
3378
MWL_GUNLOCK(sc);
usr/src/uts/common/io/mwl/mwl.c
3384
mwl_init(struct mwl_softc *sc)
usr/src/uts/common/io/mwl/mwl.c
3386
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/mwl/mwl.c
3389
mwl_hal_intrset(sc, 0);
usr/src/uts/common/io/mwl/mwl.c
3391
sc->sc_txantenna = 0; /* h/w default */
usr/src/uts/common/io/mwl/mwl.c
3392
sc->sc_rxantenna = 0; /* h/w default */
usr/src/uts/common/io/mwl/mwl.c
3394
err = mwl_hal_setantenna(sc, WL_ANTENNATYPE_RX, sc->sc_rxantenna);
usr/src/uts/common/io/mwl/mwl.c
3401
err = mwl_hal_setantenna(sc, WL_ANTENNATYPE_TX, sc->sc_txantenna);
usr/src/uts/common/io/mwl/mwl.c
3408
err = mwl_hal_setradio(sc, 1, WL_AUTO_PREAMBLE);
usr/src/uts/common/io/mwl/mwl.c
3415
err = mwl_hal_setwmm(sc, (ic->ic_flags & IEEE80211_F_WME) != 0);
usr/src/uts/common/io/mwl/mwl.c
3425
sc->sc_cur_chan = &sc->sc_channels[1];
usr/src/uts/common/io/mwl/mwl.c
3427
err = mwl_chan_set(sc, sc->sc_cur_chan);
usr/src/uts/common/io/mwl/mwl.c
3434
err = mwl_hal_setrateadaptmode(sc, 0);
usr/src/uts/common/io/mwl/mwl.c
3441
err = mwl_hal_setoptimizationlevel(sc,
usr/src/uts/common/io/mwl/mwl.c
3449
err = mwl_hal_setregioncode(sc, mwl_map2regioncode(&sc->sc_regdomain));
usr/src/uts/common/io/mwl/mwl.c
3456
err = mwl_startrecv(sc);
usr/src/uts/common/io/mwl/mwl.c
3466
sc->sc_imask = MACREG_A2HRIC_BIT_RX_RDY
usr/src/uts/common/io/mwl/mwl.c
3475
mwl_hal_intrset(sc, sc->sc_imask);
usr/src/uts/common/io/mwl/mwl.c
3477
err = mwl_hal_start(sc);
usr/src/uts/common/io/mwl/mwl.c
3484
err = mwl_hal_setinframode(sc);
usr/src/uts/common/io/mwl/mwl.c
3496
mwl_resume(struct mwl_softc *sc)
usr/src/uts/common/io/mwl/mwl.c
3500
err = mwl_fwload(sc, NULL);
usr/src/uts/common/io/mwl/mwl.c
3507
err = mwl_gethwspecs(sc);
usr/src/uts/common/io/mwl/mwl.c
3514
err = mwl_alloc_rx_ring(sc, MWL_RX_RING_COUNT);
usr/src/uts/common/io/mwl/mwl.c
3522
err = mwl_alloc_tx_ring(sc,
usr/src/uts/common/io/mwl/mwl.c
3523
&sc->sc_txring[qid], MWL_TX_RING_COUNT);
usr/src/uts/common/io/mwl/mwl.c
3531
err = mwl_setupdma(sc);
usr/src/uts/common/io/mwl/mwl.c
3538
err = mwl_setup_txq(sc);
usr/src/uts/common/io/mwl/mwl.c
3550
mwl_stop(struct mwl_softc *sc)
usr/src/uts/common/io/mwl/mwl.c
3555
if (!MWL_IS_QUIESCE(sc))
usr/src/uts/common/io/mwl/mwl.c
3556
MWL_GLOCK(sc);
usr/src/uts/common/io/mwl/mwl.c
3558
err = mwl_hal_stop(sc);
usr/src/uts/common/io/mwl/mwl.c
3565
if (!MWL_IS_QUIESCE(sc))
usr/src/uts/common/io/mwl/mwl.c
3566
MWL_GUNLOCK(sc);
usr/src/uts/common/io/mwl/mwl.c
3572
struct mwl_softc *sc = (struct mwl_softc *)arg;
usr/src/uts/common/io/mwl/mwl.c
3573
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/mwl/mwl.c
3577
MWL_GLOCK(sc);
usr/src/uts/common/io/mwl/mwl.c
3587
*val = sc->sc_tx_nobuf;
usr/src/uts/common/io/mwl/mwl.c
3590
*val = sc->sc_rx_nobuf;
usr/src/uts/common/io/mwl/mwl.c
3593
*val = sc->sc_rx_err;
usr/src/uts/common/io/mwl/mwl.c
3609
*val = sc->sc_tx_err;
usr/src/uts/common/io/mwl/mwl.c
3612
*val = sc->sc_tx_retries;
usr/src/uts/common/io/mwl/mwl.c
3624
MWL_GUNLOCK(sc);
usr/src/uts/common/io/mwl/mwl.c
3627
MWL_GUNLOCK(sc);
usr/src/uts/common/io/mwl/mwl.c
3631
MWL_GUNLOCK(sc);
usr/src/uts/common/io/mwl/mwl.c
3638
struct mwl_softc *sc = (struct mwl_softc *)arg;
usr/src/uts/common/io/mwl/mwl.c
3639
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/mwl/mwl.c
3642
err = mwl_init(sc);
usr/src/uts/common/io/mwl/mwl.c
3651
MWL_GLOCK(sc);
usr/src/uts/common/io/mwl/mwl.c
3652
sc->sc_flags |= MWL_F_RUNNING;
usr/src/uts/common/io/mwl/mwl.c
3653
MWL_GUNLOCK(sc);
usr/src/uts/common/io/mwl/mwl.c
3657
mwl_stop(sc);
usr/src/uts/common/io/mwl/mwl.c
3664
struct mwl_softc *sc = (struct mwl_softc *)arg;
usr/src/uts/common/io/mwl/mwl.c
3666
mwl_stop(sc);
usr/src/uts/common/io/mwl/mwl.c
3668
ieee80211_new_state(&sc->sc_ic, IEEE80211_S_INIT, -1);
usr/src/uts/common/io/mwl/mwl.c
3670
MWL_GLOCK(sc);
usr/src/uts/common/io/mwl/mwl.c
3671
sc->sc_flags &= ~MWL_F_RUNNING;
usr/src/uts/common/io/mwl/mwl.c
3672
MWL_GUNLOCK(sc);
usr/src/uts/common/io/mwl/mwl.c
3679
struct mwl_softc *sc = (struct mwl_softc *)arg;
usr/src/uts/common/io/mwl/mwl.c
3682
err = mwl_hal_setpromisc(sc, on);
usr/src/uts/common/io/mwl/mwl.c
3704
struct mwl_softc *sc = (struct mwl_softc *)arg;
usr/src/uts/common/io/mwl/mwl.c
3705
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/mwl/mwl.c
3708
if (MWL_IS_SUSPEND(sc)) {
usr/src/uts/common/io/mwl/mwl.c
3741
struct mwl_softc *sc = (struct mwl_softc *)arg;
usr/src/uts/common/io/mwl/mwl.c
3742
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/mwl/mwl.c
3748
if (MWL_IS_RUNNING(sc)) {
usr/src/uts/common/io/mwl/mwl.c
3749
(void) mwl_init(sc);
usr/src/uts/common/io/mwl/mwl.c
3764
struct mwl_softc *sc = (struct mwl_softc *)arg;
usr/src/uts/common/io/mwl/mwl.c
3767
err = ieee80211_getprop(&sc->sc_ic, pr_name, wldp_pr_num,
usr/src/uts/common/io/mwl/mwl.c
3777
struct mwl_softc *sc = (struct mwl_softc *)arg;
usr/src/uts/common/io/mwl/mwl.c
3779
ieee80211_propinfo(&sc->sc_ic, pr_name, wldp_pr_num, prh);
usr/src/uts/common/io/mwl/mwl.c
3786
struct mwl_softc *sc = (struct mwl_softc *)arg;
usr/src/uts/common/io/mwl/mwl.c
3787
ieee80211com_t *ic = &sc->sc_ic;
usr/src/uts/common/io/mwl/mwl.c
3794
if (MWL_IS_RUNNING(sc)) {
usr/src/uts/common/io/mwl/mwl.c
3795
(void) mwl_init(sc);
usr/src/uts/common/io/mwl/mwl.c
3808
struct mwl_softc *sc;
usr/src/uts/common/io/mwl/mwl.c
3823
sc = ddi_get_soft_state(mwl_soft_state_p,
usr/src/uts/common/io/mwl/mwl.c
3825
ASSERT(sc != NULL);
usr/src/uts/common/io/mwl/mwl.c
3826
MWL_GLOCK(sc);
usr/src/uts/common/io/mwl/mwl.c
3827
sc->sc_flags &= ~MWL_F_SUSPEND;
usr/src/uts/common/io/mwl/mwl.c
3828
MWL_GUNLOCK(sc);
usr/src/uts/common/io/mwl/mwl.c
3829
if (mwl_resume(sc) != 0) {
usr/src/uts/common/io/mwl/mwl.c
3834
if (MWL_IS_RUNNING(sc)) {
usr/src/uts/common/io/mwl/mwl.c
3835
(void) mwl_init(sc);
usr/src/uts/common/io/mwl/mwl.c
3836
ieee80211_new_state(&sc->sc_ic, IEEE80211_S_INIT, -1);
usr/src/uts/common/io/mwl/mwl.c
3853
sc = ddi_get_soft_state(mwl_soft_state_p, ddi_get_instance(devinfo));
usr/src/uts/common/io/mwl/mwl.c
3854
ic = &sc->sc_ic;
usr/src/uts/common/io/mwl/mwl.c
3855
sc->sc_dev = devinfo;
usr/src/uts/common/io/mwl/mwl.c
3858
err = ddi_regs_map_setup(devinfo, 0, (caddr_t *)&sc->sc_cfg_base, 0, 0,
usr/src/uts/common/io/mwl/mwl.c
3859
&mwl_reg_accattr, &sc->sc_cfg_handle);
usr/src/uts/common/io/mwl/mwl.c
3865
csz = ddi_get8(sc->sc_cfg_handle,
usr/src/uts/common/io/mwl/mwl.c
3866
(uint8_t *)(sc->sc_cfg_base + PCI_CONF_CACHE_LINESZ));
usr/src/uts/common/io/mwl/mwl.c
3869
sc->sc_cachelsz = csz << 2;
usr/src/uts/common/io/mwl/mwl.c
3870
sc->sc_dmabuf_size = roundup(IEEE80211_MAX_LEN, sc->sc_cachelsz);
usr/src/uts/common/io/mwl/mwl.c
3871
vendor_id = ddi_get16(sc->sc_cfg_handle,
usr/src/uts/common/io/mwl/mwl.c
3872
(uint16_t *)(sc->sc_cfg_base + PCI_CONF_VENID));
usr/src/uts/common/io/mwl/mwl.c
3873
device_id = ddi_get16(sc->sc_cfg_handle,
usr/src/uts/common/io/mwl/mwl.c
3874
(uint16_t *)(sc->sc_cfg_base + PCI_CONF_DEVID));
usr/src/uts/common/io/mwl/mwl.c
3884
ddi_put16(sc->sc_cfg_handle,
usr/src/uts/common/io/mwl/mwl.c
3885
(uint16_t *)((uintptr_t)(sc->sc_cfg_base) + PCI_CONF_COMM),
usr/src/uts/common/io/mwl/mwl.c
3887
ddi_put8(sc->sc_cfg_handle,
usr/src/uts/common/io/mwl/mwl.c
3888
(uint8_t *)(sc->sc_cfg_base + PCI_CONF_LATENCY_TIMER), 0xa8);
usr/src/uts/common/io/mwl/mwl.c
3889
ddi_put8(sc->sc_cfg_handle,
usr/src/uts/common/io/mwl/mwl.c
3890
(uint8_t *)(sc->sc_cfg_base + PCI_CONF_ILINE), 0x10);
usr/src/uts/common/io/mwl/mwl.c
3894
&sc->sc_mem_base, 0, 0, &mwl_reg_accattr, &sc->sc_mem_handle);
usr/src/uts/common/io/mwl/mwl.c
3903
&sc->sc_io_base, 0, 0, &mwl_reg_accattr, &sc->sc_io_handle);
usr/src/uts/common/io/mwl/mwl.c
3916
err = mwl_alloc_cmdbuf(sc);
usr/src/uts/common/io/mwl/mwl.c
3923
sc->sc_imask = 0;
usr/src/uts/common/io/mwl/mwl.c
3924
sc->sc_hw_flags = 0;
usr/src/uts/common/io/mwl/mwl.c
3925
sc->sc_flags = 0;
usr/src/uts/common/io/mwl/mwl.c
3939
sc->sc_SDRAMSIZE_Addr = 0x40fe70b7; /* 8M SDRAM */
usr/src/uts/common/io/mwl/mwl.c
3942
sc->sc_SDRAMSIZE_Addr = 0x40fc70b7; /* 16M SDRAM */
usr/src/uts/common/io/mwl/mwl.c
3948
err = mwl_fwload(sc, NULL);
usr/src/uts/common/io/mwl/mwl.c
3958
err = mwl_gethwspecs(sc);
usr/src/uts/common/io/mwl/mwl.c
3965
err = mwl_getchannels(sc);
usr/src/uts/common/io/mwl/mwl.c
3975
err = mwl_alloc_rx_ring(sc, MWL_RX_RING_COUNT);
usr/src/uts/common/io/mwl/mwl.c
3986
err = mwl_alloc_tx_ring(sc,
usr/src/uts/common/io/mwl/mwl.c
3987
&sc->sc_txring[qid], MWL_TX_RING_COUNT);
usr/src/uts/common/io/mwl/mwl.c
3995
err = mwl_setupdma(sc);
usr/src/uts/common/io/mwl/mwl.c
4002
err = mwl_setup_txq(sc);
usr/src/uts/common/io/mwl/mwl.c
4009
IEEE80211_ADDR_COPY(ic->ic_macaddr, sc->sc_hwspecs.macAddr);
usr/src/uts/common/io/mwl/mwl.c
4019
err = mwl_hal_setmac_locked(sc, ic->ic_macaddr);
usr/src/uts/common/io/mwl/mwl.c
4026
mutex_init(&sc->sc_glock, NULL, MUTEX_DRIVER, NULL);
usr/src/uts/common/io/mwl/mwl.c
4027
mutex_init(&sc->sc_rxlock, NULL, MUTEX_DRIVER, NULL);
usr/src/uts/common/io/mwl/mwl.c
4028
mutex_init(&sc->sc_txlock, NULL, MUTEX_DRIVER, NULL);
usr/src/uts/common/io/mwl/mwl.c
4068
sc->sc_newstate = ic->ic_newstate;
usr/src/uts/common/io/mwl/mwl.c
4081
err = mwl_hal_newstation(sc, ic->ic_macaddr, 0, 0, NULL, 0, 0);
usr/src/uts/common/io/mwl/mwl.c
4105
sc->sc_intr_htable = kmem_zalloc(sizeof (ddi_intr_handle_t), KM_SLEEP);
usr/src/uts/common/io/mwl/mwl.c
4107
err = ddi_intr_alloc(devinfo, sc->sc_intr_htable,
usr/src/uts/common/io/mwl/mwl.c
4115
err = ddi_intr_get_pri(sc->sc_intr_htable[0], &sc->sc_intr_pri);
usr/src/uts/common/io/mwl/mwl.c
4122
err = ddi_intr_add_softint(devinfo, &sc->sc_softintr_hdl,
usr/src/uts/common/io/mwl/mwl.c
4123
DDI_INTR_SOFTPRI_MAX, mwl_softintr, (caddr_t)sc);
usr/src/uts/common/io/mwl/mwl.c
4130
err = ddi_intr_add_handler(sc->sc_intr_htable[0], mwl_intr,
usr/src/uts/common/io/mwl/mwl.c
4131
(caddr_t)sc, NULL);
usr/src/uts/common/io/mwl/mwl.c
4138
err = ddi_intr_enable(sc->sc_intr_htable[0]);
usr/src/uts/common/io/mwl/mwl.c
4160
macp->m_driver = sc;
usr/src/uts/common/io/mwl/mwl.c
4203
(void) ddi_intr_disable(sc->sc_intr_htable[0]);
usr/src/uts/common/io/mwl/mwl.c
4205
(void) ddi_intr_remove_handler(sc->sc_intr_htable[0]);
usr/src/uts/common/io/mwl/mwl.c
4207
(void) ddi_intr_remove_softint(sc->sc_softintr_hdl);
usr/src/uts/common/io/mwl/mwl.c
4208
sc->sc_softintr_hdl = NULL;
usr/src/uts/common/io/mwl/mwl.c
4210
(void) ddi_intr_free(sc->sc_intr_htable[0]);
usr/src/uts/common/io/mwl/mwl.c
4212
kmem_free(sc->sc_intr_htable, sizeof (ddi_intr_handle_t));
usr/src/uts/common/io/mwl/mwl.c
4214
mutex_destroy(&sc->sc_txlock);
usr/src/uts/common/io/mwl/mwl.c
4215
mutex_destroy(&sc->sc_rxlock);
usr/src/uts/common/io/mwl/mwl.c
4216
mutex_destroy(&sc->sc_glock);
usr/src/uts/common/io/mwl/mwl.c
4219
mwl_free_tx_ring(sc, &sc->sc_txring[qid]);
usr/src/uts/common/io/mwl/mwl.c
4221
mwl_free_rx_ring(sc);
usr/src/uts/common/io/mwl/mwl.c
4223
mwl_free_cmdbuf(sc);
usr/src/uts/common/io/mwl/mwl.c
4225
ddi_regs_map_free(&sc->sc_mem_handle);
usr/src/uts/common/io/mwl/mwl.c
4227
ddi_regs_map_free(&sc->sc_io_handle);
usr/src/uts/common/io/mwl/mwl.c
4229
ddi_regs_map_free(&sc->sc_cfg_handle);
usr/src/uts/common/io/mwl/mwl.c
4238
struct mwl_softc *sc;
usr/src/uts/common/io/mwl/mwl.c
4241
sc = ddi_get_soft_state(mwl_soft_state_p, ddi_get_instance(devinfo));
usr/src/uts/common/io/mwl/mwl.c
4242
ASSERT(sc != NULL);
usr/src/uts/common/io/mwl/mwl.c
4248
if (MWL_IS_RUNNING(sc))
usr/src/uts/common/io/mwl/mwl.c
4249
mwl_stop(sc);
usr/src/uts/common/io/mwl/mwl.c
4251
mwl_free_tx_ring(sc, &sc->sc_txring[qid]);
usr/src/uts/common/io/mwl/mwl.c
4252
mwl_free_rx_ring(sc);
usr/src/uts/common/io/mwl/mwl.c
4253
MWL_GLOCK(sc);
usr/src/uts/common/io/mwl/mwl.c
4254
sc->sc_flags |= MWL_F_SUSPEND;
usr/src/uts/common/io/mwl/mwl.c
4255
MWL_GUNLOCK(sc);
usr/src/uts/common/io/mwl/mwl.c
4263
if (mac_disable(sc->sc_ic.ic_mach) != 0)
usr/src/uts/common/io/mwl/mwl.c
4269
(void) mac_unregister(sc->sc_ic.ic_mach);
usr/src/uts/common/io/mwl/mwl.c
4271
(void) ddi_intr_remove_softint(sc->sc_softintr_hdl);
usr/src/uts/common/io/mwl/mwl.c
4272
sc->sc_softintr_hdl = NULL;
usr/src/uts/common/io/mwl/mwl.c
4273
(void) ddi_intr_disable(sc->sc_intr_htable[0]);
usr/src/uts/common/io/mwl/mwl.c
4274
(void) ddi_intr_remove_handler(sc->sc_intr_htable[0]);
usr/src/uts/common/io/mwl/mwl.c
4275
(void) ddi_intr_free(sc->sc_intr_htable[0]);
usr/src/uts/common/io/mwl/mwl.c
4276
kmem_free(sc->sc_intr_htable, sizeof (ddi_intr_handle_t));
usr/src/uts/common/io/mwl/mwl.c
4281
ieee80211_detach(&sc->sc_ic);
usr/src/uts/common/io/mwl/mwl.c
4285
mwl_free_tx_ring(sc, &sc->sc_txring[qid]);
usr/src/uts/common/io/mwl/mwl.c
4286
mwl_free_rx_ring(sc);
usr/src/uts/common/io/mwl/mwl.c
4287
mwl_free_cmdbuf(sc);
usr/src/uts/common/io/mwl/mwl.c
4289
mutex_destroy(&sc->sc_txlock);
usr/src/uts/common/io/mwl/mwl.c
4290
mutex_destroy(&sc->sc_rxlock);
usr/src/uts/common/io/mwl/mwl.c
4291
mutex_destroy(&sc->sc_glock);
usr/src/uts/common/io/mwl/mwl.c
4293
ddi_regs_map_free(&sc->sc_mem_handle);
usr/src/uts/common/io/mwl/mwl.c
4294
ddi_regs_map_free(&sc->sc_io_handle);
usr/src/uts/common/io/mwl/mwl.c
4295
ddi_regs_map_free(&sc->sc_cfg_handle);
usr/src/uts/common/io/mwl/mwl.c
431
mwl_alloc_cmdbuf(struct mwl_softc *sc)
usr/src/uts/common/io/mwl/mwl.c
4318
struct mwl_softc *sc;
usr/src/uts/common/io/mwl/mwl.c
4320
sc = ddi_get_soft_state(mwl_soft_state_p, ddi_get_instance(dip));
usr/src/uts/common/io/mwl/mwl.c
4321
if (sc == NULL)
usr/src/uts/common/io/mwl/mwl.c
4331
sc->sc_flags |= MWL_F_QUIESCE;
usr/src/uts/common/io/mwl/mwl.c
4336
mwl_stop(sc);
usr/src/uts/common/io/mwl/mwl.c
438
err = mwl_alloc_dma_mem(sc->sc_dev, &mwl_dma_attr, size,
usr/src/uts/common/io/mwl/mwl.c
441
&sc->sc_cmd_dma);
usr/src/uts/common/io/mwl/mwl.c
448
sc->sc_cmd_mem = (uint16_t *)sc->sc_cmd_dma.mem_va;
usr/src/uts/common/io/mwl/mwl.c
449
sc->sc_cmd_dmaaddr = sc->sc_cmd_dma.cookie.dmac_address;
usr/src/uts/common/io/mwl/mwl.c
455
mwl_free_cmdbuf(struct mwl_softc *sc)
usr/src/uts/common/io/mwl/mwl.c
457
if (sc->sc_cmd_mem != NULL)
usr/src/uts/common/io/mwl/mwl.c
458
mwl_free_dma_mem(&sc->sc_cmd_dma);
usr/src/uts/common/io/mwl/mwl.c
462
mwl_alloc_rx_ring(struct mwl_softc *sc, int count)
usr/src/uts/common/io/mwl/mwl.c
469
ring = &sc->sc_rxring;
usr/src/uts/common/io/mwl/mwl.c
472
err = mwl_alloc_dma_mem(sc->sc_dev, &mwl_dma_attr,
usr/src/uts/common/io/mwl/mwl.c
506
(void) mwl_alloc_dma_mem(sc->sc_dev, &mwl_dma_attr,
usr/src/uts/common/io/mwl/mwl.c
507
sc->sc_dmabuf_size,
usr/src/uts/common/io/mwl/mwl.c
527
mwl_free_rx_ring(struct mwl_softc *sc)
usr/src/uts/common/io/mwl/mwl.c
533
ring = &sc->sc_rxring;
usr/src/uts/common/io/mwl/mwl.c
550
mwl_alloc_tx_ring(struct mwl_softc *sc, struct mwl_tx_ring *ring,
usr/src/uts/common/io/mwl/mwl.c
560
err = mwl_alloc_dma_mem(sc->sc_dev, &mwl_dma_attr,
usr/src/uts/common/io/mwl/mwl.c
590
(void) mwl_alloc_dma_mem(sc->sc_dev, &mwl_dma_attr,
usr/src/uts/common/io/mwl/mwl.c
591
sc->sc_dmabuf_size,
usr/src/uts/common/io/mwl/mwl.c
612
mwl_free_tx_ring(struct mwl_softc *sc, struct mwl_tx_ring *ring)
usr/src/uts/common/io/mwl/mwl.c
637
mwl_hal_sethwdma(struct mwl_softc *sc, const struct mwl_hal_txrxdma *dma)
usr/src/uts/common/io/mwl/mwl.c
660
if (sc->sc_revs.mh_macRev < 5)
usr/src/uts/common/io/mwl/mwl.c
663
retval = mwlExecuteCmd(sc, HostCmd_CMD_SET_HW_SPEC);
usr/src/uts/common/io/mwl/mwl.c
666
sc->sc_hw_flags &= ~MHF_MBSS;
usr/src/uts/common/io/mwl/mwl.c
668
sc->sc_hw_flags |= MHF_MBSS;
usr/src/uts/common/io/mwl/mwl.c
681
mwl_setupdma(struct mwl_softc *sc)
usr/src/uts/common/io/mwl/mwl.c
685
sc->sc_hwdma.rxDescRead = sc->sc_rxring.physaddr;
usr/src/uts/common/io/mwl/mwl.c
686
mwl_mem_write4(sc, sc->sc_hwspecs.rxDescRead, sc->sc_hwdma.rxDescRead);
usr/src/uts/common/io/mwl/mwl.c
687
mwl_mem_write4(sc, sc->sc_hwspecs.rxDescWrite, sc->sc_hwdma.rxDescRead);
usr/src/uts/common/io/mwl/mwl.c
690
struct mwl_tx_ring *txring = &sc->sc_txring[i];
usr/src/uts/common/io/mwl/mwl.c
691
sc->sc_hwdma.wcbBase[i] = txring->physaddr;
usr/src/uts/common/io/mwl/mwl.c
692
mwl_mem_write4(sc, sc->sc_hwspecs.wcbBase[i],
usr/src/uts/common/io/mwl/mwl.c
693
sc->sc_hwdma.wcbBase[i]);
usr/src/uts/common/io/mwl/mwl.c
695
sc->sc_hwdma.maxNumTxWcb = MWL_TX_RING_COUNT;
usr/src/uts/common/io/mwl/mwl.c
696
sc->sc_hwdma.maxNumWCB = MWL_NUM_TX_QUEUES - MWL_NUM_ACK_QUEUES;
usr/src/uts/common/io/mwl/mwl.c
698
err = mwl_hal_sethwdma(sc, &sc->sc_hwdma);
usr/src/uts/common/io/mwl/mwl.c
710
mwl_txq_init(struct mwl_softc *sc, struct mwl_tx_ring *txring, int qnum)
usr/src/uts/common/io/mwl/mwl.c
736
mwl_tx_setup(struct mwl_softc *sc, int ac, int mvtype)
usr/src/uts/common/io/mwl/mwl.c
741
if (ac >= N(sc->sc_ac2q)) {
usr/src/uts/common/io/mwl/mwl.c
744
ac, (uint_t)N(sc->sc_ac2q));
usr/src/uts/common/io/mwl/mwl.c
753
txring = &sc->sc_txring[mvtype];
usr/src/uts/common/io/mwl/mwl.c
754
mwl_txq_init(sc, txring, mvtype);
usr/src/uts/common/io/mwl/mwl.c
755
sc->sc_ac2q[ac] = txring;
usr/src/uts/common/io/mwl/mwl.c
761
mwl_setup_txq(struct mwl_softc *sc)
usr/src/uts/common/io/mwl/mwl.c
766
if (!mwl_tx_setup(sc, WME_AC_BK, MWL_WME_AC_BK)) {
usr/src/uts/common/io/mwl/mwl.c
773
if (!mwl_tx_setup(sc, WME_AC_BE, MWL_WME_AC_BE) ||
usr/src/uts/common/io/mwl/mwl.c
774
!mwl_tx_setup(sc, WME_AC_VI, MWL_WME_AC_VI) ||
usr/src/uts/common/io/mwl/mwl.c
775
!mwl_tx_setup(sc, WME_AC_VO, MWL_WME_AC_VO)) {
usr/src/uts/common/io/mwl/mwl.c
783
sc->sc_ac2q[WME_AC_BE] = sc->sc_ac2q[WME_AC_BK];
usr/src/uts/common/io/mwl/mwl.c
784
sc->sc_ac2q[WME_AC_VI] = sc->sc_ac2q[WME_AC_BK];
usr/src/uts/common/io/mwl/mwl.c
785
sc->sc_ac2q[WME_AC_VO] = sc->sc_ac2q[WME_AC_BK];
usr/src/uts/common/io/mwl/mwl.c
829
mwlFwReset(struct mwl_softc *sc)
usr/src/uts/common/io/mwl/mwl.c
831
if (mwl_ctl_read4(sc, MACREG_REG_INT_CODE) == 0xffffffff) {
usr/src/uts/common/io/mwl/mwl.c
837
mwl_ctl_write4(sc, MACREG_REG_H2A_INTERRUPT_EVENTS, ISR_RESET);
usr/src/uts/common/io/mwl/mwl.c
838
sc->sc_hw_flags &= ~MHF_FWHANG;
usr/src/uts/common/io/mwl/mwl.c
842
mwlPokeSdramController(struct mwl_softc *sc, int SDRAMSIZE_Addr)
usr/src/uts/common/io/mwl/mwl.c
845
mwl_ctl_write4(sc, 0x00006014, 0x33);
usr/src/uts/common/io/mwl/mwl.c
846
mwl_ctl_write4(sc, 0x00006018, 0xa3a2632);
usr/src/uts/common/io/mwl/mwl.c
847
mwl_ctl_write4(sc, 0x00006010, SDRAMSIZE_Addr);
usr/src/uts/common/io/mwl/mwl.c
851
mwlTriggerPciCmd(struct mwl_softc *sc)
usr/src/uts/common/io/mwl/mwl.c
853
(void) ddi_dma_sync(sc->sc_cmd_dma.dma_hdl,
usr/src/uts/common/io/mwl/mwl.c
855
sc->sc_cmd_dma.alength,
usr/src/uts/common/io/mwl/mwl.c
858
mwl_ctl_write4(sc, MACREG_REG_GEN_PTR, sc->sc_cmd_dmaaddr);
usr/src/uts/common/io/mwl/mwl.c
859
(void) mwl_ctl_read4(sc, MACREG_REG_INT_CODE);
usr/src/uts/common/io/mwl/mwl.c
861
mwl_ctl_write4(sc, MACREG_REG_INT_CODE, 0x00);
usr/src/uts/common/io/mwl/mwl.c
862
(void) mwl_ctl_read4(sc, MACREG_REG_INT_CODE);
usr/src/uts/common/io/mwl/mwl.c
864
mwl_ctl_write4(sc, MACREG_REG_H2A_INTERRUPT_EVENTS,
usr/src/uts/common/io/mwl/mwl.c
866
(void) mwl_ctl_read4(sc, MACREG_REG_INT_CODE);
usr/src/uts/common/io/mwl/mwl.c
870
mwlWaitFor(struct mwl_softc *sc, uint32_t val)
usr/src/uts/common/io/mwl/mwl.c
876
if (mwl_ctl_read4(sc, MACREG_REG_INT_CODE) == val)
usr/src/uts/common/io/mwl/mwl.c
886
mwlSendBlock(struct mwl_softc *sc, int bsize, const void *data, size_t dsize)
usr/src/uts/common/io/mwl/mwl.c
888
sc->sc_cmd_mem[0] = LE_16(HostCmd_CMD_CODE_DNLD);
usr/src/uts/common/io/mwl/mwl.c
889
sc->sc_cmd_mem[1] = LE_16(bsize);
usr/src/uts/common/io/mwl/mwl.c
890
(void) memcpy(&sc->sc_cmd_mem[4], data, dsize);
usr/src/uts/common/io/mwl/mwl.c
891
mwlTriggerPciCmd(sc);
usr/src/uts/common/io/mwl/mwl.c
893
if (mwlWaitFor(sc, MACREG_INT_CODE_CMD_FINISHED)) {
usr/src/uts/common/io/mwl/mwl.c
894
mwl_ctl_write4(sc, MACREG_REG_INT_CODE, 0);
usr/src/uts/common/io/mwl/mwl.c
900
mwl_ctl_read4(sc, MACREG_REG_INT_CODE));
usr/src/uts/common/io/mwl/mwl.c
908
mwlSendBlock2(struct mwl_softc *sc, const void *data, size_t dsize)
usr/src/uts/common/io/mwl/mwl.c
910
(void) memcpy(&sc->sc_cmd_mem[0], data, dsize);
usr/src/uts/common/io/mwl/mwl.c
911
mwlTriggerPciCmd(sc);
usr/src/uts/common/io/mwl/mwl.c
912
if (mwlWaitFor(sc, MACREG_INT_CODE_CMD_FINISHED)) {
usr/src/uts/common/io/mwl/mwl.c
913
mwl_ctl_write4(sc, MACREG_REG_INT_CODE, 0);
usr/src/uts/common/io/mwl/mwl.c
919
mwl_ctl_read4(sc, MACREG_REG_INT_CODE));
usr/src/uts/common/io/mwl/mwl.c
925
mwl_fwload(struct mwl_softc *sc, void *fwargs)
usr/src/uts/common/io/mwl/mwl_var.h
575
#define mwl_mem_write4(sc, off, x) \
usr/src/uts/common/io/mwl/mwl_var.h
576
ddi_put32((sc)->sc_mem_handle, \
usr/src/uts/common/io/mwl/mwl_var.h
577
(uint32_t *)((sc)->sc_mem_base + (off)), x)
usr/src/uts/common/io/mwl/mwl_var.h
579
#define mwl_mem_read4(sc, off) \
usr/src/uts/common/io/mwl/mwl_var.h
580
ddi_get32((sc)->sc_mem_handle, \
usr/src/uts/common/io/mwl/mwl_var.h
581
(uint32_t *)((sc)->sc_mem_base + (off)))
usr/src/uts/common/io/mwl/mwl_var.h
583
#define mwl_ctl_write4(sc, off, x) \
usr/src/uts/common/io/mwl/mwl_var.h
584
ddi_put32((sc)->sc_io_handle, \
usr/src/uts/common/io/mwl/mwl_var.h
585
(uint32_t *)((sc)->sc_io_base + (off)), x)
usr/src/uts/common/io/mwl/mwl_var.h
587
#define mwl_ctl_read4(sc, off) \
usr/src/uts/common/io/mwl/mwl_var.h
588
ddi_get32((sc)->sc_io_handle, \
usr/src/uts/common/io/mwl/mwl_var.h
589
(uint32_t *)((sc)->sc_io_base + (off)))
usr/src/uts/common/io/mwl/mwl_var.h
591
#define mwl_ctl_read1(sc, off) \
usr/src/uts/common/io/mwl/mwl_var.h
592
ddi_get8((sc)->sc_io_handle, \
usr/src/uts/common/io/mwl/mwl_var.h
593
(uint8_t *)((sc)->sc_io_base + (off)))
usr/src/uts/common/io/mwl/mwl_var.h
596
pCmd = (type *)&sc->sc_cmd_mem[0]; \
usr/src/uts/common/io/nvme/nvme.c
6319
uint32_t sc)
usr/src/uts/common/io/nvme/nvme.c
6323
ioc->nioc_ctrl_sc = sc;
usr/src/uts/common/io/ral/rt2560.c
1000
RT2560_EEPROM_CTL(sc, RT2560_S);
usr/src/uts/common/io/ral/rt2560.c
1003
RT2560_EEPROM_CTL(sc, 0);
usr/src/uts/common/io/ral/rt2560.c
1006
RT2560_EEPROM_CTL(sc, RT2560_S);
usr/src/uts/common/io/ral/rt2560.c
1007
RT2560_EEPROM_CTL(sc, 0);
usr/src/uts/common/io/ral/rt2560.c
1008
RT2560_EEPROM_CTL(sc, RT2560_C);
usr/src/uts/common/io/ral/rt2560.c
1014
rt2560_tx_intr(struct rt2560_softc *sc)
usr/src/uts/common/io/ral/rt2560.c
1016
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/ral/rt2560.c
1024
dr = &sc->txq.dr_desc;
usr/src/uts/common/io/ral/rt2560.c
1025
count = sc->txq.count;
usr/src/uts/common/io/ral/rt2560.c
1030
mutex_enter(&sc->txq.tx_lock);
usr/src/uts/common/io/ral/rt2560.c
1033
desc = &sc->txq.desc[sc->txq.next];
usr/src/uts/common/io/ral/rt2560.c
1034
data = &sc->txq.data[sc->txq.next];
usr/src/uts/common/io/ral/rt2560.c
1056
sc->sc_tx_retries++;
usr/src/uts/common/io/ral/rt2560.c
1082
ral_debug(RAL_DBG_INTR, "tx done idx=%u\n", sc->txq.next);
usr/src/uts/common/io/ral/rt2560.c
1084
sc->txq.queued--;
usr/src/uts/common/io/ral/rt2560.c
1085
sc->txq.next = (sc->txq.next + 1) % RT2560_TX_RING_COUNT;
usr/src/uts/common/io/ral/rt2560.c
1087
if (sc->sc_need_sched &&
usr/src/uts/common/io/ral/rt2560.c
1088
sc->txq.queued < (RT2560_TX_RING_COUNT - 32)) {
usr/src/uts/common/io/ral/rt2560.c
1089
sc->sc_need_sched = 0;
usr/src/uts/common/io/ral/rt2560.c
1097
sc->sc_tx_timer = 0;
usr/src/uts/common/io/ral/rt2560.c
1098
mutex_exit(&sc->txq.tx_lock);
usr/src/uts/common/io/ral/rt2560.c
1102
rt2560_prio_intr(struct rt2560_softc *sc)
usr/src/uts/common/io/ral/rt2560.c
1110
dr = &sc->prioq.dr_desc;
usr/src/uts/common/io/ral/rt2560.c
1111
count = sc->prioq.count;
usr/src/uts/common/io/ral/rt2560.c
1116
mutex_enter(&sc->prioq.tx_lock);
usr/src/uts/common/io/ral/rt2560.c
1119
desc = &sc->prioq.desc[sc->prioq.next];
usr/src/uts/common/io/ral/rt2560.c
1120
data = &sc->prioq.data[sc->prioq.next];
usr/src/uts/common/io/ral/rt2560.c
1155
ral_debug(RAL_DBG_INTR, "prio done idx=%u\n", sc->prioq.next);
usr/src/uts/common/io/ral/rt2560.c
1157
sc->prioq.queued--;
usr/src/uts/common/io/ral/rt2560.c
1158
sc->prioq.next = (sc->prioq.next + 1) % RT2560_PRIO_RING_COUNT;
usr/src/uts/common/io/ral/rt2560.c
1164
sc->sc_tx_timer = 0;
usr/src/uts/common/io/ral/rt2560.c
1165
mutex_exit(&sc->prioq.tx_lock);
usr/src/uts/common/io/ral/rt2560.c
1173
rt2560_rx_intr(struct rt2560_softc *sc)
usr/src/uts/common/io/ral/rt2560.c
1175
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/ral/rt2560.c
1189
dr = &sc->rxq.dr_desc;
usr/src/uts/common/io/ral/rt2560.c
1190
count = sc->rxq.count;
usr/src/uts/common/io/ral/rt2560.c
1192
mutex_enter(&sc->rxq.rx_lock);
usr/src/uts/common/io/ral/rt2560.c
1198
desc = &sc->rxq.desc[sc->rxq.cur];
usr/src/uts/common/io/ral/rt2560.c
1199
data = &sc->rxq.data[sc->rxq.cur];
usr/src/uts/common/io/ral/rt2560.c
1224
sc->sc_rx_err++;
usr/src/uts/common/io/ral/rt2560.c
1234
sc->sc_rx_err++;
usr/src/uts/common/io/ral/rt2560.c
1241
sc->sc_rx_nobuf++;
usr/src/uts/common/io/ral/rt2560.c
1245
dr_bf = &sc->rxq.dr_rxbuf[sc->rxq.cur];
usr/src/uts/common/io/ral/rt2560.c
1266
ral_debug(RAL_DBG_RX, "rx done idx=%u\n", sc->rxq.cur);
usr/src/uts/common/io/ral/rt2560.c
1268
sc->rxq.cur = (sc->rxq.cur + 1) % RT2560_RX_RING_COUNT;
usr/src/uts/common/io/ral/rt2560.c
1270
mutex_exit(&sc->rxq.rx_lock);
usr/src/uts/common/io/ral/rt2560.c
1280
struct rt2560_softc *sc = (struct rt2560_softc *)data;
usr/src/uts/common/io/ral/rt2560.c
1286
RAL_LOCK(sc);
usr/src/uts/common/io/ral/rt2560.c
1287
if (sc->sc_rx_pend) {
usr/src/uts/common/io/ral/rt2560.c
1288
sc->sc_rx_pend = 0;
usr/src/uts/common/io/ral/rt2560.c
1289
RAL_UNLOCK(sc);
usr/src/uts/common/io/ral/rt2560.c
1290
rt2560_rx_intr(sc);
usr/src/uts/common/io/ral/rt2560.c
1293
RAL_UNLOCK(sc);
usr/src/uts/common/io/ral/rt2560.c
1383
rt2560_setup_tx_desc(struct rt2560_softc *sc, struct rt2560_tx_desc *desc,
usr/src/uts/common/io/ral/rt2560.c
1386
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/ral/rt2560.c
1430
struct rt2560_softc *sc = (struct rt2560_softc *)ic;
usr/src/uts/common/io/ral/rt2560.c
1447
mutex_enter(&sc->prioq.tx_lock);
usr/src/uts/common/io/ral/rt2560.c
1449
if (!RAL_IS_RUNNING(sc)) {
usr/src/uts/common/io/ral/rt2560.c
1454
if (sc->prioq.queued >= RT2560_PRIO_RING_COUNT) {
usr/src/uts/common/io/ral/rt2560.c
1456
sc->sc_tx_nobuf++;
usr/src/uts/common/io/ral/rt2560.c
1479
sc->sc_tx_err++;
usr/src/uts/common/io/ral/rt2560.c
1488
sc->sc_tx_err++;
usr/src/uts/common/io/ral/rt2560.c
1495
desc = &sc->prioq.desc[sc->prioq.cur];
usr/src/uts/common/io/ral/rt2560.c
1496
data = &sc->prioq.data[sc->prioq.cur];
usr/src/uts/common/io/ral/rt2560.c
1522
rt2560_setup_tx_desc(sc, desc, flags, pktlen, rate, 0);
usr/src/uts/common/io/ral/rt2560.c
1524
idx = sc->prioq.cur;
usr/src/uts/common/io/ral/rt2560.c
1526
dr = &sc->prioq.dr_txbuf[idx];
usr/src/uts/common/io/ral/rt2560.c
1529
dr = &sc->prioq.dr_desc;
usr/src/uts/common/io/ral/rt2560.c
1534
pktlen, sc->prioq.cur, rate);
usr/src/uts/common/io/ral/rt2560.c
1537
sc->prioq.queued++; /* IF > RT2560_PRIO_RING_COUNT? FULL */
usr/src/uts/common/io/ral/rt2560.c
1538
sc->prioq.cur = (sc->prioq.cur + 1) % RT2560_PRIO_RING_COUNT;
usr/src/uts/common/io/ral/rt2560.c
1539
RAL_WRITE(sc, RT2560_TXCSR0, RT2560_KICK_PRIO);
usr/src/uts/common/io/ral/rt2560.c
1541
sc->sc_tx_timer = 5;
usr/src/uts/common/io/ral/rt2560.c
1552
mutex_exit(&sc->prioq.tx_lock);
usr/src/uts/common/io/ral/rt2560.c
1560
struct rt2560_softc *sc = (struct rt2560_softc *)ic;
usr/src/uts/common/io/ral/rt2560.c
1579
mutex_enter(&sc->txq.tx_lock);
usr/src/uts/common/io/ral/rt2560.c
1581
if (sc->txq.queued >= RT2560_TX_RING_COUNT - 1) {
usr/src/uts/common/io/ral/rt2560.c
1584
sc->sc_need_sched = 1;
usr/src/uts/common/io/ral/rt2560.c
1585
sc->sc_tx_nobuf++;
usr/src/uts/common/io/ral/rt2560.c
1609
sc->sc_tx_err++;
usr/src/uts/common/io/ral/rt2560.c
1618
sc->sc_tx_err++;
usr/src/uts/common/io/ral/rt2560.c
1632
data = &sc->txq.data[sc->txq.cur];
usr/src/uts/common/io/ral/rt2560.c
1633
desc = &sc->txq.desc[sc->txq.cur];
usr/src/uts/common/io/ral/rt2560.c
1676
rt2560_setup_tx_desc(sc, desc, flags, pktlen, rate, 0);
usr/src/uts/common/io/ral/rt2560.c
1678
idx = sc->txq.cur;
usr/src/uts/common/io/ral/rt2560.c
1680
dr = &sc->txq.dr_txbuf[idx];
usr/src/uts/common/io/ral/rt2560.c
1683
dr = &sc->txq.dr_desc;
usr/src/uts/common/io/ral/rt2560.c
1688
pktlen, sc->txq.cur, rate);
usr/src/uts/common/io/ral/rt2560.c
1691
sc->txq.queued++;
usr/src/uts/common/io/ral/rt2560.c
1692
sc->txq.cur = (sc->txq.cur + 1) % RT2560_TX_RING_COUNT;
usr/src/uts/common/io/ral/rt2560.c
1693
RAL_WRITE(sc, RT2560_TXCSR0, RT2560_KICK_TX);
usr/src/uts/common/io/ral/rt2560.c
1695
sc->sc_tx_timer = 5;
usr/src/uts/common/io/ral/rt2560.c
1706
mutex_exit(&sc->txq.tx_lock);
usr/src/uts/common/io/ral/rt2560.c
1713
struct rt2560_softc *sc = (struct rt2560_softc *)arg;
usr/src/uts/common/io/ral/rt2560.c
1714
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/ral/rt2560.c
1717
if (!RAL_IS_RUNNING(sc)) {
usr/src/uts/common/io/ral/rt2560.c
1747
rt2560_set_macaddr(struct rt2560_softc *sc, uint8_t *addr)
usr/src/uts/common/io/ral/rt2560.c
1752
RAL_WRITE(sc, RT2560_CSR3, tmp);
usr/src/uts/common/io/ral/rt2560.c
1755
RAL_WRITE(sc, RT2560_CSR4, tmp);
usr/src/uts/common/io/ral/rt2560.c
1762
rt2560_get_macaddr(struct rt2560_softc *sc, uint8_t *addr)
usr/src/uts/common/io/ral/rt2560.c
1766
tmp = RAL_READ(sc, RT2560_CSR3);
usr/src/uts/common/io/ral/rt2560.c
1772
tmp = RAL_READ(sc, RT2560_CSR4);
usr/src/uts/common/io/ral/rt2560.c
1778
rt2560_update_promisc(struct rt2560_softc *sc)
usr/src/uts/common/io/ral/rt2560.c
1782
tmp = RAL_READ(sc, RT2560_RXCSR0);
usr/src/uts/common/io/ral/rt2560.c
1784
if (!(sc->sc_rcr & RAL_RCR_PROMISC))
usr/src/uts/common/io/ral/rt2560.c
1787
RAL_WRITE(sc, RT2560_RXCSR0, tmp);
usr/src/uts/common/io/ral/rt2560.c
1789
(sc->sc_rcr & RAL_RCR_PROMISC) ? "entering" : "leaving");
usr/src/uts/common/io/ral/rt2560.c
1808
rt2560_read_eeprom(struct rt2560_softc *sc)
usr/src/uts/common/io/ral/rt2560.c
1813
val = rt2560_eeprom_read(sc, RT2560_EEPROM_CONFIG0);
usr/src/uts/common/io/ral/rt2560.c
1814
sc->rf_rev = (val >> 11) & 0x7;
usr/src/uts/common/io/ral/rt2560.c
1815
sc->hw_radio = (val >> 10) & 0x1;
usr/src/uts/common/io/ral/rt2560.c
1816
sc->led_mode = (val >> 6) & 0x7;
usr/src/uts/common/io/ral/rt2560.c
1817
sc->rx_ant = (val >> 4) & 0x3;
usr/src/uts/common/io/ral/rt2560.c
1818
sc->tx_ant = (val >> 2) & 0x3;
usr/src/uts/common/io/ral/rt2560.c
1819
sc->nb_ant = val & 0x3;
usr/src/uts/common/io/ral/rt2560.c
1823
val = rt2560_eeprom_read(sc, RT2560_EEPROM_BBP_BASE + i);
usr/src/uts/common/io/ral/rt2560.c
1824
sc->bbp_prom[i].reg = val >> 8;
usr/src/uts/common/io/ral/rt2560.c
1825
sc->bbp_prom[i].val = val & 0xff;
usr/src/uts/common/io/ral/rt2560.c
1830
val = rt2560_eeprom_read(sc, RT2560_EEPROM_TXPOWER + i);
usr/src/uts/common/io/ral/rt2560.c
1831
sc->txpow[i * 2] = val >> 8;
usr/src/uts/common/io/ral/rt2560.c
1832
sc->txpow[i * 2 + 1] = val & 0xff;
usr/src/uts/common/io/ral/rt2560.c
1837
rt2560_bbp_init(struct rt2560_softc *sc)
usr/src/uts/common/io/ral/rt2560.c
1844
if (rt2560_bbp_read(sc, RT2560_BBP_VERSION) != 0)
usr/src/uts/common/io/ral/rt2560.c
1854
rt2560_bbp_write(sc, rt2560_def_bbp[i].reg,
usr/src/uts/common/io/ral/rt2560.c
1863
rt2560_set_txantenna(struct rt2560_softc *sc, int antenna)
usr/src/uts/common/io/ral/rt2560.c
1868
tx = rt2560_bbp_read(sc, RT2560_BBP_TX) & ~RT2560_BBP_ANTMASK;
usr/src/uts/common/io/ral/rt2560.c
1877
if (sc->rf_rev == RT2560_RF_2525E || sc->rf_rev == RT2560_RF_2526 ||
usr/src/uts/common/io/ral/rt2560.c
1878
sc->rf_rev == RT2560_RF_5222)
usr/src/uts/common/io/ral/rt2560.c
1881
rt2560_bbp_write(sc, RT2560_BBP_TX, tx);
usr/src/uts/common/io/ral/rt2560.c
1884
tmp = RAL_READ(sc, RT2560_BBPCSR1) & ~0x00070007;
usr/src/uts/common/io/ral/rt2560.c
1886
RAL_WRITE(sc, RT2560_BBPCSR1, tmp);
usr/src/uts/common/io/ral/rt2560.c
1890
rt2560_set_rxantenna(struct rt2560_softc *sc, int antenna)
usr/src/uts/common/io/ral/rt2560.c
1894
rx = rt2560_bbp_read(sc, RT2560_BBP_RX) & ~RT2560_BBP_ANTMASK;
usr/src/uts/common/io/ral/rt2560.c
1903
if (sc->rf_rev == RT2560_RF_2525E || sc->rf_rev == RT2560_RF_2526)
usr/src/uts/common/io/ral/rt2560.c
1906
rt2560_bbp_write(sc, RT2560_BBP_RX, rx);
usr/src/uts/common/io/ral/rt2560.c
1910
rt2560_stop(struct rt2560_softc *sc)
usr/src/uts/common/io/ral/rt2560.c
1912
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/ral/rt2560.c
1917
RAL_LOCK(sc);
usr/src/uts/common/io/ral/rt2560.c
1918
sc->sc_tx_timer = 0;
usr/src/uts/common/io/ral/rt2560.c
1921
RAL_WRITE(sc, RT2560_TXCSR0, RT2560_ABORT_TX);
usr/src/uts/common/io/ral/rt2560.c
1924
RAL_WRITE(sc, RT2560_RXCSR0, RT2560_DISABLE_RX);
usr/src/uts/common/io/ral/rt2560.c
1927
RAL_WRITE(sc, RT2560_CSR1, RT2560_RESET_ASIC);
usr/src/uts/common/io/ral/rt2560.c
1928
RAL_WRITE(sc, RT2560_CSR1, 0);
usr/src/uts/common/io/ral/rt2560.c
1931
RAL_WRITE(sc, RT2560_CSR8, 0xffffffff);
usr/src/uts/common/io/ral/rt2560.c
1934
rt2560_reset_tx_ring(sc, &sc->txq);
usr/src/uts/common/io/ral/rt2560.c
1935
rt2560_reset_tx_ring(sc, &sc->prioq);
usr/src/uts/common/io/ral/rt2560.c
1936
rt2560_reset_rx_ring(sc, &sc->rxq);
usr/src/uts/common/io/ral/rt2560.c
1937
RAL_UNLOCK(sc);
usr/src/uts/common/io/ral/rt2560.c
1941
rt2560_init(struct rt2560_softc *sc)
usr/src/uts/common/io/ral/rt2560.c
1945
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/ral/rt2560.c
1949
rt2560_stop(sc);
usr/src/uts/common/io/ral/rt2560.c
1951
RAL_LOCK(sc);
usr/src/uts/common/io/ral/rt2560.c
1953
rt2560_ring_hwsetup(sc);
usr/src/uts/common/io/ral/rt2560.c
1957
RAL_WRITE(sc, rt2560_def_mac[i].reg, rt2560_def_mac[i].val);
usr/src/uts/common/io/ral/rt2560.c
1959
rt2560_set_macaddr(sc, ic->ic_macaddr);
usr/src/uts/common/io/ral/rt2560.c
1962
RAL_WRITE(sc, RT2560_ARSP_PLCP_1, 0x153);
usr/src/uts/common/io/ral/rt2560.c
1964
rt2560_set_txantenna(sc, sc->tx_ant);
usr/src/uts/common/io/ral/rt2560.c
1965
rt2560_set_rxantenna(sc, sc->rx_ant);
usr/src/uts/common/io/ral/rt2560.c
1967
rt2560_update_plcp(sc);
usr/src/uts/common/io/ral/rt2560.c
1968
rt2560_update_led(sc, 0, 0);
usr/src/uts/common/io/ral/rt2560.c
1970
RAL_WRITE(sc, RT2560_CSR1, RT2560_RESET_ASIC);
usr/src/uts/common/io/ral/rt2560.c
1971
RAL_WRITE(sc, RT2560_CSR1, RT2560_HOST_READY);
usr/src/uts/common/io/ral/rt2560.c
1973
if (rt2560_bbp_init(sc) != 0) {
usr/src/uts/common/io/ral/rt2560.c
1974
RAL_UNLOCK(sc);
usr/src/uts/common/io/ral/rt2560.c
1975
rt2560_stop(sc);
usr/src/uts/common/io/ral/rt2560.c
1980
rt2560_set_chan(sc, ic->ic_curchan);
usr/src/uts/common/io/ral/rt2560.c
1988
if (!(sc->sc_rcr & RAL_RCR_PROMISC))
usr/src/uts/common/io/ral/rt2560.c
1992
RAL_WRITE(sc, RT2560_RXCSR0, tmp);
usr/src/uts/common/io/ral/rt2560.c
1995
(void) RAL_READ(sc, RT2560_CNT0);
usr/src/uts/common/io/ral/rt2560.c
1996
(void) RAL_READ(sc, RT2560_CNT4);
usr/src/uts/common/io/ral/rt2560.c
1999
RAL_WRITE(sc, RT2560_CSR7, 0xffffffff);
usr/src/uts/common/io/ral/rt2560.c
2001
RAL_WRITE(sc, RT2560_CSR8, RT2560_INTR_MASK);
usr/src/uts/common/io/ral/rt2560.c
2003
RAL_UNLOCK(sc);
usr/src/uts/common/io/ral/rt2560.c
2011
struct rt2560_softc *sc = arg;
usr/src/uts/common/io/ral/rt2560.c
2012
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/ral/rt2560.c
2015
RAL_LOCK(sc);
usr/src/uts/common/io/ral/rt2560.c
2018
if (!RAL_IS_RUNNING(sc)) {
usr/src/uts/common/io/ral/rt2560.c
2019
RAL_UNLOCK(sc);
usr/src/uts/common/io/ral/rt2560.c
2023
if (sc->sc_tx_timer > 0) {
usr/src/uts/common/io/ral/rt2560.c
2024
if (--sc->sc_tx_timer == 0) {
usr/src/uts/common/io/ral/rt2560.c
2026
RAL_UNLOCK(sc);
usr/src/uts/common/io/ral/rt2560.c
2027
(void) rt2560_init(sc);
usr/src/uts/common/io/ral/rt2560.c
2036
RAL_UNLOCK(sc);
usr/src/uts/common/io/ral/rt2560.c
2047
struct rt2560_softc *sc = (struct rt2560_softc *)arg;
usr/src/uts/common/io/ral/rt2560.c
2053
err = rt2560_init(sc);
usr/src/uts/common/io/ral/rt2560.c
2058
sc->sc_flags |= RAL_FLAG_RUNNING; /* RUNNING */
usr/src/uts/common/io/ral/rt2560.c
2062
rt2560_stop(sc);
usr/src/uts/common/io/ral/rt2560.c
2069
struct rt2560_softc *sc = (struct rt2560_softc *)arg;
usr/src/uts/common/io/ral/rt2560.c
2071
(void) rt2560_stop(sc);
usr/src/uts/common/io/ral/rt2560.c
2072
sc->sc_flags &= ~RAL_FLAG_RUNNING; /* STOP */
usr/src/uts/common/io/ral/rt2560.c
2078
struct rt2560_softc *sc = (struct rt2560_softc *)arg;
usr/src/uts/common/io/ral/rt2560.c
2079
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/ral/rt2560.c
2085
(void) rt2560_set_macaddr(sc, (uint8_t *)macaddr);
usr/src/uts/common/io/ral/rt2560.c
2086
(void) rt2560_init(sc);
usr/src/uts/common/io/ral/rt2560.c
2101
struct rt2560_softc *sc = (struct rt2560_softc *)arg;
usr/src/uts/common/io/ral/rt2560.c
2104
sc->sc_rcr |= RAL_RCR_PROMISC;
usr/src/uts/common/io/ral/rt2560.c
2105
sc->sc_rcr |= RAL_RCR_MULTI;
usr/src/uts/common/io/ral/rt2560.c
2107
sc->sc_rcr &= ~RAL_RCR_PROMISC;
usr/src/uts/common/io/ral/rt2560.c
2108
sc->sc_rcr &= ~RAL_RCR_PROMISC;
usr/src/uts/common/io/ral/rt2560.c
2111
rt2560_update_promisc(sc);
usr/src/uts/common/io/ral/rt2560.c
2122
struct rt2560_softc *sc = arg;
usr/src/uts/common/io/ral/rt2560.c
2123
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/ral/rt2560.c
2128
RAL_LOCK(sc);
usr/src/uts/common/io/ral/rt2560.c
213
rt2560_set_basicrates(struct rt2560_softc *sc)
usr/src/uts/common/io/ral/rt2560.c
2130
if (RAL_IS_RUNNING(sc)) {
usr/src/uts/common/io/ral/rt2560.c
2131
RAL_UNLOCK(sc);
usr/src/uts/common/io/ral/rt2560.c
2132
(void) rt2560_init(sc);
usr/src/uts/common/io/ral/rt2560.c
2134
RAL_LOCK(sc);
usr/src/uts/common/io/ral/rt2560.c
2138
RAL_UNLOCK(sc);
usr/src/uts/common/io/ral/rt2560.c
2147
struct rt2560_softc *sc = arg;
usr/src/uts/common/io/ral/rt2560.c
215
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/ral/rt2560.c
2150
err = ieee80211_getprop(&sc->sc_ic, pr_name, wldp_pr_num,
usr/src/uts/common/io/ral/rt2560.c
2160
struct rt2560_softc *sc = arg;
usr/src/uts/common/io/ral/rt2560.c
2162
ieee80211_propinfo(&sc->sc_ic, pr_name, wldp_pr_num, prh);
usr/src/uts/common/io/ral/rt2560.c
2168
struct rt2560_softc *sc = (struct rt2560_softc *)arg;
usr/src/uts/common/io/ral/rt2560.c
2169
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/ral/rt2560.c
2173
RAL_LOCK(sc);
usr/src/uts/common/io/ral/rt2560.c
2175
if (RAL_IS_RUNNING(sc)) {
usr/src/uts/common/io/ral/rt2560.c
2176
RAL_UNLOCK(sc);
usr/src/uts/common/io/ral/rt2560.c
2177
(void) rt2560_init(sc);
usr/src/uts/common/io/ral/rt2560.c
2179
RAL_LOCK(sc);
usr/src/uts/common/io/ral/rt2560.c
2182
RAL_UNLOCK(sc);
usr/src/uts/common/io/ral/rt2560.c
2188
struct rt2560_softc *sc = (struct rt2560_softc *)arg;
usr/src/uts/common/io/ral/rt2560.c
2189
ieee80211com_t *ic = &sc->sc_ic;
usr/src/uts/common/io/ral/rt2560.c
2193
RAL_LOCK(sc);
usr/src/uts/common/io/ral/rt2560.c
220
RAL_WRITE(sc, RT2560_ARSP_PLCP_1, 0x3);
usr/src/uts/common/io/ral/rt2560.c
2201
*val = sc->sc_tx_nobuf;
usr/src/uts/common/io/ral/rt2560.c
2204
*val = sc->sc_rx_nobuf;
usr/src/uts/common/io/ral/rt2560.c
2207
*val = sc->sc_rx_err;
usr/src/uts/common/io/ral/rt2560.c
2223
*val = sc->sc_tx_err;
usr/src/uts/common/io/ral/rt2560.c
2226
*val = sc->sc_tx_retries;
usr/src/uts/common/io/ral/rt2560.c
223
RAL_WRITE(sc, RT2560_ARSP_PLCP_1, 0x150);
usr/src/uts/common/io/ral/rt2560.c
2238
RAL_UNLOCK(sc);
usr/src/uts/common/io/ral/rt2560.c
2241
RAL_UNLOCK(sc);
usr/src/uts/common/io/ral/rt2560.c
2244
RAL_UNLOCK(sc);
usr/src/uts/common/io/ral/rt2560.c
2253
struct rt2560_softc *sc = (struct rt2560_softc *)arg;
usr/src/uts/common/io/ral/rt2560.c
2256
RAL_LOCK(sc);
usr/src/uts/common/io/ral/rt2560.c
2258
if (!RAL_IS_RUNNING(sc)) {
usr/src/uts/common/io/ral/rt2560.c
226
RAL_WRITE(sc, RT2560_ARSP_PLCP_1, 0x15f);
usr/src/uts/common/io/ral/rt2560.c
2263
RAL_UNLOCK(sc);
usr/src/uts/common/io/ral/rt2560.c
2267
r = RAL_READ(sc, RT2560_CSR7);
usr/src/uts/common/io/ral/rt2560.c
2268
RAL_WRITE(sc, RT2560_CSR7, r);
usr/src/uts/common/io/ral/rt2560.c
2271
RAL_UNLOCK(sc);
usr/src/uts/common/io/ral/rt2560.c
2276
RAL_UNLOCK(sc);
usr/src/uts/common/io/ral/rt2560.c
2281
RAL_WRITE(sc, RT2560_CSR8, 0xffffffff);
usr/src/uts/common/io/ral/rt2560.c
2284
RAL_UNLOCK(sc);
usr/src/uts/common/io/ral/rt2560.c
2285
rt2560_tx_intr(sc);
usr/src/uts/common/io/ral/rt2560.c
2286
RAL_LOCK(sc);
usr/src/uts/common/io/ral/rt2560.c
2290
RAL_UNLOCK(sc);
usr/src/uts/common/io/ral/rt2560.c
2291
rt2560_prio_intr(sc);
usr/src/uts/common/io/ral/rt2560.c
2292
RAL_LOCK(sc);
usr/src/uts/common/io/ral/rt2560.c
2296
sc->sc_rx_pend = 1;
usr/src/uts/common/io/ral/rt2560.c
2297
ddi_trigger_softintr(sc->sc_softint_id);
usr/src/uts/common/io/ral/rt2560.c
2301
RAL_WRITE(sc, RT2560_CSR8, RT2560_INTR_MASK);
usr/src/uts/common/io/ral/rt2560.c
2302
RAL_UNLOCK(sc);
usr/src/uts/common/io/ral/rt2560.c
231
rt2560_update_led(struct rt2560_softc *sc, int led1, int led2)
usr/src/uts/common/io/ral/rt2560.c
2320
struct rt2560_softc *sc;
usr/src/uts/common/io/ral/rt2560.c
2322
sc = ddi_get_soft_state(ral_soft_state_p, ddi_get_instance(devinfo));
usr/src/uts/common/io/ral/rt2560.c
2323
if (sc == NULL)
usr/src/uts/common/io/ral/rt2560.c
2327
RAL_WRITE(sc, RT2560_TXCSR0, RT2560_ABORT_TX);
usr/src/uts/common/io/ral/rt2560.c
2330
RAL_WRITE(sc, RT2560_RXCSR0, RT2560_DISABLE_RX);
usr/src/uts/common/io/ral/rt2560.c
2333
RAL_WRITE(sc, RT2560_CSR1, RT2560_RESET_ASIC);
usr/src/uts/common/io/ral/rt2560.c
2334
RAL_WRITE(sc, RT2560_CSR1, 0);
usr/src/uts/common/io/ral/rt2560.c
2337
RAL_WRITE(sc, RT2560_CSR8, 0xffffffff);
usr/src/uts/common/io/ral/rt2560.c
2345
struct rt2560_softc *sc;
usr/src/uts/common/io/ral/rt2560.c
2363
sc = ddi_get_soft_state(ral_soft_state_p,
usr/src/uts/common/io/ral/rt2560.c
2365
sc->sc_flags &= ~RAL_FLAG_SUSPENDING;
usr/src/uts/common/io/ral/rt2560.c
2366
if (RAL_IS_INITED(sc))
usr/src/uts/common/io/ral/rt2560.c
2367
(void) rt2560_init(sc);
usr/src/uts/common/io/ral/rt2560.c
237
RAL_WRITE(sc, RT2560_LEDCSR, tmp);
usr/src/uts/common/io/ral/rt2560.c
2381
sc = ddi_get_soft_state(ral_soft_state_p, instance);
usr/src/uts/common/io/ral/rt2560.c
2382
ic = (ieee80211com_t *)&sc->sc_ic;
usr/src/uts/common/io/ral/rt2560.c
2383
sc->sc_dev = devinfo;
usr/src/uts/common/io/ral/rt2560.c
2397
sc->sc_cachelsz = cachelsz << 2;
usr/src/uts/common/io/ral/rt2560.c
241
rt2560_set_bssid(struct rt2560_softc *sc, uint8_t *bssid)
usr/src/uts/common/io/ral/rt2560.c
2422
&sc->sc_rbase, 0, 0, &ral_csr_accattr, &sc->sc_ioh);
usr/src/uts/common/io/ral/rt2560.c
2435
sc->asic_rev = RAL_READ(sc, RT2560_CSR0);
usr/src/uts/common/io/ral/rt2560.c
2438
rt2560_get_macaddr(sc, ic->ic_macaddr);
usr/src/uts/common/io/ral/rt2560.c
2441
rt2560_read_eeprom(sc);
usr/src/uts/common/io/ral/rt2560.c
2444
sc->asic_rev, rt2560_get_rf(sc->rf_rev));
usr/src/uts/common/io/ral/rt2560.c
2449
err = rt2560_alloc_tx_ring(sc, &sc->txq, RT2560_TX_RING_COUNT);
usr/src/uts/common/io/ral/rt2560.c
2454
err = rt2560_alloc_tx_ring(sc, &sc->prioq, RT2560_PRIO_RING_COUNT);
usr/src/uts/common/io/ral/rt2560.c
2459
err = rt2560_alloc_rx_ring(sc, &sc->rxq, RT2560_RX_RING_COUNT);
usr/src/uts/common/io/ral/rt2560.c
246
RAL_WRITE(sc, RT2560_CSR5, tmp);
usr/src/uts/common/io/ral/rt2560.c
2465
mutex_init(&sc->sc_genlock, NULL, MUTEX_DRIVER, NULL);
usr/src/uts/common/io/ral/rt2560.c
2466
mutex_init(&sc->txq.tx_lock, NULL, MUTEX_DRIVER, NULL);
usr/src/uts/common/io/ral/rt2560.c
2467
mutex_init(&sc->prioq.tx_lock, NULL, MUTEX_DRIVER, NULL);
usr/src/uts/common/io/ral/rt2560.c
2468
mutex_init(&sc->rxq.rx_lock, NULL, MUTEX_DRIVER, NULL);
usr/src/uts/common/io/ral/rt2560.c
249
RAL_WRITE(sc, RT2560_CSR6, tmp);
usr/src/uts/common/io/ral/rt2560.c
2490
if (sc->rf_rev == RT2560_RF_5222) {
usr/src/uts/common/io/ral/rt2560.c
2535
sc->sc_newstate = ic->ic_newstate;
usr/src/uts/common/io/ral/rt2560.c
2541
sc->sc_rcr = 0;
usr/src/uts/common/io/ral/rt2560.c
2542
sc->sc_rx_pend = 0;
usr/src/uts/common/io/ral/rt2560.c
2543
sc->dwelltime = 300;
usr/src/uts/common/io/ral/rt2560.c
2544
sc->sc_flags &= ~RAL_FLAG_RUNNING;
usr/src/uts/common/io/ral/rt2560.c
2547
&sc->sc_softint_id, NULL, 0, ral_softint_handler, (caddr_t)sc);
usr/src/uts/common/io/ral/rt2560.c
2554
err = ddi_get_iblock_cookie(devinfo, 0, &sc->sc_iblock);
usr/src/uts/common/io/ral/rt2560.c
256
rt2560_bbp_write(struct rt2560_softc *sc, uint8_t reg, uint8_t val)
usr/src/uts/common/io/ral/rt2560.c
2561
err = ddi_add_intr(devinfo, 0, NULL, NULL, rt2560_intr, (caddr_t)sc);
usr/src/uts/common/io/ral/rt2560.c
2583
macp->m_driver = sc;
usr/src/uts/common/io/ral/rt2560.c
2618
ddi_remove_intr(devinfo, 0, sc->sc_iblock);
usr/src/uts/common/io/ral/rt2560.c
262
if (!(RAL_READ(sc, RT2560_BBPCSR) & RT2560_BBP_BUSY))
usr/src/uts/common/io/ral/rt2560.c
2620
ddi_remove_softintr(sc->sc_softint_id);
usr/src/uts/common/io/ral/rt2560.c
2622
mutex_destroy(&sc->sc_genlock);
usr/src/uts/common/io/ral/rt2560.c
2623
mutex_destroy(&sc->txq.tx_lock);
usr/src/uts/common/io/ral/rt2560.c
2624
mutex_destroy(&sc->prioq.tx_lock);
usr/src/uts/common/io/ral/rt2560.c
2625
mutex_destroy(&sc->rxq.rx_lock);
usr/src/uts/common/io/ral/rt2560.c
2627
rt2560_free_rx_ring(sc, &sc->rxq);
usr/src/uts/common/io/ral/rt2560.c
2629
rt2560_free_tx_ring(sc, &sc->prioq);
usr/src/uts/common/io/ral/rt2560.c
2631
rt2560_free_tx_ring(sc, &sc->txq);
usr/src/uts/common/io/ral/rt2560.c
2633
ddi_regs_map_free(&sc->sc_ioh);
usr/src/uts/common/io/ral/rt2560.c
2643
struct rt2560_softc *sc;
usr/src/uts/common/io/ral/rt2560.c
2645
sc = ddi_get_soft_state(ral_soft_state_p, ddi_get_instance(devinfo));
usr/src/uts/common/io/ral/rt2560.c
2646
ASSERT(sc != NULL);
usr/src/uts/common/io/ral/rt2560.c
2652
if (RAL_IS_INITED(sc))
usr/src/uts/common/io/ral/rt2560.c
2653
(void) rt2560_stop(sc);
usr/src/uts/common/io/ral/rt2560.c
2654
sc->sc_flags |= RAL_FLAG_SUSPENDING;
usr/src/uts/common/io/ral/rt2560.c
2660
if (mac_disable(sc->sc_ic.ic_mach) != 0)
usr/src/uts/common/io/ral/rt2560.c
2663
rt2560_stop(sc);
usr/src/uts/common/io/ral/rt2560.c
2668
(void) mac_unregister(sc->sc_ic.ic_mach);
usr/src/uts/common/io/ral/rt2560.c
2670
ddi_remove_intr(devinfo, 0, sc->sc_iblock);
usr/src/uts/common/io/ral/rt2560.c
2671
ddi_remove_softintr(sc->sc_softint_id);
usr/src/uts/common/io/ral/rt2560.c
2676
ieee80211_detach(&sc->sc_ic);
usr/src/uts/common/io/ral/rt2560.c
2678
rt2560_free_tx_ring(sc, &sc->txq);
usr/src/uts/common/io/ral/rt2560.c
2679
rt2560_free_tx_ring(sc, &sc->prioq);
usr/src/uts/common/io/ral/rt2560.c
2680
rt2560_free_rx_ring(sc, &sc->rxq);
usr/src/uts/common/io/ral/rt2560.c
2682
ddi_regs_map_free(&sc->sc_ioh);
usr/src/uts/common/io/ral/rt2560.c
2684
mutex_destroy(&sc->sc_genlock);
usr/src/uts/common/io/ral/rt2560.c
2685
mutex_destroy(&sc->txq.tx_lock);
usr/src/uts/common/io/ral/rt2560.c
2686
mutex_destroy(&sc->prioq.tx_lock);
usr/src/uts/common/io/ral/rt2560.c
2687
mutex_destroy(&sc->rxq.rx_lock);
usr/src/uts/common/io/ral/rt2560.c
272
RAL_WRITE(sc, RT2560_BBPCSR, tmp);
usr/src/uts/common/io/ral/rt2560.c
278
rt2560_bbp_read(struct rt2560_softc *sc, uint8_t reg)
usr/src/uts/common/io/ral/rt2560.c
284
RAL_WRITE(sc, RT2560_BBPCSR, val);
usr/src/uts/common/io/ral/rt2560.c
287
val = RAL_READ(sc, RT2560_BBPCSR);
usr/src/uts/common/io/ral/rt2560.c
298
rt2560_rf_write(struct rt2560_softc *sc, uint8_t reg, uint32_t val)
usr/src/uts/common/io/ral/rt2560.c
304
if (!(RAL_READ(sc, RT2560_RFCSR) & RT2560_RF_BUSY))
usr/src/uts/common/io/ral/rt2560.c
315
RAL_WRITE(sc, RT2560_RFCSR, tmp);
usr/src/uts/common/io/ral/rt2560.c
318
sc->rf_regs[reg] = val;
usr/src/uts/common/io/ral/rt2560.c
324
rt2560_set_chan(struct rt2560_softc *sc, struct ieee80211_channel *c)
usr/src/uts/common/io/ral/rt2560.c
326
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/ral/rt2560.c
335
power = min(sc->txpow[chan - 1], 31);
usr/src/uts/common/io/ral/rt2560.c
345
switch (sc->rf_rev) {
usr/src/uts/common/io/ral/rt2560.c
347
rt2560_rf_write(sc, RAL_RF1, 0x00814);
usr/src/uts/common/io/ral/rt2560.c
348
rt2560_rf_write(sc, RAL_RF2, rt2560_rf2522_r2[chan - 1]);
usr/src/uts/common/io/ral/rt2560.c
349
rt2560_rf_write(sc, RAL_RF3, power << 7 | 0x00040);
usr/src/uts/common/io/ral/rt2560.c
353
rt2560_rf_write(sc, RAL_RF1, 0x08804);
usr/src/uts/common/io/ral/rt2560.c
354
rt2560_rf_write(sc, RAL_RF2, rt2560_rf2523_r2[chan - 1]);
usr/src/uts/common/io/ral/rt2560.c
355
rt2560_rf_write(sc, RAL_RF3, power << 7 | 0x38044);
usr/src/uts/common/io/ral/rt2560.c
356
rt2560_rf_write(sc, RAL_RF4, (chan == 14) ? 0x00280 : 0x00286);
usr/src/uts/common/io/ral/rt2560.c
360
rt2560_rf_write(sc, RAL_RF1, 0x0c808);
usr/src/uts/common/io/ral/rt2560.c
361
rt2560_rf_write(sc, RAL_RF2, rt2560_rf2524_r2[chan - 1]);
usr/src/uts/common/io/ral/rt2560.c
362
rt2560_rf_write(sc, RAL_RF3, power << 7 | 0x00040);
usr/src/uts/common/io/ral/rt2560.c
363
rt2560_rf_write(sc, RAL_RF4, (chan == 14) ? 0x00280 : 0x00286);
usr/src/uts/common/io/ral/rt2560.c
367
rt2560_rf_write(sc, RAL_RF1, 0x08808);
usr/src/uts/common/io/ral/rt2560.c
368
rt2560_rf_write(sc, RAL_RF2, rt2560_rf2525_hi_r2[chan - 1]);
usr/src/uts/common/io/ral/rt2560.c
369
rt2560_rf_write(sc, RAL_RF3, power << 7 | 0x18044);
usr/src/uts/common/io/ral/rt2560.c
370
rt2560_rf_write(sc, RAL_RF4, (chan == 14) ? 0x00280 : 0x00286);
usr/src/uts/common/io/ral/rt2560.c
372
rt2560_rf_write(sc, RAL_RF1, 0x08808);
usr/src/uts/common/io/ral/rt2560.c
373
rt2560_rf_write(sc, RAL_RF2, rt2560_rf2525_r2[chan - 1]);
usr/src/uts/common/io/ral/rt2560.c
374
rt2560_rf_write(sc, RAL_RF3, power << 7 | 0x18044);
usr/src/uts/common/io/ral/rt2560.c
375
rt2560_rf_write(sc, RAL_RF4, (chan == 14) ? 0x00280 : 0x00286);
usr/src/uts/common/io/ral/rt2560.c
379
rt2560_rf_write(sc, RAL_RF1, 0x08808);
usr/src/uts/common/io/ral/rt2560.c
380
rt2560_rf_write(sc, RAL_RF2, rt2560_rf2525e_r2[chan - 1]);
usr/src/uts/common/io/ral/rt2560.c
381
rt2560_rf_write(sc, RAL_RF3, power << 7 | 0x18044);
usr/src/uts/common/io/ral/rt2560.c
382
rt2560_rf_write(sc, RAL_RF4, (chan == 14) ? 0x00286 : 0x00282);
usr/src/uts/common/io/ral/rt2560.c
386
rt2560_rf_write(sc, RAL_RF2, rt2560_rf2526_hi_r2[chan - 1]);
usr/src/uts/common/io/ral/rt2560.c
387
rt2560_rf_write(sc, RAL_RF4, (chan & 1) ? 0x00386 : 0x00381);
usr/src/uts/common/io/ral/rt2560.c
388
rt2560_rf_write(sc, RAL_RF1, 0x08804);
usr/src/uts/common/io/ral/rt2560.c
390
rt2560_rf_write(sc, RAL_RF2, rt2560_rf2526_r2[chan - 1]);
usr/src/uts/common/io/ral/rt2560.c
391
rt2560_rf_write(sc, RAL_RF3, power << 7 | 0x18044);
usr/src/uts/common/io/ral/rt2560.c
392
rt2560_rf_write(sc, RAL_RF4, (chan & 1) ? 0x00386 : 0x00381);
usr/src/uts/common/io/ral/rt2560.c
400
rt2560_rf_write(sc, RAL_RF1, rt2560_rf5222[i].r1);
usr/src/uts/common/io/ral/rt2560.c
401
rt2560_rf_write(sc, RAL_RF2, rt2560_rf5222[i].r2);
usr/src/uts/common/io/ral/rt2560.c
402
rt2560_rf_write(sc, RAL_RF3, power << 7 | 0x00040);
usr/src/uts/common/io/ral/rt2560.c
403
rt2560_rf_write(sc, RAL_RF4, rt2560_rf5222[i].r4);
usr/src/uts/common/io/ral/rt2560.c
409
tmp = rt2560_bbp_read(sc, 70);
usr/src/uts/common/io/ral/rt2560.c
415
rt2560_bbp_write(sc, 70, tmp);
usr/src/uts/common/io/ral/rt2560.c
418
(void) RAL_READ(sc, RT2560_CNT0);
usr/src/uts/common/io/ral/rt2560.c
427
rt2560_enable_tsf_sync(struct rt2560_softc *sc)
usr/src/uts/common/io/ral/rt2560.c
429
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/ral/rt2560.c
434
RAL_WRITE(sc, RT2560_CSR14, 0);
usr/src/uts/common/io/ral/rt2560.c
437
RAL_WRITE(sc, RT2560_CSR12, tmp);
usr/src/uts/common/io/ral/rt2560.c
439
RAL_WRITE(sc, RT2560_CSR13, 0);
usr/src/uts/common/io/ral/rt2560.c
444
RAL_WRITE(sc, RT2560_BCNOCSR, tmp);
usr/src/uts/common/io/ral/rt2560.c
453
RAL_WRITE(sc, RT2560_CSR14, tmp);
usr/src/uts/common/io/ral/rt2560.c
459
rt2560_update_plcp(struct rt2560_softc *sc)
usr/src/uts/common/io/ral/rt2560.c
461
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/ral/rt2560.c
464
RAL_WRITE(sc, RT2560_PLCP1MCSR, 0x00700400);
usr/src/uts/common/io/ral/rt2560.c
468
RAL_WRITE(sc, RT2560_PLCP2MCSR, 0x00380401);
usr/src/uts/common/io/ral/rt2560.c
469
RAL_WRITE(sc, RT2560_PLCP5p5MCSR, 0x00150402);
usr/src/uts/common/io/ral/rt2560.c
470
RAL_WRITE(sc, RT2560_PLCP11MCSR, 0x000b8403);
usr/src/uts/common/io/ral/rt2560.c
473
RAL_WRITE(sc, RT2560_PLCP2MCSR, 0x00380409);
usr/src/uts/common/io/ral/rt2560.c
474
RAL_WRITE(sc, RT2560_PLCP5p5MCSR, 0x0015040a);
usr/src/uts/common/io/ral/rt2560.c
475
RAL_WRITE(sc, RT2560_PLCP11MCSR, 0x000b840b);
usr/src/uts/common/io/ral/rt2560.c
489
struct rt2560_softc *sc = (struct rt2560_softc *)ic;
usr/src/uts/common/io/ral/rt2560.c
503
tmp = RAL_READ(sc, RT2560_CSR11);
usr/src/uts/common/io/ral/rt2560.c
505
RAL_WRITE(sc, RT2560_CSR11, tmp);
usr/src/uts/common/io/ral/rt2560.c
508
RAL_WRITE(sc, RT2560_CSR18, tmp);
usr/src/uts/common/io/ral/rt2560.c
511
RAL_WRITE(sc, RT2560_CSR19, tmp);
usr/src/uts/common/io/ral/rt2560.c
517
ral_dma_region_alloc(struct rt2560_softc *sc, struct dma_region *dr,
usr/src/uts/common/io/ral/rt2560.c
520
dev_info_t *dip = sc->sc_dev;
usr/src/uts/common/io/ral/rt2560.c
562
ral_dma_region_free(struct rt2560_softc *sc, struct dma_region *dr)
usr/src/uts/common/io/ral/rt2560.c
570
rt2560_alloc_tx_ring(struct rt2560_softc *sc, struct rt2560_tx_ring *ring,
usr/src/uts/common/io/ral/rt2560.c
586
err = ral_dma_region_alloc(sc, &ring->dr_desc,
usr/src/uts/common/io/ral/rt2560.c
593
size = roundup(RAL_TXBUF_SIZE, sc->sc_cachelsz);
usr/src/uts/common/io/ral/rt2560.c
595
err = ral_dma_region_alloc(sc, &ring->dr_txbuf[i], size,
usr/src/uts/common/io/ral/rt2560.c
599
ral_dma_region_free(sc, &ring->dr_txbuf[i]);
usr/src/uts/common/io/ral/rt2560.c
616
ral_dma_region_free(sc, &ring->dr_desc);
usr/src/uts/common/io/ral/rt2560.c
623
rt2560_reset_tx_ring(struct rt2560_softc *sc, struct rt2560_tx_ring *ring)
usr/src/uts/common/io/ral/rt2560.c
650
rt2560_free_tx_ring(struct rt2560_softc *sc, struct rt2560_tx_ring *ring)
usr/src/uts/common/io/ral/rt2560.c
655
ral_dma_region_free(sc, &ring->dr_desc);
usr/src/uts/common/io/ral/rt2560.c
664
ral_dma_region_free(sc, &ring->dr_txbuf[i]);
usr/src/uts/common/io/ral/rt2560.c
672
rt2560_ring_hwsetup(struct rt2560_softc *sc)
usr/src/uts/common/io/ral/rt2560.c
683
RAL_WRITE(sc, RT2560_TXCSR2, tmp);
usr/src/uts/common/io/ral/rt2560.c
684
RAL_WRITE(sc, RT2560_TXCSR3, sc->txq.physaddr);
usr/src/uts/common/io/ral/rt2560.c
685
RAL_WRITE(sc, RT2560_TXCSR5, sc->prioq.physaddr);
usr/src/uts/common/io/ral/rt2560.c
690
RAL_WRITE(sc, RT2560_RXCSR1, tmp);
usr/src/uts/common/io/ral/rt2560.c
691
RAL_WRITE(sc, RT2560_RXCSR2, sc->rxq.physaddr);
usr/src/uts/common/io/ral/rt2560.c
695
rt2560_alloc_rx_ring(struct rt2560_softc *sc, struct rt2560_rx_ring *ring,
usr/src/uts/common/io/ral/rt2560.c
712
err = ral_dma_region_alloc(sc, &ring->dr_desc,
usr/src/uts/common/io/ral/rt2560.c
719
size = roundup(RAL_RXBUF_SIZE, sc->sc_cachelsz);
usr/src/uts/common/io/ral/rt2560.c
721
err = ral_dma_region_alloc(sc, &ring->dr_rxbuf[i], size,
usr/src/uts/common/io/ral/rt2560.c
725
ral_dma_region_free(sc, &ring->dr_rxbuf[i]);
usr/src/uts/common/io/ral/rt2560.c
747
ral_dma_region_free(sc, &ring->dr_desc);
usr/src/uts/common/io/ral/rt2560.c
754
rt2560_reset_rx_ring(struct rt2560_softc *sc, struct rt2560_rx_ring *ring)
usr/src/uts/common/io/ral/rt2560.c
772
rt2560_free_rx_ring(struct rt2560_softc *sc, struct rt2560_rx_ring *ring)
usr/src/uts/common/io/ral/rt2560.c
776
ral_dma_region_free(sc, &ring->dr_desc);
usr/src/uts/common/io/ral/rt2560.c
779
ral_dma_region_free(sc, &ring->dr_rxbuf[i]);
usr/src/uts/common/io/ral/rt2560.c
813
struct rt2560_softc *sc = arg;
usr/src/uts/common/io/ral/rt2560.c
814
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/ral/rt2560.c
839
struct rt2560_softc *sc = arg;
usr/src/uts/common/io/ral/rt2560.c
840
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/ral/rt2560.c
843
sc->sc_rssadapt_id = timeout(rt2560_update_rssadapt, (void *)sc,
usr/src/uts/common/io/ral/rt2560.c
850
struct rt2560_softc *sc = arg;
usr/src/uts/common/io/ral/rt2560.c
851
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/ral/rt2560.c
854
RAL_LOCK(sc);
usr/src/uts/common/io/ral/rt2560.c
856
sc->sc_state_id = 0;
usr/src/uts/common/io/ral/rt2560.c
858
ic->ic_state = sc->sc_ostate;
usr/src/uts/common/io/ral/rt2560.c
860
RAL_UNLOCK(sc);
usr/src/uts/common/io/ral/rt2560.c
869
struct rt2560_softc *sc = (struct rt2560_softc *)ic;
usr/src/uts/common/io/ral/rt2560.c
874
RAL_LOCK(sc);
usr/src/uts/common/io/ral/rt2560.c
877
sc->sc_ostate = ostate;
usr/src/uts/common/io/ral/rt2560.c
879
if (sc->sc_scan_id != 0) {
usr/src/uts/common/io/ral/rt2560.c
880
(void) untimeout(sc->sc_scan_id);
usr/src/uts/common/io/ral/rt2560.c
881
sc->sc_scan_id = 0;
usr/src/uts/common/io/ral/rt2560.c
884
if (sc->sc_rssadapt_id != 0) {
usr/src/uts/common/io/ral/rt2560.c
885
(void) untimeout(sc->sc_rssadapt_id);
usr/src/uts/common/io/ral/rt2560.c
886
sc->sc_rssadapt_id = 0;
usr/src/uts/common/io/ral/rt2560.c
889
if (sc->sc_state_id != 0) {
usr/src/uts/common/io/ral/rt2560.c
890
(void) untimeout(sc->sc_state_id);
usr/src/uts/common/io/ral/rt2560.c
891
sc->sc_state_id = 0;
usr/src/uts/common/io/ral/rt2560.c
898
RAL_WRITE(sc, RT2560_CSR14, 0);
usr/src/uts/common/io/ral/rt2560.c
900
rt2560_update_led(sc, 0, 0);
usr/src/uts/common/io/ral/rt2560.c
905
rt2560_set_chan(sc, ic->ic_curchan);
usr/src/uts/common/io/ral/rt2560.c
906
sc->sc_scan_id = timeout(rt2560_next_scan, (void *)sc,
usr/src/uts/common/io/ral/rt2560.c
907
drv_usectohz(sc->dwelltime * 1000));
usr/src/uts/common/io/ral/rt2560.c
911
rt2560_set_chan(sc, ic->ic_curchan);
usr/src/uts/common/io/ral/rt2560.c
915
rt2560_set_chan(sc, ic->ic_curchan);
usr/src/uts/common/io/ral/rt2560.c
918
sc->sc_state_id = timeout(rt2560_statedog, (void *)sc,
usr/src/uts/common/io/ral/rt2560.c
923
rt2560_set_chan(sc, ic->ic_curchan);
usr/src/uts/common/io/ral/rt2560.c
928
rt2560_update_plcp(sc);
usr/src/uts/common/io/ral/rt2560.c
929
rt2560_set_basicrates(sc);
usr/src/uts/common/io/ral/rt2560.c
930
rt2560_set_bssid(sc, ni->in_bssid);
usr/src/uts/common/io/ral/rt2560.c
934
rt2560_update_led(sc, 1, 0);
usr/src/uts/common/io/ral/rt2560.c
936
sc->sc_rssadapt_id = timeout(rt2560_update_rssadapt,
usr/src/uts/common/io/ral/rt2560.c
937
(void *)sc, drv_usectohz(100 * 1000));
usr/src/uts/common/io/ral/rt2560.c
938
rt2560_enable_tsf_sync(sc);
usr/src/uts/common/io/ral/rt2560.c
943
RAL_UNLOCK(sc);
usr/src/uts/common/io/ral/rt2560.c
945
err = sc->sc_newstate(ic, nstate, arg);
usr/src/uts/common/io/ral/rt2560.c
960
rt2560_eeprom_read(struct rt2560_softc *sc, uint8_t addr)
usr/src/uts/common/io/ral/rt2560.c
967
RT2560_EEPROM_CTL(sc, 0);
usr/src/uts/common/io/ral/rt2560.c
969
RT2560_EEPROM_CTL(sc, RT2560_S);
usr/src/uts/common/io/ral/rt2560.c
970
RT2560_EEPROM_CTL(sc, RT2560_S | RT2560_C);
usr/src/uts/common/io/ral/rt2560.c
971
RT2560_EEPROM_CTL(sc, RT2560_S);
usr/src/uts/common/io/ral/rt2560.c
974
RT2560_EEPROM_CTL(sc, RT2560_S | RT2560_D);
usr/src/uts/common/io/ral/rt2560.c
975
RT2560_EEPROM_CTL(sc, RT2560_S | RT2560_D | RT2560_C);
usr/src/uts/common/io/ral/rt2560.c
978
RT2560_EEPROM_CTL(sc, RT2560_S | RT2560_D);
usr/src/uts/common/io/ral/rt2560.c
979
RT2560_EEPROM_CTL(sc, RT2560_S | RT2560_D | RT2560_C);
usr/src/uts/common/io/ral/rt2560.c
980
RT2560_EEPROM_CTL(sc, RT2560_S);
usr/src/uts/common/io/ral/rt2560.c
981
RT2560_EEPROM_CTL(sc, RT2560_S | RT2560_C);
usr/src/uts/common/io/ral/rt2560.c
984
n = (RAL_READ(sc, RT2560_CSR21) & RT2560_93C46) ? 5 : 7;
usr/src/uts/common/io/ral/rt2560.c
986
RT2560_EEPROM_CTL(sc, RT2560_S |
usr/src/uts/common/io/ral/rt2560.c
988
RT2560_EEPROM_CTL(sc, RT2560_S |
usr/src/uts/common/io/ral/rt2560.c
992
RT2560_EEPROM_CTL(sc, RT2560_S);
usr/src/uts/common/io/ral/rt2560.c
997
RT2560_EEPROM_CTL(sc, RT2560_S | RT2560_C);
usr/src/uts/common/io/ral/rt2560.c
998
tmp = RAL_READ(sc, RT2560_CSR21);
usr/src/uts/common/io/ral/rt2560_reg.h
322
#define RAL_READ(sc, reg) \
usr/src/uts/common/io/ral/rt2560_reg.h
323
ddi_get32((sc)->sc_ioh, (uint32_t *)((uintptr_t)(sc)->sc_rbase + (reg)))
usr/src/uts/common/io/ral/rt2560_reg.h
325
#define RAL_WRITE(sc, reg, val) \
usr/src/uts/common/io/ral/rt2560_reg.h
326
ddi_put32((sc)->sc_ioh, \
usr/src/uts/common/io/ral/rt2560_reg.h
327
(uint32_t *)((uintptr_t)(sc)->sc_rbase + (reg)), (val))
usr/src/uts/common/io/ral/rt2560_reg.h
333
#define RT2560_EEPROM_CTL(sc, val) do { \
usr/src/uts/common/io/ral/rt2560_reg.h
335
RAL_WRITE((sc), RT2560_CSR21, (val)); \
usr/src/uts/common/io/ral/rt2560_var.h
205
#define RAL_LOCK(sc) mutex_enter(&(sc)->sc_genlock)
usr/src/uts/common/io/ral/rt2560_var.h
206
#define RAL_UNLOCK(sc) mutex_exit(&(sc)->sc_genlock)
usr/src/uts/common/io/rtw/rtw.c
254
#define PRINTREG32(sc, reg) \
usr/src/uts/common/io/rtw/rtw.c
259
#define PRINTREG16(sc, reg) \
usr/src/uts/common/io/rtw/rtw.c
264
#define PRINTREG8(sc, reg) \
usr/src/uts/common/io/rum/rum.c
1002
bbp4 = rum_bbp_read(sc, 4);
usr/src/uts/common/io/rum/rum.c
1003
bbp77 = rum_bbp_read(sc, 77);
usr/src/uts/common/io/rum/rum.c
1006
tmp = rum_read(sc, RT2573_TXRX_CSR0);
usr/src/uts/common/io/rum/rum.c
1007
rum_write(sc, RT2573_TXRX_CSR0, tmp | RT2573_DISABLE_RX);
usr/src/uts/common/io/rum/rum.c
1009
rum_bbp_write(sc, 4, bbp4);
usr/src/uts/common/io/rum/rum.c
1010
rum_bbp_write(sc, 77, bbp77);
usr/src/uts/common/io/rum/rum.c
1012
rum_write(sc, RT2573_TXRX_CSR0, tmp);
usr/src/uts/common/io/rum/rum.c
1020
rum_enable_mrr(struct rum_softc *sc)
usr/src/uts/common/io/rum/rum.c
1022
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/rum/rum.c
1025
tmp = rum_read(sc, RT2573_TXRX_CSR4);
usr/src/uts/common/io/rum/rum.c
1032
rum_write(sc, RT2573_TXRX_CSR4, tmp);
usr/src/uts/common/io/rum/rum.c
1036
rum_set_txpreamble(struct rum_softc *sc)
usr/src/uts/common/io/rum/rum.c
1040
tmp = rum_read(sc, RT2573_TXRX_CSR4);
usr/src/uts/common/io/rum/rum.c
1043
if (sc->sc_ic.ic_flags & IEEE80211_F_SHPREAMBLE)
usr/src/uts/common/io/rum/rum.c
1046
rum_write(sc, RT2573_TXRX_CSR4, tmp);
usr/src/uts/common/io/rum/rum.c
1050
rum_set_basicrates(struct rum_softc *sc)
usr/src/uts/common/io/rum/rum.c
1052
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/rum/rum.c
1057
rum_write(sc, RT2573_TXRX_CSR5, 0x3);
usr/src/uts/common/io/rum/rum.c
1060
rum_write(sc, RT2573_TXRX_CSR5, 0x150);
usr/src/uts/common/io/rum/rum.c
1063
rum_write(sc, RT2573_TXRX_CSR5, 0xf);
usr/src/uts/common/io/rum/rum.c
1072
rum_select_band(struct rum_softc *sc, struct ieee80211_channel *c)
usr/src/uts/common/io/rum/rum.c
1084
if ((IEEE80211_IS_CHAN_2GHZ(c) && sc->ext_2ghz_lna) ||
usr/src/uts/common/io/rum/rum.c
1085
(IEEE80211_IS_CHAN_5GHZ(c) && sc->ext_5ghz_lna)) {
usr/src/uts/common/io/rum/rum.c
1089
sc->bbp17 = bbp17;
usr/src/uts/common/io/rum/rum.c
1090
rum_bbp_write(sc, 17, bbp17);
usr/src/uts/common/io/rum/rum.c
1091
rum_bbp_write(sc, 96, bbp96);
usr/src/uts/common/io/rum/rum.c
1092
rum_bbp_write(sc, 104, bbp104);
usr/src/uts/common/io/rum/rum.c
1094
if ((IEEE80211_IS_CHAN_2GHZ(c) && sc->ext_2ghz_lna) ||
usr/src/uts/common/io/rum/rum.c
1095
(IEEE80211_IS_CHAN_5GHZ(c) && sc->ext_5ghz_lna)) {
usr/src/uts/common/io/rum/rum.c
1096
rum_bbp_write(sc, 75, 0x80);
usr/src/uts/common/io/rum/rum.c
1097
rum_bbp_write(sc, 86, 0x80);
usr/src/uts/common/io/rum/rum.c
1098
rum_bbp_write(sc, 88, 0x80);
usr/src/uts/common/io/rum/rum.c
1101
rum_bbp_write(sc, 35, bbp35);
usr/src/uts/common/io/rum/rum.c
1102
rum_bbp_write(sc, 97, bbp97);
usr/src/uts/common/io/rum/rum.c
1103
rum_bbp_write(sc, 98, bbp98);
usr/src/uts/common/io/rum/rum.c
1105
tmp = rum_read(sc, RT2573_PHY_CSR0);
usr/src/uts/common/io/rum/rum.c
1111
rum_write(sc, RT2573_PHY_CSR0, tmp);
usr/src/uts/common/io/rum/rum.c
1114
sc->sifs = IEEE80211_IS_CHAN_5GHZ(c) ? 16 : 10;
usr/src/uts/common/io/rum/rum.c
1118
rum_set_chan(struct rum_softc *sc, struct ieee80211_channel *c)
usr/src/uts/common/io/rum/rum.c
1120
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/rum/rum.c
1131
rfprog = (sc->rf_rev == RT2573_RF_5225 ||
usr/src/uts/common/io/rum/rum.c
1132
sc->rf_rev == RT2573_RF_2527) ? rum_rf5225 : rum_rf5226;
usr/src/uts/common/io/rum/rum.c
1138
power = sc->txpow[i];
usr/src/uts/common/io/rum/rum.c
1152
rum_select_band(sc, c);
usr/src/uts/common/io/rum/rum.c
1153
rum_select_antenna(sc);
usr/src/uts/common/io/rum/rum.c
1157
rum_rf_write(sc, RT2573_RF1, rfprog[i].r1);
usr/src/uts/common/io/rum/rum.c
1158
rum_rf_write(sc, RT2573_RF2, rfprog[i].r2);
usr/src/uts/common/io/rum/rum.c
1159
rum_rf_write(sc, RT2573_RF3, rfprog[i].r3 | power << 7);
usr/src/uts/common/io/rum/rum.c
1160
rum_rf_write(sc, RT2573_RF4, rfprog[i].r4 | sc->rffreq << 10);
usr/src/uts/common/io/rum/rum.c
1162
rum_rf_write(sc, RT2573_RF1, rfprog[i].r1);
usr/src/uts/common/io/rum/rum.c
1163
rum_rf_write(sc, RT2573_RF2, rfprog[i].r2);
usr/src/uts/common/io/rum/rum.c
1164
rum_rf_write(sc, RT2573_RF3, rfprog[i].r3 | power << 7 | 1);
usr/src/uts/common/io/rum/rum.c
1165
rum_rf_write(sc, RT2573_RF4, rfprog[i].r4 | sc->rffreq << 10);
usr/src/uts/common/io/rum/rum.c
1167
rum_rf_write(sc, RT2573_RF1, rfprog[i].r1);
usr/src/uts/common/io/rum/rum.c
1168
rum_rf_write(sc, RT2573_RF2, rfprog[i].r2);
usr/src/uts/common/io/rum/rum.c
1169
rum_rf_write(sc, RT2573_RF3, rfprog[i].r3 | power << 7);
usr/src/uts/common/io/rum/rum.c
1170
rum_rf_write(sc, RT2573_RF4, rfprog[i].r4 | sc->rffreq << 10);
usr/src/uts/common/io/rum/rum.c
1175
bbp3 = rum_bbp_read(sc, 3);
usr/src/uts/common/io/rum/rum.c
1178
if (sc->rf_rev == RT2573_RF_5225 || sc->rf_rev == RT2573_RF_2527)
usr/src/uts/common/io/rum/rum.c
1181
rum_bbp_write(sc, 3, bbp3);
usr/src/uts/common/io/rum/rum.c
1184
rum_bbp_write(sc, 94, bbp94);
usr/src/uts/common/io/rum/rum.c
1192
rum_enable_tsf_sync(struct rum_softc *sc)
usr/src/uts/common/io/rum/rum.c
1194
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/rum/rum.c
1202
rum_write(sc, RT2573_TXRX_CSR10, 1 << 12 | 8);
usr/src/uts/common/io/rum/rum.c
1205
tmp = rum_read(sc, RT2573_TXRX_CSR9) & 0xff000000;
usr/src/uts/common/io/rum/rum.c
1216
rum_write(sc, RT2573_TXRX_CSR9, tmp);
usr/src/uts/common/io/rum/rum.c
1223
struct rum_softc *sc = (struct rum_softc *)ic;
usr/src/uts/common/io/rum/rum.c
1229
tmp = rum_read(sc, RT2573_MAC_CSR9);
usr/src/uts/common/io/rum/rum.c
1231
rum_write(sc, RT2573_MAC_CSR9, tmp);
usr/src/uts/common/io/rum/rum.c
1237
rum_set_bssid(struct rum_softc *sc, const uint8_t *bssid)
usr/src/uts/common/io/rum/rum.c
1242
rum_write(sc, RT2573_MAC_CSR4, tmp);
usr/src/uts/common/io/rum/rum.c
1245
rum_write(sc, RT2573_MAC_CSR5, tmp);
usr/src/uts/common/io/rum/rum.c
1249
rum_set_macaddr(struct rum_softc *sc, const uint8_t *addr)
usr/src/uts/common/io/rum/rum.c
1254
rum_write(sc, RT2573_MAC_CSR2, tmp);
usr/src/uts/common/io/rum/rum.c
1257
rum_write(sc, RT2573_MAC_CSR3, tmp);
usr/src/uts/common/io/rum/rum.c
1264
rum_update_promisc(struct rum_softc *sc)
usr/src/uts/common/io/rum/rum.c
1268
tmp = rum_read(sc, RT2573_TXRX_CSR0);
usr/src/uts/common/io/rum/rum.c
1271
if (!(sc->sc_rcr & RAL_RCR_PROMISC))
usr/src/uts/common/io/rum/rum.c
1274
rum_write(sc, RT2573_TXRX_CSR0, tmp);
usr/src/uts/common/io/rum/rum.c
1277
(sc->sc_rcr & RAL_RCR_PROMISC) ? "entering" : "leaving");
usr/src/uts/common/io/rum/rum.c
1293
rum_read_eeprom(struct rum_softc *sc)
usr/src/uts/common/io/rum/rum.c
1295
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/rum/rum.c
1299
rum_eeprom_read(sc, RT2573_EEPROM_ADDRESS, ic->ic_macaddr, 6);
usr/src/uts/common/io/rum/rum.c
1301
rum_eeprom_read(sc, RT2573_EEPROM_ANTENNA, &val, 2);
usr/src/uts/common/io/rum/rum.c
1303
sc->rf_rev = (val >> 11) & 0x1f;
usr/src/uts/common/io/rum/rum.c
1304
sc->hw_radio = (val >> 10) & 0x1;
usr/src/uts/common/io/rum/rum.c
1305
sc->rx_ant = (val >> 4) & 0x3;
usr/src/uts/common/io/rum/rum.c
1306
sc->tx_ant = (val >> 2) & 0x3;
usr/src/uts/common/io/rum/rum.c
1307
sc->nb_ant = val & 0x3;
usr/src/uts/common/io/rum/rum.c
1309
ral_debug(RAL_DBG_HW, "RF revision=%d\n", sc->rf_rev);
usr/src/uts/common/io/rum/rum.c
1311
rum_eeprom_read(sc, RT2573_EEPROM_CONFIG2, &val, 2);
usr/src/uts/common/io/rum/rum.c
1313
sc->ext_5ghz_lna = (val >> 6) & 0x1;
usr/src/uts/common/io/rum/rum.c
1314
sc->ext_2ghz_lna = (val >> 4) & 0x1;
usr/src/uts/common/io/rum/rum.c
1317
sc->ext_2ghz_lna, sc->ext_5ghz_lna);
usr/src/uts/common/io/rum/rum.c
1319
rum_eeprom_read(sc, RT2573_EEPROM_RSSI_2GHZ_OFFSET, &val, 2);
usr/src/uts/common/io/rum/rum.c
1322
sc->rssi_2ghz_corr = (int8_t)(val & 0xff); /* signed */
usr/src/uts/common/io/rum/rum.c
1324
rum_eeprom_read(sc, RT2573_EEPROM_RSSI_5GHZ_OFFSET, &val, 2);
usr/src/uts/common/io/rum/rum.c
1327
sc->rssi_5ghz_corr = (int8_t)(val & 0xff); /* signed */
usr/src/uts/common/io/rum/rum.c
1330
sc->rssi_2ghz_corr, sc->rssi_5ghz_corr);
usr/src/uts/common/io/rum/rum.c
1332
rum_eeprom_read(sc, RT2573_EEPROM_FREQ_OFFSET, &val, 2);
usr/src/uts/common/io/rum/rum.c
1335
sc->rffreq = val & 0xff;
usr/src/uts/common/io/rum/rum.c
1337
ral_debug(RAL_DBG_HW, "RF freq=%d\n", sc->rffreq);
usr/src/uts/common/io/rum/rum.c
1340
rum_eeprom_read(sc, RT2573_EEPROM_TXPOWER, sc->txpow, 14);
usr/src/uts/common/io/rum/rum.c
1342
(void) memset(sc->txpow + 14, 24, sizeof (sc->txpow) - 14);
usr/src/uts/common/io/rum/rum.c
1345
rum_eeprom_read(sc, RT2573_EEPROM_BBP_BASE, sc->bbp_prom, 2 * 16);
usr/src/uts/common/io/rum/rum.c
1349
rum_bbp_init(struct rum_softc *sc)
usr/src/uts/common/io/rum/rum.c
1355
const uint8_t val = rum_bbp_read(sc, 0);
usr/src/uts/common/io/rum/rum.c
1367
rum_bbp_write(sc, rum_def_bbp[i].reg, rum_def_bbp[i].val);
usr/src/uts/common/io/rum/rum.c
1371
if (sc->bbp_prom[i].reg == 0 || sc->bbp_prom[i].reg == 0xff)
usr/src/uts/common/io/rum/rum.c
1373
rum_bbp_write(sc, sc->bbp_prom[i].reg, sc->bbp_prom[i].val);
usr/src/uts/common/io/rum/rum.c
1386
struct rum_softc *sc = arg;
usr/src/uts/common/io/rum/rum.c
1387
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/rum/rum.c
1396
struct rum_softc *sc = (struct rum_softc *)ic;
usr/src/uts/common/io/rum/rum.c
1402
RAL_LOCK(sc);
usr/src/uts/common/io/rum/rum.c
1406
if (sc->sc_scan_id != 0) {
usr/src/uts/common/io/rum/rum.c
1407
(void) untimeout(sc->sc_scan_id);
usr/src/uts/common/io/rum/rum.c
1408
sc->sc_scan_id = 0;
usr/src/uts/common/io/rum/rum.c
1411
if (sc->sc_amrr_id != 0) {
usr/src/uts/common/io/rum/rum.c
1412
(void) untimeout(sc->sc_amrr_id);
usr/src/uts/common/io/rum/rum.c
1413
sc->sc_amrr_id = 0;
usr/src/uts/common/io/rum/rum.c
1420
tmp = rum_read(sc, RT2573_TXRX_CSR9);
usr/src/uts/common/io/rum/rum.c
1421
rum_write(sc, RT2573_TXRX_CSR9, tmp & ~0x00ffffff);
usr/src/uts/common/io/rum/rum.c
1426
rum_set_chan(sc, ic->ic_curchan);
usr/src/uts/common/io/rum/rum.c
1427
sc->sc_scan_id = timeout(rum_next_scan, (void *)sc,
usr/src/uts/common/io/rum/rum.c
1428
drv_usectohz(sc->dwelltime * 1000));
usr/src/uts/common/io/rum/rum.c
1432
rum_set_chan(sc, ic->ic_curchan);
usr/src/uts/common/io/rum/rum.c
1436
rum_set_chan(sc, ic->ic_curchan);
usr/src/uts/common/io/rum/rum.c
1440
rum_set_chan(sc, ic->ic_curchan);
usr/src/uts/common/io/rum/rum.c
1446
rum_enable_mrr(sc);
usr/src/uts/common/io/rum/rum.c
1447
rum_set_txpreamble(sc);
usr/src/uts/common/io/rum/rum.c
1448
rum_set_basicrates(sc);
usr/src/uts/common/io/rum/rum.c
1449
rum_set_bssid(sc, ni->in_bssid);
usr/src/uts/common/io/rum/rum.c
1453
rum_enable_tsf_sync(sc);
usr/src/uts/common/io/rum/rum.c
1458
rum_amrr_start(sc, ni);
usr/src/uts/common/io/rum/rum.c
1462
RAL_UNLOCK(sc);
usr/src/uts/common/io/rum/rum.c
1464
err = sc->sc_newstate(ic, nstate, arg);
usr/src/uts/common/io/rum/rum.c
1475
rum_close_pipes(struct rum_softc *sc)
usr/src/uts/common/io/rum/rum.c
1479
if (sc->sc_rx_pipeh != NULL) {
usr/src/uts/common/io/rum/rum.c
1480
usb_pipe_reset(sc->sc_dev, sc->sc_rx_pipeh, flags, NULL, 0);
usr/src/uts/common/io/rum/rum.c
1481
usb_pipe_close(sc->sc_dev, sc->sc_rx_pipeh, flags, NULL, 0);
usr/src/uts/common/io/rum/rum.c
1482
sc->sc_rx_pipeh = NULL;
usr/src/uts/common/io/rum/rum.c
1485
if (sc->sc_tx_pipeh != NULL) {
usr/src/uts/common/io/rum/rum.c
1486
usb_pipe_reset(sc->sc_dev, sc->sc_tx_pipeh, flags, NULL, 0);
usr/src/uts/common/io/rum/rum.c
1487
usb_pipe_close(sc->sc_dev, sc->sc_tx_pipeh, flags, NULL, 0);
usr/src/uts/common/io/rum/rum.c
1488
sc->sc_tx_pipeh = NULL;
usr/src/uts/common/io/rum/rum.c
1493
rum_open_pipes(struct rum_softc *sc)
usr/src/uts/common/io/rum/rum.c
1499
ep_node = usb_lookup_ep_data(sc->sc_dev, sc->sc_udev, 0, 0, 0,
usr/src/uts/common/io/rum/rum.c
1505
if ((err = usb_pipe_open(sc->sc_dev,
usr/src/uts/common/io/rum/rum.c
1507
&sc->sc_tx_pipeh)) != USB_SUCCESS) {
usr/src/uts/common/io/rum/rum.c
1513
ep_node = usb_lookup_ep_data(sc->sc_dev, sc->sc_udev, 0, 0, 0,
usr/src/uts/common/io/rum/rum.c
1519
if ((err = usb_pipe_open(sc->sc_dev,
usr/src/uts/common/io/rum/rum.c
1521
&sc->sc_rx_pipeh)) != USB_SUCCESS) {
usr/src/uts/common/io/rum/rum.c
1530
if (sc->sc_rx_pipeh != NULL) {
usr/src/uts/common/io/rum/rum.c
1531
usb_pipe_close(sc->sc_dev, sc->sc_rx_pipeh,
usr/src/uts/common/io/rum/rum.c
1533
sc->sc_rx_pipeh = NULL;
usr/src/uts/common/io/rum/rum.c
1536
if (sc->sc_tx_pipeh != NULL) {
usr/src/uts/common/io/rum/rum.c
1537
usb_pipe_close(sc->sc_dev, sc->sc_tx_pipeh,
usr/src/uts/common/io/rum/rum.c
1539
sc->sc_tx_pipeh = NULL;
usr/src/uts/common/io/rum/rum.c
1546
rum_tx_trigger(struct rum_softc *sc, mblk_t *mp)
usr/src/uts/common/io/rum/rum.c
1551
sc->sc_tx_timer = RUM_TX_TIMEOUT;
usr/src/uts/common/io/rum/rum.c
1553
req = usb_alloc_bulk_req(sc->sc_dev, 0, USB_FLAGS_SLEEP);
usr/src/uts/common/io/rum/rum.c
1563
req->bulk_client_private = (usb_opaque_t)sc;
usr/src/uts/common/io/rum/rum.c
1571
if ((err = usb_pipe_bulk_xfer(sc->sc_tx_pipeh, req, 0))
usr/src/uts/common/io/rum/rum.c
1580
sc->tx_queued++;
usr/src/uts/common/io/rum/rum.c
1586
rum_rx_trigger(struct rum_softc *sc)
usr/src/uts/common/io/rum/rum.c
1591
req = usb_alloc_bulk_req(sc->sc_dev, RAL_RXBUF_SIZE, USB_FLAGS_SLEEP);
usr/src/uts/common/io/rum/rum.c
1599
req->bulk_client_private = (usb_opaque_t)sc;
usr/src/uts/common/io/rum/rum.c
1608
err = usb_pipe_bulk_xfer(sc->sc_rx_pipeh, req, 0);
usr/src/uts/common/io/rum/rum.c
1618
mutex_enter(&sc->rx_lock);
usr/src/uts/common/io/rum/rum.c
1619
sc->rx_queued++;
usr/src/uts/common/io/rum/rum.c
1620
mutex_exit(&sc->rx_lock);
usr/src/uts/common/io/rum/rum.c
1626
rum_init_tx_queue(struct rum_softc *sc)
usr/src/uts/common/io/rum/rum.c
1628
sc->tx_queued = 0;
usr/src/uts/common/io/rum/rum.c
1632
rum_init_rx_queue(struct rum_softc *sc)
usr/src/uts/common/io/rum/rum.c
1636
sc->rx_queued = 0;
usr/src/uts/common/io/rum/rum.c
1639
if (rum_rx_trigger(sc) != 0) {
usr/src/uts/common/io/rum/rum.c
1648
rum_stop(struct rum_softc *sc)
usr/src/uts/common/io/rum/rum.c
1650
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/rum/rum.c
1656
RAL_LOCK(sc);
usr/src/uts/common/io/rum/rum.c
1658
sc->sc_tx_timer = 0;
usr/src/uts/common/io/rum/rum.c
1659
sc->sc_flags &= ~RAL_FLAG_RUNNING; /* STOP */
usr/src/uts/common/io/rum/rum.c
1662
tmp = rum_read(sc, RT2573_TXRX_CSR0);
usr/src/uts/common/io/rum/rum.c
1663
rum_write(sc, RT2573_TXRX_CSR0, tmp | RT2573_DISABLE_RX);
usr/src/uts/common/io/rum/rum.c
1666
rum_write(sc, RT2573_MAC_CSR1, 3);
usr/src/uts/common/io/rum/rum.c
1667
rum_write(sc, RT2573_MAC_CSR1, 0);
usr/src/uts/common/io/rum/rum.c
1669
rum_close_pipes(sc);
usr/src/uts/common/io/rum/rum.c
1671
RAL_UNLOCK(sc);
usr/src/uts/common/io/rum/rum.c
1675
rum_init(struct rum_softc *sc)
usr/src/uts/common/io/rum/rum.c
1677
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/rum/rum.c
1681
rum_stop(sc);
usr/src/uts/common/io/rum/rum.c
1685
rum_write(sc, rum_def_mac[i].reg, rum_def_mac[i].val);
usr/src/uts/common/io/rum/rum.c
1688
rum_write(sc, RT2573_MAC_CSR1, 3);
usr/src/uts/common/io/rum/rum.c
1689
rum_write(sc, RT2573_MAC_CSR1, 0);
usr/src/uts/common/io/rum/rum.c
1693
if (rum_read(sc, RT2573_MAC_CSR12) & 8)
usr/src/uts/common/io/rum/rum.c
1695
rum_write(sc, RT2573_MAC_CSR12, 4); /* force wakeup */
usr/src/uts/common/io/rum/rum.c
1704
if (rum_bbp_init(sc) != 0)
usr/src/uts/common/io/rum/rum.c
1708
rum_select_band(sc, ic->ic_curchan);
usr/src/uts/common/io/rum/rum.c
1709
rum_select_antenna(sc);
usr/src/uts/common/io/rum/rum.c
1710
rum_set_chan(sc, ic->ic_curchan);
usr/src/uts/common/io/rum/rum.c
1713
rum_read_multi(sc, RT2573_STA_CSR0, sc->sta, sizeof (sc->sta));
usr/src/uts/common/io/rum/rum.c
1715
rum_set_macaddr(sc, ic->ic_macaddr);
usr/src/uts/common/io/rum/rum.c
1718
rum_write(sc, RT2573_MAC_CSR1, 4);
usr/src/uts/common/io/rum/rum.c
1720
if (rum_open_pipes(sc) != USB_SUCCESS) {
usr/src/uts/common/io/rum/rum.c
1726
rum_init_tx_queue(sc);
usr/src/uts/common/io/rum/rum.c
1728
if (rum_init_rx_queue(sc) != USB_SUCCESS)
usr/src/uts/common/io/rum/rum.c
1732
tmp = rum_read(sc, RT2573_TXRX_CSR0) & 0xffff;
usr/src/uts/common/io/rum/rum.c
1739
if (!(sc->sc_rcr & RAL_RCR_PROMISC))
usr/src/uts/common/io/rum/rum.c
1743
rum_write(sc, RT2573_TXRX_CSR0, tmp);
usr/src/uts/common/io/rum/rum.c
1744
sc->sc_flags |= RAL_FLAG_RUNNING; /* RUNNING */
usr/src/uts/common/io/rum/rum.c
1748
rum_stop(sc);
usr/src/uts/common/io/rum/rum.c
1755
struct rum_softc *sc;
usr/src/uts/common/io/rum/rum.c
1762
sc = ddi_get_soft_state(rum_soft_state_p, ddi_get_instance(devinfo));
usr/src/uts/common/io/rum/rum.c
1763
ASSERT(sc != NULL);
usr/src/uts/common/io/rum/rum.c
1765
if (!RAL_IS_RUNNING(sc)) /* different device or not inited */
usr/src/uts/common/io/rum/rum.c
1768
ic = &sc->sc_ic;
usr/src/uts/common/io/rum/rum.c
1772
RAL_LOCK(sc);
usr/src/uts/common/io/rum/rum.c
1774
sc->sc_tx_timer = 0;
usr/src/uts/common/io/rum/rum.c
1775
sc->sc_flags &= ~RAL_FLAG_RUNNING; /* STOP */
usr/src/uts/common/io/rum/rum.c
1777
rum_close_pipes(sc);
usr/src/uts/common/io/rum/rum.c
1779
RAL_UNLOCK(sc);
usr/src/uts/common/io/rum/rum.c
1787
struct rum_softc *sc;
usr/src/uts/common/io/rum/rum.c
1790
sc = ddi_get_soft_state(rum_soft_state_p, ddi_get_instance(devinfo));
usr/src/uts/common/io/rum/rum.c
1791
ASSERT(sc != NULL);
usr/src/uts/common/io/rum/rum.c
1794
if (usb_check_same_device(sc->sc_dev, NULL, USB_LOG_L2, -1,
usr/src/uts/common/io/rum/rum.c
1800
err = rum_load_microcode(sc);
usr/src/uts/common/io/rum/rum.c
1806
err = rum_init(sc);
usr/src/uts/common/io/rum/rum.c
1812
rum_resume(struct rum_softc *sc)
usr/src/uts/common/io/rum/rum.c
1817
if (usb_check_same_device(sc->sc_dev, NULL, USB_LOG_L2, -1,
usr/src/uts/common/io/rum/rum.c
1823
err = rum_load_microcode(sc);
usr/src/uts/common/io/rum/rum.c
1829
(void) rum_init(sc);
usr/src/uts/common/io/rum/rum.c
1908
struct rum_softc *sc = (struct rum_softc *)arg;
usr/src/uts/common/io/rum/rum.c
1909
struct rum_amrr *amrr = &sc->amrr;
usr/src/uts/common/io/rum/rum.c
1911
rum_read_multi(sc, RT2573_STA_CSR0, sc->sta, sizeof (sc->sta));
usr/src/uts/common/io/rum/rum.c
1914
sc->sc_tx_err += LE_32(sc->sta[5]) >> 16;
usr/src/uts/common/io/rum/rum.c
1915
sc->sc_tx_retries += ((LE_32(sc->sta[4]) >> 16) +
usr/src/uts/common/io/rum/rum.c
1916
(LE_32(sc->sta[5]) & 0xffff));
usr/src/uts/common/io/rum/rum.c
1919
(LE_32(sc->sta[4]) >> 16) + /* TX one-retry ok count */
usr/src/uts/common/io/rum/rum.c
1920
(LE_32(sc->sta[5]) & 0xffff) + /* TX more-retry ok count */
usr/src/uts/common/io/rum/rum.c
1921
(LE_32(sc->sta[5]) >> 16); /* TX retry-fail count */
usr/src/uts/common/io/rum/rum.c
1925
(LE_32(sc->sta[4]) & 0xffff); /* TX no-retry ok count */
usr/src/uts/common/io/rum/rum.c
1927
rum_ratectl(amrr, sc->sc_ic.ic_bss);
usr/src/uts/common/io/rum/rum.c
1929
sc->sc_amrr_id = timeout(rum_amrr_timeout, (void *)sc,
usr/src/uts/common/io/rum/rum.c
1934
rum_amrr_start(struct rum_softc *sc, struct ieee80211_node *ni)
usr/src/uts/common/io/rum/rum.c
1936
struct rum_amrr *amrr = &sc->amrr;
usr/src/uts/common/io/rum/rum.c
1940
rum_read_multi(sc, RT2573_STA_CSR0, sc->sta, sizeof (sc->sta));
usr/src/uts/common/io/rum/rum.c
1955
sc->sc_amrr_id = timeout(rum_amrr_timeout, (void *)sc,
usr/src/uts/common/io/rum/rum.c
1962
struct rum_softc *sc = arg;
usr/src/uts/common/io/rum/rum.c
1963
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/rum/rum.c
1966
RAL_LOCK(sc);
usr/src/uts/common/io/rum/rum.c
1969
if (!RAL_IS_RUNNING(sc)) {
usr/src/uts/common/io/rum/rum.c
1970
RAL_UNLOCK(sc);
usr/src/uts/common/io/rum/rum.c
1974
if (sc->sc_tx_timer > 0) {
usr/src/uts/common/io/rum/rum.c
1975
if (--sc->sc_tx_timer == 0) {
usr/src/uts/common/io/rum/rum.c
1977
RAL_UNLOCK(sc);
usr/src/uts/common/io/rum/rum.c
1978
(void) rum_init(sc);
usr/src/uts/common/io/rum/rum.c
1987
RAL_UNLOCK(sc);
usr/src/uts/common/io/rum/rum.c
1998
struct rum_softc *sc = (struct rum_softc *)arg;
usr/src/uts/common/io/rum/rum.c
2004
err = rum_init(sc);
usr/src/uts/common/io/rum/rum.c
2009
sc->sc_flags |= RAL_FLAG_RUNNING; /* RUNNING */
usr/src/uts/common/io/rum/rum.c
2013
rum_stop(sc);
usr/src/uts/common/io/rum/rum.c
2020
struct rum_softc *sc = (struct rum_softc *)arg;
usr/src/uts/common/io/rum/rum.c
2022
(void) rum_stop(sc);
usr/src/uts/common/io/rum/rum.c
2023
sc->sc_flags &= ~RAL_FLAG_RUNNING; /* STOP */
usr/src/uts/common/io/rum/rum.c
2029
struct rum_softc *sc = (struct rum_softc *)arg;
usr/src/uts/common/io/rum/rum.c
2030
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/rum/rum.c
2036
(void) rum_set_macaddr(sc, (uint8_t *)macaddr);
usr/src/uts/common/io/rum/rum.c
2037
(void) rum_init(sc);
usr/src/uts/common/io/rum/rum.c
2052
struct rum_softc *sc = (struct rum_softc *)arg;
usr/src/uts/common/io/rum/rum.c
2055
sc->sc_rcr |= RAL_RCR_PROMISC;
usr/src/uts/common/io/rum/rum.c
2056
sc->sc_rcr |= RAL_RCR_MULTI;
usr/src/uts/common/io/rum/rum.c
2058
sc->sc_rcr &= ~RAL_RCR_PROMISC;
usr/src/uts/common/io/rum/rum.c
2059
sc->sc_rcr &= ~RAL_RCR_MULTI;
usr/src/uts/common/io/rum/rum.c
2062
rum_update_promisc(sc);
usr/src/uts/common/io/rum/rum.c
2073
struct rum_softc *sc = (struct rum_softc *)arg;
usr/src/uts/common/io/rum/rum.c
2074
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/rum/rum.c
2079
RAL_LOCK(sc);
usr/src/uts/common/io/rum/rum.c
2081
if (RAL_IS_RUNNING(sc)) {
usr/src/uts/common/io/rum/rum.c
2082
RAL_UNLOCK(sc);
usr/src/uts/common/io/rum/rum.c
2083
(void) rum_init(sc);
usr/src/uts/common/io/rum/rum.c
2085
RAL_LOCK(sc);
usr/src/uts/common/io/rum/rum.c
2089
RAL_UNLOCK(sc);
usr/src/uts/common/io/rum/rum.c
2098
struct rum_softc *sc = (struct rum_softc *)arg;
usr/src/uts/common/io/rum/rum.c
2101
err = ieee80211_getprop(&sc->sc_ic, pr_name, wldp_pr_num,
usr/src/uts/common/io/rum/rum.c
2111
struct rum_softc *sc = (struct rum_softc *)arg;
usr/src/uts/common/io/rum/rum.c
2113
ieee80211_propinfo(&sc->sc_ic, pr_name, wldp_pr_num, prh);
usr/src/uts/common/io/rum/rum.c
2119
struct rum_softc *sc = (struct rum_softc *)arg;
usr/src/uts/common/io/rum/rum.c
2120
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/rum/rum.c
2124
RAL_LOCK(sc);
usr/src/uts/common/io/rum/rum.c
2126
if (RAL_IS_RUNNING(sc)) {
usr/src/uts/common/io/rum/rum.c
2127
RAL_UNLOCK(sc);
usr/src/uts/common/io/rum/rum.c
2128
(void) rum_init(sc);
usr/src/uts/common/io/rum/rum.c
2130
RAL_LOCK(sc);
usr/src/uts/common/io/rum/rum.c
2133
RAL_UNLOCK(sc);
usr/src/uts/common/io/rum/rum.c
2139
struct rum_softc *sc = (struct rum_softc *)arg;
usr/src/uts/common/io/rum/rum.c
2140
ieee80211com_t *ic = &sc->sc_ic;
usr/src/uts/common/io/rum/rum.c
2144
RAL_LOCK(sc);
usr/src/uts/common/io/rum/rum.c
2156
*val = sc->sc_tx_nobuf;
usr/src/uts/common/io/rum/rum.c
2159
*val = sc->sc_rx_nobuf;
usr/src/uts/common/io/rum/rum.c
2162
*val = sc->sc_rx_err;
usr/src/uts/common/io/rum/rum.c
2178
*val = sc->sc_tx_err;
usr/src/uts/common/io/rum/rum.c
2181
*val = sc->sc_tx_retries;
usr/src/uts/common/io/rum/rum.c
2193
RAL_UNLOCK(sc);
usr/src/uts/common/io/rum/rum.c
2196
RAL_UNLOCK(sc);
usr/src/uts/common/io/rum/rum.c
2199
RAL_UNLOCK(sc);
usr/src/uts/common/io/rum/rum.c
2207
struct rum_softc *sc;
usr/src/uts/common/io/rum/rum.c
2222
sc = ddi_get_soft_state(rum_soft_state_p,
usr/src/uts/common/io/rum/rum.c
2224
ASSERT(sc != NULL);
usr/src/uts/common/io/rum/rum.c
2225
rum_resume(sc);
usr/src/uts/common/io/rum/rum.c
2239
sc = ddi_get_soft_state(rum_soft_state_p, instance);
usr/src/uts/common/io/rum/rum.c
2240
ic = (ieee80211com_t *)&sc->sc_ic;
usr/src/uts/common/io/rum/rum.c
2241
sc->sc_dev = devinfo;
usr/src/uts/common/io/rum/rum.c
2249
if (usb_get_dev_data(devinfo, &sc->sc_udev,
usr/src/uts/common/io/rum/rum.c
2251
sc->sc_udev = NULL;
usr/src/uts/common/io/rum/rum.c
2255
mutex_init(&sc->sc_genlock, NULL, MUTEX_DRIVER, NULL);
usr/src/uts/common/io/rum/rum.c
2256
mutex_init(&sc->tx_lock, NULL, MUTEX_DRIVER, NULL);
usr/src/uts/common/io/rum/rum.c
2257
mutex_init(&sc->rx_lock, NULL, MUTEX_DRIVER, NULL);
usr/src/uts/common/io/rum/rum.c
2261
if ((tmp = rum_read(sc, RT2573_MAC_CSR0)) != 0)
usr/src/uts/common/io/rum/rum.c
2272
rum_read_eeprom(sc);
usr/src/uts/common/io/rum/rum.c
2275
tmp, rum_get_rf(sc->rf_rev));
usr/src/uts/common/io/rum/rum.c
2277
err = rum_load_microcode(sc);
usr/src/uts/common/io/rum/rum.c
2302
if (sc->rf_rev == RT2573_RF_5225 || sc->rf_rev == RT2573_RF_5226) {
usr/src/uts/common/io/rum/rum.c
2349
sc->sc_newstate = ic->ic_newstate;
usr/src/uts/common/io/rum/rum.c
2355
sc->sc_rcr = 0;
usr/src/uts/common/io/rum/rum.c
2356
sc->dwelltime = 300;
usr/src/uts/common/io/rum/rum.c
2357
sc->sc_flags = 0;
usr/src/uts/common/io/rum/rum.c
2374
macp->m_driver = sc;
usr/src/uts/common/io/rum/rum.c
2418
mutex_destroy(&sc->sc_genlock);
usr/src/uts/common/io/rum/rum.c
2419
mutex_destroy(&sc->tx_lock);
usr/src/uts/common/io/rum/rum.c
2420
mutex_destroy(&sc->rx_lock);
usr/src/uts/common/io/rum/rum.c
2422
usb_client_detach(sc->sc_dev, sc->sc_udev);
usr/src/uts/common/io/rum/rum.c
2432
struct rum_softc *sc;
usr/src/uts/common/io/rum/rum.c
2434
sc = ddi_get_soft_state(rum_soft_state_p, ddi_get_instance(devinfo));
usr/src/uts/common/io/rum/rum.c
2435
ASSERT(sc != NULL);
usr/src/uts/common/io/rum/rum.c
2441
if (RAL_IS_RUNNING(sc))
usr/src/uts/common/io/rum/rum.c
2442
(void) rum_stop(sc);
usr/src/uts/common/io/rum/rum.c
2448
rum_stop(sc);
usr/src/uts/common/io/rum/rum.c
2454
if (mac_unregister(sc->sc_ic.ic_mach) != 0)
usr/src/uts/common/io/rum/rum.c
2460
ieee80211_detach(&sc->sc_ic);
usr/src/uts/common/io/rum/rum.c
2462
mutex_destroy(&sc->sc_genlock);
usr/src/uts/common/io/rum/rum.c
2463
mutex_destroy(&sc->tx_lock);
usr/src/uts/common/io/rum/rum.c
2464
mutex_destroy(&sc->rx_lock);
usr/src/uts/common/io/rum/rum.c
2467
usb_client_detach(devinfo, sc->sc_udev);
usr/src/uts/common/io/rum/rum.c
2468
sc->sc_udev = NULL;
usr/src/uts/common/io/rum/rum.c
306
rum_read_multi(struct rum_softc *sc, uint16_t reg, void *buf, int len)
usr/src/uts/common/io/rum/rum.c
323
err = usb_pipe_ctrl_xfer_wait(sc->sc_udev->dev_default_ph, &req, &mp,
usr/src/uts/common/io/rum/rum.c
339
rum_read(struct rum_softc *sc, uint16_t reg)
usr/src/uts/common/io/rum/rum.c
343
rum_read_multi(sc, reg, &val, sizeof (val));
usr/src/uts/common/io/rum/rum.c
349
rum_write_multi(struct rum_softc *sc, uint16_t reg, void *buf, size_t len)
usr/src/uts/common/io/rum/rum.c
373
err = usb_pipe_ctrl_xfer_wait(sc->sc_udev->dev_default_ph, &req, &mp,
usr/src/uts/common/io/rum/rum.c
387
rum_write(struct rum_softc *sc, uint16_t reg, uint32_t val)
usr/src/uts/common/io/rum/rum.c
391
rum_write_multi(sc, reg, &tmp, sizeof (tmp));
usr/src/uts/common/io/rum/rum.c
397
rum_load_microcode(struct rum_softc *sc)
usr/src/uts/common/io/rum/rum.c
413
rum_write(sc, reg, UGETDW(ucode));
usr/src/uts/common/io/rum/rum.c
425
err = usb_pipe_ctrl_xfer_wait(sc->sc_udev->dev_default_ph, &req, NULL,
usr/src/uts/common/io/rum/rum.c
442
rum_eeprom_read(struct rum_softc *sc, uint16_t addr, void *buf, int len)
usr/src/uts/common/io/rum/rum.c
458
err = usb_pipe_ctrl_xfer_wait(sc->sc_udev->dev_default_ph, &req, &mp,
usr/src/uts/common/io/rum/rum.c
477
struct rum_softc *sc = (struct rum_softc *)req->bulk_client_private;
usr/src/uts/common/io/rum/rum.c
478
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/rum/rum.c
485
sc->tx_queued);
usr/src/uts/common/io/rum/rum.c
488
sc->sc_tx_err++;
usr/src/uts/common/io/rum/rum.c
490
mutex_enter(&sc->tx_lock);
usr/src/uts/common/io/rum/rum.c
492
sc->tx_queued--;
usr/src/uts/common/io/rum/rum.c
493
sc->sc_tx_timer = 0;
usr/src/uts/common/io/rum/rum.c
495
if (sc->sc_need_sched) {
usr/src/uts/common/io/rum/rum.c
496
sc->sc_need_sched = 0;
usr/src/uts/common/io/rum/rum.c
500
mutex_exit(&sc->tx_lock);
usr/src/uts/common/io/rum/rum.c
508
struct rum_softc *sc = (struct rum_softc *)req->bulk_client_private;
usr/src/uts/common/io/rum/rum.c
509
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/rum/rum.c
527
sc->rx_queued);
usr/src/uts/common/io/rum/rum.c
530
sc->sc_rx_err++;
usr/src/uts/common/io/rum/rum.c
541
sc->sc_rx_err++;
usr/src/uts/common/io/rum/rum.c
554
sc->sc_rx_err++;
usr/src/uts/common/io/rum/rum.c
569
sc->sc_rx_nobuf++;
usr/src/uts/common/io/rum/rum.c
586
mutex_enter(&sc->rx_lock);
usr/src/uts/common/io/rum/rum.c
587
sc->rx_queued--;
usr/src/uts/common/io/rum/rum.c
588
mutex_exit(&sc->rx_lock);
usr/src/uts/common/io/rum/rum.c
593
if (RAL_IS_RUNNING(sc))
usr/src/uts/common/io/rum/rum.c
594
(void) rum_rx_trigger(sc);
usr/src/uts/common/io/rum/rum.c
681
rum_setup_tx_desc(struct rum_softc *sc, struct rum_tx_desc *desc,
usr/src/uts/common/io/rum/rum.c
684
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/rum/rum.c
728
struct rum_softc *sc = (struct rum_softc *)ic;
usr/src/uts/common/io/rum/rum.c
743
if (!RAL_IS_RUNNING(sc)) {
usr/src/uts/common/io/rum/rum.c
748
mutex_enter(&sc->tx_lock);
usr/src/uts/common/io/rum/rum.c
750
if (sc->tx_queued > RAL_TX_LIST_COUNT) {
usr/src/uts/common/io/rum/rum.c
755
sc->sc_need_sched = 1;
usr/src/uts/common/io/rum/rum.c
757
sc->sc_tx_nobuf++;
usr/src/uts/common/io/rum/rum.c
784
sc->sc_tx_err++;
usr/src/uts/common/io/rum/rum.c
797
sc->sc_tx_err++;
usr/src/uts/common/io/rum/rum.c
827
ic->ic_flags) + sc->sifs;
usr/src/uts/common/io/rum/rum.c
837
ic->ic_flags) + sc->sifs;
usr/src/uts/common/io/rum/rum.c
851
rum_setup_tx_desc(sc, desc, flags, 0, pktlen, rate);
usr/src/uts/common/io/rum/rum.c
868
rv = rum_tx_trigger(sc, m);
usr/src/uts/common/io/rum/rum.c
884
mutex_exit(&sc->tx_lock);
usr/src/uts/common/io/rum/rum.c
892
struct rum_softc *sc = (struct rum_softc *)arg;
usr/src/uts/common/io/rum/rum.c
893
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/rum/rum.c
922
rum_bbp_write(struct rum_softc *sc, uint8_t reg, uint8_t val)
usr/src/uts/common/io/rum/rum.c
928
if (!(rum_read(sc, RT2573_PHY_CSR3) & RT2573_BBP_BUSY))
usr/src/uts/common/io/rum/rum.c
938
rum_write(sc, RT2573_PHY_CSR3, tmp);
usr/src/uts/common/io/rum/rum.c
942
rum_bbp_read(struct rum_softc *sc, uint8_t reg)
usr/src/uts/common/io/rum/rum.c
948
if (!(rum_read(sc, RT2573_PHY_CSR3) & RT2573_BBP_BUSY))
usr/src/uts/common/io/rum/rum.c
957
rum_write(sc, RT2573_PHY_CSR3, val);
usr/src/uts/common/io/rum/rum.c
960
val = rum_read(sc, RT2573_PHY_CSR3);
usr/src/uts/common/io/rum/rum.c
971
rum_rf_write(struct rum_softc *sc, uint8_t reg, uint32_t val)
usr/src/uts/common/io/rum/rum.c
977
if (!(rum_read(sc, RT2573_PHY_CSR4) & RT2573_RF_BUSY))
usr/src/uts/common/io/rum/rum.c
988
rum_write(sc, RT2573_PHY_CSR4, tmp);
usr/src/uts/common/io/rum/rum.c
991
sc->rf_regs[reg] = val;
usr/src/uts/common/io/rum/rum.c
997
rum_select_antenna(struct rum_softc *sc)
usr/src/uts/common/io/rum/rum_var.h
132
#define RAL_LOCK(sc) mutex_enter(&(sc)->sc_genlock)
usr/src/uts/common/io/rum/rum_var.h
133
#define RAL_UNLOCK(sc) mutex_exit(&(sc)->sc_genlock)
usr/src/uts/common/io/rwd/rt2661.c
1006
sc->sc_rx_err++;
usr/src/uts/common/io/rwd/rt2661.c
1011
sc->sc_rx_err++;
usr/src/uts/common/io/rwd/rt2661.c
1016
0, sc->sc_dmabuf_size,
usr/src/uts/common/io/rwd/rt2661.c
1023
(pktlen > sc->sc_dmabuf_size)) {
usr/src/uts/common/io/rwd/rt2661.c
1026
sc->sc_rx_err++;
usr/src/uts/common/io/rwd/rt2661.c
1033
sc->sc_rx_nobuf++;
usr/src/uts/common/io/rwd/rt2661.c
1043
rssi = rt2661_get_rssi(sc, desc->rssi);
usr/src/uts/common/io/rwd/rt2661.c
1047
sc->avg_rssi = (rssi + 7 * sc->avg_rssi) / 8;
usr/src/uts/common/io/rwd/rt2661.c
1060
"rx intr idx=%u\n", sc->rxq.cur);
usr/src/uts/common/io/rwd/rt2661.c
1063
mutex_exit(&sc->sc_rxlock);
usr/src/uts/common/io/rwd/rt2661.c
1070
struct rt2661_softc *sc = (struct rt2661_softc *)data;
usr/src/uts/common/io/rwd/rt2661.c
1072
if (sc->sc_rx_pend) {
usr/src/uts/common/io/rwd/rt2661.c
1073
sc->sc_rx_pend = 0;
usr/src/uts/common/io/rwd/rt2661.c
1074
rt2661_rx_intr(sc);
usr/src/uts/common/io/rwd/rt2661.c
1081
rt2661_tx_cmd(struct rt2661_softc *sc, uint8_t cmd, uint16_t arg)
usr/src/uts/common/io/rwd/rt2661.c
1083
if (RT2661_READ(sc, RT2661_H2M_MAILBOX_CSR) & RT2661_H2M_BUSY)
usr/src/uts/common/io/rwd/rt2661.c
1086
RT2661_WRITE(sc, RT2661_H2M_MAILBOX_CSR,
usr/src/uts/common/io/rwd/rt2661.c
1089
RT2661_WRITE(sc, RT2661_HOST_CMD_CSR, RT2661_KICK_CMD | cmd);
usr/src/uts/common/io/rwd/rt2661.c
1095
rt2661_mcu_wakeup(struct rt2661_softc *sc)
usr/src/uts/common/io/rwd/rt2661.c
1097
RT2661_WRITE(sc, RT2661_MAC_CSR11, 5 << 16);
usr/src/uts/common/io/rwd/rt2661.c
1099
RT2661_WRITE(sc, RT2661_SOFT_RESET_CSR, 0x7);
usr/src/uts/common/io/rwd/rt2661.c
1100
RT2661_WRITE(sc, RT2661_IO_CNTL_CSR, 0x18);
usr/src/uts/common/io/rwd/rt2661.c
1101
RT2661_WRITE(sc, RT2661_PCI_USEC_CSR, 0x20);
usr/src/uts/common/io/rwd/rt2661.c
1104
(void) rt2661_tx_cmd(sc, RT2661_MCU_CMD_WAKEUP, 0);
usr/src/uts/common/io/rwd/rt2661.c
1108
rt2661_mcu_cmd_intr(struct rt2661_softc *sc)
usr/src/uts/common/io/rwd/rt2661.c
1110
(void) RT2661_READ(sc, RT2661_M2H_CMD_DONE_CSR);
usr/src/uts/common/io/rwd/rt2661.c
1111
RT2661_WRITE(sc, RT2661_M2H_CMD_DONE_CSR, 0xffffffff);
usr/src/uts/common/io/rwd/rt2661.c
1118
struct rt2661_softc *sc = (struct rt2661_softc *)arg;
usr/src/uts/common/io/rwd/rt2661.c
1121
RT2661_GLOCK(sc);
usr/src/uts/common/io/rwd/rt2661.c
1123
if (!RT2661_IS_RUNNING(sc) || RT2661_IS_SUSPEND(sc)) {
usr/src/uts/common/io/rwd/rt2661.c
1124
RT2661_GUNLOCK(sc);
usr/src/uts/common/io/rwd/rt2661.c
1128
r1 = RT2661_READ(sc, RT2661_INT_SOURCE_CSR);
usr/src/uts/common/io/rwd/rt2661.c
1129
r2 = RT2661_READ(sc, RT2661_MCU_INT_SOURCE_CSR);
usr/src/uts/common/io/rwd/rt2661.c
1131
RT2661_GUNLOCK(sc);
usr/src/uts/common/io/rwd/rt2661.c
1136
RT2661_WRITE(sc, RT2661_INT_MASK_CSR, 0xffffff7f);
usr/src/uts/common/io/rwd/rt2661.c
1137
RT2661_WRITE(sc, RT2661_MCU_INT_MASK_CSR, 0xffffffff);
usr/src/uts/common/io/rwd/rt2661.c
1140
RT2661_WRITE(sc, RT2661_INT_SOURCE_CSR, r1);
usr/src/uts/common/io/rwd/rt2661.c
1141
RT2661_WRITE(sc, RT2661_MCU_INT_SOURCE_CSR, r2);
usr/src/uts/common/io/rwd/rt2661.c
1146
rt2661_tx_dma_intr(sc, &sc->mgtq);
usr/src/uts/common/io/rwd/rt2661.c
1152
sc->sc_rx_pend = 1;
usr/src/uts/common/io/rwd/rt2661.c
1153
(void) ddi_intr_trigger_softint(sc->sc_softintr_hdl, NULL);
usr/src/uts/common/io/rwd/rt2661.c
1159
rt2661_tx_dma_intr(sc, &sc->txq[0]);
usr/src/uts/common/io/rwd/rt2661.c
1165
rt2661_tx_dma_intr(sc, &sc->txq[1]);
usr/src/uts/common/io/rwd/rt2661.c
1171
rt2661_tx_dma_intr(sc, &sc->txq[2]);
usr/src/uts/common/io/rwd/rt2661.c
1177
rt2661_tx_dma_intr(sc, &sc->txq[3]);
usr/src/uts/common/io/rwd/rt2661.c
1183
rt2661_tx_intr(sc);
usr/src/uts/common/io/rwd/rt2661.c
1189
rt2661_mcu_cmd_intr(sc);
usr/src/uts/common/io/rwd/rt2661.c
1195
rt2661_mcu_wakeup(sc);
usr/src/uts/common/io/rwd/rt2661.c
1199
RT2661_WRITE(sc, RT2661_INT_MASK_CSR, 0x0000ff10);
usr/src/uts/common/io/rwd/rt2661.c
1200
RT2661_WRITE(sc, RT2661_MCU_INT_MASK_CSR, 0);
usr/src/uts/common/io/rwd/rt2661.c
1202
RT2661_GUNLOCK(sc);
usr/src/uts/common/io/rwd/rt2661.c
1212
rt2661_get_rssi(struct rt2661_softc *sc, uint8_t raw)
usr/src/uts/common/io/rwd/rt2661.c
1221
if (IEEE80211_IS_CHAN_2GHZ(sc->sc_curchan)) {
usr/src/uts/common/io/rwd/rt2661.c
1222
rssi += sc->rssi_2ghz_corr;
usr/src/uts/common/io/rwd/rt2661.c
1231
rssi += sc->rssi_5ghz_corr;
usr/src/uts/common/io/rwd/rt2661.c
1350
rt2661_setup_tx_desc(struct rt2661_softc *sc, struct rt2661_tx_desc *desc,
usr/src/uts/common/io/rwd/rt2661.c
1353
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/rwd/rt2661.c
1410
struct rt2661_softc *sc = (struct rt2661_softc *)ic;
usr/src/uts/common/io/rwd/rt2661.c
1423
mutex_enter(&sc->sc_txlock);
usr/src/uts/common/io/rwd/rt2661.c
1424
ring = &sc->txq[0];
usr/src/uts/common/io/rwd/rt2661.c
1428
sc->sc_need_sched = 1;
usr/src/uts/common/io/rwd/rt2661.c
1429
sc->sc_tx_nobuf++;
usr/src/uts/common/io/rwd/rt2661.c
1453
sc->sc_tx_err++;
usr/src/uts/common/io/rwd/rt2661.c
1463
sc->sc_tx_err++;
usr/src/uts/common/io/rwd/rt2661.c
1494
rt2661_ack_rate(ic, rate), ic->ic_flags) + sc->sifs;
usr/src/uts/common/io/rwd/rt2661.c
1499
rt2661_setup_tx_desc(sc, desc, flags, 0, pktlen, rate, 0);
usr/src/uts/common/io/rwd/rt2661.c
1517
RT2661_WRITE(sc, RT2661_TX_CNTL_CSR, 1 << 0);
usr/src/uts/common/io/rwd/rt2661.c
1528
mutex_exit(&sc->sc_txlock);
usr/src/uts/common/io/rwd/rt2661.c
1536
struct rt2661_softc *sc = (struct rt2661_softc *)ic;
usr/src/uts/common/io/rwd/rt2661.c
1549
if ((!RT2661_IS_RUNNING(sc)) || RT2661_IS_SUSPEND(sc)) {
usr/src/uts/common/io/rwd/rt2661.c
1554
ring = &sc->mgtq;
usr/src/uts/common/io/rwd/rt2661.c
1558
sc->sc_tx_nobuf++;
usr/src/uts/common/io/rwd/rt2661.c
1582
sc->sc_tx_err++;
usr/src/uts/common/io/rwd/rt2661.c
1590
sc->sc_tx_err++;
usr/src/uts/common/io/rwd/rt2661.c
1611
rate, ic->ic_flags) + sc->sifs;
usr/src/uts/common/io/rwd/rt2661.c
1622
rt2661_setup_tx_desc(sc, desc, flags, 0, pktlen, rate, RT2661_QID_MGT);
usr/src/uts/common/io/rwd/rt2661.c
1640
RT2661_WRITE(sc, RT2661_TX_CNTL_CSR, RT2661_KICK_MGT);
usr/src/uts/common/io/rwd/rt2661.c
1732
rt2661_update_promisc(struct rt2661_softc *sc)
usr/src/uts/common/io/rwd/rt2661.c
1736
tmp = RT2661_READ(sc, RT2661_TXRX_CSR0);
usr/src/uts/common/io/rwd/rt2661.c
1739
if (!(sc->sc_rcr & RT2661_RCR_PROMISC))
usr/src/uts/common/io/rwd/rt2661.c
1742
RT2661_WRITE(sc, RT2661_TXRX_CSR0, tmp);
usr/src/uts/common/io/rwd/rt2661.c
1745
(sc->sc_rcr & RT2661_RCR_PROMISC) ? "entering" : "leaving");
usr/src/uts/common/io/rwd/rt2661.c
1751
struct rt2661_softc *sc = (struct rt2661_softc *)ic;
usr/src/uts/common/io/rwd/rt2661.c
1757
tmp = RT2661_READ(sc, RT2661_MAC_CSR9);
usr/src/uts/common/io/rwd/rt2661.c
1759
RT2661_WRITE(sc, RT2661_MAC_CSR9, tmp);
usr/src/uts/common/io/rwd/rt2661.c
1766
rt2661_set_slottime(struct rt2661_softc *sc)
usr/src/uts/common/io/rwd/rt2661.c
1768
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/rwd/rt2661.c
1774
tmp = RT2661_READ(sc, RT2661_MAC_CSR9);
usr/src/uts/common/io/rwd/rt2661.c
1776
RT2661_WRITE(sc, RT2661_MAC_CSR9, tmp);
usr/src/uts/common/io/rwd/rt2661.c
1788
rt2661_enable_mrr(struct rt2661_softc *sc)
usr/src/uts/common/io/rwd/rt2661.c
1790
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/rwd/rt2661.c
1793
tmp = RT2661_READ(sc, RT2661_TXRX_CSR4);
usr/src/uts/common/io/rwd/rt2661.c
1800
RT2661_WRITE(sc, RT2661_TXRX_CSR4, tmp);
usr/src/uts/common/io/rwd/rt2661.c
1804
rt2661_set_txpreamble(struct rt2661_softc *sc)
usr/src/uts/common/io/rwd/rt2661.c
1808
tmp = RT2661_READ(sc, RT2661_TXRX_CSR4);
usr/src/uts/common/io/rwd/rt2661.c
1811
if (sc->sc_ic.ic_flags & IEEE80211_F_SHPREAMBLE)
usr/src/uts/common/io/rwd/rt2661.c
1814
RT2661_WRITE(sc, RT2661_TXRX_CSR4, tmp);
usr/src/uts/common/io/rwd/rt2661.c
1818
rt2661_set_basicrates(struct rt2661_softc *sc)
usr/src/uts/common/io/rwd/rt2661.c
1820
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/rwd/rt2661.c
1825
RT2661_WRITE(sc, RT2661_TXRX_CSR5, 0x3);
usr/src/uts/common/io/rwd/rt2661.c
1828
RT2661_WRITE(sc, RT2661_TXRX_CSR5, 0x150);
usr/src/uts/common/io/rwd/rt2661.c
1831
RT2661_WRITE(sc, RT2661_TXRX_CSR5, 0xf);
usr/src/uts/common/io/rwd/rt2661.c
1836
rt2661_set_bssid(struct rt2661_softc *sc, const uint8_t *bssid)
usr/src/uts/common/io/rwd/rt2661.c
1841
RT2661_WRITE(sc, RT2661_MAC_CSR4, tmp);
usr/src/uts/common/io/rwd/rt2661.c
1844
RT2661_WRITE(sc, RT2661_MAC_CSR5, tmp);
usr/src/uts/common/io/rwd/rt2661.c
1852
rt2661_enable_tsf_sync(struct rt2661_softc *sc)
usr/src/uts/common/io/rwd/rt2661.c
1854
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/rwd/rt2661.c
1857
tmp = RT2661_READ(sc, RT2661_TXRX_CSR9) & 0xff000000;
usr/src/uts/common/io/rwd/rt2661.c
1866
RT2661_WRITE(sc, RT2661_TXRX_CSR9, tmp);
usr/src/uts/common/io/rwd/rt2661.c
1873
struct rt2661_softc *sc = arg;
usr/src/uts/common/io/rwd/rt2661.c
1874
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/rwd/rt2661.c
1883
struct rt2661_softc *sc = (struct rt2661_softc *)ic;
usr/src/uts/common/io/rwd/rt2661.c
1886
rt2661_amrr_node_init(&sc->amrr, &((struct rt2661_node *)ni)->amn);
usr/src/uts/common/io/rwd/rt2661.c
1899
struct rt2661_softc *sc = arg;
usr/src/uts/common/io/rwd/rt2661.c
1902
rt2661_amrr_choose(&sc->amrr, ni, &rn->amn);
usr/src/uts/common/io/rwd/rt2661.c
1912
rt2661_rx_tune(struct rt2661_softc *sc)
usr/src/uts/common/io/rwd/rt2661.c
1923
if (IEEE80211_IS_CHAN_5GHZ(sc->sc_curchan))
usr/src/uts/common/io/rwd/rt2661.c
1925
if ((IEEE80211_IS_CHAN_2GHZ(sc->sc_curchan) && sc->ext_2ghz_lna) ||
usr/src/uts/common/io/rwd/rt2661.c
1926
(IEEE80211_IS_CHAN_5GHZ(sc->sc_curchan) && sc->ext_5ghz_lna))
usr/src/uts/common/io/rwd/rt2661.c
1930
dbm = sc->avg_rssi;
usr/src/uts/common/io/rwd/rt2661.c
1932
cca = RT2661_READ(sc, RT2661_STA_CSR1) & 0xffff;
usr/src/uts/common/io/rwd/rt2661.c
1939
bbp17 = sc->bbp17; /* current value */
usr/src/uts/common/io/rwd/rt2661.c
1962
if (bbp17 != sc->bbp17) {
usr/src/uts/common/io/rwd/rt2661.c
1964
"BBP17 %x->%x\n", sc->bbp17, bbp17);
usr/src/uts/common/io/rwd/rt2661.c
1965
rt2661_bbp_write(sc, 17, bbp17);
usr/src/uts/common/io/rwd/rt2661.c
1966
sc->bbp17 = bbp17;
usr/src/uts/common/io/rwd/rt2661.c
1977
struct rt2661_softc *sc = arg;
usr/src/uts/common/io/rwd/rt2661.c
1978
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/rwd/rt2661.c
1981
rt2661_iter_func(sc, ic->ic_bss);
usr/src/uts/common/io/rwd/rt2661.c
1986
if (++sc->ncalls & 1)
usr/src/uts/common/io/rwd/rt2661.c
1987
rt2661_rx_tune(sc);
usr/src/uts/common/io/rwd/rt2661.c
1989
sc->sc_rssadapt_id = timeout(rt2661_updatestats, (void *)sc,
usr/src/uts/common/io/rwd/rt2661.c
1996
struct rt2661_softc *sc = (struct rt2661_softc *)ic;
usr/src/uts/common/io/rwd/rt2661.c
2002
RT2661_GLOCK(sc);
usr/src/uts/common/io/rwd/rt2661.c
2005
sc->sc_ostate = ostate;
usr/src/uts/common/io/rwd/rt2661.c
2010
if (sc->sc_scan_id != 0) {
usr/src/uts/common/io/rwd/rt2661.c
2011
(void) untimeout(sc->sc_scan_id);
usr/src/uts/common/io/rwd/rt2661.c
2012
sc->sc_scan_id = 0;
usr/src/uts/common/io/rwd/rt2661.c
2015
if (sc->sc_rssadapt_id) {
usr/src/uts/common/io/rwd/rt2661.c
2016
(void) untimeout(sc->sc_rssadapt_id);
usr/src/uts/common/io/rwd/rt2661.c
2017
sc->sc_rssadapt_id = 0;
usr/src/uts/common/io/rwd/rt2661.c
2024
tmp = RT2661_READ(sc, RT2661_TXRX_CSR9);
usr/src/uts/common/io/rwd/rt2661.c
2025
RT2661_WRITE(sc, RT2661_TXRX_CSR9, tmp & ~0x00ffffff);
usr/src/uts/common/io/rwd/rt2661.c
2029
rt2661_set_chan(sc, ic->ic_curchan);
usr/src/uts/common/io/rwd/rt2661.c
2030
sc->sc_scan_id = timeout(rt2661_next_scan, (void *)sc,
usr/src/uts/common/io/rwd/rt2661.c
2035
rt2661_set_chan(sc, ic->ic_curchan);
usr/src/uts/common/io/rwd/rt2661.c
2038
rt2661_set_chan(sc, ic->ic_curchan);
usr/src/uts/common/io/rwd/rt2661.c
2042
rt2661_set_slottime(sc);
usr/src/uts/common/io/rwd/rt2661.c
2043
rt2661_enable_mrr(sc);
usr/src/uts/common/io/rwd/rt2661.c
2044
rt2661_set_txpreamble(sc);
usr/src/uts/common/io/rwd/rt2661.c
2045
rt2661_set_basicrates(sc);
usr/src/uts/common/io/rwd/rt2661.c
2046
rt2661_set_bssid(sc, ni->in_bssid);
usr/src/uts/common/io/rwd/rt2661.c
2055
sc->ncalls = 0;
usr/src/uts/common/io/rwd/rt2661.c
2056
sc->avg_rssi = -95; /* reset EMA */
usr/src/uts/common/io/rwd/rt2661.c
2057
sc->sc_rssadapt_id = timeout(rt2661_updatestats,
usr/src/uts/common/io/rwd/rt2661.c
2058
(void *)sc, drv_usectohz(200 * 1000));
usr/src/uts/common/io/rwd/rt2661.c
2059
rt2661_enable_tsf_sync(sc);
usr/src/uts/common/io/rwd/rt2661.c
2066
RT2661_GUNLOCK(sc);
usr/src/uts/common/io/rwd/rt2661.c
2068
err = sc->sc_newstate(ic, nstate, arg);
usr/src/uts/common/io/rwd/rt2661.c
2094
rt2661_stop_locked(struct rt2661_softc *sc)
usr/src/uts/common/io/rwd/rt2661.c
2098
if (RT2661_IS_RUNNING(sc)) {
usr/src/uts/common/io/rwd/rt2661.c
2099
sc->sc_tx_timer = 0;
usr/src/uts/common/io/rwd/rt2661.c
2102
RT2661_WRITE(sc, RT2661_TX_CNTL_CSR, 0x1f << 16);
usr/src/uts/common/io/rwd/rt2661.c
2105
tmp = RT2661_READ(sc, RT2661_TXRX_CSR0);
usr/src/uts/common/io/rwd/rt2661.c
2106
RT2661_WRITE(sc, RT2661_TXRX_CSR0, tmp | RT2661_DISABLE_RX);
usr/src/uts/common/io/rwd/rt2661.c
2109
RT2661_WRITE(sc, RT2661_MAC_CSR1, 3);
usr/src/uts/common/io/rwd/rt2661.c
2110
RT2661_WRITE(sc, RT2661_MAC_CSR1, 0);
usr/src/uts/common/io/rwd/rt2661.c
2113
RT2661_WRITE(sc, RT2661_INT_MASK_CSR, 0xffffff7f);
usr/src/uts/common/io/rwd/rt2661.c
2114
RT2661_WRITE(sc, RT2661_MCU_INT_MASK_CSR, 0xffffffff);
usr/src/uts/common/io/rwd/rt2661.c
2117
RT2661_WRITE(sc, RT2661_INT_SOURCE_CSR, 0xffffffff);
usr/src/uts/common/io/rwd/rt2661.c
2118
RT2661_WRITE(sc, RT2661_MCU_INT_SOURCE_CSR, 0xffffffff);
usr/src/uts/common/io/rwd/rt2661.c
2121
rt2661_reset_tx_ring(sc, &sc->txq[0]);
usr/src/uts/common/io/rwd/rt2661.c
2122
rt2661_reset_tx_ring(sc, &sc->txq[1]);
usr/src/uts/common/io/rwd/rt2661.c
2123
rt2661_reset_tx_ring(sc, &sc->txq[2]);
usr/src/uts/common/io/rwd/rt2661.c
2124
rt2661_reset_tx_ring(sc, &sc->txq[3]);
usr/src/uts/common/io/rwd/rt2661.c
2125
rt2661_reset_tx_ring(sc, &sc->mgtq);
usr/src/uts/common/io/rwd/rt2661.c
2126
rt2661_reset_rx_ring(sc, &sc->rxq);
usr/src/uts/common/io/rwd/rt2661.c
2131
rt2661_set_macaddr(struct rt2661_softc *sc, const uint8_t *addr)
usr/src/uts/common/io/rwd/rt2661.c
2136
RT2661_WRITE(sc, RT2661_MAC_CSR2, tmp);
usr/src/uts/common/io/rwd/rt2661.c
2139
RT2661_WRITE(sc, RT2661_MAC_CSR3, tmp);
usr/src/uts/common/io/rwd/rt2661.c
2143
rt2661_bbp_read(struct rt2661_softc *sc, uint8_t reg)
usr/src/uts/common/io/rwd/rt2661.c
2149
if (!(RT2661_READ(sc, RT2661_PHY_CSR3) & RT2661_BBP_BUSY))
usr/src/uts/common/io/rwd/rt2661.c
2160
RT2661_WRITE(sc, RT2661_PHY_CSR3, val);
usr/src/uts/common/io/rwd/rt2661.c
2163
val = RT2661_READ(sc, RT2661_PHY_CSR3);
usr/src/uts/common/io/rwd/rt2661.c
2175
rt2661_bbp_init(struct rt2661_softc *sc)
usr/src/uts/common/io/rwd/rt2661.c
2184
val = rt2661_bbp_read(sc, 0);
usr/src/uts/common/io/rwd/rt2661.c
2197
rt2661_bbp_write(sc, rt2661_def_bbp[i].reg,
usr/src/uts/common/io/rwd/rt2661.c
2203
if (sc->bbp_prom[i].reg == 0)
usr/src/uts/common/io/rwd/rt2661.c
2205
rt2661_bbp_write(sc, sc->bbp_prom[i].reg, sc->bbp_prom[i].val);
usr/src/uts/common/io/rwd/rt2661.c
2213
rt2661_bbp_write(struct rt2661_softc *sc, uint8_t reg, uint8_t val)
usr/src/uts/common/io/rwd/rt2661.c
2219
if (!(RT2661_READ(sc, RT2661_PHY_CSR3) & RT2661_BBP_BUSY))
usr/src/uts/common/io/rwd/rt2661.c
2230
RT2661_WRITE(sc, RT2661_PHY_CSR3, tmp);
usr/src/uts/common/io/rwd/rt2661.c
2241
rt2661_select_band(struct rt2661_softc *sc, struct ieee80211_channel *c)
usr/src/uts/common/io/rwd/rt2661.c
2253
if ((IEEE80211_IS_CHAN_2GHZ(c) && sc->ext_2ghz_lna) ||
usr/src/uts/common/io/rwd/rt2661.c
2254
(IEEE80211_IS_CHAN_5GHZ(c) && sc->ext_5ghz_lna)) {
usr/src/uts/common/io/rwd/rt2661.c
2258
sc->bbp17 = bbp17;
usr/src/uts/common/io/rwd/rt2661.c
2259
rt2661_bbp_write(sc, 17, bbp17);
usr/src/uts/common/io/rwd/rt2661.c
2260
rt2661_bbp_write(sc, 96, bbp96);
usr/src/uts/common/io/rwd/rt2661.c
2261
rt2661_bbp_write(sc, 104, bbp104);
usr/src/uts/common/io/rwd/rt2661.c
2263
if ((IEEE80211_IS_CHAN_2GHZ(c) && sc->ext_2ghz_lna) ||
usr/src/uts/common/io/rwd/rt2661.c
2264
(IEEE80211_IS_CHAN_5GHZ(c) && sc->ext_5ghz_lna)) {
usr/src/uts/common/io/rwd/rt2661.c
2265
rt2661_bbp_write(sc, 75, 0x80);
usr/src/uts/common/io/rwd/rt2661.c
2266
rt2661_bbp_write(sc, 86, 0x80);
usr/src/uts/common/io/rwd/rt2661.c
2267
rt2661_bbp_write(sc, 88, 0x80);
usr/src/uts/common/io/rwd/rt2661.c
2270
rt2661_bbp_write(sc, 35, bbp35);
usr/src/uts/common/io/rwd/rt2661.c
2271
rt2661_bbp_write(sc, 97, bbp97);
usr/src/uts/common/io/rwd/rt2661.c
2272
rt2661_bbp_write(sc, 98, bbp98);
usr/src/uts/common/io/rwd/rt2661.c
2274
tmp = RT2661_READ(sc, RT2661_PHY_CSR0);
usr/src/uts/common/io/rwd/rt2661.c
2280
RT2661_WRITE(sc, RT2661_PHY_CSR0, tmp);
usr/src/uts/common/io/rwd/rt2661.c
2283
sc->sifs = IEEE80211_IS_CHAN_5GHZ(c) ? 16 : 10;
usr/src/uts/common/io/rwd/rt2661.c
2287
rt2661_select_antenna(struct rt2661_softc *sc)
usr/src/uts/common/io/rwd/rt2661.c
2292
bbp4 = rt2661_bbp_read(sc, 4);
usr/src/uts/common/io/rwd/rt2661.c
2293
bbp77 = rt2661_bbp_read(sc, 77);
usr/src/uts/common/io/rwd/rt2661.c
2298
tmp = RT2661_READ(sc, RT2661_TXRX_CSR0);
usr/src/uts/common/io/rwd/rt2661.c
2299
RT2661_WRITE(sc, RT2661_TXRX_CSR0, tmp | RT2661_DISABLE_RX);
usr/src/uts/common/io/rwd/rt2661.c
2301
rt2661_bbp_write(sc, 4, bbp4);
usr/src/uts/common/io/rwd/rt2661.c
2302
rt2661_bbp_write(sc, 77, bbp77);
usr/src/uts/common/io/rwd/rt2661.c
2305
RT2661_WRITE(sc, RT2661_TXRX_CSR0, tmp);
usr/src/uts/common/io/rwd/rt2661.c
2309
rt2661_rf_write(struct rt2661_softc *sc, uint8_t reg, uint32_t val)
usr/src/uts/common/io/rwd/rt2661.c
2315
if (!(RT2661_READ(sc, RT2661_PHY_CSR4) & RT2661_RF_BUSY))
usr/src/uts/common/io/rwd/rt2661.c
2327
RT2661_WRITE(sc, RT2661_PHY_CSR4, tmp);
usr/src/uts/common/io/rwd/rt2661.c
2330
sc->rf_regs[reg] = val;
usr/src/uts/common/io/rwd/rt2661.c
2337
rt2661_set_chan(struct rt2661_softc *sc, struct ieee80211_channel *c)
usr/src/uts/common/io/rwd/rt2661.c
2339
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/rwd/rt2661.c
2350
rfprog = (sc->rfprog == 0) ? rt2661_rf5225_1 : rt2661_rf5225_2;
usr/src/uts/common/io/rwd/rt2661.c
2357
power = sc->txpow[i];
usr/src/uts/common/io/rwd/rt2661.c
2370
if (ic->ic_flags != sc->sc_curchan->ich_flags) {
usr/src/uts/common/io/rwd/rt2661.c
2371
rt2661_select_band(sc, c);
usr/src/uts/common/io/rwd/rt2661.c
2372
rt2661_select_antenna(sc);
usr/src/uts/common/io/rwd/rt2661.c
2374
sc->sc_curchan = c;
usr/src/uts/common/io/rwd/rt2661.c
2376
rt2661_rf_write(sc, RT2661_RF1, rfprog[i].r1);
usr/src/uts/common/io/rwd/rt2661.c
2377
rt2661_rf_write(sc, RT2661_RF2, rfprog[i].r2);
usr/src/uts/common/io/rwd/rt2661.c
2378
rt2661_rf_write(sc, RT2661_RF3, rfprog[i].r3 | power << 7);
usr/src/uts/common/io/rwd/rt2661.c
2379
rt2661_rf_write(sc, RT2661_RF4, rfprog[i].r4 | sc->rffreq << 10);
usr/src/uts/common/io/rwd/rt2661.c
2383
rt2661_rf_write(sc, RT2661_RF1, rfprog[i].r1);
usr/src/uts/common/io/rwd/rt2661.c
2384
rt2661_rf_write(sc, RT2661_RF2, rfprog[i].r2);
usr/src/uts/common/io/rwd/rt2661.c
2385
rt2661_rf_write(sc, RT2661_RF3, rfprog[i].r3 | power << 7 | 1);
usr/src/uts/common/io/rwd/rt2661.c
2386
rt2661_rf_write(sc, RT2661_RF4, rfprog[i].r4 | sc->rffreq << 10);
usr/src/uts/common/io/rwd/rt2661.c
2390
rt2661_rf_write(sc, RT2661_RF1, rfprog[i].r1);
usr/src/uts/common/io/rwd/rt2661.c
2391
rt2661_rf_write(sc, RT2661_RF2, rfprog[i].r2);
usr/src/uts/common/io/rwd/rt2661.c
2392
rt2661_rf_write(sc, RT2661_RF3, rfprog[i].r3 | power << 7);
usr/src/uts/common/io/rwd/rt2661.c
2393
rt2661_rf_write(sc, RT2661_RF4, rfprog[i].r4 | sc->rffreq << 10);
usr/src/uts/common/io/rwd/rt2661.c
2396
bbp3 = rt2661_bbp_read(sc, 3);
usr/src/uts/common/io/rwd/rt2661.c
2399
if (sc->rf_rev == RT2661_RF_5325 || sc->rf_rev == RT2661_RF_2529)
usr/src/uts/common/io/rwd/rt2661.c
2402
rt2661_bbp_write(sc, 3, bbp3);
usr/src/uts/common/io/rwd/rt2661.c
2405
rt2661_bbp_write(sc, 94, bbp94);
usr/src/uts/common/io/rwd/rt2661.c
2413
rt2661_init(struct rt2661_softc *sc)
usr/src/uts/common/io/rwd/rt2661.c
2417
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/rwd/rt2661.c
2421
RT2661_GLOCK(sc);
usr/src/uts/common/io/rwd/rt2661.c
2423
rt2661_stop_locked(sc);
usr/src/uts/common/io/rwd/rt2661.c
2425
if (!RT2661_IS_FWLOADED(sc)) {
usr/src/uts/common/io/rwd/rt2661.c
2426
err = rt2661_load_microcode(sc, ucode, usize);
usr/src/uts/common/io/rwd/rt2661.c
2432
sc->sc_flags |= RT2661_F_FWLOADED;
usr/src/uts/common/io/rwd/rt2661.c
2436
RT2661_WRITE(sc, RT2661_AC1_BASE_CSR, sc->txq[1].paddr);
usr/src/uts/common/io/rwd/rt2661.c
2437
RT2661_WRITE(sc, RT2661_AC0_BASE_CSR, sc->txq[0].paddr);
usr/src/uts/common/io/rwd/rt2661.c
2438
RT2661_WRITE(sc, RT2661_AC2_BASE_CSR, sc->txq[2].paddr);
usr/src/uts/common/io/rwd/rt2661.c
2439
RT2661_WRITE(sc, RT2661_AC3_BASE_CSR, sc->txq[3].paddr);
usr/src/uts/common/io/rwd/rt2661.c
2442
RT2661_WRITE(sc, RT2661_MGT_BASE_CSR, sc->mgtq.paddr);
usr/src/uts/common/io/rwd/rt2661.c
2445
RT2661_WRITE(sc, RT2661_RX_BASE_CSR, sc->rxq.paddr);
usr/src/uts/common/io/rwd/rt2661.c
2448
RT2661_WRITE(sc, RT2661_TX_RING_CSR0,
usr/src/uts/common/io/rwd/rt2661.c
2454
RT2661_WRITE(sc, RT2661_TX_RING_CSR1,
usr/src/uts/common/io/rwd/rt2661.c
2460
RT2661_WRITE(sc, RT2661_RX_RING_CSR,
usr/src/uts/common/io/rwd/rt2661.c
2466
RT2661_WRITE(sc, RT2661_TX_DMA_DST_CSR, 0xaa);
usr/src/uts/common/io/rwd/rt2661.c
2469
RT2661_WRITE(sc, RT2661_LOAD_TX_RING_CSR, 0x1f);
usr/src/uts/common/io/rwd/rt2661.c
2472
RT2661_WRITE(sc, RT2661_RX_CNTL_CSR, 2);
usr/src/uts/common/io/rwd/rt2661.c
2476
RT2661_WRITE(sc, rt2661_def_mac[i].reg, rt2661_def_mac[i].val);
usr/src/uts/common/io/rwd/rt2661.c
2478
rt2661_set_macaddr(sc, ic->ic_macaddr);
usr/src/uts/common/io/rwd/rt2661.c
2481
RT2661_WRITE(sc, RT2661_MAC_CSR1, 3);
usr/src/uts/common/io/rwd/rt2661.c
2482
RT2661_WRITE(sc, RT2661_MAC_CSR1, 0);
usr/src/uts/common/io/rwd/rt2661.c
2486
if (RT2661_READ(sc, RT2661_MAC_CSR12) & 8)
usr/src/uts/common/io/rwd/rt2661.c
2493
rt2661_stop_locked(sc);
usr/src/uts/common/io/rwd/rt2661.c
2494
RT2661_GUNLOCK(sc);
usr/src/uts/common/io/rwd/rt2661.c
2498
if (rt2661_bbp_init(sc) != RT2661_SUCCESS) {
usr/src/uts/common/io/rwd/rt2661.c
2499
rt2661_stop_locked(sc);
usr/src/uts/common/io/rwd/rt2661.c
2500
RT2661_GUNLOCK(sc);
usr/src/uts/common/io/rwd/rt2661.c
2505
sc->sc_curchan = ic->ic_bss->in_chan = ic->ic_curchan;
usr/src/uts/common/io/rwd/rt2661.c
2506
rt2661_select_band(sc, sc->sc_curchan);
usr/src/uts/common/io/rwd/rt2661.c
2507
rt2661_select_antenna(sc);
usr/src/uts/common/io/rwd/rt2661.c
2508
rt2661_set_chan(sc, sc->sc_curchan);
usr/src/uts/common/io/rwd/rt2661.c
2511
tmp = RT2661_READ(sc, RT2661_TXRX_CSR0) & 0xffff;
usr/src/uts/common/io/rwd/rt2661.c
2519
if (!(sc->sc_rcr & RT2661_RCR_PROMISC))
usr/src/uts/common/io/rwd/rt2661.c
2523
RT2661_WRITE(sc, RT2661_TXRX_CSR0, tmp);
usr/src/uts/common/io/rwd/rt2661.c
2529
*fptr = RT2661_MEM_READ1(sc, off++);
usr/src/uts/common/io/rwd/rt2661.c
2533
RT2661_WRITE(sc, RT2661_MAC_CSR1, 4);
usr/src/uts/common/io/rwd/rt2661.c
2536
RT2661_WRITE(sc, RT2661_INT_SOURCE_CSR, 0xffffffff);
usr/src/uts/common/io/rwd/rt2661.c
2539
RT2661_WRITE(sc, RT2661_INT_MASK_CSR, 0x0000ff10);
usr/src/uts/common/io/rwd/rt2661.c
2540
RT2661_WRITE(sc, RT2661_MCU_INT_MASK_CSR, 0);
usr/src/uts/common/io/rwd/rt2661.c
2543
RT2661_WRITE(sc, RT2661_RX_CNTL_CSR, 1);
usr/src/uts/common/io/rwd/rt2661.c
2544
RT2661_GUNLOCK(sc);
usr/src/uts/common/io/rwd/rt2661.c
2551
rt2661_stop(struct rt2661_softc *sc)
usr/src/uts/common/io/rwd/rt2661.c
2553
if (!RT2661_IS_FASTREBOOT(sc))
usr/src/uts/common/io/rwd/rt2661.c
2554
RT2661_GLOCK(sc);
usr/src/uts/common/io/rwd/rt2661.c
2555
rt2661_stop_locked(sc);
usr/src/uts/common/io/rwd/rt2661.c
2556
if (!RT2661_IS_FASTREBOOT(sc))
usr/src/uts/common/io/rwd/rt2661.c
2557
RT2661_GUNLOCK(sc);
usr/src/uts/common/io/rwd/rt2661.c
2563
struct rt2661_softc *sc = (struct rt2661_softc *)arg;
usr/src/uts/common/io/rwd/rt2661.c
2564
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/rwd/rt2661.c
2567
err = rt2661_init(sc);
usr/src/uts/common/io/rwd/rt2661.c
2576
RT2661_GLOCK(sc);
usr/src/uts/common/io/rwd/rt2661.c
2577
sc->sc_flags |= RT2661_F_RUNNING;
usr/src/uts/common/io/rwd/rt2661.c
2578
RT2661_GUNLOCK(sc);
usr/src/uts/common/io/rwd/rt2661.c
2582
rt2661_stop(sc);
usr/src/uts/common/io/rwd/rt2661.c
2589
struct rt2661_softc *sc = (struct rt2661_softc *)arg;
usr/src/uts/common/io/rwd/rt2661.c
2591
(void) rt2661_stop(sc);
usr/src/uts/common/io/rwd/rt2661.c
2593
ieee80211_new_state(&sc->sc_ic, IEEE80211_S_INIT, -1);
usr/src/uts/common/io/rwd/rt2661.c
2595
RT2661_GLOCK(sc);
usr/src/uts/common/io/rwd/rt2661.c
2596
sc->sc_flags &= ~RT2661_F_RUNNING;
usr/src/uts/common/io/rwd/rt2661.c
2597
RT2661_GUNLOCK(sc);
usr/src/uts/common/io/rwd/rt2661.c
2603
struct rt2661_softc *sc = (struct rt2661_softc *)arg;
usr/src/uts/common/io/rwd/rt2661.c
2604
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/rwd/rt2661.c
2608
RT2661_GLOCK(sc);
usr/src/uts/common/io/rwd/rt2661.c
2611
if (RT2661_IS_RUNNING(sc)) {
usr/src/uts/common/io/rwd/rt2661.c
2612
RT2661_GUNLOCK(sc);
usr/src/uts/common/io/rwd/rt2661.c
2613
(void) rt2661_init(sc);
usr/src/uts/common/io/rwd/rt2661.c
2616
RT2661_GLOCK(sc);
usr/src/uts/common/io/rwd/rt2661.c
2620
RT2661_GUNLOCK(sc);
usr/src/uts/common/io/rwd/rt2661.c
2630
struct rt2661_softc *sc = (struct rt2661_softc *)arg;
usr/src/uts/common/io/rwd/rt2661.c
2633
err = ieee80211_getprop(&sc->sc_ic, pr_name, wldp_pr_num,
usr/src/uts/common/io/rwd/rt2661.c
2643
struct rt2661_softc *sc = (struct rt2661_softc *)arg;
usr/src/uts/common/io/rwd/rt2661.c
2645
ieee80211_propinfo(&sc->sc_ic, pr_name, wldp_pr_num, mph);
usr/src/uts/common/io/rwd/rt2661.c
2652
struct rt2661_softc *sc = (struct rt2661_softc *)arg;
usr/src/uts/common/io/rwd/rt2661.c
2653
ieee80211com_t *ic = &sc->sc_ic;
usr/src/uts/common/io/rwd/rt2661.c
2658
RT2661_GLOCK(sc);
usr/src/uts/common/io/rwd/rt2661.c
2661
if (RT2661_IS_RUNNING(sc)) {
usr/src/uts/common/io/rwd/rt2661.c
2662
RT2661_GUNLOCK(sc);
usr/src/uts/common/io/rwd/rt2661.c
2663
(void) rt2661_init(sc);
usr/src/uts/common/io/rwd/rt2661.c
2666
RT2661_GLOCK(sc);
usr/src/uts/common/io/rwd/rt2661.c
2671
RT2661_GUNLOCK(sc);
usr/src/uts/common/io/rwd/rt2661.c
2678
struct rt2661_softc *sc = (struct rt2661_softc *)arg;
usr/src/uts/common/io/rwd/rt2661.c
2679
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/rwd/rt2661.c
2682
if (RT2661_IS_SUSPEND(sc)) {
usr/src/uts/common/io/rwd/rt2661.c
2730
struct rt2661_softc *sc = (struct rt2661_softc *)arg;
usr/src/uts/common/io/rwd/rt2661.c
2733
sc->sc_rcr |= RT2661_RCR_PROMISC;
usr/src/uts/common/io/rwd/rt2661.c
2734
sc->sc_rcr |= RT2661_RCR_MULTI;
usr/src/uts/common/io/rwd/rt2661.c
2736
sc->sc_rcr &= ~RT2661_RCR_PROMISC;
usr/src/uts/common/io/rwd/rt2661.c
2737
sc->sc_rcr &= ~RT2661_RCR_MULTI;
usr/src/uts/common/io/rwd/rt2661.c
2740
rt2661_update_promisc(sc);
usr/src/uts/common/io/rwd/rt2661.c
2747
struct rt2661_softc *sc = (struct rt2661_softc *)arg;
usr/src/uts/common/io/rwd/rt2661.c
2748
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/rwd/rt2661.c
2752
RT2661_GLOCK(sc);
usr/src/uts/common/io/rwd/rt2661.c
2760
*val = sc->sc_tx_nobuf;
usr/src/uts/common/io/rwd/rt2661.c
2763
*val = sc->sc_rx_nobuf;
usr/src/uts/common/io/rwd/rt2661.c
2766
*val = sc->sc_rx_err;
usr/src/uts/common/io/rwd/rt2661.c
2782
*val = sc->sc_tx_err;
usr/src/uts/common/io/rwd/rt2661.c
2785
*val = sc->sc_tx_retries;
usr/src/uts/common/io/rwd/rt2661.c
2797
RT2661_GUNLOCK(sc);
usr/src/uts/common/io/rwd/rt2661.c
2800
RT2661_GUNLOCK(sc);
usr/src/uts/common/io/rwd/rt2661.c
2803
RT2661_GUNLOCK(sc);
usr/src/uts/common/io/rwd/rt2661.c
2811
struct rt2661_softc *sc;
usr/src/uts/common/io/rwd/rt2661.c
2828
sc = ddi_get_soft_state(rt2661_soft_state_p,
usr/src/uts/common/io/rwd/rt2661.c
2830
ASSERT(sc != NULL);
usr/src/uts/common/io/rwd/rt2661.c
2831
RT2661_GLOCK(sc);
usr/src/uts/common/io/rwd/rt2661.c
2832
sc->sc_flags &= ~RT2661_F_SUSPEND;
usr/src/uts/common/io/rwd/rt2661.c
2833
RT2661_GUNLOCK(sc);
usr/src/uts/common/io/rwd/rt2661.c
2834
if (RT2661_IS_RUNNING(sc))
usr/src/uts/common/io/rwd/rt2661.c
2835
(void) rt2661_init(sc);
usr/src/uts/common/io/rwd/rt2661.c
2852
sc = ddi_get_soft_state(rt2661_soft_state_p, instance);
usr/src/uts/common/io/rwd/rt2661.c
2853
ic = (struct ieee80211com *)&sc->sc_ic;
usr/src/uts/common/io/rwd/rt2661.c
2854
sc->sc_dev = devinfo;
usr/src/uts/common/io/rwd/rt2661.c
2857
err = ddi_regs_map_setup(devinfo, 0, &sc->sc_cfg_base, 0, 0,
usr/src/uts/common/io/rwd/rt2661.c
2858
&rt2661_csr_accattr, &sc->sc_cfg_handle);
usr/src/uts/common/io/rwd/rt2661.c
2865
cachelsz = ddi_get8(sc->sc_cfg_handle,
usr/src/uts/common/io/rwd/rt2661.c
2866
(uint8_t *)(sc->sc_cfg_base + PCI_CONF_CACHE_LINESZ));
usr/src/uts/common/io/rwd/rt2661.c
2869
sc->sc_cachelsz = cachelsz << 2;
usr/src/uts/common/io/rwd/rt2661.c
2870
sc->sc_dmabuf_size = roundup(IEEE80211_MAX_LEN, sc->sc_cachelsz);
usr/src/uts/common/io/rwd/rt2661.c
2872
vendor_id = ddi_get16(sc->sc_cfg_handle,
usr/src/uts/common/io/rwd/rt2661.c
2873
(uint16_t *)((uintptr_t)(sc->sc_cfg_base) + PCI_CONF_VENID));
usr/src/uts/common/io/rwd/rt2661.c
2874
device_id = ddi_get16(sc->sc_cfg_handle,
usr/src/uts/common/io/rwd/rt2661.c
2875
(uint16_t *)((uintptr_t)(sc->sc_cfg_base) + PCI_CONF_DEVID));
usr/src/uts/common/io/rwd/rt2661.c
2885
ddi_put16(sc->sc_cfg_handle,
usr/src/uts/common/io/rwd/rt2661.c
2886
(uint16_t *)((uintptr_t)(sc->sc_cfg_base) + PCI_CONF_COMM),
usr/src/uts/common/io/rwd/rt2661.c
2888
ddi_put8(sc->sc_cfg_handle,
usr/src/uts/common/io/rwd/rt2661.c
2889
(uint8_t *)(sc->sc_cfg_base + PCI_CONF_LATENCY_TIMER), 0xa8);
usr/src/uts/common/io/rwd/rt2661.c
2890
ddi_put8(sc->sc_cfg_handle,
usr/src/uts/common/io/rwd/rt2661.c
2891
(uint8_t *)(sc->sc_cfg_base + PCI_CONF_ILINE), 0x10);
usr/src/uts/common/io/rwd/rt2661.c
2895
&sc->sc_io_base, 0, 0, &rt2661_csr_accattr, &sc->sc_io_handle);
usr/src/uts/common/io/rwd/rt2661.c
2918
sc->sc_intr_htable = kmem_zalloc(sizeof (ddi_intr_handle_t), KM_SLEEP);
usr/src/uts/common/io/rwd/rt2661.c
2920
err = ddi_intr_alloc(devinfo, sc->sc_intr_htable,
usr/src/uts/common/io/rwd/rt2661.c
2928
err = ddi_intr_get_pri(sc->sc_intr_htable[0], &sc->sc_intr_pri);
usr/src/uts/common/io/rwd/rt2661.c
2935
sc->amrr.amrr_min_success_threshold = 1;
usr/src/uts/common/io/rwd/rt2661.c
2936
sc->amrr.amrr_max_success_threshold = 15;
usr/src/uts/common/io/rwd/rt2661.c
2940
if ((val = RT2661_READ(sc, RT2661_MAC_CSR0)) != 0)
usr/src/uts/common/io/rwd/rt2661.c
2951
rt2661_read_eeprom(sc);
usr/src/uts/common/io/rwd/rt2661.c
2956
rt2661_get_rf(sc->rf_rev),
usr/src/uts/common/io/rwd/rt2661.c
2978
err = rt2661_load_microcode(sc, ucode, usize);
usr/src/uts/common/io/rwd/rt2661.c
2985
sc->sc_flags = 0;
usr/src/uts/common/io/rwd/rt2661.c
2986
sc->sc_flags |= RT2661_F_FWLOADED;
usr/src/uts/common/io/rwd/rt2661.c
2992
err = rt2661_alloc_tx_ring(sc, &sc->txq[ac],
usr/src/uts/common/io/rwd/rt2661.c
3001
err = rt2661_alloc_tx_ring(sc, &sc->mgtq, RT2661_MGT_RING_COUNT);
usr/src/uts/common/io/rwd/rt2661.c
3008
err = rt2661_alloc_rx_ring(sc, &sc->rxq, RT2661_RX_RING_COUNT);
usr/src/uts/common/io/rwd/rt2661.c
3015
mutex_init(&sc->sc_genlock, NULL, MUTEX_DRIVER, NULL);
usr/src/uts/common/io/rwd/rt2661.c
3016
mutex_init(&sc->sc_txlock, NULL, MUTEX_DRIVER, NULL);
usr/src/uts/common/io/rwd/rt2661.c
3017
mutex_init(&sc->sc_rxlock, NULL, MUTEX_DRIVER, NULL);
usr/src/uts/common/io/rwd/rt2661.c
3059
sc->sc_newstate = ic->ic_newstate;
usr/src/uts/common/io/rwd/rt2661.c
3064
err = ddi_intr_add_softint(devinfo, &sc->sc_softintr_hdl,
usr/src/uts/common/io/rwd/rt2661.c
3065
DDI_INTR_SOFTPRI_MAX, rt2661_softintr, (caddr_t)sc);
usr/src/uts/common/io/rwd/rt2661.c
3072
err = ddi_intr_add_handler(sc->sc_intr_htable[0], rt2661_intr,
usr/src/uts/common/io/rwd/rt2661.c
3073
(caddr_t)sc, NULL);
usr/src/uts/common/io/rwd/rt2661.c
3080
err = ddi_intr_enable(sc->sc_intr_htable[0]);
usr/src/uts/common/io/rwd/rt2661.c
3102
macp->m_driver = sc;
usr/src/uts/common/io/rwd/rt2661.c
3137
(void) ddi_intr_disable(sc->sc_intr_htable[0]);
usr/src/uts/common/io/rwd/rt2661.c
3139
(void) ddi_intr_remove_handler(sc->sc_intr_htable[0]);
usr/src/uts/common/io/rwd/rt2661.c
3141
(void) ddi_intr_remove_softint(sc->sc_softintr_hdl);
usr/src/uts/common/io/rwd/rt2661.c
3142
sc->sc_softintr_hdl = NULL;
usr/src/uts/common/io/rwd/rt2661.c
3144
mutex_destroy(&sc->sc_genlock);
usr/src/uts/common/io/rwd/rt2661.c
3145
mutex_destroy(&sc->sc_txlock);
usr/src/uts/common/io/rwd/rt2661.c
3146
mutex_destroy(&sc->sc_rxlock);
usr/src/uts/common/io/rwd/rt2661.c
3148
rt2661_free_rx_ring(sc, &sc->rxq);
usr/src/uts/common/io/rwd/rt2661.c
3150
rt2661_free_tx_ring(sc, &sc->mgtq);
usr/src/uts/common/io/rwd/rt2661.c
3153
rt2661_free_tx_ring(sc, &sc->txq[ac]);
usr/src/uts/common/io/rwd/rt2661.c
3155
(void) ddi_intr_free(sc->sc_intr_htable[0]);
usr/src/uts/common/io/rwd/rt2661.c
3157
kmem_free(sc->sc_intr_htable, sizeof (ddi_intr_handle_t));
usr/src/uts/common/io/rwd/rt2661.c
3159
ddi_regs_map_free(&sc->sc_io_handle);
usr/src/uts/common/io/rwd/rt2661.c
3161
ddi_regs_map_free(&sc->sc_cfg_handle);
usr/src/uts/common/io/rwd/rt2661.c
3170
struct rt2661_softc *sc;
usr/src/uts/common/io/rwd/rt2661.c
3172
sc = ddi_get_soft_state(rt2661_soft_state_p, ddi_get_instance(devinfo));
usr/src/uts/common/io/rwd/rt2661.c
3178
if (RT2661_IS_RUNNING(sc))
usr/src/uts/common/io/rwd/rt2661.c
3179
rt2661_stop(sc);
usr/src/uts/common/io/rwd/rt2661.c
3180
RT2661_GLOCK(sc);
usr/src/uts/common/io/rwd/rt2661.c
3181
sc->sc_flags |= RT2661_F_SUSPEND;
usr/src/uts/common/io/rwd/rt2661.c
3182
sc->sc_flags &= ~RT2661_F_FWLOADED;
usr/src/uts/common/io/rwd/rt2661.c
3183
RT2661_GUNLOCK(sc);
usr/src/uts/common/io/rwd/rt2661.c
3191
if (mac_disable(sc->sc_ic.ic_mach) != 0)
usr/src/uts/common/io/rwd/rt2661.c
3197
(void) mac_unregister(sc->sc_ic.ic_mach);
usr/src/uts/common/io/rwd/rt2661.c
3199
(void) ddi_intr_remove_softint(sc->sc_softintr_hdl);
usr/src/uts/common/io/rwd/rt2661.c
3200
sc->sc_softintr_hdl = NULL;
usr/src/uts/common/io/rwd/rt2661.c
3201
(void) ddi_intr_disable(sc->sc_intr_htable[0]);
usr/src/uts/common/io/rwd/rt2661.c
3202
(void) ddi_intr_remove_handler(sc->sc_intr_htable[0]);
usr/src/uts/common/io/rwd/rt2661.c
3203
(void) ddi_intr_free(sc->sc_intr_htable[0]);
usr/src/uts/common/io/rwd/rt2661.c
3204
kmem_free(sc->sc_intr_htable, sizeof (ddi_intr_handle_t));
usr/src/uts/common/io/rwd/rt2661.c
3209
ieee80211_detach(&sc->sc_ic);
usr/src/uts/common/io/rwd/rt2661.c
321
rt2661_eeprom_read(struct rt2661_softc *sc, uint8_t addr)
usr/src/uts/common/io/rwd/rt2661.c
3211
mutex_destroy(&sc->sc_genlock);
usr/src/uts/common/io/rwd/rt2661.c
3212
mutex_destroy(&sc->sc_txlock);
usr/src/uts/common/io/rwd/rt2661.c
3213
mutex_destroy(&sc->sc_rxlock);
usr/src/uts/common/io/rwd/rt2661.c
3215
rt2661_free_tx_ring(sc, &sc->txq[0]);
usr/src/uts/common/io/rwd/rt2661.c
3216
rt2661_free_tx_ring(sc, &sc->txq[1]);
usr/src/uts/common/io/rwd/rt2661.c
3217
rt2661_free_tx_ring(sc, &sc->txq[2]);
usr/src/uts/common/io/rwd/rt2661.c
3218
rt2661_free_tx_ring(sc, &sc->txq[3]);
usr/src/uts/common/io/rwd/rt2661.c
3219
rt2661_free_tx_ring(sc, &sc->mgtq);
usr/src/uts/common/io/rwd/rt2661.c
3220
rt2661_free_rx_ring(sc, &sc->rxq);
usr/src/uts/common/io/rwd/rt2661.c
3222
ddi_regs_map_free(&sc->sc_io_handle);
usr/src/uts/common/io/rwd/rt2661.c
3223
ddi_regs_map_free(&sc->sc_cfg_handle);
usr/src/uts/common/io/rwd/rt2661.c
3236
struct rt2661_softc *sc;
usr/src/uts/common/io/rwd/rt2661.c
3238
sc = ddi_get_soft_state(rt2661_soft_state_p, ddi_get_instance(dip));
usr/src/uts/common/io/rwd/rt2661.c
3239
if (sc == NULL)
usr/src/uts/common/io/rwd/rt2661.c
3249
sc->sc_flags |= RT2661_F_QUIESCE;
usr/src/uts/common/io/rwd/rt2661.c
3254
rt2661_stop(sc);
usr/src/uts/common/io/rwd/rt2661.c
328
RT2661_EEPROM_CTL(sc, 0);
usr/src/uts/common/io/rwd/rt2661.c
330
RT2661_EEPROM_CTL(sc, RT2661_S);
usr/src/uts/common/io/rwd/rt2661.c
331
RT2661_EEPROM_CTL(sc, RT2661_S | RT2661_C);
usr/src/uts/common/io/rwd/rt2661.c
332
RT2661_EEPROM_CTL(sc, RT2661_S);
usr/src/uts/common/io/rwd/rt2661.c
335
RT2661_EEPROM_CTL(sc, RT2661_S | RT2661_D);
usr/src/uts/common/io/rwd/rt2661.c
336
RT2661_EEPROM_CTL(sc, RT2661_S | RT2661_D | RT2661_C);
usr/src/uts/common/io/rwd/rt2661.c
339
RT2661_EEPROM_CTL(sc, RT2661_S | RT2661_D);
usr/src/uts/common/io/rwd/rt2661.c
340
RT2661_EEPROM_CTL(sc, RT2661_S | RT2661_D | RT2661_C);
usr/src/uts/common/io/rwd/rt2661.c
341
RT2661_EEPROM_CTL(sc, RT2661_S);
usr/src/uts/common/io/rwd/rt2661.c
342
RT2661_EEPROM_CTL(sc, RT2661_S | RT2661_C);
usr/src/uts/common/io/rwd/rt2661.c
345
n = (RT2661_READ(sc, RT2661_E2PROM_CSR) & RT2661_93C46) ? 5 : 7;
usr/src/uts/common/io/rwd/rt2661.c
347
RT2661_EEPROM_CTL(sc, RT2661_S |
usr/src/uts/common/io/rwd/rt2661.c
349
RT2661_EEPROM_CTL(sc, RT2661_S |
usr/src/uts/common/io/rwd/rt2661.c
353
RT2661_EEPROM_CTL(sc, RT2661_S);
usr/src/uts/common/io/rwd/rt2661.c
358
RT2661_EEPROM_CTL(sc, RT2661_S | RT2661_C);
usr/src/uts/common/io/rwd/rt2661.c
359
tmp = RT2661_READ(sc, RT2661_E2PROM_CSR);
usr/src/uts/common/io/rwd/rt2661.c
361
RT2661_EEPROM_CTL(sc, RT2661_S);
usr/src/uts/common/io/rwd/rt2661.c
364
RT2661_EEPROM_CTL(sc, 0);
usr/src/uts/common/io/rwd/rt2661.c
367
RT2661_EEPROM_CTL(sc, RT2661_S);
usr/src/uts/common/io/rwd/rt2661.c
368
RT2661_EEPROM_CTL(sc, 0);
usr/src/uts/common/io/rwd/rt2661.c
369
RT2661_EEPROM_CTL(sc, RT2661_C);
usr/src/uts/common/io/rwd/rt2661.c
376
rt2661_read_eeprom(struct rt2661_softc *sc)
usr/src/uts/common/io/rwd/rt2661.c
378
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/rwd/rt2661.c
383
val = rt2661_eeprom_read(sc, RT2661_EEPROM_MAC01);
usr/src/uts/common/io/rwd/rt2661.c
387
val = rt2661_eeprom_read(sc, RT2661_EEPROM_MAC23);
usr/src/uts/common/io/rwd/rt2661.c
391
val = rt2661_eeprom_read(sc, RT2661_EEPROM_MAC45);
usr/src/uts/common/io/rwd/rt2661.c
395
val = rt2661_eeprom_read(sc, RT2661_EEPROM_ANTENNA);
usr/src/uts/common/io/rwd/rt2661.c
397
sc->rf_rev = (val >> 11) & 0x1f;
usr/src/uts/common/io/rwd/rt2661.c
398
sc->hw_radio = (val >> 10) & 0x1;
usr/src/uts/common/io/rwd/rt2661.c
399
sc->rx_ant = (val >> 4) & 0x3;
usr/src/uts/common/io/rwd/rt2661.c
400
sc->tx_ant = (val >> 2) & 0x3;
usr/src/uts/common/io/rwd/rt2661.c
401
sc->nb_ant = val & 0x3;
usr/src/uts/common/io/rwd/rt2661.c
404
"RF revision=%d\n", sc->rf_rev);
usr/src/uts/common/io/rwd/rt2661.c
406
val = rt2661_eeprom_read(sc, RT2661_EEPROM_CONFIG2);
usr/src/uts/common/io/rwd/rt2661.c
407
sc->ext_5ghz_lna = (val >> 6) & 0x1;
usr/src/uts/common/io/rwd/rt2661.c
408
sc->ext_2ghz_lna = (val >> 4) & 0x1;
usr/src/uts/common/io/rwd/rt2661.c
412
sc->ext_2ghz_lna, sc->ext_5ghz_lna);
usr/src/uts/common/io/rwd/rt2661.c
414
val = rt2661_eeprom_read(sc, RT2661_EEPROM_RSSI_2GHZ_OFFSET);
usr/src/uts/common/io/rwd/rt2661.c
416
sc->rssi_2ghz_corr = (int8_t)(val & 0xff);
usr/src/uts/common/io/rwd/rt2661.c
418
val = rt2661_eeprom_read(sc, RT2661_EEPROM_RSSI_5GHZ_OFFSET);
usr/src/uts/common/io/rwd/rt2661.c
420
sc->rssi_5ghz_corr = (int8_t)(val & 0xff);
usr/src/uts/common/io/rwd/rt2661.c
423
if (sc->ext_2ghz_lna)
usr/src/uts/common/io/rwd/rt2661.c
424
sc->rssi_2ghz_corr -= 14;
usr/src/uts/common/io/rwd/rt2661.c
425
if (sc->ext_5ghz_lna)
usr/src/uts/common/io/rwd/rt2661.c
426
sc->rssi_5ghz_corr -= 14;
usr/src/uts/common/io/rwd/rt2661.c
430
sc->rssi_2ghz_corr, sc->rssi_5ghz_corr);
usr/src/uts/common/io/rwd/rt2661.c
432
val = rt2661_eeprom_read(sc, RT2661_EEPROM_FREQ_OFFSET);
usr/src/uts/common/io/rwd/rt2661.c
434
sc->rfprog = (val >> 8) & 0x3;
usr/src/uts/common/io/rwd/rt2661.c
436
sc->rffreq = val & 0xff;
usr/src/uts/common/io/rwd/rt2661.c
439
"RF prog=%d\nRF freq=%d\n", sc->rfprog, sc->rffreq);
usr/src/uts/common/io/rwd/rt2661.c
443
val = rt2661_eeprom_read(sc, RT2661_EEPROM_TXPOWER + i);
usr/src/uts/common/io/rwd/rt2661.c
444
sc->txpow[i * 2] = (int8_t)(val >> 8);
usr/src/uts/common/io/rwd/rt2661.c
447
rt2661_rf5225_1[i * 2].chan, sc->txpow[i * 2]);
usr/src/uts/common/io/rwd/rt2661.c
448
sc->txpow[i * 2 + 1] = (int8_t)(val & 0xff);
usr/src/uts/common/io/rwd/rt2661.c
451
rt2661_rf5225_1[i * 2 + 1].chan, sc->txpow[i * 2 + 1]);
usr/src/uts/common/io/rwd/rt2661.c
456
val = rt2661_eeprom_read(sc, RT2661_EEPROM_BBP_BASE + i);
usr/src/uts/common/io/rwd/rt2661.c
459
sc->bbp_prom[i].reg = val >> 8;
usr/src/uts/common/io/rwd/rt2661.c
460
sc->bbp_prom[i].val = val & 0xff;
usr/src/uts/common/io/rwd/rt2661.c
462
"BBP R%d=%02x\n", sc->bbp_prom[i].reg,
usr/src/uts/common/io/rwd/rt2661.c
463
sc->bbp_prom[i].val);
usr/src/uts/common/io/rwd/rt2661.c
480
rt2661_load_microcode(struct rt2661_softc *sc, const uint8_t *ucode_p, int size)
usr/src/uts/common/io/rwd/rt2661.c
490
RT2661_WRITE(sc, RT2661_MCU_CNTL_CSR, RT2661_MCU_RESET);
usr/src/uts/common/io/rwd/rt2661.c
493
RT2661_WRITE(sc, RT2661_H2M_MAILBOX_CSR, 0);
usr/src/uts/common/io/rwd/rt2661.c
494
RT2661_WRITE(sc, RT2661_M2H_CMD_DONE_CSR, 0xffffffff);
usr/src/uts/common/io/rwd/rt2661.c
495
RT2661_WRITE(sc, RT2661_HOST_CMD_CSR, 0);
usr/src/uts/common/io/rwd/rt2661.c
498
RT2661_WRITE(sc, RT2661_MCU_CNTL_CSR,
usr/src/uts/common/io/rwd/rt2661.c
503
RT2661_MEM_WRITE1(sc, off++, *fptr++);
usr/src/uts/common/io/rwd/rt2661.c
506
RT2661_WRITE(sc, RT2661_MCU_CNTL_CSR, RT2661_MCU_RESET);
usr/src/uts/common/io/rwd/rt2661.c
509
RT2661_WRITE(sc, RT2661_MCU_CNTL_CSR, 0);
usr/src/uts/common/io/rwd/rt2661.c
513
if (RT2661_READ(sc, RT2661_MCU_CNTL_CSR) & RT2661_MCU_READY)
usr/src/uts/common/io/rwd/rt2661.c
612
rt2661_alloc_tx_ring(struct rt2661_softc *sc,
usr/src/uts/common/io/rwd/rt2661.c
628
err = rt2661_alloc_dma_mem(sc->sc_dev, &rt2661_dma_attr, size,
usr/src/uts/common/io/rwd/rt2661.c
652
err = rt2661_alloc_dma_mem(sc->sc_dev,
usr/src/uts/common/io/rwd/rt2661.c
653
&rt2661_dma_attr, sc->sc_dmabuf_size,
usr/src/uts/common/io/rwd/rt2661.c
686
rt2661_reset_tx_ring(struct rt2661_softc *sc, struct rt2661_tx_ring *ring)
usr/src/uts/common/io/rwd/rt2661.c
704
if (!RT2661_IS_FASTREBOOT(sc))
usr/src/uts/common/io/rwd/rt2661.c
716
rt2661_free_tx_ring(struct rt2661_softc *sc, struct rt2661_tx_ring *ring)
usr/src/uts/common/io/rwd/rt2661.c
741
rt2661_alloc_rx_ring(struct rt2661_softc *sc,
usr/src/uts/common/io/rwd/rt2661.c
755
err = rt2661_alloc_dma_mem(sc->sc_dev, &rt2661_dma_attr, size,
usr/src/uts/common/io/rwd/rt2661.c
779
err = rt2661_alloc_dma_mem(sc->sc_dev,
usr/src/uts/common/io/rwd/rt2661.c
780
&rt2661_dma_attr, sc->sc_dmabuf_size,
usr/src/uts/common/io/rwd/rt2661.c
814
rt2661_reset_rx_ring(struct rt2661_softc *sc, struct rt2661_rx_ring *ring)
usr/src/uts/common/io/rwd/rt2661.c
821
if (!RT2661_IS_FASTREBOOT(sc))
usr/src/uts/common/io/rwd/rt2661.c
831
rt2661_free_rx_ring(struct rt2661_softc *sc, struct rt2661_rx_ring *ring)
usr/src/uts/common/io/rwd/rt2661.c
851
rt2661_tx_dma_intr(struct rt2661_softc *sc, struct rt2661_tx_ring *ring)
usr/src/uts/common/io/rwd/rt2661.c
870
0, sc->sc_dmabuf_size,
usr/src/uts/common/io/rwd/rt2661.c
890
rt2661_tx_intr(struct rt2661_softc *sc)
usr/src/uts/common/io/rwd/rt2661.c
892
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/rwd/rt2661.c
901
val = RT2661_READ(sc, RT2661_STA_CSR4);
usr/src/uts/common/io/rwd/rt2661.c
907
ring = (qid <= 3) ? &sc->txq[qid] : &sc->mgtq;
usr/src/uts/common/io/rwd/rt2661.c
930
sc->sc_tx_retries++;
usr/src/uts/common/io/rwd/rt2661.c
957
if (sc->sc_need_sched) {
usr/src/uts/common/io/rwd/rt2661.c
958
sc->sc_need_sched = 0;
usr/src/uts/common/io/rwd/rt2661.c
962
sc->sc_tx_timer = 0;
usr/src/uts/common/io/rwd/rt2661.c
966
rt2661_rx_intr(struct rt2661_softc *sc)
usr/src/uts/common/io/rwd/rt2661.c
968
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/rwd/rt2661.c
979
mutex_enter(&sc->sc_rxlock);
usr/src/uts/common/io/rwd/rt2661.c
980
ring = &sc->rxq;
usr/src/uts/common/io/rwd/rt2661_reg.h
332
#define RT2661_READ(sc, reg) \
usr/src/uts/common/io/rwd/rt2661_reg.h
333
ddi_get32((sc)->sc_io_handle, \
usr/src/uts/common/io/rwd/rt2661_reg.h
334
(uint32_t *)((uintptr_t)(sc)->sc_io_base + (reg)))
usr/src/uts/common/io/rwd/rt2661_reg.h
336
#define RT2661_WRITE(sc, reg, val) \
usr/src/uts/common/io/rwd/rt2661_reg.h
337
ddi_put32((sc)->sc_io_handle, \
usr/src/uts/common/io/rwd/rt2661_reg.h
338
(uint32_t *)((uintptr_t)(sc)->sc_io_base + (reg)), (val))
usr/src/uts/common/io/rwd/rt2661_reg.h
340
#define RT2661_MEM_WRITE1(sc, reg, val) \
usr/src/uts/common/io/rwd/rt2661_reg.h
341
ddi_put8((sc)->sc_io_handle, \
usr/src/uts/common/io/rwd/rt2661_reg.h
342
(uint8_t *)((sc)->sc_io_base + (reg)), (val))
usr/src/uts/common/io/rwd/rt2661_reg.h
344
#define RT2661_MEM_READ1(sc, reg) \
usr/src/uts/common/io/rwd/rt2661_reg.h
345
ddi_get8((sc)->sc_io_handle, \
usr/src/uts/common/io/rwd/rt2661_reg.h
346
(uint8_t *)((sc)->sc_io_base + (reg)))
usr/src/uts/common/io/rwd/rt2661_reg.h
351
#define RT2661_EEPROM_CTL(sc, val) do { \
usr/src/uts/common/io/rwd/rt2661_reg.h
352
RT2661_WRITE((sc), RT2661_E2PROM_CSR, (val)); \
usr/src/uts/common/io/rwn/rt2860.c
1081
struct rt2860_softc *sc = (struct rt2860_softc *)ic;
usr/src/uts/common/io/rwn/rt2860.c
1097
mutex_enter(&sc->sc_txlock);
usr/src/uts/common/io/rwn/rt2860.c
1098
if (RT2860_IS_SUSPEND(sc)) {
usr/src/uts/common/io/rwn/rt2860.c
1105
qid = sc->mgtqid;
usr/src/uts/common/io/rwn/rt2860.c
1108
ring = &sc->txq[qid];
usr/src/uts/common/io/rwn/rt2860.c
1110
if (SLIST_EMPTY(&sc->data_pool) || (ring->queued > 15)) {
usr/src/uts/common/io/rwn/rt2860.c
1111
sc->sc_need_sched = 1;
usr/src/uts/common/io/rwn/rt2860.c
1112
sc->sc_tx_nobuf++;
usr/src/uts/common/io/rwn/rt2860.c
1118
data = SLIST_FIRST(&sc->data_pool);
usr/src/uts/common/io/rwn/rt2860.c
1139
sc->sc_tx_err++;
usr/src/uts/common/io/rwn/rt2860.c
1151
sc->sc_tx_err++;
usr/src/uts/common/io/rwn/rt2860.c
1214
ic->ic_flags) + sc->sifs;
usr/src/uts/common/io/rwn/rt2860.c
1236
SLIST_REMOVE_HEAD(&sc->data_pool, next);
usr/src/uts/common/io/rwn/rt2860.c
1240
(void) ddi_dma_sync(sc->txpool_dma.dma_hdl,
usr/src/uts/common/io/rwn/rt2860.c
1241
_PTRDIFF(txwi, sc->txwi),
usr/src/uts/common/io/rwn/rt2860.c
1255
RT2860_WRITE(sc, RT2860_TX_CTX_IDX(qid), ring->cur);
usr/src/uts/common/io/rwn/rt2860.c
1257
sc->sc_tx_timer = 5;
usr/src/uts/common/io/rwn/rt2860.c
1270
mutex_exit(&sc->sc_txlock);
usr/src/uts/common/io/rwn/rt2860.c
1281
struct rt2860_softc *sc = (struct rt2860_softc *)arg;
usr/src/uts/common/io/rwn/rt2860.c
1282
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/rwn/rt2860.c
1289
rt2860_updateslot(struct rt2860_softc *sc)
usr/src/uts/common/io/rwn/rt2860.c
1291
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/rwn/rt2860.c
1294
tmp = RT2860_READ(sc, RT2860_BKOFF_SLOT_CFG);
usr/src/uts/common/io/rwn/rt2860.c
1297
RT2860_WRITE(sc, RT2860_BKOFF_SLOT_CFG, tmp);
usr/src/uts/common/io/rwn/rt2860.c
1303
struct rt2860_softc *sc = (struct rt2860_softc *)arg;
usr/src/uts/common/io/rwn/rt2860.c
1307
rt2860_amrr_choose(&sc->amrr, ni, &sc->amn[wcid]);
usr/src/uts/common/io/rwn/rt2860.c
1313
struct rt2860_softc *sc = (struct rt2860_softc *)arg;
usr/src/uts/common/io/rwn/rt2860.c
1314
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/rwn/rt2860.c
1317
rt2860_iter_func(sc, ic->ic_bss);
usr/src/uts/common/io/rwn/rt2860.c
1321
sc->sc_rssadapt_id = timeout(rt2860_updatestats, (void *)sc,
usr/src/uts/common/io/rwn/rt2860.c
1326
rt2860_enable_mrr(struct rt2860_softc *sc)
usr/src/uts/common/io/rwn/rt2860.c
1330
RT2860_WRITE(sc, RT2860_LG_FBK_CFG0,
usr/src/uts/common/io/rwn/rt2860.c
1340
RT2860_WRITE(sc, RT2860_LG_FBK_CFG1,
usr/src/uts/common/io/rwn/rt2860.c
1350
rt2860_set_txpreamble(struct rt2860_softc *sc)
usr/src/uts/common/io/rwn/rt2860.c
1354
tmp = RT2860_READ(sc, RT2860_AUTO_RSP_CFG);
usr/src/uts/common/io/rwn/rt2860.c
1356
if (sc->sc_ic.ic_flags & IEEE80211_F_SHPREAMBLE)
usr/src/uts/common/io/rwn/rt2860.c
1358
RT2860_WRITE(sc, RT2860_AUTO_RSP_CFG, tmp);
usr/src/uts/common/io/rwn/rt2860.c
1362
rt2860_set_bssid(struct rt2860_softc *sc, const uint8_t *bssid)
usr/src/uts/common/io/rwn/rt2860.c
1364
RT2860_WRITE(sc, RT2860_MAC_BSSID_DW0,
usr/src/uts/common/io/rwn/rt2860.c
1366
RT2860_WRITE(sc, RT2860_MAC_BSSID_DW1,
usr/src/uts/common/io/rwn/rt2860.c
1371
rt2860_set_basicrates(struct rt2860_softc *sc)
usr/src/uts/common/io/rwn/rt2860.c
1373
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/rwn/rt2860.c
1377
RT2860_WRITE(sc, RT2860_LEGACY_BASIC_RATE, 0x003);
usr/src/uts/common/io/rwn/rt2860.c
1379
RT2860_WRITE(sc, RT2860_LEGACY_BASIC_RATE, 0x150);
usr/src/uts/common/io/rwn/rt2860.c
1381
RT2860_WRITE(sc, RT2860_LEGACY_BASIC_RATE, 0x15f);
usr/src/uts/common/io/rwn/rt2860.c
1464
struct rt2860_softc *sc = (struct rt2860_softc *)ic;
usr/src/uts/common/io/rwn/rt2860.c
1477
rt2860_mem_write1(sc, off++, *fptr++);
usr/src/uts/common/io/rwn/rt2860.c
1479
rt2860_amrr_node_init(&sc->amrr, &sc->amn[wcid]);
usr/src/uts/common/io/rwn/rt2860.c
1498
rt2860_enable_tsf_sync(struct rt2860_softc *sc)
usr/src/uts/common/io/rwn/rt2860.c
1500
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/rwn/rt2860.c
1503
tmp = RT2860_READ(sc, RT2860_BCN_TIME_CFG);
usr/src/uts/common/io/rwn/rt2860.c
1516
RT2860_WRITE(sc, RT2860_BCN_TIME_CFG, tmp);
usr/src/uts/common/io/rwn/rt2860.c
1522
struct rt2860_softc *sc = (struct rt2860_softc *)ic;
usr/src/uts/common/io/rwn/rt2860.c
1531
RT2860_GLOCK(sc);
usr/src/uts/common/io/rwn/rt2860.c
1532
if (sc->sc_scan_id != 0) {
usr/src/uts/common/io/rwn/rt2860.c
1533
(void) untimeout(sc->sc_scan_id);
usr/src/uts/common/io/rwn/rt2860.c
1534
sc->sc_scan_id = 0;
usr/src/uts/common/io/rwn/rt2860.c
1536
if (sc->sc_rssadapt_id != 0) {
usr/src/uts/common/io/rwn/rt2860.c
1537
(void) untimeout(sc->sc_rssadapt_id);
usr/src/uts/common/io/rwn/rt2860.c
1538
sc->sc_rssadapt_id = 0;
usr/src/uts/common/io/rwn/rt2860.c
1542
rt2860_set_leds(sc, RT2860_LED_RADIO);
usr/src/uts/common/io/rwn/rt2860.c
1549
tmp = RT2860_READ(sc, RT2860_BCN_TIME_CFG);
usr/src/uts/common/io/rwn/rt2860.c
1550
RT2860_WRITE(sc, RT2860_BCN_TIME_CFG,
usr/src/uts/common/io/rwn/rt2860.c
1557
rt2860_set_chan(sc, ic->ic_curchan);
usr/src/uts/common/io/rwn/rt2860.c
1558
sc->sc_scan_id = timeout(rt2860_next_scan, (void *)sc,
usr/src/uts/common/io/rwn/rt2860.c
1564
rt2860_set_chan(sc, ic->ic_curchan);
usr/src/uts/common/io/rwn/rt2860.c
1568
rt2860_set_chan(sc, ic->ic_curchan);
usr/src/uts/common/io/rwn/rt2860.c
1571
rt2860_updateslot(sc);
usr/src/uts/common/io/rwn/rt2860.c
1572
rt2860_enable_mrr(sc);
usr/src/uts/common/io/rwn/rt2860.c
1573
rt2860_set_txpreamble(sc);
usr/src/uts/common/io/rwn/rt2860.c
1574
rt2860_set_basicrates(sc);
usr/src/uts/common/io/rwn/rt2860.c
1575
rt2860_set_bssid(sc, ic->ic_bss->in_bssid);
usr/src/uts/common/io/rwn/rt2860.c
1583
rt2860_enable_tsf_sync(sc);
usr/src/uts/common/io/rwn/rt2860.c
1584
sc->sc_rssadapt_id = timeout(rt2860_updatestats,
usr/src/uts/common/io/rwn/rt2860.c
1585
(void *)sc, drv_usectohz(500 * 1000));
usr/src/uts/common/io/rwn/rt2860.c
1589
rt2860_set_leds(sc, RT2860_LED_RADIO |
usr/src/uts/common/io/rwn/rt2860.c
1595
RT2860_GUNLOCK(sc);
usr/src/uts/common/io/rwn/rt2860.c
1597
err = sc->sc_newstate(ic, nstate, arg);
usr/src/uts/common/io/rwn/rt2860.c
1606
rt2860_maxrssi_chain(struct rt2860_softc *sc, const struct rt2860_rxwi *rxwi)
usr/src/uts/common/io/rwn/rt2860.c
1610
if (sc->nrxchains > 1)
usr/src/uts/common/io/rwn/rt2860.c
1613
if (sc->nrxchains > 2)
usr/src/uts/common/io/rwn/rt2860.c
1621
rt2860_drain_stats_fifo(struct rt2860_softc *sc)
usr/src/uts/common/io/rwn/rt2860.c
1628
while ((stat = RT2860_READ(sc, RT2860_TX_STAT_FIFO)) & RT2860_TXQ_VLD) {
usr/src/uts/common/io/rwn/rt2860.c
1638
amn = &sc->amn[wcid];
usr/src/uts/common/io/rwn/rt2860.c
1658
rt2860_tx_intr(struct rt2860_softc *sc, int qid)
usr/src/uts/common/io/rwn/rt2860.c
1660
struct rt2860_tx_ring *ring = &sc->txq[qid];
usr/src/uts/common/io/rwn/rt2860.c
1661
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/rwn/rt2860.c
1664
rt2860_drain_stats_fifo(sc);
usr/src/uts/common/io/rwn/rt2860.c
1666
mutex_enter(&sc->sc_txlock);
usr/src/uts/common/io/rwn/rt2860.c
1667
hw = RT2860_READ(sc, RT2860_TX_DTX_IDX(qid));
usr/src/uts/common/io/rwn/rt2860.c
1681
SLIST_INSERT_HEAD(&sc->data_pool, data, next);
usr/src/uts/common/io/rwn/rt2860.c
1695
if (sc->sc_need_sched &&
usr/src/uts/common/io/rwn/rt2860.c
1697
sc->sc_need_sched = 0;
usr/src/uts/common/io/rwn/rt2860.c
1701
sc->sc_tx_timer = 0;
usr/src/uts/common/io/rwn/rt2860.c
1702
mutex_exit(&sc->sc_txlock);
usr/src/uts/common/io/rwn/rt2860.c
1706
rt2860_rx_intr(struct rt2860_softc *sc)
usr/src/uts/common/io/rwn/rt2860.c
1708
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/rwn/rt2860.c
1715
mutex_enter(&sc->sc_rxlock);
usr/src/uts/common/io/rwn/rt2860.c
1717
struct rt2860_rx_data *data = &sc->rxq.data[sc->rxq.cur];
usr/src/uts/common/io/rwn/rt2860.c
1718
struct rt2860_rxd *rxd = &sc->rxq.rxd[sc->rxq.cur];
usr/src/uts/common/io/rwn/rt2860.c
1721
(void) ddi_dma_sync(sc->rxq.rxdesc_dma.dma_hdl,
usr/src/uts/common/io/rwn/rt2860.c
1722
sc->rxq.cur * sizeof (struct rt2860_rxd),
usr/src/uts/common/io/rwn/rt2860.c
1736
sc->sc_rx_err++;
usr/src/uts/common/io/rwn/rt2860.c
1743
sc->sc_rx_err++;
usr/src/uts/common/io/rwn/rt2860.c
1758
mp0 = allocb(sc->sc_dmabuf_size, BPRI_MED);
usr/src/uts/common/io/rwn/rt2860.c
1762
sc->sc_rx_nobuf++;
usr/src/uts/common/io/rwn/rt2860.c
1776
ant = rt2860_maxrssi_chain(sc, rxwi);
usr/src/uts/common/io/rwn/rt2860.c
1788
(void) ddi_dma_sync(sc->rxq.rxdesc_dma.dma_hdl,
usr/src/uts/common/io/rwn/rt2860.c
1789
sc->rxq.cur * sizeof (struct rt2860_rxd),
usr/src/uts/common/io/rwn/rt2860.c
1793
sc->rxq.cur = (sc->rxq.cur + 1) % RT2860_RX_RING_COUNT;
usr/src/uts/common/io/rwn/rt2860.c
1795
mutex_exit(&sc->sc_rxlock);
usr/src/uts/common/io/rwn/rt2860.c
1798
RT2860_WRITE(sc, RT2860_RX_CALC_IDX,
usr/src/uts/common/io/rwn/rt2860.c
1799
(sc->rxq.cur - 1) % RT2860_RX_RING_COUNT);
usr/src/uts/common/io/rwn/rt2860.c
1805
struct rt2860_softc *sc = (struct rt2860_softc *)data;
usr/src/uts/common/io/rwn/rt2860.c
1811
RT2860_GLOCK(sc);
usr/src/uts/common/io/rwn/rt2860.c
1812
if (sc->sc_rx_pend) {
usr/src/uts/common/io/rwn/rt2860.c
1813
sc->sc_rx_pend = 0;
usr/src/uts/common/io/rwn/rt2860.c
1814
RT2860_GUNLOCK(sc);
usr/src/uts/common/io/rwn/rt2860.c
1815
rt2860_rx_intr(sc);
usr/src/uts/common/io/rwn/rt2860.c
1818
RT2860_GUNLOCK(sc);
usr/src/uts/common/io/rwn/rt2860.c
1826
struct rt2860_softc *sc = (struct rt2860_softc *)arg;
usr/src/uts/common/io/rwn/rt2860.c
1829
RT2860_GLOCK(sc);
usr/src/uts/common/io/rwn/rt2860.c
1831
if ((!RT2860_IS_RUNNING(sc)) || RT2860_IS_SUSPEND(sc)) {
usr/src/uts/common/io/rwn/rt2860.c
1836
RT2860_GUNLOCK(sc);
usr/src/uts/common/io/rwn/rt2860.c
1840
r = RT2860_READ(sc, RT2860_INT_STATUS);
usr/src/uts/common/io/rwn/rt2860.c
1842
RT2860_GUNLOCK(sc);
usr/src/uts/common/io/rwn/rt2860.c
1846
RT2860_GUNLOCK(sc);
usr/src/uts/common/io/rwn/rt2860.c
1851
RT2860_WRITE(sc, RT2860_INT_STATUS, r);
usr/src/uts/common/io/rwn/rt2860.c
1864
rt2860_drain_stats_fifo(sc);
usr/src/uts/common/io/rwn/rt2860.c
1870
rt2860_tx_intr(sc, 5);
usr/src/uts/common/io/rwn/rt2860.c
1876
sc->sc_rx_pend = 1;
usr/src/uts/common/io/rwn/rt2860.c
1877
ddi_trigger_softintr(sc->sc_softintr_hdl);
usr/src/uts/common/io/rwn/rt2860.c
1883
rt2860_tx_intr(sc, 4);
usr/src/uts/common/io/rwn/rt2860.c
1889
rt2860_tx_intr(sc, 3);
usr/src/uts/common/io/rwn/rt2860.c
1895
rt2860_tx_intr(sc, 2);
usr/src/uts/common/io/rwn/rt2860.c
1901
rt2860_tx_intr(sc, 1);
usr/src/uts/common/io/rwn/rt2860.c
1907
rt2860_tx_intr(sc, 0);
usr/src/uts/common/io/rwn/rt2860.c
1913
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/rwn/rt2860.c
1915
if ((sc->sc_ic_flags ^ ic->ic_flags) & IEEE80211_F_USEPROT) {
usr/src/uts/common/io/rwn/rt2860.c
1917
sc->sc_ic_flags = ic->ic_flags;
usr/src/uts/common/io/rwn/rt2860.c
1925
RT2860_GUNLOCK(sc);
usr/src/uts/common/io/rwn/rt2860.c
1931
rt2860_set_region_4(struct rt2860_softc *sc,
usr/src/uts/common/io/rwn/rt2860.c
1935
ddi_put32((sc)->sc_io_handle,
usr/src/uts/common/io/rwn/rt2860.c
1936
(uint32_t *)((uintptr_t)(sc)->sc_io_base + addr), data);
usr/src/uts/common/io/rwn/rt2860.c
1940
rt2860_load_microcode(struct rt2860_softc *sc)
usr/src/uts/common/io/rwn/rt2860.c
1953
RT2860_WRITE(sc, RT2860_SYS_CTRL, RT2860_HST_PM_SEL);
usr/src/uts/common/io/rwn/rt2860.c
1958
rt2860_mem_write1(sc, off++, *fptr++);
usr/src/uts/common/io/rwn/rt2860.c
1961
RT2860_WRITE(sc, RT2860_SYS_CTRL, 0);
usr/src/uts/common/io/rwn/rt2860.c
1962
RT2860_WRITE(sc, RT2860_SYS_CTRL, RT2860_MCU_RESET);
usr/src/uts/common/io/rwn/rt2860.c
1964
RT2860_WRITE(sc, RT2860_H2M_BBPAGENT, 0);
usr/src/uts/common/io/rwn/rt2860.c
1965
RT2860_WRITE(sc, RT2860_H2M_MAILBOX, 0);
usr/src/uts/common/io/rwn/rt2860.c
1969
if (RT2860_READ(sc, RT2860_SYS_CTRL) & RT2860_MCU_READY)
usr/src/uts/common/io/rwn/rt2860.c
1983
rt2860_set_macaddr(struct rt2860_softc *sc, const uint8_t *addr)
usr/src/uts/common/io/rwn/rt2860.c
1985
RT2860_WRITE(sc, RT2860_MAC_ADDR_DW0,
usr/src/uts/common/io/rwn/rt2860.c
1987
RT2860_WRITE(sc, RT2860_MAC_ADDR_DW1,
usr/src/uts/common/io/rwn/rt2860.c
1995
rt2860_mcu_cmd(struct rt2860_softc *sc, uint8_t cmd, uint16_t arg)
usr/src/uts/common/io/rwn/rt2860.c
2000
if (!(RT2860_READ(sc, RT2860_H2M_MAILBOX) & RT2860_H2M_BUSY))
usr/src/uts/common/io/rwn/rt2860.c
2007
RT2860_WRITE(sc, RT2860_H2M_MAILBOX,
usr/src/uts/common/io/rwn/rt2860.c
2009
RT2860_WRITE(sc, RT2860_HOST_CMD, cmd);
usr/src/uts/common/io/rwn/rt2860.c
2020
rt2860_mcu_bbp_read(struct rt2860_softc *sc, uint8_t reg)
usr/src/uts/common/io/rwn/rt2860.c
2026
if (!(RT2860_READ(sc,
usr/src/uts/common/io/rwn/rt2860.c
2037
RT2860_WRITE(sc, RT2860_H2M_BBPAGENT, RT2860_BBP_RW_PARALLEL |
usr/src/uts/common/io/rwn/rt2860.c
2040
(void) rt2860_mcu_cmd(sc, RT2860_MCU_CMD_BBP, 0);
usr/src/uts/common/io/rwn/rt2860.c
2044
val = RT2860_READ(sc, RT2860_H2M_BBPAGENT);
usr/src/uts/common/io/rwn/rt2860.c
2056
rt2860_mcu_bbp_write(struct rt2860_softc *sc, uint8_t reg, uint8_t val)
usr/src/uts/common/io/rwn/rt2860.c
2061
if (!(RT2860_READ(sc,
usr/src/uts/common/io/rwn/rt2860.c
2072
RT2860_WRITE(sc, RT2860_H2M_BBPAGENT, RT2860_BBP_RW_PARALLEL |
usr/src/uts/common/io/rwn/rt2860.c
2075
(void) rt2860_mcu_cmd(sc, RT2860_MCU_CMD_BBP, 0);
usr/src/uts/common/io/rwn/rt2860.c
2080
rt2860_bbp_init(struct rt2860_softc *sc)
usr/src/uts/common/io/rwn/rt2860.c
2086
uint8_t bbp0 = rt2860_mcu_bbp_read(sc, 0);
usr/src/uts/common/io/rwn/rt2860.c
2098
rt2860_mcu_bbp_write(sc, rt2860_def_bbp[i].reg,
usr/src/uts/common/io/rwn/rt2860.c
2103
if (sc->mac_rev == 0x28600100) {
usr/src/uts/common/io/rwn/rt2860.c
2104
rt2860_mcu_bbp_write(sc, 69, 0x16);
usr/src/uts/common/io/rwn/rt2860.c
2105
rt2860_mcu_bbp_write(sc, 73, 0x12);
usr/src/uts/common/io/rwn/rt2860.c
2112
rt2860_rf_write(struct rt2860_softc *sc, uint8_t reg, uint32_t val)
usr/src/uts/common/io/rwn/rt2860.c
2118
if (!(RT2860_READ(sc, RT2860_RF_CSR_CFG0) & RT2860_RF_REG_CTRL))
usr/src/uts/common/io/rwn/rt2860.c
2131
RT2860_WRITE(sc, RT2860_RF_CSR_CFG0, tmp);
usr/src/uts/common/io/rwn/rt2860.c
2135
rt2860_select_chan_group(struct rt2860_softc *sc, int group)
usr/src/uts/common/io/rwn/rt2860.c
2139
rt2860_mcu_bbp_write(sc, 62, 0x37 - sc->lna[group]);
usr/src/uts/common/io/rwn/rt2860.c
2140
rt2860_mcu_bbp_write(sc, 63, 0x37 - sc->lna[group]);
usr/src/uts/common/io/rwn/rt2860.c
2141
rt2860_mcu_bbp_write(sc, 64, 0x37 - sc->lna[group]);
usr/src/uts/common/io/rwn/rt2860.c
2142
rt2860_mcu_bbp_write(sc, 82, (group == 0) ? 0x62 : 0xf2);
usr/src/uts/common/io/rwn/rt2860.c
2144
tmp = RT2860_READ(sc, RT2860_TX_BAND_CFG);
usr/src/uts/common/io/rwn/rt2860.c
2147
RT2860_WRITE(sc, RT2860_TX_BAND_CFG, tmp);
usr/src/uts/common/io/rwn/rt2860.c
2153
if (sc->ntxchains > 1)
usr/src/uts/common/io/rwn/rt2860.c
2155
if (sc->nrxchains > 1)
usr/src/uts/common/io/rwn/rt2860.c
2159
if (sc->ntxchains > 1)
usr/src/uts/common/io/rwn/rt2860.c
2161
if (sc->nrxchains > 1)
usr/src/uts/common/io/rwn/rt2860.c
2164
RT2860_WRITE(sc, RT2860_TX_PIN_CFG, tmp);
usr/src/uts/common/io/rwn/rt2860.c
2166
rt2860_mcu_bbp_write(sc, 66, 0x2e + sc->lna[group]);
usr/src/uts/common/io/rwn/rt2860.c
2169
rt2860_set_chan(struct rt2860_softc *sc, struct ieee80211_channel *c)
usr/src/uts/common/io/rwn/rt2860.c
2171
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/rwn/rt2860.c
2188
if (sc->ntxchains == 1)
usr/src/uts/common/io/rwn/rt2860.c
2190
if (sc->nrxchains == 1)
usr/src/uts/common/io/rwn/rt2860.c
2192
else if (sc->nrxchains == 2)
usr/src/uts/common/io/rwn/rt2860.c
2196
txpow1 = sc->txpow1[i];
usr/src/uts/common/io/rwn/rt2860.c
2197
txpow2 = sc->txpow2[i];
usr/src/uts/common/io/rwn/rt2860.c
2203
r4 = rfprog[i].r4 | sc->freq << 13 | txpow2 << 4;
usr/src/uts/common/io/rwn/rt2860.c
2205
rt2860_rf_write(sc, RAL_RF1, rfprog[i].r1);
usr/src/uts/common/io/rwn/rt2860.c
2206
rt2860_rf_write(sc, RAL_RF2, r2);
usr/src/uts/common/io/rwn/rt2860.c
2207
rt2860_rf_write(sc, RAL_RF3, r3);
usr/src/uts/common/io/rwn/rt2860.c
2208
rt2860_rf_write(sc, RAL_RF4, r4);
usr/src/uts/common/io/rwn/rt2860.c
2212
rt2860_rf_write(sc, RAL_RF1, rfprog[i].r1);
usr/src/uts/common/io/rwn/rt2860.c
2213
rt2860_rf_write(sc, RAL_RF2, r2);
usr/src/uts/common/io/rwn/rt2860.c
2214
rt2860_rf_write(sc, RAL_RF3, r3 | 1);
usr/src/uts/common/io/rwn/rt2860.c
2215
rt2860_rf_write(sc, RAL_RF4, r4);
usr/src/uts/common/io/rwn/rt2860.c
2219
rt2860_rf_write(sc, RAL_RF1, rfprog[i].r1);
usr/src/uts/common/io/rwn/rt2860.c
2220
rt2860_rf_write(sc, RAL_RF2, r2);
usr/src/uts/common/io/rwn/rt2860.c
2221
rt2860_rf_write(sc, RAL_RF3, r3);
usr/src/uts/common/io/rwn/rt2860.c
2222
rt2860_rf_write(sc, RAL_RF4, r4);
usr/src/uts/common/io/rwn/rt2860.c
2225
sc->sifs = IEEE80211_IS_CHAN_5GHZ(c) ? 16 : 10;
usr/src/uts/common/io/rwn/rt2860.c
2238
rt2860_select_chan_group(sc, group);
usr/src/uts/common/io/rwn/rt2860.c
2246
struct rt2860_softc *sc = (struct rt2860_softc *)ic;
usr/src/uts/common/io/rwn/rt2860.c
2254
RT2860_WRITE(sc, RT2860_CCK_PROT_CFG, tmp);
usr/src/uts/common/io/rwn/rt2860.c
2262
RT2860_WRITE(sc, RT2860_OFDM_PROT_CFG, tmp);
usr/src/uts/common/io/rwn/rt2860.c
2266
rt2860_set_leds(struct rt2860_softc *sc, uint16_t which)
usr/src/uts/common/io/rwn/rt2860.c
2268
(void) rt2860_mcu_cmd(sc, RT2860_MCU_CMD_LEDS,
usr/src/uts/common/io/rwn/rt2860.c
2269
which | (sc->leds & 0x7f));
usr/src/uts/common/io/rwn/rt2860.c
2273
rt2860_init(struct rt2860_softc *sc)
usr/src/uts/common/io/rwn/rt2860.c
2281
ic = &sc->sc_ic;
usr/src/uts/common/io/rwn/rt2860.c
2283
rt2860_stop(sc);
usr/src/uts/common/io/rwn/rt2860.c
2284
tmp = RT2860_READ(sc, RT2860_WPDMA_GLO_CFG);
usr/src/uts/common/io/rwn/rt2860.c
2286
RT2860_WRITE(sc, RT2860_WPDMA_GLO_CFG, tmp | RT2860_TX_WB_DDONE);
usr/src/uts/common/io/rwn/rt2860.c
2288
RT2860_WRITE(sc, RT2860_WPDMA_RST_IDX, 0xffffffff);
usr/src/uts/common/io/rwn/rt2860.c
2291
RT2860_WRITE(sc, RT2860_SYS_CTRL, 0xe1f);
usr/src/uts/common/io/rwn/rt2860.c
2292
RT2860_WRITE(sc, RT2860_SYS_CTRL, 0xe00);
usr/src/uts/common/io/rwn/rt2860.c
2294
if (!(sc->sc_flags & RT2860_FWLOADED)) {
usr/src/uts/common/io/rwn/rt2860.c
2295
if ((err = rt2860_load_microcode(sc)) != 0) {
usr/src/uts/common/io/rwn/rt2860.c
2298
rt2860_stop(sc);
usr/src/uts/common/io/rwn/rt2860.c
2301
RT2860_GLOCK(sc);
usr/src/uts/common/io/rwn/rt2860.c
2302
sc->sc_flags |= RT2860_FWLOADED;
usr/src/uts/common/io/rwn/rt2860.c
2303
RT2860_GUNLOCK(sc);
usr/src/uts/common/io/rwn/rt2860.c
2306
rt2860_set_macaddr(sc, ic->ic_macaddr);
usr/src/uts/common/io/rwn/rt2860.c
2310
if (sc->txpow20mhz[ridx] == 0xffffffff)
usr/src/uts/common/io/rwn/rt2860.c
2312
RT2860_WRITE(sc, RT2860_TX_PWR_CFG(ridx), sc->txpow20mhz[ridx]);
usr/src/uts/common/io/rwn/rt2860.c
2316
tmp = RT2860_READ(sc, RT2860_WPDMA_GLO_CFG);
usr/src/uts/common/io/rwn/rt2860.c
2324
rt2860_stop(sc);
usr/src/uts/common/io/rwn/rt2860.c
2328
RT2860_WRITE(sc, RT2860_WPDMA_GLO_CFG, tmp | RT2860_TX_WB_DDONE);
usr/src/uts/common/io/rwn/rt2860.c
2331
RT2860_WRITE(sc, RT2860_WPDMA_RST_IDX, 0x1003f);
usr/src/uts/common/io/rwn/rt2860.c
2334
RT2860_WRITE(sc, RT2860_SYS_CTRL, 0xe1f);
usr/src/uts/common/io/rwn/rt2860.c
2335
RT2860_WRITE(sc, RT2860_SYS_CTRL, 0xe00);
usr/src/uts/common/io/rwn/rt2860.c
2337
RT2860_WRITE(sc, RT2860_MAC_SYS_CTRL,
usr/src/uts/common/io/rwn/rt2860.c
2339
RT2860_WRITE(sc, RT2860_MAC_SYS_CTRL, 0);
usr/src/uts/common/io/rwn/rt2860.c
2342
RT2860_WRITE(sc, rt2860_def_mac[i].reg, rt2860_def_mac[i].val);
usr/src/uts/common/io/rwn/rt2860.c
2346
if (!(RT2860_READ(sc, RT2860_MAC_STATUS_REG) &
usr/src/uts/common/io/rwn/rt2860.c
2354
rt2860_stop(sc);
usr/src/uts/common/io/rwn/rt2860.c
2359
RT2860_WRITE(sc, RT2860_H2M_BBPAGENT, 0);
usr/src/uts/common/io/rwn/rt2860.c
2360
RT2860_WRITE(sc, RT2860_H2M_MAILBOX, 0);
usr/src/uts/common/io/rwn/rt2860.c
2362
if ((err = rt2860_bbp_init(sc)) != 0) {
usr/src/uts/common/io/rwn/rt2860.c
2363
rt2860_stop(sc);
usr/src/uts/common/io/rwn/rt2860.c
2369
RT2860_WRITE(sc, RT2860_TX_BASE_PTR(qid), sc->txq[qid].paddr);
usr/src/uts/common/io/rwn/rt2860.c
2370
RT2860_WRITE(sc, RT2860_TX_MAX_CNT(qid), RT2860_TX_RING_COUNT);
usr/src/uts/common/io/rwn/rt2860.c
2371
RT2860_WRITE(sc, RT2860_TX_CTX_IDX(qid), 0);
usr/src/uts/common/io/rwn/rt2860.c
2375
RT2860_WRITE(sc, RT2860_RX_BASE_PTR, sc->rxq.paddr);
usr/src/uts/common/io/rwn/rt2860.c
2376
RT2860_WRITE(sc, RT2860_RX_MAX_CNT, RT2860_RX_RING_COUNT);
usr/src/uts/common/io/rwn/rt2860.c
2377
RT2860_WRITE(sc, RT2860_RX_CALC_IDX, RT2860_RX_RING_COUNT - 1);
usr/src/uts/common/io/rwn/rt2860.c
2380
RT2860_WRITE(sc, RT2860_MAX_LEN_CFG, 1 << 12 |
usr/src/uts/common/io/rwn/rt2860.c
2381
(sc->sc_dmabuf_size - sizeof (struct rt2860_rxwi) - 2));
usr/src/uts/common/io/rwn/rt2860.c
2384
tmp = RT2860_READ(sc, RT2860_WPDMA_GLO_CFG);
usr/src/uts/common/io/rwn/rt2860.c
2392
rt2860_stop(sc);
usr/src/uts/common/io/rwn/rt2860.c
2396
RT2860_WRITE(sc, RT2860_WPDMA_GLO_CFG, tmp | RT2860_TX_WB_DDONE);
usr/src/uts/common/io/rwn/rt2860.c
2399
RT2860_WRITE(sc, RT2860_DELAY_INT_CFG, 0);
usr/src/uts/common/io/rwn/rt2860.c
2403
if (sc->bbp[i].reg == 0 || sc->bbp[i].reg == 0xff)
usr/src/uts/common/io/rwn/rt2860.c
2405
rt2860_mcu_bbp_write(sc, sc->bbp[i].reg, sc->bbp[i].val);
usr/src/uts/common/io/rwn/rt2860.c
2409
(void) rt2860_mcu_cmd(sc, RT2860_MCU_CMD_LED1, sc->led[0]);
usr/src/uts/common/io/rwn/rt2860.c
2410
(void) rt2860_mcu_cmd(sc, RT2860_MCU_CMD_LED2, sc->led[1]);
usr/src/uts/common/io/rwn/rt2860.c
2411
(void) rt2860_mcu_cmd(sc, RT2860_MCU_CMD_LED3, sc->led[2]);
usr/src/uts/common/io/rwn/rt2860.c
2414
bbp3 = rt2860_mcu_bbp_read(sc, 3);
usr/src/uts/common/io/rwn/rt2860.c
2416
if (sc->nrxchains == 2)
usr/src/uts/common/io/rwn/rt2860.c
2418
else if (sc->nrxchains == 3)
usr/src/uts/common/io/rwn/rt2860.c
2420
rt2860_mcu_bbp_write(sc, 3, bbp3);
usr/src/uts/common/io/rwn/rt2860.c
2423
bbp1 = rt2860_mcu_bbp_read(sc, 1);
usr/src/uts/common/io/rwn/rt2860.c
2424
if (sc->ntxchains == 1)
usr/src/uts/common/io/rwn/rt2860.c
2426
rt2860_mcu_bbp_write(sc, 1, bbp1);
usr/src/uts/common/io/rwn/rt2860.c
2429
rt2860_set_chan(sc, ic->ic_curchan);
usr/src/uts/common/io/rwn/rt2860.c
2432
(void) rt2860_mcu_cmd(sc, RT2860_MCU_CMD_BOOT, 0);
usr/src/uts/common/io/rwn/rt2860.c
2435
tmp = RT2860_READ(sc, RT2860_TX_RTS_CFG);
usr/src/uts/common/io/rwn/rt2860.c
2440
sc->sc_ic_flags = ic->ic_flags;
usr/src/uts/common/io/rwn/rt2860.c
2444
RT2860_WRITE(sc, RT2860_MAC_SYS_CTRL, RT2860_MAC_TX_EN);
usr/src/uts/common/io/rwn/rt2860.c
2446
tmp = RT2860_READ(sc, RT2860_WPDMA_GLO_CFG);
usr/src/uts/common/io/rwn/rt2860.c
2454
rt2860_stop(sc);
usr/src/uts/common/io/rwn/rt2860.c
2462
RT2860_WRITE(sc, RT2860_WPDMA_GLO_CFG, tmp);
usr/src/uts/common/io/rwn/rt2860.c
2465
rt2860_set_leds(sc, RT2860_LED_RADIO);
usr/src/uts/common/io/rwn/rt2860.c
2477
RT2860_WRITE(sc, RT2860_RX_FILTR_CFG, tmp);
usr/src/uts/common/io/rwn/rt2860.c
2479
RT2860_WRITE(sc, RT2860_MAC_SYS_CTRL,
usr/src/uts/common/io/rwn/rt2860.c
2483
RT2860_WRITE(sc, RT2860_INT_STATUS, 0xffffffff);
usr/src/uts/common/io/rwn/rt2860.c
2485
RT2860_WRITE(sc, RT2860_INT_MASK, 0x3fffc);
usr/src/uts/common/io/rwn/rt2860.c
2487
if (sc->sc_flags & RT2860_ADVANCED_PS)
usr/src/uts/common/io/rwn/rt2860.c
2488
(void) rt2860_mcu_cmd(sc, RT2860_MCU_CMD_PSLEVEL, sc->pslevel);
usr/src/uts/common/io/rwn/rt2860.c
2496
struct rt2860_softc *sc;
usr/src/uts/common/io/rwn/rt2860.c
2498
sc = ddi_get_soft_state(rt2860_soft_state_p, ddi_get_instance(dip));
usr/src/uts/common/io/rwn/rt2860.c
2499
if (sc == NULL)
usr/src/uts/common/io/rwn/rt2860.c
2509
sc->sc_flags |= RT2860_F_QUIESCE;
usr/src/uts/common/io/rwn/rt2860.c
2514
rt2860_stop(sc);
usr/src/uts/common/io/rwn/rt2860.c
2519
rt2860_stop(struct rt2860_softc *sc)
usr/src/uts/common/io/rwn/rt2860.c
2525
if (!(sc->sc_flags & RT2860_F_QUIESCE))
usr/src/uts/common/io/rwn/rt2860.c
2526
RT2860_GLOCK(sc);
usr/src/uts/common/io/rwn/rt2860.c
2527
if (sc->sc_flags == RT2860_F_RUNNING)
usr/src/uts/common/io/rwn/rt2860.c
2528
rt2860_set_leds(sc, 0); /* turn all LEDs off */
usr/src/uts/common/io/rwn/rt2860.c
2529
sc->sc_tx_timer = 0;
usr/src/uts/common/io/rwn/rt2860.c
2531
if (!(sc->sc_flags & RT2860_F_QUIESCE))
usr/src/uts/common/io/rwn/rt2860.c
2532
RT2860_GUNLOCK(sc);
usr/src/uts/common/io/rwn/rt2860.c
2535
rt2860_set_region_4(sc, RT2860_WCID_ENTRY(0), 0, 512);
usr/src/uts/common/io/rwn/rt2860.c
2537
rt2860_set_region_4(sc, RT2860_PKEY(0), 0, 2048);
usr/src/uts/common/io/rwn/rt2860.c
2539
rt2860_set_region_4(sc, RT2860_IVEIV(0), 0, 512);
usr/src/uts/common/io/rwn/rt2860.c
2541
rt2860_set_region_4(sc, RT2860_WCID_ATTR(0), 0, 256);
usr/src/uts/common/io/rwn/rt2860.c
2543
rt2860_set_region_4(sc, RT2860_SKEY(0, 0), 0, 8 * 32);
usr/src/uts/common/io/rwn/rt2860.c
2545
rt2860_set_region_4(sc, RT2860_SKEY_MODE_0_7, 0, 4);
usr/src/uts/common/io/rwn/rt2860.c
2548
RT2860_WRITE(sc, RT2860_INT_MASK, 0);
usr/src/uts/common/io/rwn/rt2860.c
2551
tmp = RT2860_READ(sc, RT2860_MAC_SYS_CTRL);
usr/src/uts/common/io/rwn/rt2860.c
2553
RT2860_WRITE(sc, RT2860_MAC_SYS_CTRL, tmp);
usr/src/uts/common/io/rwn/rt2860.c
2556
RT2860_WRITE(sc, RT2860_MAC_SYS_CTRL,
usr/src/uts/common/io/rwn/rt2860.c
2558
RT2860_WRITE(sc, RT2860_MAC_SYS_CTRL, 0);
usr/src/uts/common/io/rwn/rt2860.c
2562
rt2860_reset_tx_ring(sc, &sc->txq[qid]);
usr/src/uts/common/io/rwn/rt2860.c
2563
rt2860_reset_rx_ring(sc, &sc->rxq);
usr/src/uts/common/io/rwn/rt2860.c
2566
if (!(sc->sc_flags & RT2860_F_QUIESCE))
usr/src/uts/common/io/rwn/rt2860.c
2567
RT2860_GLOCK(sc);
usr/src/uts/common/io/rwn/rt2860.c
2568
sc->sc_flags &= ~RT2860_UPD_BEACON;
usr/src/uts/common/io/rwn/rt2860.c
2570
if (!(sc->sc_flags & RT2860_F_QUIESCE))
usr/src/uts/common/io/rwn/rt2860.c
2571
RT2860_GUNLOCK(sc);
usr/src/uts/common/io/rwn/rt2860.c
2577
struct rt2860_softc *sc = (struct rt2860_softc *)arg;
usr/src/uts/common/io/rwn/rt2860.c
2578
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/rwn/rt2860.c
2581
err = rt2860_init(sc);
usr/src/uts/common/io/rwn/rt2860.c
2590
RT2860_GLOCK(sc);
usr/src/uts/common/io/rwn/rt2860.c
2591
sc->sc_flags |= RT2860_F_RUNNING;
usr/src/uts/common/io/rwn/rt2860.c
2592
RT2860_GUNLOCK(sc);
usr/src/uts/common/io/rwn/rt2860.c
2596
rt2860_stop(sc);
usr/src/uts/common/io/rwn/rt2860.c
2603
struct rt2860_softc *sc = (struct rt2860_softc *)arg;
usr/src/uts/common/io/rwn/rt2860.c
2605
(void) rt2860_stop(sc);
usr/src/uts/common/io/rwn/rt2860.c
2607
ieee80211_new_state(&sc->sc_ic, IEEE80211_S_INIT, -1);
usr/src/uts/common/io/rwn/rt2860.c
2609
RT2860_GLOCK(sc);
usr/src/uts/common/io/rwn/rt2860.c
2610
sc->sc_flags &= ~RT2860_F_RUNNING;
usr/src/uts/common/io/rwn/rt2860.c
2611
RT2860_GUNLOCK(sc);
usr/src/uts/common/io/rwn/rt2860.c
2617
struct rt2860_softc *sc = (struct rt2860_softc *)arg;
usr/src/uts/common/io/rwn/rt2860.c
2618
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/rwn/rt2860.c
2622
RT2860_GLOCK(sc);
usr/src/uts/common/io/rwn/rt2860.c
2625
if (RT2860_IS_RUNNING(sc)) {
usr/src/uts/common/io/rwn/rt2860.c
2626
RT2860_GUNLOCK(sc);
usr/src/uts/common/io/rwn/rt2860.c
2627
(void) rt2860_init(sc);
usr/src/uts/common/io/rwn/rt2860.c
2630
RT2860_GLOCK(sc);
usr/src/uts/common/io/rwn/rt2860.c
2634
RT2860_GUNLOCK(sc);
usr/src/uts/common/io/rwn/rt2860.c
2644
struct rt2860_softc *sc = (struct rt2860_softc *)arg;
usr/src/uts/common/io/rwn/rt2860.c
2647
err = ieee80211_getprop(&sc->sc_ic, pr_name, wldp_pr_num,
usr/src/uts/common/io/rwn/rt2860.c
2657
struct rt2860_softc *sc = (struct rt2860_softc *)arg;
usr/src/uts/common/io/rwn/rt2860.c
2659
ieee80211_propinfo(&sc->sc_ic, pr_name, wldp_pr_num, prh);
usr/src/uts/common/io/rwn/rt2860.c
2666
struct rt2860_softc *sc = (struct rt2860_softc *)arg;
usr/src/uts/common/io/rwn/rt2860.c
2667
ieee80211com_t *ic = &sc->sc_ic;
usr/src/uts/common/io/rwn/rt2860.c
2672
RT2860_GLOCK(sc);
usr/src/uts/common/io/rwn/rt2860.c
2675
if (RT2860_IS_RUNNING(sc)) {
usr/src/uts/common/io/rwn/rt2860.c
2676
RT2860_GUNLOCK(sc);
usr/src/uts/common/io/rwn/rt2860.c
2677
(void) rt2860_init(sc);
usr/src/uts/common/io/rwn/rt2860.c
2680
RT2860_GLOCK(sc);
usr/src/uts/common/io/rwn/rt2860.c
2685
RT2860_GUNLOCK(sc);
usr/src/uts/common/io/rwn/rt2860.c
2692
struct rt2860_softc *sc = (struct rt2860_softc *)arg;
usr/src/uts/common/io/rwn/rt2860.c
2693
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/rwn/rt2860.c
2696
if (RT2860_IS_SUSPEND(sc)) {
usr/src/uts/common/io/rwn/rt2860.c
2750
struct rt2860_softc *sc = (struct rt2860_softc *)arg;
usr/src/uts/common/io/rwn/rt2860.c
2751
ieee80211com_t *ic = &sc->sc_ic;
usr/src/uts/common/io/rwn/rt2860.c
2755
RT2860_GLOCK(sc);
usr/src/uts/common/io/rwn/rt2860.c
2763
*val = sc->sc_tx_nobuf;
usr/src/uts/common/io/rwn/rt2860.c
2766
*val = sc->sc_rx_nobuf;
usr/src/uts/common/io/rwn/rt2860.c
2769
*val = sc->sc_rx_err;
usr/src/uts/common/io/rwn/rt2860.c
2785
*val = sc->sc_tx_err;
usr/src/uts/common/io/rwn/rt2860.c
2788
*val = sc->sc_tx_retries;
usr/src/uts/common/io/rwn/rt2860.c
2800
RT2860_GUNLOCK(sc);
usr/src/uts/common/io/rwn/rt2860.c
2803
RT2860_GUNLOCK(sc);
usr/src/uts/common/io/rwn/rt2860.c
2806
RT2860_GUNLOCK(sc);
usr/src/uts/common/io/rwn/rt2860.c
2814
struct rt2860_softc *sc;
usr/src/uts/common/io/rwn/rt2860.c
2827
sc = ddi_get_soft_state(rt2860_soft_state_p,
usr/src/uts/common/io/rwn/rt2860.c
2829
ASSERT(sc != NULL);
usr/src/uts/common/io/rwn/rt2860.c
2830
RT2860_GLOCK(sc);
usr/src/uts/common/io/rwn/rt2860.c
2831
sc->sc_flags &= ~RT2860_F_SUSPEND;
usr/src/uts/common/io/rwn/rt2860.c
2832
RT2860_GUNLOCK(sc);
usr/src/uts/common/io/rwn/rt2860.c
2833
if (RT2860_IS_RUNNING(sc))
usr/src/uts/common/io/rwn/rt2860.c
2834
(void) rt2860_init(sc);
usr/src/uts/common/io/rwn/rt2860.c
2851
sc = ddi_get_soft_state(rt2860_soft_state_p, instance);
usr/src/uts/common/io/rwn/rt2860.c
2852
ic = (ieee80211com_t *)&sc->sc_ic;
usr/src/uts/common/io/rwn/rt2860.c
2853
sc->sc_dev = devinfo;
usr/src/uts/common/io/rwn/rt2860.c
2856
err = ddi_regs_map_setup(devinfo, 0, &sc->sc_cfg_base, 0, 0,
usr/src/uts/common/io/rwn/rt2860.c
2857
&rwn_csr_accattr, &sc->sc_cfg_handle);
usr/src/uts/common/io/rwn/rt2860.c
2864
cachelsz = ddi_get8(sc->sc_cfg_handle,
usr/src/uts/common/io/rwn/rt2860.c
2865
(uint8_t *)(sc->sc_cfg_base + PCI_CONF_CACHE_LINESZ));
usr/src/uts/common/io/rwn/rt2860.c
2868
sc->sc_cachelsz = cachelsz << 2;
usr/src/uts/common/io/rwn/rt2860.c
2869
sc->sc_dmabuf_size = roundup(IEEE80211_MAX_LEN, sc->sc_cachelsz);
usr/src/uts/common/io/rwn/rt2860.c
2871
vendor_id = ddi_get16(sc->sc_cfg_handle,
usr/src/uts/common/io/rwn/rt2860.c
2872
(uint16_t *)((uintptr_t)(sc->sc_cfg_base) + PCI_CONF_VENID));
usr/src/uts/common/io/rwn/rt2860.c
2873
device_id = ddi_get16(sc->sc_cfg_handle,
usr/src/uts/common/io/rwn/rt2860.c
2874
(uint16_t *)((uintptr_t)(sc->sc_cfg_base) + PCI_CONF_DEVID));
usr/src/uts/common/io/rwn/rt2860.c
2884
ddi_put16(sc->sc_cfg_handle,
usr/src/uts/common/io/rwn/rt2860.c
2885
(uint16_t *)((uintptr_t)(sc->sc_cfg_base) + PCI_CONF_COMM),
usr/src/uts/common/io/rwn/rt2860.c
2887
ddi_put8(sc->sc_cfg_handle,
usr/src/uts/common/io/rwn/rt2860.c
2888
(uint8_t *)(sc->sc_cfg_base + PCI_CONF_LATENCY_TIMER), 0xa8);
usr/src/uts/common/io/rwn/rt2860.c
2889
ddi_put8(sc->sc_cfg_handle,
usr/src/uts/common/io/rwn/rt2860.c
2890
(uint8_t *)(sc->sc_cfg_base + PCI_CONF_ILINE), 0x10);
usr/src/uts/common/io/rwn/rt2860.c
2894
&sc->sc_io_base, 0, 0, &rwn_csr_accattr, &sc->sc_io_handle);
usr/src/uts/common/io/rwn/rt2860.c
2903
sc->amrr.amrr_min_success_threshold = 1;
usr/src/uts/common/io/rwn/rt2860.c
2904
sc->amrr.amrr_max_success_threshold = 15;
usr/src/uts/common/io/rwn/rt2860.c
2908
sc->mac_rev = RT2860_READ(sc, RT2860_ASIC_VER_ID);
usr/src/uts/common/io/rwn/rt2860.c
2909
if (sc->mac_rev != 0 && sc->mac_rev != 0xffffffff)
usr/src/uts/common/io/rwn/rt2860.c
2919
if ((sc->mac_rev >> 16) != 0x2860 &&
usr/src/uts/common/io/rwn/rt2860.c
2923
sc->sc_flags |= RT2860_ADVANCED_PS;
usr/src/uts/common/io/rwn/rt2860.c
2926
(void) rt2860_read_eeprom(sc);
usr/src/uts/common/io/rwn/rt2860.c
2929
sc->mac_rev >> 16, sc->mac_rev & 0xffff,
usr/src/uts/common/io/rwn/rt2860.c
2930
rt2860_get_rf(sc->rf_rev), sc->ntxchains, sc->nrxchains);
usr/src/uts/common/io/rwn/rt2860.c
2936
if ((err = rt2860_alloc_tx_ring(sc, &sc->txq[qid])) != 0) {
usr/src/uts/common/io/rwn/rt2860.c
2943
if ((err = rt2860_alloc_rx_ring(sc, &sc->rxq)) != 0) {
usr/src/uts/common/io/rwn/rt2860.c
2949
if ((err = rt2860_alloc_tx_pool(sc)) != 0) {
usr/src/uts/common/io/rwn/rt2860.c
2955
mutex_init(&sc->sc_genlock, NULL, MUTEX_DRIVER, NULL);
usr/src/uts/common/io/rwn/rt2860.c
2956
mutex_init(&sc->sc_txlock, NULL, MUTEX_DRIVER, NULL);
usr/src/uts/common/io/rwn/rt2860.c
2957
mutex_init(&sc->sc_rxlock, NULL, MUTEX_DRIVER, NULL);
usr/src/uts/common/io/rwn/rt2860.c
2960
sc->mgtqid = (sc->mac_rev == 0x28600100) ? EDCA_AC_VO : 5;
usr/src/uts/common/io/rwn/rt2860.c
2962
"mgtqid = %x\n", sc->mgtqid);
usr/src/uts/common/io/rwn/rt2860.c
3000
sc->sc_newstate = ic->ic_newstate;
usr/src/uts/common/io/rwn/rt2860.c
3006
&sc->sc_softintr_hdl, NULL, 0, rt2860_softintr, (caddr_t)sc);
usr/src/uts/common/io/rwn/rt2860.c
3013
err = ddi_get_iblock_cookie(devinfo, 0, &sc->sc_iblock);
usr/src/uts/common/io/rwn/rt2860.c
3020
err = ddi_add_intr(devinfo, 0, NULL, NULL, rt2860_intr, (caddr_t)sc);
usr/src/uts/common/io/rwn/rt2860.c
3042
macp->m_driver = sc;
usr/src/uts/common/io/rwn/rt2860.c
306
rt2860_eeprom_read(struct rt2860_softc *sc, uint8_t addr)
usr/src/uts/common/io/rwn/rt2860.c
3072
sc->sc_flags &= ~RT2860_F_RUNNING;
usr/src/uts/common/io/rwn/rt2860.c
3077
ddi_remove_softintr(sc->sc_softintr_hdl);
usr/src/uts/common/io/rwn/rt2860.c
3079
ddi_remove_intr(devinfo, 0, sc->sc_iblock);
usr/src/uts/common/io/rwn/rt2860.c
3081
mutex_destroy(&sc->sc_genlock);
usr/src/uts/common/io/rwn/rt2860.c
3082
mutex_destroy(&sc->sc_txlock);
usr/src/uts/common/io/rwn/rt2860.c
3083
mutex_destroy(&sc->sc_rxlock);
usr/src/uts/common/io/rwn/rt2860.c
3084
rt2860_free_tx_pool(sc);
usr/src/uts/common/io/rwn/rt2860.c
3086
rt2860_free_rx_ring(sc, &sc->rxq);
usr/src/uts/common/io/rwn/rt2860.c
3089
rt2860_free_tx_ring(sc, &sc->txq[qid]);
usr/src/uts/common/io/rwn/rt2860.c
3091
ddi_regs_map_free(&sc->sc_io_handle);
usr/src/uts/common/io/rwn/rt2860.c
3093
ddi_regs_map_free(&sc->sc_cfg_handle);
usr/src/uts/common/io/rwn/rt2860.c
3101
struct rt2860_softc *sc;
usr/src/uts/common/io/rwn/rt2860.c
3104
sc = ddi_get_soft_state(rt2860_soft_state_p, ddi_get_instance(devinfo));
usr/src/uts/common/io/rwn/rt2860.c
3110
if (RT2860_IS_RUNNING(sc))
usr/src/uts/common/io/rwn/rt2860.c
3111
rt2860_stop(sc);
usr/src/uts/common/io/rwn/rt2860.c
3112
RT2860_GLOCK(sc);
usr/src/uts/common/io/rwn/rt2860.c
3113
sc->sc_flags &= ~RT2860_FWLOADED;
usr/src/uts/common/io/rwn/rt2860.c
3114
sc->sc_flags |= RT2860_F_SUSPEND;
usr/src/uts/common/io/rwn/rt2860.c
3115
RT2860_GUNLOCK(sc);
usr/src/uts/common/io/rwn/rt2860.c
3123
if (mac_disable(sc->sc_ic.ic_mach) != 0)
usr/src/uts/common/io/rwn/rt2860.c
3126
rt2860_stop(sc);
usr/src/uts/common/io/rwn/rt2860.c
313
RT2860_EEPROM_CTL(sc, 0);
usr/src/uts/common/io/rwn/rt2860.c
3131
(void) mac_unregister(sc->sc_ic.ic_mach);
usr/src/uts/common/io/rwn/rt2860.c
3133
ddi_remove_intr(devinfo, 0, sc->sc_iblock);
usr/src/uts/common/io/rwn/rt2860.c
3134
ddi_remove_softintr(sc->sc_softintr_hdl);
usr/src/uts/common/io/rwn/rt2860.c
3139
ieee80211_detach(&sc->sc_ic);
usr/src/uts/common/io/rwn/rt2860.c
3141
rt2860_free_tx_pool(sc);
usr/src/uts/common/io/rwn/rt2860.c
3142
rt2860_free_rx_ring(sc, &sc->rxq);
usr/src/uts/common/io/rwn/rt2860.c
3144
rt2860_free_tx_ring(sc, &sc->txq[qid]);
usr/src/uts/common/io/rwn/rt2860.c
3146
ddi_regs_map_free(&sc->sc_io_handle);
usr/src/uts/common/io/rwn/rt2860.c
3148
mutex_destroy(&sc->sc_genlock);
usr/src/uts/common/io/rwn/rt2860.c
3149
mutex_destroy(&sc->sc_txlock);
usr/src/uts/common/io/rwn/rt2860.c
315
RT2860_EEPROM_CTL(sc, RT2860_S);
usr/src/uts/common/io/rwn/rt2860.c
3150
mutex_destroy(&sc->sc_rxlock);
usr/src/uts/common/io/rwn/rt2860.c
316
RT2860_EEPROM_CTL(sc, RT2860_S | RT2860_C);
usr/src/uts/common/io/rwn/rt2860.c
317
RT2860_EEPROM_CTL(sc, RT2860_S);
usr/src/uts/common/io/rwn/rt2860.c
320
RT2860_EEPROM_CTL(sc, RT2860_S | RT2860_D);
usr/src/uts/common/io/rwn/rt2860.c
321
RT2860_EEPROM_CTL(sc, RT2860_S | RT2860_D | RT2860_C);
usr/src/uts/common/io/rwn/rt2860.c
324
RT2860_EEPROM_CTL(sc, RT2860_S | RT2860_D);
usr/src/uts/common/io/rwn/rt2860.c
325
RT2860_EEPROM_CTL(sc, RT2860_S | RT2860_D | RT2860_C);
usr/src/uts/common/io/rwn/rt2860.c
326
RT2860_EEPROM_CTL(sc, RT2860_S);
usr/src/uts/common/io/rwn/rt2860.c
327
RT2860_EEPROM_CTL(sc, RT2860_S | RT2860_C);
usr/src/uts/common/io/rwn/rt2860.c
330
n = ((RT2860_READ(sc, RT2860_PCI_EECTRL) & 0x30) == 0) ? 5 : 7;
usr/src/uts/common/io/rwn/rt2860.c
332
RT2860_EEPROM_CTL(sc, RT2860_S |
usr/src/uts/common/io/rwn/rt2860.c
334
RT2860_EEPROM_CTL(sc, RT2860_S |
usr/src/uts/common/io/rwn/rt2860.c
338
RT2860_EEPROM_CTL(sc, RT2860_S);
usr/src/uts/common/io/rwn/rt2860.c
343
RT2860_EEPROM_CTL(sc, RT2860_S | RT2860_C);
usr/src/uts/common/io/rwn/rt2860.c
344
tmp = RT2860_READ(sc, RT2860_PCI_EECTRL);
usr/src/uts/common/io/rwn/rt2860.c
346
RT2860_EEPROM_CTL(sc, RT2860_S);
usr/src/uts/common/io/rwn/rt2860.c
349
RT2860_EEPROM_CTL(sc, 0);
usr/src/uts/common/io/rwn/rt2860.c
352
RT2860_EEPROM_CTL(sc, RT2860_S);
usr/src/uts/common/io/rwn/rt2860.c
353
RT2860_EEPROM_CTL(sc, 0);
usr/src/uts/common/io/rwn/rt2860.c
354
RT2860_EEPROM_CTL(sc, RT2860_C);
usr/src/uts/common/io/rwn/rt2860.c
381
rt2860_read_eeprom(struct rt2860_softc *sc)
usr/src/uts/common/io/rwn/rt2860.c
383
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/rwn/rt2860.c
389
val = rt2860_eeprom_read(sc, RT2860_EEPROM_VERSION);
usr/src/uts/common/io/rwn/rt2860.c
395
val = rt2860_eeprom_read(sc, RT2860_EEPROM_MAC01);
usr/src/uts/common/io/rwn/rt2860.c
398
val = rt2860_eeprom_read(sc, RT2860_EEPROM_MAC23);
usr/src/uts/common/io/rwn/rt2860.c
401
val = rt2860_eeprom_read(sc, RT2860_EEPROM_MAC45);
usr/src/uts/common/io/rwn/rt2860.c
411
val = rt2860_eeprom_read(sc, RT2860_EEPROM_COUNTRY);
usr/src/uts/common/io/rwn/rt2860.c
417
val = rt2860_eeprom_read(sc, RT2860_EEPROM_BBP_BASE + i);
usr/src/uts/common/io/rwn/rt2860.c
418
sc->bbp[i].val = val & 0xff;
usr/src/uts/common/io/rwn/rt2860.c
419
sc->bbp[i].reg = val >> 8;
usr/src/uts/common/io/rwn/rt2860.c
422
sc->bbp[i].reg, sc->bbp[i].val);
usr/src/uts/common/io/rwn/rt2860.c
426
val = rt2860_eeprom_read(sc, RT2860_EEPROM_FREQ_LEDS);
usr/src/uts/common/io/rwn/rt2860.c
427
sc->freq = ((val & 0xff) != 0xff) ? val & 0xff : 0;
usr/src/uts/common/io/rwn/rt2860.c
429
"EEPROM freq offset %d\n", sc->freq & 0xff);
usr/src/uts/common/io/rwn/rt2860.c
431
if ((sc->leds = val >> 8) != 0xff) {
usr/src/uts/common/io/rwn/rt2860.c
433
sc->led[0] = rt2860_eeprom_read(sc, RT2860_EEPROM_LED1);
usr/src/uts/common/io/rwn/rt2860.c
434
sc->led[1] = rt2860_eeprom_read(sc, RT2860_EEPROM_LED2);
usr/src/uts/common/io/rwn/rt2860.c
435
sc->led[2] = rt2860_eeprom_read(sc, RT2860_EEPROM_LED3);
usr/src/uts/common/io/rwn/rt2860.c
438
sc->leds = 0x01;
usr/src/uts/common/io/rwn/rt2860.c
439
sc->led[0] = 0x5555;
usr/src/uts/common/io/rwn/rt2860.c
440
sc->led[1] = 0x2221;
usr/src/uts/common/io/rwn/rt2860.c
441
sc->led[2] = 0xa9f8;
usr/src/uts/common/io/rwn/rt2860.c
445
sc->leds, sc->led[0], sc->led[1], sc->led[2]);
usr/src/uts/common/io/rwn/rt2860.c
448
val = rt2860_eeprom_read(sc, RT2860_EEPROM_ANTENNA);
usr/src/uts/common/io/rwn/rt2860.c
453
sc->rf_rev = RT2860_RF_2820;
usr/src/uts/common/io/rwn/rt2860.c
454
sc->ntxchains = 1;
usr/src/uts/common/io/rwn/rt2860.c
455
sc->nrxchains = 2;
usr/src/uts/common/io/rwn/rt2860.c
457
sc->rf_rev = (val >> 8) & 0xf;
usr/src/uts/common/io/rwn/rt2860.c
458
sc->ntxchains = (val >> 4) & 0xf;
usr/src/uts/common/io/rwn/rt2860.c
459
sc->nrxchains = val & 0xf;
usr/src/uts/common/io/rwn/rt2860.c
463
sc->rf_rev, sc->ntxchains, sc->nrxchains);
usr/src/uts/common/io/rwn/rt2860.c
466
val = rt2860_eeprom_read(sc, RT2860_EEPROM_CONFIG);
usr/src/uts/common/io/rwn/rt2860.c
470
sc->calib_2ghz = sc->calib_5ghz = 0; /* XXX (val >> 1) & 1 */;
usr/src/uts/common/io/rwn/rt2860.c
472
if (sc->sc_flags & RT2860_ADVANCED_PS) {
usr/src/uts/common/io/rwn/rt2860.c
474
val = rt2860_eeprom_read(sc, RT2860_EEPROM_PCIE_PSLEVEL);
usr/src/uts/common/io/rwn/rt2860.c
476
sc->pslevel = val & 0x3;
usr/src/uts/common/io/rwn/rt2860.c
477
val = rt2860_eeprom_read(sc, RT2860_EEPROM_REV);
usr/src/uts/common/io/rwn/rt2860.c
479
sc->pslevel = MIN(sc->pslevel, 1);
usr/src/uts/common/io/rwn/rt2860.c
483
sc->pslevel);
usr/src/uts/common/io/rwn/rt2860.c
488
val = rt2860_eeprom_read(sc,
usr/src/uts/common/io/rwn/rt2860.c
490
sc->txpow1[i + 0] = (int8_t)(val & 0xff);
usr/src/uts/common/io/rwn/rt2860.c
491
sc->txpow1[i + 1] = (int8_t)(val >> 8);
usr/src/uts/common/io/rwn/rt2860.c
493
val = rt2860_eeprom_read(sc,
usr/src/uts/common/io/rwn/rt2860.c
495
sc->txpow2[i + 0] = (int8_t)(val & 0xff);
usr/src/uts/common/io/rwn/rt2860.c
496
sc->txpow2[i + 1] = (int8_t)(val >> 8);
usr/src/uts/common/io/rwn/rt2860.c
500
if (sc->txpow1[i] < 0 || sc->txpow1[i] > 31)
usr/src/uts/common/io/rwn/rt2860.c
501
sc->txpow1[i] = 5;
usr/src/uts/common/io/rwn/rt2860.c
502
if (sc->txpow2[i] < 0 || sc->txpow2[i] > 31)
usr/src/uts/common/io/rwn/rt2860.c
503
sc->txpow2[i] = 5;
usr/src/uts/common/io/rwn/rt2860.c
506
rt2860_rf2850[i].chan, sc->txpow1[i], sc->txpow2[i]);
usr/src/uts/common/io/rwn/rt2860.c
510
val = rt2860_eeprom_read(sc,
usr/src/uts/common/io/rwn/rt2860.c
512
sc->txpow1[i + 14] = (int8_t)(val & 0xff);
usr/src/uts/common/io/rwn/rt2860.c
513
sc->txpow1[i + 15] = (int8_t)(val >> 8);
usr/src/uts/common/io/rwn/rt2860.c
515
val = rt2860_eeprom_read(sc,
usr/src/uts/common/io/rwn/rt2860.c
517
sc->txpow2[i + 14] = (int8_t)(val & 0xff);
usr/src/uts/common/io/rwn/rt2860.c
518
sc->txpow2[i + 15] = (int8_t)(val >> 8);
usr/src/uts/common/io/rwn/rt2860.c
522
if (sc->txpow1[14 + i] < -7 || sc->txpow1[14 + i] > 15)
usr/src/uts/common/io/rwn/rt2860.c
523
sc->txpow1[14 + i] = 5;
usr/src/uts/common/io/rwn/rt2860.c
524
if (sc->txpow2[14 + i] < -7 || sc->txpow2[14 + i] > 15)
usr/src/uts/common/io/rwn/rt2860.c
525
sc->txpow2[14 + i] = 5;
usr/src/uts/common/io/rwn/rt2860.c
528
rt2860_rf2850[14 + i].chan, sc->txpow1[14 + i],
usr/src/uts/common/io/rwn/rt2860.c
529
sc->txpow2[14 + i]);
usr/src/uts/common/io/rwn/rt2860.c
533
val = rt2860_eeprom_read(sc, RT2860_EEPROM_DELTAPWR);
usr/src/uts/common/io/rwn/rt2860.c
553
val = rt2860_eeprom_read(sc, RT2860_EEPROM_RPWR + ridx);
usr/src/uts/common/io/rwn/rt2860.c
555
val = rt2860_eeprom_read(sc, RT2860_EEPROM_RPWR + ridx + 1);
usr/src/uts/common/io/rwn/rt2860.c
558
sc->txpow20mhz[ridx] = reg;
usr/src/uts/common/io/rwn/rt2860.c
559
sc->txpow40mhz_2ghz[ridx] = b4inc(reg, delta_2ghz);
usr/src/uts/common/io/rwn/rt2860.c
560
sc->txpow40mhz_5ghz[ridx] = b4inc(reg, delta_5ghz);
usr/src/uts/common/io/rwn/rt2860.c
564
"40MHz/5GHz=0x%08x\n", ridx, sc->txpow20mhz[ridx],
usr/src/uts/common/io/rwn/rt2860.c
565
sc->txpow40mhz_2ghz[ridx], sc->txpow40mhz_5ghz[ridx]);
usr/src/uts/common/io/rwn/rt2860.c
569
val = rt2860_eeprom_read(sc, RT2860_EEPROM_TSSI1_2GHZ);
usr/src/uts/common/io/rwn/rt2860.c
570
sc->tssi_2ghz[0] = val & 0xff; /* [-4] */
usr/src/uts/common/io/rwn/rt2860.c
571
sc->tssi_2ghz[1] = val >> 8; /* [-3] */
usr/src/uts/common/io/rwn/rt2860.c
572
val = rt2860_eeprom_read(sc, RT2860_EEPROM_TSSI2_2GHZ);
usr/src/uts/common/io/rwn/rt2860.c
573
sc->tssi_2ghz[2] = val & 0xff; /* [-2] */
usr/src/uts/common/io/rwn/rt2860.c
574
sc->tssi_2ghz[3] = val >> 8; /* [-1] */
usr/src/uts/common/io/rwn/rt2860.c
575
val = rt2860_eeprom_read(sc, RT2860_EEPROM_TSSI3_2GHZ);
usr/src/uts/common/io/rwn/rt2860.c
576
sc->tssi_2ghz[4] = val & 0xff; /* [+0] */
usr/src/uts/common/io/rwn/rt2860.c
577
sc->tssi_2ghz[5] = val >> 8; /* [+1] */
usr/src/uts/common/io/rwn/rt2860.c
578
val = rt2860_eeprom_read(sc, RT2860_EEPROM_TSSI4_2GHZ);
usr/src/uts/common/io/rwn/rt2860.c
579
sc->tssi_2ghz[6] = val & 0xff; /* [+2] */
usr/src/uts/common/io/rwn/rt2860.c
580
sc->tssi_2ghz[7] = val >> 8; /* [+3] */
usr/src/uts/common/io/rwn/rt2860.c
581
val = rt2860_eeprom_read(sc, RT2860_EEPROM_TSSI5_2GHZ);
usr/src/uts/common/io/rwn/rt2860.c
582
sc->tssi_2ghz[8] = val & 0xff; /* [+4] */
usr/src/uts/common/io/rwn/rt2860.c
583
sc->step_2ghz = val >> 8;
usr/src/uts/common/io/rwn/rt2860.c
586
"0x%02x 0x%02x step=%d\n", sc->tssi_2ghz[0], sc->tssi_2ghz[1],
usr/src/uts/common/io/rwn/rt2860.c
587
sc->tssi_2ghz[2], sc->tssi_2ghz[3], sc->tssi_2ghz[4],
usr/src/uts/common/io/rwn/rt2860.c
588
sc->tssi_2ghz[5], sc->tssi_2ghz[6], sc->tssi_2ghz[7],
usr/src/uts/common/io/rwn/rt2860.c
589
sc->tssi_2ghz[8], sc->step_2ghz);
usr/src/uts/common/io/rwn/rt2860.c
591
if (sc->tssi_2ghz[4] == 0xff)
usr/src/uts/common/io/rwn/rt2860.c
592
sc->calib_2ghz = 0;
usr/src/uts/common/io/rwn/rt2860.c
594
val = rt2860_eeprom_read(sc, RT2860_EEPROM_TSSI1_5GHZ);
usr/src/uts/common/io/rwn/rt2860.c
595
sc->tssi_5ghz[0] = val & 0xff; /* [-4] */
usr/src/uts/common/io/rwn/rt2860.c
596
sc->tssi_5ghz[1] = val >> 8; /* [-3] */
usr/src/uts/common/io/rwn/rt2860.c
597
val = rt2860_eeprom_read(sc, RT2860_EEPROM_TSSI2_5GHZ);
usr/src/uts/common/io/rwn/rt2860.c
598
sc->tssi_5ghz[2] = val & 0xff; /* [-2] */
usr/src/uts/common/io/rwn/rt2860.c
599
sc->tssi_5ghz[3] = val >> 8; /* [-1] */
usr/src/uts/common/io/rwn/rt2860.c
600
val = rt2860_eeprom_read(sc, RT2860_EEPROM_TSSI3_5GHZ);
usr/src/uts/common/io/rwn/rt2860.c
601
sc->tssi_5ghz[4] = val & 0xff; /* [+0] */
usr/src/uts/common/io/rwn/rt2860.c
602
sc->tssi_5ghz[5] = val >> 8; /* [+1] */
usr/src/uts/common/io/rwn/rt2860.c
603
val = rt2860_eeprom_read(sc, RT2860_EEPROM_TSSI4_5GHZ);
usr/src/uts/common/io/rwn/rt2860.c
604
sc->tssi_5ghz[6] = val & 0xff; /* [+2] */
usr/src/uts/common/io/rwn/rt2860.c
605
sc->tssi_5ghz[7] = val >> 8; /* [+3] */
usr/src/uts/common/io/rwn/rt2860.c
606
val = rt2860_eeprom_read(sc, RT2860_EEPROM_TSSI5_5GHZ);
usr/src/uts/common/io/rwn/rt2860.c
607
sc->tssi_5ghz[8] = val & 0xff; /* [+4] */
usr/src/uts/common/io/rwn/rt2860.c
608
sc->step_5ghz = val >> 8;
usr/src/uts/common/io/rwn/rt2860.c
611
"0x%02x 0x%02x step=%d\n", sc->tssi_5ghz[0], sc->tssi_5ghz[1],
usr/src/uts/common/io/rwn/rt2860.c
612
sc->tssi_5ghz[2], sc->tssi_5ghz[3], sc->tssi_5ghz[4],
usr/src/uts/common/io/rwn/rt2860.c
613
sc->tssi_5ghz[5], sc->tssi_5ghz[6], sc->tssi_5ghz[7],
usr/src/uts/common/io/rwn/rt2860.c
614
sc->tssi_5ghz[8], sc->step_5ghz);
usr/src/uts/common/io/rwn/rt2860.c
616
if (sc->tssi_5ghz[4] == 0xff)
usr/src/uts/common/io/rwn/rt2860.c
617
sc->calib_5ghz = 0;
usr/src/uts/common/io/rwn/rt2860.c
620
val = rt2860_eeprom_read(sc, RT2860_EEPROM_RSSI1_2GHZ);
usr/src/uts/common/io/rwn/rt2860.c
621
sc->rssi_2ghz[0] = val & 0xff; /* Ant A */
usr/src/uts/common/io/rwn/rt2860.c
622
sc->rssi_2ghz[1] = val >> 8; /* Ant B */
usr/src/uts/common/io/rwn/rt2860.c
623
val = rt2860_eeprom_read(sc, RT2860_EEPROM_RSSI2_2GHZ);
usr/src/uts/common/io/rwn/rt2860.c
624
sc->rssi_2ghz[2] = val & 0xff; /* Ant C */
usr/src/uts/common/io/rwn/rt2860.c
625
sc->lna[2] = val >> 8; /* channel group 2 */
usr/src/uts/common/io/rwn/rt2860.c
627
val = rt2860_eeprom_read(sc, RT2860_EEPROM_RSSI1_5GHZ);
usr/src/uts/common/io/rwn/rt2860.c
628
sc->rssi_5ghz[0] = val & 0xff; /* Ant A */
usr/src/uts/common/io/rwn/rt2860.c
629
sc->rssi_5ghz[1] = val >> 8; /* Ant B */
usr/src/uts/common/io/rwn/rt2860.c
630
val = rt2860_eeprom_read(sc, RT2860_EEPROM_RSSI2_5GHZ);
usr/src/uts/common/io/rwn/rt2860.c
631
sc->rssi_5ghz[2] = val & 0xff; /* Ant C */
usr/src/uts/common/io/rwn/rt2860.c
632
sc->lna[3] = val >> 8; /* channel group 3 */
usr/src/uts/common/io/rwn/rt2860.c
634
val = rt2860_eeprom_read(sc, RT2860_EEPROM_LNA);
usr/src/uts/common/io/rwn/rt2860.c
635
sc->lna[0] = val & 0xff; /* channel group 0 */
usr/src/uts/common/io/rwn/rt2860.c
636
sc->lna[1] = val >> 8; /* channel group 1 */
usr/src/uts/common/io/rwn/rt2860.c
639
if (sc->lna[2] == 0 || sc->lna[2] == 0xff) {
usr/src/uts/common/io/rwn/rt2860.c
642
sc->lna[2] = sc->lna[1];
usr/src/uts/common/io/rwn/rt2860.c
644
if (sc->lna[3] == 0 || sc->lna[3] == 0xff) {
usr/src/uts/common/io/rwn/rt2860.c
647
sc->lna[3] = sc->lna[1];
usr/src/uts/common/io/rwn/rt2860.c
652
if (sc->rssi_2ghz[ant] < -10 || sc->rssi_2ghz[ant] > 10) {
usr/src/uts/common/io/rwn/rt2860.c
656
ant + 1, sc->rssi_2ghz[ant]);
usr/src/uts/common/io/rwn/rt2860.c
657
sc->rssi_2ghz[ant] = 0;
usr/src/uts/common/io/rwn/rt2860.c
659
if (sc->rssi_5ghz[ant] < -10 || sc->rssi_5ghz[ant] > 10) {
usr/src/uts/common/io/rwn/rt2860.c
663
ant + 1, sc->rssi_5ghz[ant]);
usr/src/uts/common/io/rwn/rt2860.c
664
sc->rssi_5ghz[ant] = 0;
usr/src/uts/common/io/rwn/rt2860.c
755
rt2860_alloc_tx_ring(struct rt2860_softc *sc, struct rt2860_tx_ring *ring)
usr/src/uts/common/io/rwn/rt2860.c
761
err = rt2860_alloc_dma_mem(sc->sc_dev, &rt2860_dma_attr, size,
usr/src/uts/common/io/rwn/rt2860.c
786
rt2860_reset_tx_ring(struct rt2860_softc *sc, struct rt2860_tx_ring *ring)
usr/src/uts/common/io/rwn/rt2860.c
798
if (!(sc->sc_flags & RT2860_F_QUIESCE))
usr/src/uts/common/io/rwn/rt2860.c
806
SLIST_INSERT_HEAD(&sc->data_pool, data, next);
usr/src/uts/common/io/rwn/rt2860.c
811
if (!(sc->sc_flags & RT2860_F_QUIESCE))
usr/src/uts/common/io/rwn/rt2860.c
820
rt2860_free_tx_ring(struct rt2860_softc *sc, struct rt2860_tx_ring *ring)
usr/src/uts/common/io/rwn/rt2860.c
828
rt2860_alloc_rx_ring(struct rt2860_softc *sc, struct rt2860_rx_ring *ring)
usr/src/uts/common/io/rwn/rt2860.c
836
err = rt2860_alloc_dma_mem(sc->sc_dev, &rt2860_dma_attr, size,
usr/src/uts/common/io/rwn/rt2860.c
859
(void) rt2860_alloc_dma_mem(sc->sc_dev, &rt2860_dma_attr,
usr/src/uts/common/io/rwn/rt2860.c
860
sc->sc_dmabuf_size,
usr/src/uts/common/io/rwn/rt2860.c
866
rxd->sdl0 = LE_16(sc->sc_dmabuf_size);
usr/src/uts/common/io/rwn/rt2860.c
880
rt2860_reset_rx_ring(struct rt2860_softc *sc, struct rt2860_rx_ring *ring)
usr/src/uts/common/io/rwn/rt2860.c
894
rt2860_free_rx_ring(struct rt2860_softc *sc, struct rt2860_rx_ring *ring)
usr/src/uts/common/io/rwn/rt2860.c
911
rt2860_alloc_tx_pool(struct rt2860_softc *sc)
usr/src/uts/common/io/rwn/rt2860.c
919
SLIST_INIT(&sc->data_pool);
usr/src/uts/common/io/rwn/rt2860.c
921
err = rt2860_alloc_dma_mem(sc->sc_dev, &rt2860_dma_attr, size,
usr/src/uts/common/io/rwn/rt2860.c
924
&sc->txpool_dma);
usr/src/uts/common/io/rwn/rt2860.c
931
sc->txwi = (struct rt2860_txwi *)sc->txpool_dma.mem_va;
usr/src/uts/common/io/rwn/rt2860.c
932
(void) bzero(sc->txwi, size);
usr/src/uts/common/io/rwn/rt2860.c
933
RT2860_DMA_SYNC(sc->txpool_dma, DDI_DMA_SYNC_FORDEV);
usr/src/uts/common/io/rwn/rt2860.c
936
data = &sc->data[i];
usr/src/uts/common/io/rwn/rt2860.c
938
err = rt2860_alloc_dma_mem(sc->sc_dev, &rt2860_dma_attr,
usr/src/uts/common/io/rwn/rt2860.c
939
sc->sc_dmabuf_size,
usr/src/uts/common/io/rwn/rt2860.c
949
data->txwi = &sc->txwi[i];
usr/src/uts/common/io/rwn/rt2860.c
950
data->paddr = sc->txpool_dma.cookie.dmac_address +
usr/src/uts/common/io/rwn/rt2860.c
953
SLIST_INSERT_HEAD(&sc->data_pool, data, next);
usr/src/uts/common/io/rwn/rt2860.c
957
rt2860_free_dma_mem(&sc->txpool_dma);
usr/src/uts/common/io/rwn/rt2860.c
963
rt2860_free_tx_pool(struct rt2860_softc *sc)
usr/src/uts/common/io/rwn/rt2860.c
968
if (sc->txwi != NULL) {
usr/src/uts/common/io/rwn/rt2860.c
969
rt2860_free_dma_mem(&sc->txpool_dma);
usr/src/uts/common/io/rwn/rt2860.c
973
data = &sc->data[i];
usr/src/uts/common/io/rwn/rt2860_reg.h
815
#define RT2860_READ(sc, reg) \
usr/src/uts/common/io/rwn/rt2860_reg.h
816
ddi_get32((sc)->sc_io_handle, \
usr/src/uts/common/io/rwn/rt2860_reg.h
817
(uint32_t *)((uintptr_t)(sc)->sc_io_base + (reg)))
usr/src/uts/common/io/rwn/rt2860_reg.h
819
#define RT2860_WRITE(sc, reg, val) \
usr/src/uts/common/io/rwn/rt2860_reg.h
820
ddi_put32((sc)->sc_io_handle, \
usr/src/uts/common/io/rwn/rt2860_reg.h
821
(uint32_t *)((uintptr_t)(sc)->sc_io_base + (reg)), (val))
usr/src/uts/common/io/rwn/rt2860_reg.h
823
#define rt2860_mem_write1(sc, reg, val) \
usr/src/uts/common/io/rwn/rt2860_reg.h
824
ddi_put8((sc)->sc_io_handle, \
usr/src/uts/common/io/rwn/rt2860_reg.h
825
(uint8_t *)((sc)->sc_io_base + (reg)), (val))
usr/src/uts/common/io/rwn/rt2860_reg.h
830
#define RT2860_EEPROM_CTL(sc, val) { \
usr/src/uts/common/io/rwn/rt2860_reg.h
831
RT2860_WRITE((sc), RT2860_PCI_EECTRL, (val)); \
usr/src/uts/common/io/scsi/adapters/pmcs/pmcs_scsa.c
1848
sas_ssp_cmd_iu_t sc;
usr/src/uts/common/io/scsi/adapters/pmcs/pmcs_scsa.c
1944
bzero(&sc, sizeof (sas_ssp_cmd_iu_t));
usr/src/uts/common/io/scsi/adapters/pmcs/pmcs_scsa.c
1945
bcopy((uint8_t *)&sp->cmd_lun->scsi_lun, sc.lun, sizeof (scsi_lun_t));
usr/src/uts/common/io/scsi/adapters/pmcs/pmcs_scsa.c
1949
sc.task_attribute = SAS_CMD_TASK_ATTR_HEAD;
usr/src/uts/common/io/scsi/adapters/pmcs/pmcs_scsa.c
1952
sc.task_attribute = SAS_CMD_TASK_ATTR_ORDERED;
usr/src/uts/common/io/scsi/adapters/pmcs/pmcs_scsa.c
1956
sc.task_attribute = SAS_CMD_TASK_ATTR_SIMPLE;
usr/src/uts/common/io/scsi/adapters/pmcs/pmcs_scsa.c
1959
(void) memcpy(sc.cdb, pkt->pkt_cdbp,
usr/src/uts/common/io/scsi/adapters/pmcs/pmcs_scsa.c
1960
min(SCSA_CDBLEN(sp), sizeof (sc.cdb)));
usr/src/uts/common/io/scsi/adapters/pmcs/pmcs_scsa.c
1961
(void) memcpy(&ptr[5], &sc, sizeof (sas_ssp_cmd_iu_t));
usr/src/uts/common/io/uath/uath.c
1001
uath_get_capability(sc, CAP_CIPHER_TKIP,
usr/src/uts/common/io/uath/uath.c
1003
uath_get_capability(sc, CAP_MIC_TKIP,
usr/src/uts/common/io/uath/uath.c
1011
uath_get_status(struct uath_softc *sc, uint32_t which, void *odata, int olen)
usr/src/uts/common/io/uath/uath.c
1016
err = uath_cmd_read(sc, WDCMSG_TARGET_GET_STATUS,
usr/src/uts/common/io/uath/uath.c
1025
uath_get_devstatus(struct uath_softc *sc, uint8_t macaddr[IEEE80211_ADDR_LEN])
usr/src/uts/common/io/uath/uath.c
1030
err = uath_get_status(sc, ST_MAC_ADDR, macaddr, IEEE80211_ADDR_LEN);
usr/src/uts/common/io/uath/uath.c
1037
err = uath_get_status(sc, ST_SERIAL_NUMBER,
usr/src/uts/common/io/uath/uath.c
1038
&sc->sc_serial[0], sizeof (sc->sc_serial));
usr/src/uts/common/io/uath/uath.c
1118
uath_cmd_read(struct uath_softc *sc, uint32_t code, const void *idata,
usr/src/uts/common/io/uath/uath.c
1122
return (uath_cmdsend(sc, code, idata, ilen, odata, olen, flags));
usr/src/uts/common/io/uath/uath.c
1126
uath_cmd_write(struct uath_softc *sc, uint32_t code, const void *data,
usr/src/uts/common/io/uath/uath.c
1130
return (uath_cmdsend(sc, code, data, len, NULL, 0, flags));
usr/src/uts/common/io/uath/uath.c
1137
uath_cmdsend(struct uath_softc *sc, uint32_t code, const void *idata, int ilen,
usr/src/uts/common/io/uath/uath.c
1145
cmd = &sc->sc_cmd[sc->sc_cmdid];
usr/src/uts/common/io/uath/uath.c
1172
err = uath_tx_cmd_xfer(sc, sc->tx_cmd_pipe, cmd->buf, cmd->buflen);
usr/src/uts/common/io/uath/uath.c
1179
sc->sc_cmdid = (sc->sc_cmdid + 1) % UATH_CMD_LIST_COUNT;
usr/src/uts/common/io/uath/uath.c
1183
uath_cmd_lock_init(&sc->rlock);
usr/src/uts/common/io/uath/uath.c
1184
err = uath_cmd_lock_wait(&sc->rlock, 2000000);
usr/src/uts/common/io/uath/uath.c
1199
uath_cmd_lock_destroy(&sc->rlock);
usr/src/uts/common/io/uath/uath.c
1210
struct uath_softc *sc = (struct uath_softc *)req->bulk_client_private;
usr/src/uts/common/io/uath/uath.c
1217
sc->tx_cmd_queued);
usr/src/uts/common/io/uath/uath.c
1220
sc->sc_tx_err++;
usr/src/uts/common/io/uath/uath.c
1222
mutex_enter(&sc->sc_txlock_cmd);
usr/src/uts/common/io/uath/uath.c
1223
sc->tx_cmd_queued--;
usr/src/uts/common/io/uath/uath.c
1224
mutex_exit(&sc->sc_txlock_cmd);
usr/src/uts/common/io/uath/uath.c
1229
uath_tx_cmd_xfer(struct uath_softc *sc,
usr/src/uts/common/io/uath/uath.c
1236
send_req = usb_alloc_bulk_req(sc->sc_dev, len, USB_FLAGS_SLEEP);
usr/src/uts/common/io/uath/uath.c
1238
send_req->bulk_client_private = (usb_opaque_t)sc;
usr/src/uts/common/io/uath/uath.c
1258
mutex_enter(&sc->sc_txlock_cmd);
usr/src/uts/common/io/uath/uath.c
1259
sc->tx_cmd_queued++;
usr/src/uts/common/io/uath/uath.c
1260
mutex_exit(&sc->sc_txlock_cmd);
usr/src/uts/common/io/uath/uath.c
1265
uath_cmdeof(struct uath_softc *sc, struct uath_cmd *cmd)
usr/src/uts/common/io/uath/uath.c
1354
uath_cmd_lock_signal(&sc->rlock);
usr/src/uts/common/io/uath/uath.c
1376
uath_cmd_lock_signal(&sc->rlock);
usr/src/uts/common/io/uath/uath.c
1396
struct uath_softc *sc = (struct uath_softc *)req->bulk_client_private;
usr/src/uts/common/io/uath/uath.c
1407
sc->rx_cmd_queued);
usr/src/uts/common/io/uath/uath.c
1435
cmd = &sc->sc_cmd[0];
usr/src/uts/common/io/uath/uath.c
1437
cmd = &sc->sc_cmd[hdr->msgid];
usr/src/uts/common/io/uath/uath.c
1440
uath_cmdeof(sc, cmd);
usr/src/uts/common/io/uath/uath.c
1441
(void) uath_rx_cmd_xfer(sc);
usr/src/uts/common/io/uath/uath.c
1443
mutex_enter(&sc->sc_rxlock_cmd);
usr/src/uts/common/io/uath/uath.c
1444
sc->rx_cmd_queued--;
usr/src/uts/common/io/uath/uath.c
1445
mutex_exit(&sc->sc_rxlock_cmd);
usr/src/uts/common/io/uath/uath.c
1451
uath_rx_cmd_xfer(struct uath_softc *sc)
usr/src/uts/common/io/uath/uath.c
1456
req = usb_alloc_bulk_req(sc->sc_dev, UATH_MAX_CMDSZ, USB_FLAGS_SLEEP);
usr/src/uts/common/io/uath/uath.c
1464
req->bulk_client_private = (usb_opaque_t)sc;
usr/src/uts/common/io/uath/uath.c
1473
err = usb_pipe_bulk_xfer(sc->rx_cmd_pipe, req, USB_FLAGS_NOSLEEP);
usr/src/uts/common/io/uath/uath.c
1481
mutex_enter(&sc->sc_rxlock_cmd);
usr/src/uts/common/io/uath/uath.c
1482
sc->rx_cmd_queued++;
usr/src/uts/common/io/uath/uath.c
1483
mutex_exit(&sc->sc_rxlock_cmd);
usr/src/uts/common/io/uath/uath.c
1488
uath_init_data_queue(struct uath_softc *sc)
usr/src/uts/common/io/uath/uath.c
1490
sc->tx_data_queued = sc->rx_data_queued = 0;
usr/src/uts/common/io/uath/uath.c
1497
struct uath_softc *sc = (struct uath_softc *)req->bulk_client_private;
usr/src/uts/common/io/uath/uath.c
1498
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/uath/uath.c
1505
sc->tx_data_queued);
usr/src/uts/common/io/uath/uath.c
1508
sc->sc_tx_err++;
usr/src/uts/common/io/uath/uath.c
1510
mutex_enter(&sc->sc_txlock_data);
usr/src/uts/common/io/uath/uath.c
1511
sc->tx_data_queued--;
usr/src/uts/common/io/uath/uath.c
1513
if (sc->sc_need_sched) {
usr/src/uts/common/io/uath/uath.c
1514
sc->sc_need_sched = 0;
usr/src/uts/common/io/uath/uath.c
1518
mutex_exit(&sc->sc_txlock_data);
usr/src/uts/common/io/uath/uath.c
1523
uath_tx_data_xfer(struct uath_softc *sc, mblk_t *mp)
usr/src/uts/common/io/uath/uath.c
1528
req = usb_alloc_bulk_req(sc->sc_dev, 0, USB_FLAGS_SLEEP);
usr/src/uts/common/io/uath/uath.c
1538
req->bulk_client_private = (usb_opaque_t)sc;
usr/src/uts/common/io/uath/uath.c
1546
if ((err = usb_pipe_bulk_xfer(sc->tx_data_pipe, req, 0)) !=
usr/src/uts/common/io/uath/uath.c
1555
sc->tx_data_queued++;
usr/src/uts/common/io/uath/uath.c
1563
struct uath_softc *sc = (struct uath_softc *)req->bulk_client_private;
usr/src/uts/common/io/uath/uath.c
1564
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/uath/uath.c
1574
mutex_enter(&sc->sc_rxlock_data);
usr/src/uts/common/io/uath/uath.c
1581
sc->rx_data_queued);
usr/src/uts/common/io/uath/uath.c
1589
sc->sc_rx_err++;
usr/src/uts/common/io/uath/uath.c
1598
sc->sc_rx_err++;
usr/src/uts/common/io/uath/uath.c
1606
UATH_RESET_INTRX(sc);
usr/src/uts/common/io/uath/uath.c
1607
sc->sc_rx_err++;
usr/src/uts/common/io/uath/uath.c
1611
if (chunk->seqnum != sc->sc_intrx_nextnum) {
usr/src/uts/common/io/uath/uath.c
1614
chunk->seqnum, sc->sc_intrx_nextnum);
usr/src/uts/common/io/uath/uath.c
1615
UATH_STAT_INC(sc, st_badchunkseqnum);
usr/src/uts/common/io/uath/uath.c
1616
UATH_RESET_INTRX(sc);
usr/src/uts/common/io/uath/uath.c
1617
sc->sc_rx_err++;
usr/src/uts/common/io/uath/uath.c
1629
UATH_STAT_INC(sc, st_multichunk);
usr/src/uts/common/io/uath/uath.c
1635
sc->sc_intrx_nextnum++;
usr/src/uts/common/io/uath/uath.c
1659
UATH_STAT_INC(sc, st_toobigrxpkt);
usr/src/uts/common/io/uath/uath.c
1663
uath_update_rxstat(sc, BE_32(desc->status));
usr/src/uts/common/io/uath/uath.c
1670
sc->sc_rx_nobuf++;
usr/src/uts/common/io/uath/uath.c
1685
sc->rx_data_queued--;
usr/src/uts/common/io/uath/uath.c
1688
mutex_exit(&sc->sc_rxlock_data);
usr/src/uts/common/io/uath/uath.c
1689
if (UATH_IS_RUNNING(sc) && !UATH_IS_SUSPEND(sc)) {
usr/src/uts/common/io/uath/uath.c
1690
(void) uath_rx_data_xfer(sc);
usr/src/uts/common/io/uath/uath.c
1695
uath_rx_data_xfer(struct uath_softc *sc)
usr/src/uts/common/io/uath/uath.c
1700
req = usb_alloc_bulk_req(sc->sc_dev,
usr/src/uts/common/io/uath/uath.c
1711
req->bulk_client_private = (usb_opaque_t)sc;
usr/src/uts/common/io/uath/uath.c
1718
err = usb_pipe_bulk_xfer(sc->rx_data_pipe, req, 0);
usr/src/uts/common/io/uath/uath.c
1726
mutex_enter(&sc->sc_rxlock_data);
usr/src/uts/common/io/uath/uath.c
1727
sc->rx_data_queued++;
usr/src/uts/common/io/uath/uath.c
1728
mutex_exit(&sc->sc_rxlock_data);
usr/src/uts/common/io/uath/uath.c
1733
uath_update_rxstat(struct uath_softc *sc, uint32_t status)
usr/src/uts/common/io/uath/uath.c
1738
UATH_STAT_INC(sc, st_stopinprogress);
usr/src/uts/common/io/uath/uath.c
1741
UATH_STAT_INC(sc, st_crcerr);
usr/src/uts/common/io/uath/uath.c
1744
UATH_STAT_INC(sc, st_phyerr);
usr/src/uts/common/io/uath/uath.c
1747
UATH_STAT_INC(sc, st_decrypt_crcerr);
usr/src/uts/common/io/uath/uath.c
1750
UATH_STAT_INC(sc, st_decrypt_micerr);
usr/src/uts/common/io/uath/uath.c
1753
UATH_STAT_INC(sc, st_decomperr);
usr/src/uts/common/io/uath/uath.c
1756
UATH_STAT_INC(sc, st_keyerr);
usr/src/uts/common/io/uath/uath.c
1759
UATH_STAT_INC(sc, st_err);
usr/src/uts/common/io/uath/uath.c
1769
struct uath_softc *sc = arg;
usr/src/uts/common/io/uath/uath.c
1770
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/uath/uath.c
1775
sc->sc_scan_id = 0;
usr/src/uts/common/io/uath/uath.c
1779
uath_create_connection(struct uath_softc *sc, uint32_t connid)
usr/src/uts/common/io/uath/uath.c
1782
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/uath/uath.c
1806
err = uath_cmd_write(sc, WDCMSG_CREATE_CONNECTION, &create,
usr/src/uts/common/io/uath/uath.c
1812
uath_set_rates(struct uath_softc *sc, const struct ieee80211_rateset *rs)
usr/src/uts/common/io/uath/uath.c
1826
err = uath_cmd_write(sc, WDCMSG_SET_BASIC_RATE,
usr/src/uts/common/io/uath/uath.c
1832
uath_write_associd(struct uath_softc *sc)
usr/src/uts/common/io/uath/uath.c
1834
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/uath/uath.c
1844
err = uath_cmd_write(sc, WDCMSG_WRITE_ASSOCID, &associd,
usr/src/uts/common/io/uath/uath.c
1850
uath_set_ledsteady(struct uath_softc *sc, int lednum, int ledmode)
usr/src/uts/common/io/uath/uath.c
1862
err = uath_cmd_write(sc, WDCMSG_SET_LED_STEADY, &led, sizeof (led), 0);
usr/src/uts/common/io/uath/uath.c
1867
uath_set_ledblink(struct uath_softc *sc, int lednum, int ledmode,
usr/src/uts/common/io/uath/uath.c
1883
err = uath_cmd_write(sc, WDCMSG_SET_LED_BLINK,
usr/src/uts/common/io/uath/uath.c
1892
struct uath_softc *sc = (struct uath_softc *)ic;
usr/src/uts/common/io/uath/uath.c
1901
if (sc->sc_scan_id != 0) {
usr/src/uts/common/io/uath/uath.c
1902
(void) untimeout(sc->sc_scan_id);
usr/src/uts/common/io/uath/uath.c
1903
sc->sc_scan_id = 0;
usr/src/uts/common/io/uath/uath.c
1906
UATH_LOCK(sc);
usr/src/uts/common/io/uath/uath.c
1908
if (UATH_IS_DISCONNECT(sc) && (nstate != IEEE80211_S_INIT)) {
usr/src/uts/common/io/uath/uath.c
1909
UATH_UNLOCK(sc);
usr/src/uts/common/io/uath/uath.c
1913
if (UATH_IS_SUSPEND(sc) && (nstate != IEEE80211_S_INIT)) {
usr/src/uts/common/io/uath/uath.c
1914
UATH_UNLOCK(sc);
usr/src/uts/common/io/uath/uath.c
1922
(void) uath_set_ledstate(sc, 0);
usr/src/uts/common/io/uath/uath.c
1926
if (uath_switch_channel(sc, ic->ic_curchan) != UATH_SUCCESS) {
usr/src/uts/common/io/uath/uath.c
1931
sc->sc_scan_id = timeout(uath_next_scan, (void *)sc,
usr/src/uts/common/io/uath/uath.c
1936
uath_config(sc, CFG_USER_RTS_THRESHOLD, ic->ic_rtsthreshold);
usr/src/uts/common/io/uath/uath.c
1938
if (uath_switch_channel(sc, ni->in_chan) != 0) {
usr/src/uts/common/io/uath/uath.c
1943
if (uath_create_connection(sc, UATH_ID_BSS) != 0) {
usr/src/uts/common/io/uath/uath.c
1950
if (uath_set_rates(sc, &ni->in_rates) != 0) {
usr/src/uts/common/io/uath/uath.c
1959
(void) uath_set_ledstate(sc, 1);
usr/src/uts/common/io/uath/uath.c
1969
if (uath_write_associd(sc) != 0) {
usr/src/uts/common/io/uath/uath.c
1975
(void) uath_set_ledsteady(sc, UATH_LED_LINK, UATH_LED_ON);
usr/src/uts/common/io/uath/uath.c
1977
(void) uath_set_ledblink(sc, UATH_LED_ACTIVITY,
usr/src/uts/common/io/uath/uath.c
1980
(void) uath_set_ledstate(sc, 1);
usr/src/uts/common/io/uath/uath.c
1984
UATH_UNLOCK(sc);
usr/src/uts/common/io/uath/uath.c
1986
err = sc->sc_newstate(ic, nstate, arg);
usr/src/uts/common/io/uath/uath.c
1993
struct uath_softc *sc = (struct uath_softc *)ic;
usr/src/uts/common/io/uath/uath.c
2006
mutex_enter(&sc->sc_txlock_data);
usr/src/uts/common/io/uath/uath.c
2008
if (UATH_IS_SUSPEND(sc)) {
usr/src/uts/common/io/uath/uath.c
2013
if (sc->tx_data_queued > UATH_TX_DATA_LIST_COUNT) {
usr/src/uts/common/io/uath/uath.c
2018
sc->sc_need_sched = 1;
usr/src/uts/common/io/uath/uath.c
2020
sc->sc_tx_nobuf++;
usr/src/uts/common/io/uath/uath.c
2086
desc->msgid = sc->sc_msgid; /* don't care about endianness */
usr/src/uts/common/io/uath/uath.c
2119
(void) uath_tx_data_xfer(sc, m);
usr/src/uts/common/io/uath/uath.c
2121
sc->sc_msgid = (sc->sc_msgid + 1) % UATH_TX_DATA_LIST_COUNT;
usr/src/uts/common/io/uath/uath.c
2134
mutex_exit(&sc->sc_txlock_data);
usr/src/uts/common/io/uath/uath.c
2141
struct uath_softc *sc;
usr/src/uts/common/io/uath/uath.c
2149
sc = ddi_get_soft_state(uath_soft_state_p, ddi_get_instance(devinfo));
usr/src/uts/common/io/uath/uath.c
2150
ASSERT(sc != NULL);
usr/src/uts/common/io/uath/uath.c
2151
ic = (struct ieee80211com *)&sc->sc_ic;
usr/src/uts/common/io/uath/uath.c
2153
if (!UATH_IS_RECONNECT(sc)) {
usr/src/uts/common/io/uath/uath.c
2154
err = uath_open_pipes(sc);
usr/src/uts/common/io/uath/uath.c
2161
err = uath_loadfirmware(sc);
usr/src/uts/common/io/uath/uath.c
2168
uath_close_pipes(sc);
usr/src/uts/common/io/uath/uath.c
2169
usb_client_detach(sc->sc_dev, sc->sc_udev);
usr/src/uts/common/io/uath/uath.c
2172
err = usb_reset_device(sc->sc_dev, USB_RESET_LVL_DEFAULT);
usr/src/uts/common/io/uath/uath.c
2184
err = usb_get_dev_data(devinfo, &sc->sc_udev,
usr/src/uts/common/io/uath/uath.c
2187
sc->sc_udev = NULL;
usr/src/uts/common/io/uath/uath.c
2192
vendor_id = sc->sc_udev->dev_descr->idVendor;
usr/src/uts/common/io/uath/uath.c
2193
product_id = sc->sc_udev->dev_descr->idProduct;
usr/src/uts/common/io/uath/uath.c
2194
sc->dev_flags = uath_lookup(vendor_id, product_id);
usr/src/uts/common/io/uath/uath.c
2195
if (sc->dev_flags == UATH_FLAG_ERR) {
usr/src/uts/common/io/uath/uath.c
2202
vendor_id, product_id, sc->dev_flags);
usr/src/uts/common/io/uath/uath.c
2204
UATH_LOCK(sc);
usr/src/uts/common/io/uath/uath.c
2205
sc->sc_flags |= UATH_FLAG_RECONNECT;
usr/src/uts/common/io/uath/uath.c
2206
UATH_UNLOCK(sc);
usr/src/uts/common/io/uath/uath.c
2209
err = uath_open_pipes(sc);
usr/src/uts/common/io/uath/uath.c
2219
err = uath_alloc_cmd_list(sc, sc->sc_cmd, UATH_CMD_LIST_COUNT,
usr/src/uts/common/io/uath/uath.c
2227
err = uath_init_cmd_list(sc);
usr/src/uts/common/io/uath/uath.c
2237
err = uath_host_available(sc);
usr/src/uts/common/io/uath/uath.c
2244
err = uath_get_devcap(sc);
usr/src/uts/common/io/uath/uath.c
2251
err = uath_get_devstatus(sc, ic->ic_macaddr);
usr/src/uts/common/io/uath/uath.c
2258
err = usb_check_same_device(sc->sc_dev, NULL, USB_LOG_L2, -1,
usr/src/uts/common/io/uath/uath.c
2266
err = uath_init(sc);
usr/src/uts/common/io/uath/uath.c
2273
UATH_LOCK(sc);
usr/src/uts/common/io/uath/uath.c
2274
sc->sc_flags &= ~UATH_FLAG_RECONNECT;
usr/src/uts/common/io/uath/uath.c
2275
sc->sc_flags &= ~UATH_FLAG_DISCONNECT;
usr/src/uts/common/io/uath/uath.c
2276
sc->sc_flags |= UATH_FLAG_RUNNING;
usr/src/uts/common/io/uath/uath.c
2277
UATH_UNLOCK(sc);
usr/src/uts/common/io/uath/uath.c
2286
struct uath_softc *sc;
usr/src/uts/common/io/uath/uath.c
2293
sc = ddi_get_soft_state(uath_soft_state_p, ddi_get_instance(devinfo));
usr/src/uts/common/io/uath/uath.c
2294
ASSERT(sc != NULL);
usr/src/uts/common/io/uath/uath.c
2296
if (sc->sc_flags & UATH_FLAG_RECONNECT) {
usr/src/uts/common/io/uath/uath.c
2299
uath_close_pipes(sc);
usr/src/uts/common/io/uath/uath.c
2303
UATH_LOCK(sc);
usr/src/uts/common/io/uath/uath.c
2304
sc->sc_flags |= UATH_FLAG_DISCONNECT;
usr/src/uts/common/io/uath/uath.c
2305
UATH_UNLOCK(sc);
usr/src/uts/common/io/uath/uath.c
2307
ic = (struct ieee80211com *)&sc->sc_ic;
usr/src/uts/common/io/uath/uath.c
2310
UATH_LOCK(sc);
usr/src/uts/common/io/uath/uath.c
2311
sc->sc_flags &= ~UATH_FLAG_RUNNING; /* STOP */
usr/src/uts/common/io/uath/uath.c
2312
UATH_UNLOCK(sc);
usr/src/uts/common/io/uath/uath.c
2315
uath_free_cmd_list(sc->sc_cmd, UATH_CMD_LIST_COUNT);
usr/src/uts/common/io/uath/uath.c
2318
uath_close_pipes(sc);
usr/src/uts/common/io/uath/uath.c
2327
uath_dataflush(struct uath_softc *sc)
usr/src/uts/common/io/uath/uath.c
2351
desc->msgid = sc->sc_msgid; /* don't care about endianness */
usr/src/uts/common/io/uath/uath.c
2360
err = uath_fw_send(sc, sc->tx_data_pipe, buf,
usr/src/uts/common/io/uath/uath.c
2369
sc->sc_msgid = (sc->sc_msgid + 1) % UATH_TX_DATA_LIST_COUNT;
usr/src/uts/common/io/uath/uath.c
2375
uath_cmdflush(struct uath_softc *sc)
usr/src/uts/common/io/uath/uath.c
2377
return (uath_cmd_write(sc, WDCMSG_FLUSH, NULL, 0, 0));
usr/src/uts/common/io/uath/uath.c
2381
uath_flush(struct uath_softc *sc)
usr/src/uts/common/io/uath/uath.c
2385
err = uath_dataflush(sc);
usr/src/uts/common/io/uath/uath.c
2389
err = uath_cmdflush(sc);
usr/src/uts/common/io/uath/uath.c
2399
uath_set_ledstate(struct uath_softc *sc, int connected)
usr/src/uts/common/io/uath/uath.c
2407
err = uath_cmd_write(sc, WDCMSG_SET_LED_STATE,
usr/src/uts/common/io/uath/uath.c
2413
uath_config_multi(struct uath_softc *sc, uint32_t reg, const void *data,
usr/src/uts/common/io/uath/uath.c
2424
err = uath_cmd_write(sc, WDCMSG_TARGET_SET_CONFIG, &write,
usr/src/uts/common/io/uath/uath.c
2434
uath_config(struct uath_softc *sc, uint32_t reg, uint32_t val)
usr/src/uts/common/io/uath/uath.c
2443
err = uath_cmd_write(sc, WDCMSG_TARGET_SET_CONFIG, &write,
usr/src/uts/common/io/uath/uath.c
2453
uath_switch_channel(struct uath_softc *sc, struct ieee80211_channel *c)
usr/src/uts/common/io/uath/uath.c
2458
err = uath_set_chan(sc, c);
usr/src/uts/common/io/uath/uath.c
2466
err = uath_reset_tx_queues(sc);
usr/src/uts/common/io/uath/uath.c
2474
err = uath_wme_init(sc);
usr/src/uts/common/io/uath/uath.c
2481
err = uath_set_ledstate(sc, 0);
usr/src/uts/common/io/uath/uath.c
2488
err = uath_flush(sc);
usr/src/uts/common/io/uath/uath.c
2500
uath_set_rxfilter(struct uath_softc *sc, uint32_t bits, uint32_t op)
usr/src/uts/common/io/uath/uath.c
2510
return ((uath_cmd_write(sc, WDCMSG_RX_FILTER, &rxfilter,
usr/src/uts/common/io/uath/uath.c
2515
uath_set_chan(struct uath_softc *sc, struct ieee80211_channel *c)
usr/src/uts/common/io/uath/uath.c
2517
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/uath/uath.c
2544
return (uath_cmd_write(sc, WDCMSG_RESET, &reset, sizeof (reset), 0));
usr/src/uts/common/io/uath/uath.c
2548
uath_reset_tx_queues(struct uath_softc *sc)
usr/src/uts/common/io/uath/uath.c
2554
err = uath_cmd_write(sc, WDCMSG_RELEASE_TX_QUEUE, &qid,
usr/src/uts/common/io/uath/uath.c
2563
uath_wme_init(struct uath_softc *sc)
usr/src/uts/common/io/uath/uath.c
2588
err = uath_cmd_write(sc, WDCMSG_SETUP_TX_QUEUE, &qinfo,
usr/src/uts/common/io/uath/uath.c
2599
struct uath_softc *sc = (struct uath_softc *)arg;
usr/src/uts/common/io/uath/uath.c
2602
(void) uath_flush(sc);
usr/src/uts/common/io/uath/uath.c
2605
(void) uath_set_ledstate(sc, 0);
usr/src/uts/common/io/uath/uath.c
2608
(void) uath_cmd_write(sc, WDCMSG_TARGET_STOP, NULL, 0, 0);
usr/src/uts/common/io/uath/uath.c
2611
usb_pipe_reset(sc->sc_dev, sc->rx_data_pipe, USB_FLAGS_SLEEP, NULL, 0);
usr/src/uts/common/io/uath/uath.c
2612
usb_pipe_reset(sc->sc_dev, sc->tx_data_pipe, USB_FLAGS_SLEEP, NULL, 0);
usr/src/uts/common/io/uath/uath.c
2613
usb_pipe_reset(sc->sc_dev, sc->tx_cmd_pipe, USB_FLAGS_SLEEP, NULL, 0);
usr/src/uts/common/io/uath/uath.c
2619
struct uath_softc *sc = arg;
usr/src/uts/common/io/uath/uath.c
2620
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/uath/uath.c
2624
if (UATH_IS_RUNNING(sc))
usr/src/uts/common/io/uath/uath.c
2625
uath_stop_locked(sc);
usr/src/uts/common/io/uath/uath.c
2627
uath_init_data_queue(sc);
usr/src/uts/common/io/uath/uath.c
2630
sc->sc_intrx_nextnum = sc->sc_msgid = 0;
usr/src/uts/common/io/uath/uath.c
2633
(void) uath_cmd_write(sc, WDCMSG_BIND, &val, sizeof (val), 0);
usr/src/uts/common/io/uath/uath.c
2636
(void) uath_config_multi(sc, CFG_MAC_ADDR,
usr/src/uts/common/io/uath/uath.c
2640
uath_config(sc, CFG_RATE_CONTROL_ENABLE, 0x00000001);
usr/src/uts/common/io/uath/uath.c
2641
uath_config(sc, CFG_DIVERSITY_CTL, 0x00000001);
usr/src/uts/common/io/uath/uath.c
2642
uath_config(sc, CFG_ABOLT, 0x0000003f);
usr/src/uts/common/io/uath/uath.c
2643
uath_config(sc, CFG_WME_ENABLED, 0x00000001);
usr/src/uts/common/io/uath/uath.c
2645
uath_config(sc, CFG_SERVICE_TYPE, 1);
usr/src/uts/common/io/uath/uath.c
2646
uath_config(sc, CFG_TP_SCALE, 0x00000000);
usr/src/uts/common/io/uath/uath.c
2647
uath_config(sc, CFG_TPC_HALF_DBM5, 0x0000003c);
usr/src/uts/common/io/uath/uath.c
2648
uath_config(sc, CFG_TPC_HALF_DBM2, 0x0000003c);
usr/src/uts/common/io/uath/uath.c
2649
uath_config(sc, CFG_OVERRD_TX_POWER, 0x00000000);
usr/src/uts/common/io/uath/uath.c
2650
uath_config(sc, CFG_GMODE_PROTECTION, 0x00000000);
usr/src/uts/common/io/uath/uath.c
2651
uath_config(sc, CFG_GMODE_PROTECT_RATE_INDEX, 0x00000003);
usr/src/uts/common/io/uath/uath.c
2652
uath_config(sc, CFG_PROTECTION_TYPE, 0x00000000);
usr/src/uts/common/io/uath/uath.c
2653
uath_config(sc, CFG_MODE_CTS, 0x00000002);
usr/src/uts/common/io/uath/uath.c
2655
err = uath_cmd_read(sc, WDCMSG_TARGET_START, NULL, 0,
usr/src/uts/common/io/uath/uath.c
2668
err = uath_switch_channel(sc, ic->ic_curchan);
usr/src/uts/common/io/uath/uath.c
2676
(void) uath_cmd_write(sc, WDCMSG_SET_PWR_MODE, &val, sizeof (val), 0);
usr/src/uts/common/io/uath/uath.c
2678
(void) uath_cmd_write(sc, WDCMSG_RESET_KEY_CACHE, NULL, 0, 0);
usr/src/uts/common/io/uath/uath.c
2681
err = uath_rx_data_xfer(sc);
usr/src/uts/common/io/uath/uath.c
2690
(void) uath_set_rxfilter(sc, 0x0, UATH_FILTER_OP_INIT);
usr/src/uts/common/io/uath/uath.c
2691
(void) uath_set_rxfilter(sc,
usr/src/uts/common/io/uath/uath.c
2699
uath_stop_locked(sc);
usr/src/uts/common/io/uath/uath.c
2704
uath_init(struct uath_softc *sc)
usr/src/uts/common/io/uath/uath.c
2708
UATH_LOCK(sc);
usr/src/uts/common/io/uath/uath.c
2709
err = uath_init_locked(sc);
usr/src/uts/common/io/uath/uath.c
2713
UATH_UNLOCK(sc);
usr/src/uts/common/io/uath/uath.c
2716
UATH_UNLOCK(sc);
usr/src/uts/common/io/uath/uath.c
272
static int uath_rx_data_xfer(struct uath_softc *sc);
usr/src/uts/common/io/uath/uath.c
2721
uath_stop(struct uath_softc *sc)
usr/src/uts/common/io/uath/uath.c
2726
UATH_LOCK(sc);
usr/src/uts/common/io/uath/uath.c
2727
uath_stop_locked(sc);
usr/src/uts/common/io/uath/uath.c
2728
UATH_UNLOCK(sc);
usr/src/uts/common/io/uath/uath.c
2732
uath_resume(struct uath_softc *sc)
usr/src/uts/common/io/uath/uath.c
2740
if (usb_check_same_device(sc->sc_dev, NULL, USB_LOG_L2, -1,
usr/src/uts/common/io/uath/uath.c
2750
err = uath_init_cmd_list(sc);
usr/src/uts/common/io/uath/uath.c
2757
err = uath_init(sc);
usr/src/uts/common/io/uath/uath.c
2761
uath_stop(sc);
usr/src/uts/common/io/uath/uath.c
2765
ieee80211_new_state(&sc->sc_ic, IEEE80211_S_INIT, -1);
usr/src/uts/common/io/uath/uath.c
2766
UATH_LOCK(sc);
usr/src/uts/common/io/uath/uath.c
2767
sc->sc_flags &= ~UATH_FLAG_SUSPEND;
usr/src/uts/common/io/uath/uath.c
2768
sc->sc_flags |= UATH_FLAG_RUNNING;
usr/src/uts/common/io/uath/uath.c
2769
UATH_UNLOCK(sc);
usr/src/uts/common/io/uath/uath.c
2775
struct uath_softc *sc = (struct uath_softc *)arg;
usr/src/uts/common/io/uath/uath.c
2776
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/uath/uath.c
2782
err = uath_init(sc);
usr/src/uts/common/io/uath/uath.c
2786
uath_stop(sc);
usr/src/uts/common/io/uath/uath.c
2792
UATH_LOCK(sc);
usr/src/uts/common/io/uath/uath.c
2793
sc->sc_flags |= UATH_FLAG_RUNNING;
usr/src/uts/common/io/uath/uath.c
2794
UATH_UNLOCK(sc);
usr/src/uts/common/io/uath/uath.c
2801
struct uath_softc *sc = (struct uath_softc *)arg;
usr/src/uts/common/io/uath/uath.c
2802
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/uath/uath.c
2806
if (!UATH_IS_DISCONNECT(sc))
usr/src/uts/common/io/uath/uath.c
2807
uath_stop(sc);
usr/src/uts/common/io/uath/uath.c
2809
UATH_LOCK(sc);
usr/src/uts/common/io/uath/uath.c
2810
sc->sc_flags &= ~UATH_FLAG_RUNNING;
usr/src/uts/common/io/uath/uath.c
2811
UATH_UNLOCK(sc);
usr/src/uts/common/io/uath/uath.c
2817
struct uath_softc *sc = (struct uath_softc *)arg;
usr/src/uts/common/io/uath/uath.c
2818
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/uath/uath.c
2822
UATH_LOCK(sc);
usr/src/uts/common/io/uath/uath.c
2825
if (UATH_IS_RUNNING(sc)) {
usr/src/uts/common/io/uath/uath.c
2826
UATH_UNLOCK(sc);
usr/src/uts/common/io/uath/uath.c
2827
(void) uath_init(sc);
usr/src/uts/common/io/uath/uath.c
2830
UATH_LOCK(sc);
usr/src/uts/common/io/uath/uath.c
2834
UATH_UNLOCK(sc);
usr/src/uts/common/io/uath/uath.c
2865
struct uath_softc *sc = (struct uath_softc *)arg;
usr/src/uts/common/io/uath/uath.c
2866
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/uath/uath.c
2871
UATH_LOCK(sc);
usr/src/uts/common/io/uath/uath.c
2873
if (ic->ic_des_esslen && UATH_IS_RUNNING(sc)) {
usr/src/uts/common/io/uath/uath.c
2874
UATH_UNLOCK(sc);
usr/src/uts/common/io/uath/uath.c
2875
(void) uath_init(sc);
usr/src/uts/common/io/uath/uath.c
2877
UATH_LOCK(sc);
usr/src/uts/common/io/uath/uath.c
2881
UATH_UNLOCK(sc);
usr/src/uts/common/io/uath/uath.c
2889
struct uath_softc *sc = (struct uath_softc *)arg;
usr/src/uts/common/io/uath/uath.c
2892
err = ieee80211_getprop(&sc->sc_ic, pr_name, wldp_pr_num,
usr/src/uts/common/io/uath/uath.c
2901
struct uath_softc *sc = (struct uath_softc *)arg;
usr/src/uts/common/io/uath/uath.c
2903
ieee80211_propinfo(&sc->sc_ic, pr_name, wldp_pr_num, prh);
usr/src/uts/common/io/uath/uath.c
2909
struct uath_softc *sc = (struct uath_softc *)arg;
usr/src/uts/common/io/uath/uath.c
2910
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/uath/uath.c
2914
UATH_LOCK(sc);
usr/src/uts/common/io/uath/uath.c
2924
*val = sc->sc_tx_nobuf;
usr/src/uts/common/io/uath/uath.c
2927
*val = sc->sc_rx_nobuf;
usr/src/uts/common/io/uath/uath.c
2930
*val = sc->sc_rx_err;
usr/src/uts/common/io/uath/uath.c
2946
*val = sc->sc_tx_err;
usr/src/uts/common/io/uath/uath.c
2949
*val = sc->sc_tx_retries;
usr/src/uts/common/io/uath/uath.c
2961
UATH_UNLOCK(sc);
usr/src/uts/common/io/uath/uath.c
2964
UATH_UNLOCK(sc);
usr/src/uts/common/io/uath/uath.c
2967
UATH_UNLOCK(sc);
usr/src/uts/common/io/uath/uath.c
2975
struct uath_softc *sc = (struct uath_softc *)arg;
usr/src/uts/common/io/uath/uath.c
2976
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/uath/uath.c
2985
UATH_IS_SUSPEND(sc)) {
usr/src/uts/common/io/uath/uath.c
3007
struct uath_softc *sc;
usr/src/uts/common/io/uath/uath.c
3021
sc = ddi_get_soft_state(uath_soft_state_p,
usr/src/uts/common/io/uath/uath.c
3023
ASSERT(sc != NULL);
usr/src/uts/common/io/uath/uath.c
3024
uath_resume(sc);
usr/src/uts/common/io/uath/uath.c
3038
sc = ddi_get_soft_state(uath_soft_state_p, instance);
usr/src/uts/common/io/uath/uath.c
3039
ic = (ieee80211com_t *)&sc->sc_ic;
usr/src/uts/common/io/uath/uath.c
3040
sc->sc_dev = devinfo;
usr/src/uts/common/io/uath/uath.c
3049
err = usb_get_dev_data(devinfo, &sc->sc_udev, USB_PARSE_LVL_ALL, 0);
usr/src/uts/common/io/uath/uath.c
3051
sc->sc_udev = NULL;
usr/src/uts/common/io/uath/uath.c
3057
vendor_id = sc->sc_udev->dev_descr->idVendor;
usr/src/uts/common/io/uath/uath.c
3058
product_id = sc->sc_udev->dev_descr->idProduct;
usr/src/uts/common/io/uath/uath.c
3059
sc->dev_flags = uath_lookup(vendor_id, product_id);
usr/src/uts/common/io/uath/uath.c
3060
if (sc->dev_flags == UATH_FLAG_ERR) {
usr/src/uts/common/io/uath/uath.c
3068
vendor_id, product_id, sc->dev_flags);
usr/src/uts/common/io/uath/uath.c
3074
err = uath_open_pipes(sc);
usr/src/uts/common/io/uath/uath.c
3081
if (sc->dev_flags & UATH_FLAG_PRE_FIRMWARE) {
usr/src/uts/common/io/uath/uath.c
3082
err = uath_loadfirmware(sc);
usr/src/uts/common/io/uath/uath.c
3090
uath_close_pipes(sc);
usr/src/uts/common/io/uath/uath.c
3091
usb_client_detach(sc->sc_dev, sc->sc_udev);
usr/src/uts/common/io/uath/uath.c
3108
mutex_init(&sc->sc_genlock, NULL, MUTEX_DRIVER, NULL);
usr/src/uts/common/io/uath/uath.c
3109
mutex_init(&sc->sc_rxlock_cmd, NULL, MUTEX_DRIVER, NULL);
usr/src/uts/common/io/uath/uath.c
3110
mutex_init(&sc->sc_txlock_cmd, NULL, MUTEX_DRIVER, NULL);
usr/src/uts/common/io/uath/uath.c
3111
mutex_init(&sc->sc_rxlock_data, NULL, MUTEX_DRIVER, NULL);
usr/src/uts/common/io/uath/uath.c
3112
mutex_init(&sc->sc_txlock_data, NULL, MUTEX_DRIVER, NULL);
usr/src/uts/common/io/uath/uath.c
3117
err = uath_alloc_cmd_list(sc, sc->sc_cmd, UATH_CMD_LIST_COUNT,
usr/src/uts/common/io/uath/uath.c
3125
err = uath_init_cmd_list(sc);
usr/src/uts/common/io/uath/uath.c
3135
err = uath_host_available(sc);
usr/src/uts/common/io/uath/uath.c
3142
err = uath_get_devcap(sc);
usr/src/uts/common/io/uath/uath.c
3149
err = uath_get_devstatus(sc, ic->ic_macaddr);
usr/src/uts/common/io/uath/uath.c
3197
sc->sc_newstate = ic->ic_newstate;
usr/src/uts/common/io/uath/uath.c
3202
sc->sc_flags = 0;
usr/src/uts/common/io/uath/uath.c
3219
macp->m_driver = sc;
usr/src/uts/common/io/uath/uath.c
3267
uath_free_cmd_list(sc->sc_cmd, UATH_CMD_LIST_COUNT);
usr/src/uts/common/io/uath/uath.c
3269
mutex_destroy(&sc->sc_genlock);
usr/src/uts/common/io/uath/uath.c
3270
mutex_destroy(&sc->sc_rxlock_cmd);
usr/src/uts/common/io/uath/uath.c
3271
mutex_destroy(&sc->sc_rxlock_data);
usr/src/uts/common/io/uath/uath.c
3272
mutex_destroy(&sc->sc_txlock_cmd);
usr/src/uts/common/io/uath/uath.c
3273
mutex_destroy(&sc->sc_txlock_data);
usr/src/uts/common/io/uath/uath.c
3275
uath_close_pipes(sc);
usr/src/uts/common/io/uath/uath.c
3277
usb_client_detach(sc->sc_dev, sc->sc_udev);
usr/src/uts/common/io/uath/uath.c
3286
struct uath_softc *sc;
usr/src/uts/common/io/uath/uath.c
3288
sc = ddi_get_soft_state(uath_soft_state_p, ddi_get_instance(devinfo));
usr/src/uts/common/io/uath/uath.c
3289
ASSERT(sc != NULL);
usr/src/uts/common/io/uath/uath.c
3295
if (UATH_IS_RUNNING(sc)) {
usr/src/uts/common/io/uath/uath.c
3296
ieee80211_new_state(&sc->sc_ic, IEEE80211_S_INIT, -1);
usr/src/uts/common/io/uath/uath.c
3297
uath_stop(sc);
usr/src/uts/common/io/uath/uath.c
3299
UATH_LOCK(sc);
usr/src/uts/common/io/uath/uath.c
3300
sc->sc_flags &= ~UATH_FLAG_RUNNING;
usr/src/uts/common/io/uath/uath.c
3301
sc->sc_flags |= UATH_FLAG_SUSPEND;
usr/src/uts/common/io/uath/uath.c
3302
UATH_UNLOCK(sc);
usr/src/uts/common/io/uath/uath.c
3308
if (sc->dev_flags & UATH_FLAG_PRE_FIRMWARE) {
usr/src/uts/common/io/uath/uath.c
3314
if (!UATH_IS_DISCONNECT(sc) && UATH_IS_RUNNING(sc))
usr/src/uts/common/io/uath/uath.c
3315
uath_stop(sc);
usr/src/uts/common/io/uath/uath.c
3317
uath_free_cmd_list(sc->sc_cmd, UATH_CMD_LIST_COUNT);
usr/src/uts/common/io/uath/uath.c
3319
if (mac_disable(sc->sc_ic.ic_mach) != 0)
usr/src/uts/common/io/uath/uath.c
3325
if (mac_unregister(sc->sc_ic.ic_mach) != 0)
usr/src/uts/common/io/uath/uath.c
3331
ieee80211_detach(&sc->sc_ic);
usr/src/uts/common/io/uath/uath.c
3334
uath_close_pipes(sc);
usr/src/uts/common/io/uath/uath.c
3337
mutex_destroy(&sc->sc_genlock);
usr/src/uts/common/io/uath/uath.c
3338
mutex_destroy(&sc->sc_rxlock_cmd);
usr/src/uts/common/io/uath/uath.c
3339
mutex_destroy(&sc->sc_rxlock_data);
usr/src/uts/common/io/uath/uath.c
3340
mutex_destroy(&sc->sc_txlock_cmd);
usr/src/uts/common/io/uath/uath.c
3341
mutex_destroy(&sc->sc_txlock_data);
usr/src/uts/common/io/uath/uath.c
3344
usb_client_detach(devinfo, sc->sc_udev);
usr/src/uts/common/io/uath/uath.c
3345
sc->sc_udev = NULL;
usr/src/uts/common/io/uath/uath.c
430
uath_open_pipes(struct uath_softc *sc)
usr/src/uts/common/io/uath/uath.c
440
altif_data = uath_lookup_alt_if(sc->sc_udev, UATH_CONFIG_NO,
usr/src/uts/common/io/uath/uath.c
455
ep_node = uath_lookup_ep_data(sc->sc_dev, sc->sc_udev,
usr/src/uts/common/io/uath/uath.c
464
err = usb_pipe_open(sc->sc_dev, &ep_node->ep_descr,
usr/src/uts/common/io/uath/uath.c
465
&policy, USB_FLAGS_SLEEP, &sc->rx_cmd_pipe);
usr/src/uts/common/io/uath/uath.c
474
ep_node = uath_lookup_ep_data(sc->sc_dev, sc->sc_udev,
usr/src/uts/common/io/uath/uath.c
484
err = usb_pipe_open(sc->sc_dev, &ep_node->ep_descr,
usr/src/uts/common/io/uath/uath.c
485
&policy, USB_FLAGS_SLEEP, &sc->tx_cmd_pipe);
usr/src/uts/common/io/uath/uath.c
493
ep_node = uath_lookup_ep_data(sc->sc_dev, sc->sc_udev,
usr/src/uts/common/io/uath/uath.c
503
err = usb_pipe_open(sc->sc_dev, &ep_node->ep_descr,
usr/src/uts/common/io/uath/uath.c
504
&policy, USB_FLAGS_SLEEP, &sc->rx_data_pipe);
usr/src/uts/common/io/uath/uath.c
512
ep_node = uath_lookup_ep_data(sc->sc_dev, sc->sc_udev,
usr/src/uts/common/io/uath/uath.c
522
err = usb_pipe_open(sc->sc_dev, &ep_node->ep_descr,
usr/src/uts/common/io/uath/uath.c
523
&policy, USB_FLAGS_SLEEP, &sc->tx_data_pipe);
usr/src/uts/common/io/uath/uath.c
533
uath_close_pipes(sc);
usr/src/uts/common/io/uath/uath.c
538
uath_close_pipes(struct uath_softc *sc)
usr/src/uts/common/io/uath/uath.c
542
if (sc->rx_cmd_pipe != NULL) {
usr/src/uts/common/io/uath/uath.c
543
usb_pipe_reset(sc->sc_dev, sc->rx_cmd_pipe, flags, NULL, 0);
usr/src/uts/common/io/uath/uath.c
544
usb_pipe_close(sc->sc_dev, sc->rx_cmd_pipe, flags, NULL, 0);
usr/src/uts/common/io/uath/uath.c
545
sc->rx_cmd_pipe = NULL;
usr/src/uts/common/io/uath/uath.c
548
if (sc->tx_cmd_pipe != NULL) {
usr/src/uts/common/io/uath/uath.c
549
usb_pipe_reset(sc->sc_dev, sc->tx_cmd_pipe, flags, NULL, 0);
usr/src/uts/common/io/uath/uath.c
550
usb_pipe_close(sc->sc_dev, sc->tx_cmd_pipe, flags, NULL, 0);
usr/src/uts/common/io/uath/uath.c
551
sc->tx_cmd_pipe = NULL;
usr/src/uts/common/io/uath/uath.c
554
if (sc->rx_data_pipe != NULL) {
usr/src/uts/common/io/uath/uath.c
555
usb_pipe_reset(sc->sc_dev, sc->rx_data_pipe, flags, NULL, 0);
usr/src/uts/common/io/uath/uath.c
556
usb_pipe_close(sc->sc_dev, sc->rx_data_pipe, flags, NULL, 0);
usr/src/uts/common/io/uath/uath.c
557
sc->rx_data_pipe = NULL;
usr/src/uts/common/io/uath/uath.c
560
if (sc->tx_data_pipe != NULL) {
usr/src/uts/common/io/uath/uath.c
561
usb_pipe_reset(sc->sc_dev, sc->tx_data_pipe, flags, NULL, 0);
usr/src/uts/common/io/uath/uath.c
562
usb_pipe_close(sc->sc_dev, sc->tx_data_pipe, flags, NULL, 0);
usr/src/uts/common/io/uath/uath.c
563
sc->tx_data_pipe = NULL;
usr/src/uts/common/io/uath/uath.c
645
uath_fw_send(struct uath_softc *sc, usb_pipe_handle_t pipe,
usr/src/uts/common/io/uath/uath.c
652
send_req = usb_alloc_bulk_req(sc->sc_dev, len, USB_FLAGS_SLEEP);
usr/src/uts/common/io/uath/uath.c
674
uath_fw_ack(struct uath_softc *sc, int len)
usr/src/uts/common/io/uath/uath.c
681
req = usb_alloc_bulk_req(sc->sc_dev, len, USB_FLAGS_SLEEP);
usr/src/uts/common/io/uath/uath.c
690
req->bulk_client_private = (usb_opaque_t)sc;
usr/src/uts/common/io/uath/uath.c
695
err = usb_pipe_bulk_xfer(sc->rx_cmd_pipe, req, USB_FLAGS_SLEEP);
usr/src/uts/common/io/uath/uath.c
761
uath_loadfirmware(struct uath_softc *sc)
usr/src/uts/common/io/uath/uath.c
813
err = uath_fw_send(sc, sc->tx_cmd_pipe, &txblock,
usr/src/uts/common/io/uath/uath.c
822
err = uath_fw_send(sc, sc->tx_data_pipe, fw_index, mlen);
usr/src/uts/common/io/uath/uath.c
830
err = uath_fw_ack(sc, sizeof (struct uath_fwblock));
usr/src/uts/common/io/uath/uath.c
851
uath_alloc_cmd_list(struct uath_softc *sc, struct uath_cmd cmds[],
usr/src/uts/common/io/uath/uath.c
859
cmd->sc = sc; /* backpointer for callbacks */
usr/src/uts/common/io/uath/uath.c
877
uath_init_cmd_list(struct uath_softc *sc)
usr/src/uts/common/io/uath/uath.c
881
sc->sc_cmdid = sc->rx_cmd_queued = sc->tx_cmd_queued = 0;
usr/src/uts/common/io/uath/uath.c
883
if (uath_rx_cmd_xfer(sc) != UATH_SUCCESS) {
usr/src/uts/common/io/uath/uath.c
905
uath_host_available(struct uath_softc *sc)
usr/src/uts/common/io/uath/uath.c
914
return (uath_cmd_read(sc, WDCMSG_HOST_AVAILABLE,
usr/src/uts/common/io/uath/uath.c
919
uath_get_capability(struct uath_softc *sc, uint32_t cap, uint32_t *val)
usr/src/uts/common/io/uath/uath.c
924
err = uath_cmd_read(sc, WDCMSG_TARGET_GET_CAPABILITY, &cap,
usr/src/uts/common/io/uath/uath.c
934
uath_get_devcap(struct uath_softc *sc)
usr/src/uts/common/io/uath/uath.c
936
struct uath_devcap *cap = &sc->sc_devcap;
usr/src/uts/common/io/uath/uath.c
939
uath_get_capability(sc, CAP_TARGET_VERSION,
usr/src/uts/common/io/uath/uath.c
941
uath_get_capability(sc, CAP_TARGET_REVISION,
usr/src/uts/common/io/uath/uath.c
943
uath_get_capability(sc, CAP_MAC_VERSION,
usr/src/uts/common/io/uath/uath.c
945
uath_get_capability(sc, CAP_MAC_REVISION,
usr/src/uts/common/io/uath/uath.c
947
uath_get_capability(sc, CAP_PHY_REVISION,
usr/src/uts/common/io/uath/uath.c
949
uath_get_capability(sc, CAP_ANALOG_5GHz_REVISION,
usr/src/uts/common/io/uath/uath.c
951
uath_get_capability(sc, CAP_ANALOG_2GHz_REVISION,
usr/src/uts/common/io/uath/uath.c
953
uath_get_capability(sc, CAP_REG_DOMAIN,
usr/src/uts/common/io/uath/uath.c
955
uath_get_capability(sc, CAP_REG_CAP_BITS,
usr/src/uts/common/io/uath/uath.c
961
uath_get_capability(sc, CAP_WIRELESS_MODES,
usr/src/uts/common/io/uath/uath.c
963
uath_get_capability(sc, CAP_CHAN_SPREAD_SUPPORT,
usr/src/uts/common/io/uath/uath.c
965
uath_get_capability(sc, CAP_COMPRESS_SUPPORT,
usr/src/uts/common/io/uath/uath.c
967
uath_get_capability(sc, CAP_BURST_SUPPORT,
usr/src/uts/common/io/uath/uath.c
969
uath_get_capability(sc, CAP_FAST_FRAMES_SUPPORT,
usr/src/uts/common/io/uath/uath.c
971
uath_get_capability(sc, CAP_CHAP_TUNING_SUPPORT,
usr/src/uts/common/io/uath/uath.c
973
uath_get_capability(sc, CAP_TURBOG_SUPPORT,
usr/src/uts/common/io/uath/uath.c
975
uath_get_capability(sc, CAP_TURBO_PRIME_SUPPORT,
usr/src/uts/common/io/uath/uath.c
977
uath_get_capability(sc, CAP_DEVICE_TYPE,
usr/src/uts/common/io/uath/uath.c
979
uath_get_capability(sc, CAP_WME_SUPPORT,
usr/src/uts/common/io/uath/uath.c
981
uath_get_capability(sc, CAP_TOTAL_QUEUES,
usr/src/uts/common/io/uath/uath.c
983
uath_get_capability(sc, CAP_CONNECTION_ID_MAX,
usr/src/uts/common/io/uath/uath.c
986
uath_get_capability(sc, CAP_LOW_5GHZ_CHAN,
usr/src/uts/common/io/uath/uath.c
988
uath_get_capability(sc, CAP_HIGH_5GHZ_CHAN,
usr/src/uts/common/io/uath/uath.c
990
uath_get_capability(sc, CAP_LOW_2GHZ_CHAN,
usr/src/uts/common/io/uath/uath.c
992
uath_get_capability(sc, CAP_HIGH_2GHZ_CHAN,
usr/src/uts/common/io/uath/uath.c
994
uath_get_capability(sc, CAP_TWICE_ANTENNAGAIN_5G,
usr/src/uts/common/io/uath/uath.c
996
uath_get_capability(sc, CAP_TWICE_ANTENNAGAIN_2G,
usr/src/uts/common/io/uath/uath.c
999
uath_get_capability(sc, CAP_CIPHER_AES_CCM,
usr/src/uts/common/io/uath/uath_var.h
174
#define UATH_STAT_INC(sc, var) (sc)->sc_stat.var++
usr/src/uts/common/io/uath/uath_var.h
175
#define UATH_STAT_DEC(sc, var) (sc)->sc_stat.var--
usr/src/uts/common/io/uath/uath_var.h
246
#define UATH_LOCK(sc) mutex_enter(&(sc)->sc_genlock)
usr/src/uts/common/io/uath/uath_var.h
247
#define UATH_UNLOCK(sc) mutex_exit(&(sc)->sc_genlock)
usr/src/uts/common/io/uath/uath_var.h
253
#define UATH_RESET_INTRX(sc) do { \
usr/src/uts/common/io/uath/uath_var.h
254
(sc)->sc_intrx_nextnum = 0; \
usr/src/uts/common/io/uath/uath_var.h
255
(sc)->sc_intrx_len = 0; \
usr/src/uts/common/io/uath/uath_var.h
82
struct uath_softc *sc;
usr/src/uts/common/io/uath/uath_var.h
94
struct uath_softc *sc;
usr/src/uts/common/io/ural/ural.c
1005
ural_set_chan(struct ural_softc *sc, struct ieee80211_channel *c)
usr/src/uts/common/io/ural/ural.c
1007
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/ural/ural.c
1016
power = min(sc->txpow[chan - 1], 31);
usr/src/uts/common/io/ural/ural.c
1026
switch (sc->rf_rev) {
usr/src/uts/common/io/ural/ural.c
1028
ural_rf_write(sc, RAL_RF1, 0x00814);
usr/src/uts/common/io/ural/ural.c
1029
ural_rf_write(sc, RAL_RF2, ural_rf2522_r2[chan - 1]);
usr/src/uts/common/io/ural/ural.c
1030
ural_rf_write(sc, RAL_RF3, power << 7 | 0x00040);
usr/src/uts/common/io/ural/ural.c
1034
ural_rf_write(sc, RAL_RF1, 0x08804);
usr/src/uts/common/io/ural/ural.c
1035
ural_rf_write(sc, RAL_RF2, ural_rf2523_r2[chan - 1]);
usr/src/uts/common/io/ural/ural.c
1036
ural_rf_write(sc, RAL_RF3, power << 7 | 0x38044);
usr/src/uts/common/io/ural/ural.c
1037
ural_rf_write(sc, RAL_RF4, (chan == 14) ? 0x00280 : 0x00286);
usr/src/uts/common/io/ural/ural.c
1041
ural_rf_write(sc, RAL_RF1, 0x0c808);
usr/src/uts/common/io/ural/ural.c
1042
ural_rf_write(sc, RAL_RF2, ural_rf2524_r2[chan - 1]);
usr/src/uts/common/io/ural/ural.c
1043
ural_rf_write(sc, RAL_RF3, power << 7 | 0x00040);
usr/src/uts/common/io/ural/ural.c
1044
ural_rf_write(sc, RAL_RF4, (chan == 14) ? 0x00280 : 0x00286);
usr/src/uts/common/io/ural/ural.c
1048
ural_rf_write(sc, RAL_RF1, 0x08808);
usr/src/uts/common/io/ural/ural.c
1049
ural_rf_write(sc, RAL_RF2, ural_rf2525_hi_r2[chan - 1]);
usr/src/uts/common/io/ural/ural.c
1050
ural_rf_write(sc, RAL_RF3, power << 7 | 0x18044);
usr/src/uts/common/io/ural/ural.c
1051
ural_rf_write(sc, RAL_RF4, (chan == 14) ? 0x00280 : 0x00286);
usr/src/uts/common/io/ural/ural.c
1053
ural_rf_write(sc, RAL_RF1, 0x08808);
usr/src/uts/common/io/ural/ural.c
1054
ural_rf_write(sc, RAL_RF2, ural_rf2525_r2[chan - 1]);
usr/src/uts/common/io/ural/ural.c
1055
ural_rf_write(sc, RAL_RF3, power << 7 | 0x18044);
usr/src/uts/common/io/ural/ural.c
1056
ural_rf_write(sc, RAL_RF4, (chan == 14) ? 0x00280 : 0x00286);
usr/src/uts/common/io/ural/ural.c
1060
ural_rf_write(sc, RAL_RF1, 0x08808);
usr/src/uts/common/io/ural/ural.c
1061
ural_rf_write(sc, RAL_RF2, ural_rf2525e_r2[chan - 1]);
usr/src/uts/common/io/ural/ural.c
1062
ural_rf_write(sc, RAL_RF3, power << 7 | 0x18044);
usr/src/uts/common/io/ural/ural.c
1063
ural_rf_write(sc, RAL_RF4, (chan == 14) ? 0x00286 : 0x00282);
usr/src/uts/common/io/ural/ural.c
1067
ural_rf_write(sc, RAL_RF2, ural_rf2526_hi_r2[chan - 1]);
usr/src/uts/common/io/ural/ural.c
1068
ural_rf_write(sc, RAL_RF4, (chan & 1) ? 0x00386 : 0x00381);
usr/src/uts/common/io/ural/ural.c
1069
ural_rf_write(sc, RAL_RF1, 0x08804);
usr/src/uts/common/io/ural/ural.c
1071
ural_rf_write(sc, RAL_RF2, ural_rf2526_r2[chan - 1]);
usr/src/uts/common/io/ural/ural.c
1072
ural_rf_write(sc, RAL_RF3, power << 7 | 0x18044);
usr/src/uts/common/io/ural/ural.c
1073
ural_rf_write(sc, RAL_RF4, (chan & 1) ? 0x00386 : 0x00381);
usr/src/uts/common/io/ural/ural.c
1082
ural_rf_write(sc, RAL_RF1, ural_rf5222[i].r1);
usr/src/uts/common/io/ural/ural.c
1083
ural_rf_write(sc, RAL_RF2, ural_rf5222[i].r2);
usr/src/uts/common/io/ural/ural.c
1084
ural_rf_write(sc, RAL_RF3, power << 7 | 0x00040);
usr/src/uts/common/io/ural/ural.c
1085
ural_rf_write(sc, RAL_RF4, ural_rf5222[i].r4);
usr/src/uts/common/io/ural/ural.c
1092
tmp = ural_bbp_read(sc, 70);
usr/src/uts/common/io/ural/ural.c
1098
ural_bbp_write(sc, 70, tmp);
usr/src/uts/common/io/ural/ural.c
1101
(void) ural_read(sc, RAL_STA_CSR0);
usr/src/uts/common/io/ural/ural.c
1104
ural_disable_rf_tune(sc);
usr/src/uts/common/io/ural/ural.c
1113
ural_enable_tsf_sync(struct ural_softc *sc)
usr/src/uts/common/io/ural/ural.c
1115
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/ural/ural.c
1119
ural_write(sc, RAL_TXRX_CSR19, 0);
usr/src/uts/common/io/ural/ural.c
1122
ural_write(sc, RAL_TXRX_CSR18, tmp);
usr/src/uts/common/io/ural/ural.c
1127
ural_write(sc, RAL_TXRX_CSR20, tmp);
usr/src/uts/common/io/ural/ural.c
1135
ural_write(sc, RAL_TXRX_CSR19, tmp);
usr/src/uts/common/io/ural/ural.c
1148
struct ural_softc *sc = (struct ural_softc *)ic;
usr/src/uts/common/io/ural/ural.c
1166
ural_write(sc, RAL_MAC_CSR10, slottime);
usr/src/uts/common/io/ural/ural.c
1167
ural_write(sc, RAL_MAC_CSR11, sifs);
usr/src/uts/common/io/ural/ural.c
1168
ural_write(sc, RAL_MAC_CSR12, eifs);
usr/src/uts/common/io/ural/ural.c
1172
ural_set_txpreamble(struct ural_softc *sc)
usr/src/uts/common/io/ural/ural.c
1176
tmp = ural_read(sc, RAL_TXRX_CSR10);
usr/src/uts/common/io/ural/ural.c
1179
if (sc->sc_ic.ic_flags & IEEE80211_F_SHPREAMBLE)
usr/src/uts/common/io/ural/ural.c
1182
ural_write(sc, RAL_TXRX_CSR10, tmp);
usr/src/uts/common/io/ural/ural.c
1186
ural_set_basicrates(struct ural_softc *sc)
usr/src/uts/common/io/ural/ural.c
1188
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/ural/ural.c
1193
ural_write(sc, RAL_TXRX_CSR11, 0x3);
usr/src/uts/common/io/ural/ural.c
1196
ural_write(sc, RAL_TXRX_CSR11, 0x150);
usr/src/uts/common/io/ural/ural.c
1199
ural_write(sc, RAL_TXRX_CSR11, 0x15f);
usr/src/uts/common/io/ural/ural.c
1204
ural_set_bssid(struct ural_softc *sc, uint8_t *bssid)
usr/src/uts/common/io/ural/ural.c
1209
ural_write(sc, RAL_MAC_CSR5, tmp);
usr/src/uts/common/io/ural/ural.c
1212
ural_write(sc, RAL_MAC_CSR6, tmp);
usr/src/uts/common/io/ural/ural.c
1215
ural_write(sc, RAL_MAC_CSR7, tmp);
usr/src/uts/common/io/ural/ural.c
1221
ural_set_macaddr(struct ural_softc *sc, uint8_t *addr)
usr/src/uts/common/io/ural/ural.c
1226
ural_write(sc, RAL_MAC_CSR2, tmp);
usr/src/uts/common/io/ural/ural.c
1229
ural_write(sc, RAL_MAC_CSR3, tmp);
usr/src/uts/common/io/ural/ural.c
1232
ural_write(sc, RAL_MAC_CSR4, tmp);
usr/src/uts/common/io/ural/ural.c
1239
ural_update_promisc(struct ural_softc *sc)
usr/src/uts/common/io/ural/ural.c
1243
tmp = ural_read(sc, RAL_TXRX_CSR2);
usr/src/uts/common/io/ural/ural.c
1246
if (!(sc->sc_rcr & RAL_RCR_PROMISC))
usr/src/uts/common/io/ural/ural.c
1249
ural_write(sc, RAL_TXRX_CSR2, tmp);
usr/src/uts/common/io/ural/ural.c
1252
(sc->sc_rcr & RAL_RCR_PROMISC) ? "entering" : "leaving");
usr/src/uts/common/io/ural/ural.c
1271
ural_read_eeprom(struct ural_softc *sc)
usr/src/uts/common/io/ural/ural.c
1273
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/ural/ural.c
1276
ural_eeprom_read(sc, RAL_EEPROM_CONFIG0, &val, 2);
usr/src/uts/common/io/ural/ural.c
1278
sc->rf_rev = (val >> 11) & 0x7;
usr/src/uts/common/io/ural/ural.c
1279
sc->hw_radio = (val >> 10) & 0x1;
usr/src/uts/common/io/ural/ural.c
1280
sc->led_mode = (val >> 6) & 0x7;
usr/src/uts/common/io/ural/ural.c
1281
sc->rx_ant = (val >> 4) & 0x3;
usr/src/uts/common/io/ural/ural.c
1282
sc->tx_ant = (val >> 2) & 0x3;
usr/src/uts/common/io/ural/ural.c
1283
sc->nb_ant = val & 0x3;
usr/src/uts/common/io/ural/ural.c
1286
ural_eeprom_read(sc, RAL_EEPROM_ADDRESS, ic->ic_macaddr, 6);
usr/src/uts/common/io/ural/ural.c
1289
ural_eeprom_read(sc, RAL_EEPROM_BBP_BASE, sc->bbp_prom, 2 * 16);
usr/src/uts/common/io/ural/ural.c
1292
ural_eeprom_read(sc, RAL_EEPROM_TXPOWER, sc->txpow, 14);
usr/src/uts/common/io/ural/ural.c
1296
ural_bbp_init(struct ural_softc *sc)
usr/src/uts/common/io/ural/ural.c
1302
if (ural_bbp_read(sc, RAL_BBP_VERSION) != 0)
usr/src/uts/common/io/ural/ural.c
1313
ural_bbp_write(sc, ural_def_bbp[i].reg, ural_def_bbp[i].val);
usr/src/uts/common/io/ural/ural.c
1319
ural_set_txantenna(struct ural_softc *sc, int antenna)
usr/src/uts/common/io/ural/ural.c
1324
tx = ural_bbp_read(sc, RAL_BBP_TX) & ~RAL_BBP_ANTMASK;
usr/src/uts/common/io/ural/ural.c
1333
if (sc->rf_rev == RAL_RF_2525E || sc->rf_rev == RAL_RF_2526 ||
usr/src/uts/common/io/ural/ural.c
1334
sc->rf_rev == RAL_RF_5222)
usr/src/uts/common/io/ural/ural.c
1337
ural_bbp_write(sc, RAL_BBP_TX, tx);
usr/src/uts/common/io/ural/ural.c
1340
tmp = ural_read(sc, RAL_PHY_CSR5) & ~0x7;
usr/src/uts/common/io/ural/ural.c
1341
ural_write(sc, RAL_PHY_CSR5, tmp | (tx & 0x7));
usr/src/uts/common/io/ural/ural.c
1343
tmp = ural_read(sc, RAL_PHY_CSR6) & ~0x7;
usr/src/uts/common/io/ural/ural.c
1344
ural_write(sc, RAL_PHY_CSR6, tmp | (tx & 0x7));
usr/src/uts/common/io/ural/ural.c
1348
ural_set_rxantenna(struct ural_softc *sc, int antenna)
usr/src/uts/common/io/ural/ural.c
1352
rx = ural_bbp_read(sc, RAL_BBP_RX) & ~RAL_BBP_ANTMASK;
usr/src/uts/common/io/ural/ural.c
1361
if (sc->rf_rev == RAL_RF_2525E || sc->rf_rev == RAL_RF_2526)
usr/src/uts/common/io/ural/ural.c
1364
ural_bbp_write(sc, RAL_BBP_RX, rx);
usr/src/uts/common/io/ural/ural.c
1374
struct ural_softc *sc = arg;
usr/src/uts/common/io/ural/ural.c
1375
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/ural/ural.c
1384
struct ural_softc *sc = (struct ural_softc *)ic;
usr/src/uts/common/io/ural/ural.c
1389
RAL_LOCK(sc);
usr/src/uts/common/io/ural/ural.c
1393
if (sc->sc_scan_id != 0) {
usr/src/uts/common/io/ural/ural.c
1394
(void) untimeout(sc->sc_scan_id);
usr/src/uts/common/io/ural/ural.c
1395
sc->sc_scan_id = 0;
usr/src/uts/common/io/ural/ural.c
1398
if (sc->sc_amrr_id != 0) {
usr/src/uts/common/io/ural/ural.c
1399
(void) untimeout(sc->sc_amrr_id);
usr/src/uts/common/io/ural/ural.c
1400
sc->sc_amrr_id = 0;
usr/src/uts/common/io/ural/ural.c
1407
ural_write(sc, RAL_TXRX_CSR19, 0);
usr/src/uts/common/io/ural/ural.c
1409
ural_write(sc, RAL_MAC_CSR20, 0);
usr/src/uts/common/io/ural/ural.c
1414
ural_set_chan(sc, ic->ic_curchan);
usr/src/uts/common/io/ural/ural.c
1415
sc->sc_scan_id = timeout(ural_next_scan, (void *)sc,
usr/src/uts/common/io/ural/ural.c
1416
drv_usectohz(sc->dwelltime * 1000));
usr/src/uts/common/io/ural/ural.c
1420
ural_set_chan(sc, ic->ic_curchan);
usr/src/uts/common/io/ural/ural.c
1424
ural_set_chan(sc, ic->ic_curchan);
usr/src/uts/common/io/ural/ural.c
1428
ural_set_chan(sc, ic->ic_curchan);
usr/src/uts/common/io/ural/ural.c
1434
ural_set_txpreamble(sc);
usr/src/uts/common/io/ural/ural.c
1435
ural_set_basicrates(sc);
usr/src/uts/common/io/ural/ural.c
1436
ural_set_bssid(sc, ni->in_bssid);
usr/src/uts/common/io/ural/ural.c
1441
ural_write(sc, RAL_MAC_CSR20, 1);
usr/src/uts/common/io/ural/ural.c
1444
ural_enable_tsf_sync(sc);
usr/src/uts/common/io/ural/ural.c
1449
ural_amrr_start(sc, ni);
usr/src/uts/common/io/ural/ural.c
1454
RAL_UNLOCK(sc);
usr/src/uts/common/io/ural/ural.c
1456
err = sc->sc_newstate(ic, nstate, arg);
usr/src/uts/common/io/ural/ural.c
1469
ural_close_pipes(struct ural_softc *sc)
usr/src/uts/common/io/ural/ural.c
1473
if (sc->sc_rx_pipeh != NULL) {
usr/src/uts/common/io/ural/ural.c
1474
usb_pipe_reset(sc->sc_dev, sc->sc_rx_pipeh, flags, NULL, 0);
usr/src/uts/common/io/ural/ural.c
1475
usb_pipe_close(sc->sc_dev, sc->sc_rx_pipeh, flags, NULL, 0);
usr/src/uts/common/io/ural/ural.c
1476
sc->sc_rx_pipeh = NULL;
usr/src/uts/common/io/ural/ural.c
1479
if (sc->sc_tx_pipeh != NULL) {
usr/src/uts/common/io/ural/ural.c
1480
usb_pipe_reset(sc->sc_dev, sc->sc_tx_pipeh, flags, NULL, 0);
usr/src/uts/common/io/ural/ural.c
1481
usb_pipe_close(sc->sc_dev, sc->sc_tx_pipeh, flags, NULL, 0);
usr/src/uts/common/io/ural/ural.c
1482
sc->sc_tx_pipeh = NULL;
usr/src/uts/common/io/ural/ural.c
1487
ural_open_pipes(struct ural_softc *sc)
usr/src/uts/common/io/ural/ural.c
1493
ep_node = usb_lookup_ep_data(sc->sc_dev, sc->sc_udev, 0, 0, 0,
usr/src/uts/common/io/ural/ural.c
1499
if ((err = usb_pipe_open(sc->sc_dev,
usr/src/uts/common/io/ural/ural.c
1501
&sc->sc_tx_pipeh)) != USB_SUCCESS) {
usr/src/uts/common/io/ural/ural.c
1507
ep_node = usb_lookup_ep_data(sc->sc_dev, sc->sc_udev, 0, 0, 0,
usr/src/uts/common/io/ural/ural.c
1513
if ((err = usb_pipe_open(sc->sc_dev,
usr/src/uts/common/io/ural/ural.c
1515
&sc->sc_rx_pipeh)) != USB_SUCCESS) {
usr/src/uts/common/io/ural/ural.c
1524
if (sc->sc_rx_pipeh != NULL) {
usr/src/uts/common/io/ural/ural.c
1525
usb_pipe_close(sc->sc_dev, sc->sc_rx_pipeh,
usr/src/uts/common/io/ural/ural.c
1527
sc->sc_rx_pipeh = NULL;
usr/src/uts/common/io/ural/ural.c
1530
if (sc->sc_tx_pipeh != NULL) {
usr/src/uts/common/io/ural/ural.c
1531
usb_pipe_close(sc->sc_dev, sc->sc_tx_pipeh,
usr/src/uts/common/io/ural/ural.c
1533
sc->sc_tx_pipeh = NULL;
usr/src/uts/common/io/ural/ural.c
1540
ural_tx_trigger(struct ural_softc *sc, mblk_t *mp)
usr/src/uts/common/io/ural/ural.c
1545
sc->sc_tx_timer = RAL_TX_TIMEOUT;
usr/src/uts/common/io/ural/ural.c
1547
req = usb_alloc_bulk_req(sc->sc_dev, 0, USB_FLAGS_SLEEP);
usr/src/uts/common/io/ural/ural.c
1557
req->bulk_client_private = (usb_opaque_t)sc;
usr/src/uts/common/io/ural/ural.c
1565
if ((err = usb_pipe_bulk_xfer(sc->sc_tx_pipeh, req, 0))
usr/src/uts/common/io/ural/ural.c
1574
sc->tx_queued++;
usr/src/uts/common/io/ural/ural.c
1580
ural_rx_trigger(struct ural_softc *sc)
usr/src/uts/common/io/ural/ural.c
1585
req = usb_alloc_bulk_req(sc->sc_dev, RAL_RXBUF_SIZE, USB_FLAGS_SLEEP);
usr/src/uts/common/io/ural/ural.c
1593
req->bulk_client_private = (usb_opaque_t)sc;
usr/src/uts/common/io/ural/ural.c
1602
err = usb_pipe_bulk_xfer(sc->sc_rx_pipeh, req, 0);
usr/src/uts/common/io/ural/ural.c
1612
mutex_enter(&sc->rx_lock);
usr/src/uts/common/io/ural/ural.c
1613
sc->rx_queued++;
usr/src/uts/common/io/ural/ural.c
1614
mutex_exit(&sc->rx_lock);
usr/src/uts/common/io/ural/ural.c
1620
ural_init_tx_queue(struct ural_softc *sc)
usr/src/uts/common/io/ural/ural.c
1622
sc->tx_queued = 0;
usr/src/uts/common/io/ural/ural.c
1626
ural_init_rx_queue(struct ural_softc *sc)
usr/src/uts/common/io/ural/ural.c
1630
sc->rx_queued = 0;
usr/src/uts/common/io/ural/ural.c
1633
if (ural_rx_trigger(sc) != 0) {
usr/src/uts/common/io/ural/ural.c
1642
ural_stop(struct ural_softc *sc)
usr/src/uts/common/io/ural/ural.c
1644
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/ural/ural.c
1649
RAL_LOCK(sc);
usr/src/uts/common/io/ural/ural.c
1651
sc->sc_tx_timer = 0;
usr/src/uts/common/io/ural/ural.c
1652
sc->sc_flags &= ~RAL_FLAG_RUNNING; /* STOP */
usr/src/uts/common/io/ural/ural.c
1655
ural_write(sc, RAL_TXRX_CSR2, RAL_DISABLE_RX);
usr/src/uts/common/io/ural/ural.c
1658
ural_write(sc, RAL_MAC_CSR1, RAL_RESET_ASIC | RAL_RESET_BBP);
usr/src/uts/common/io/ural/ural.c
1659
ural_write(sc, RAL_MAC_CSR1, 0);
usr/src/uts/common/io/ural/ural.c
1661
ural_close_pipes(sc);
usr/src/uts/common/io/ural/ural.c
1663
RAL_UNLOCK(sc);
usr/src/uts/common/io/ural/ural.c
1667
ural_init(struct ural_softc *sc)
usr/src/uts/common/io/ural/ural.c
1669
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/ural/ural.c
1673
ural_set_testmode(sc);
usr/src/uts/common/io/ural/ural.c
1674
ural_write(sc, 0x308, 0x00f0); /* magic */
usr/src/uts/common/io/ural/ural.c
1676
ural_stop(sc);
usr/src/uts/common/io/ural/ural.c
1680
ural_write(sc, ural_def_mac[i].reg, ural_def_mac[i].val);
usr/src/uts/common/io/ural/ural.c
1684
tmp = ural_read(sc, RAL_MAC_CSR17);
usr/src/uts/common/io/ural/ural.c
1697
ural_write(sc, RAL_MAC_CSR1, RAL_HOST_READY);
usr/src/uts/common/io/ural/ural.c
1700
ural_write(sc, RAL_TXRX_CSR11, 0x15f);
usr/src/uts/common/io/ural/ural.c
1702
if (ural_bbp_init(sc) != 0)
usr/src/uts/common/io/ural/ural.c
1706
ural_set_chan(sc, ic->ic_curchan);
usr/src/uts/common/io/ural/ural.c
1709
ural_read_multi(sc, RAL_STA_CSR0, sc->sta, sizeof (sc->sta));
usr/src/uts/common/io/ural/ural.c
1711
ural_set_txantenna(sc, sc->tx_ant);
usr/src/uts/common/io/ural/ural.c
1712
ural_set_rxantenna(sc, sc->rx_ant);
usr/src/uts/common/io/ural/ural.c
1714
ural_set_macaddr(sc, ic->ic_macaddr);
usr/src/uts/common/io/ural/ural.c
1716
if (ural_open_pipes(sc) != USB_SUCCESS) {
usr/src/uts/common/io/ural/ural.c
1722
ural_init_tx_queue(sc);
usr/src/uts/common/io/ural/ural.c
1724
if (ural_init_rx_queue(sc) != USB_SUCCESS)
usr/src/uts/common/io/ural/ural.c
1733
if (!(sc->sc_rcr & RAL_RCR_PROMISC))
usr/src/uts/common/io/ural/ural.c
1736
ural_write(sc, RAL_TXRX_CSR2, tmp);
usr/src/uts/common/io/ural/ural.c
1737
sc->sc_flags |= RAL_FLAG_RUNNING; /* RUNNING */
usr/src/uts/common/io/ural/ural.c
1741
ural_stop(sc);
usr/src/uts/common/io/ural/ural.c
1748
struct ural_softc *sc;
usr/src/uts/common/io/ural/ural.c
1755
sc = ddi_get_soft_state(ural_soft_state_p, ddi_get_instance(devinfo));
usr/src/uts/common/io/ural/ural.c
1756
ASSERT(sc != NULL);
usr/src/uts/common/io/ural/ural.c
1758
if (!RAL_IS_RUNNING(sc)) /* different device or not inited */
usr/src/uts/common/io/ural/ural.c
1761
ic = &sc->sc_ic;
usr/src/uts/common/io/ural/ural.c
1765
RAL_LOCK(sc);
usr/src/uts/common/io/ural/ural.c
1767
sc->sc_tx_timer = 0;
usr/src/uts/common/io/ural/ural.c
1768
sc->sc_flags &= ~RAL_FLAG_RUNNING; /* STOP */
usr/src/uts/common/io/ural/ural.c
1770
ural_close_pipes(sc);
usr/src/uts/common/io/ural/ural.c
1772
RAL_UNLOCK(sc);
usr/src/uts/common/io/ural/ural.c
1780
struct ural_softc *sc;
usr/src/uts/common/io/ural/ural.c
1783
sc = ddi_get_soft_state(ural_soft_state_p, ddi_get_instance(devinfo));
usr/src/uts/common/io/ural/ural.c
1784
ASSERT(sc != NULL);
usr/src/uts/common/io/ural/ural.c
1787
if (usb_check_same_device(sc->sc_dev, NULL, USB_LOG_L2, -1,
usr/src/uts/common/io/ural/ural.c
1793
err = ural_init(sc);
usr/src/uts/common/io/ural/ural.c
1799
ural_resume(struct ural_softc *sc)
usr/src/uts/common/io/ural/ural.c
1802
if (usb_check_same_device(sc->sc_dev, NULL, USB_LOG_L2, -1,
usr/src/uts/common/io/ural/ural.c
1808
(void) ural_init(sc);
usr/src/uts/common/io/ural/ural.c
1887
struct ural_softc *sc = (struct ural_softc *)arg;
usr/src/uts/common/io/ural/ural.c
1888
struct ural_amrr *amrr = &sc->amrr;
usr/src/uts/common/io/ural/ural.c
1890
ural_read_multi(sc, RAL_STA_CSR0, sc->sta, sizeof (sc->sta));
usr/src/uts/common/io/ural/ural.c
1893
sc->sc_tx_err += sc->sta[9];
usr/src/uts/common/io/ural/ural.c
1894
sc->sc_tx_retries += (sc->sta[7] + sc->sta[8]);
usr/src/uts/common/io/ural/ural.c
1897
sc->sta[7] + /* TX one-retry ok count */
usr/src/uts/common/io/ural/ural.c
1898
sc->sta[8] + /* TX more-retry ok count */
usr/src/uts/common/io/ural/ural.c
1899
sc->sta[9]; /* TX retry-fail count */
usr/src/uts/common/io/ural/ural.c
1903
sc->sta[6]; /* TX no-retry ok count */
usr/src/uts/common/io/ural/ural.c
1905
ural_ratectl(amrr, sc->sc_ic.ic_bss);
usr/src/uts/common/io/ural/ural.c
1907
sc->sc_amrr_id = timeout(ural_amrr_timeout, (void *)sc,
usr/src/uts/common/io/ural/ural.c
1913
ural_amrr_start(struct ural_softc *sc, struct ieee80211_node *ni)
usr/src/uts/common/io/ural/ural.c
1915
struct ural_amrr *amrr = &sc->amrr;
usr/src/uts/common/io/ural/ural.c
1919
ural_read_multi(sc, RAL_STA_CSR0, sc->sta, sizeof (sc->sta));
usr/src/uts/common/io/ural/ural.c
1934
sc->sc_amrr_id = timeout(ural_amrr_timeout, (void *)sc,
usr/src/uts/common/io/ural/ural.c
1941
struct ural_softc *sc = arg;
usr/src/uts/common/io/ural/ural.c
1942
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/ural/ural.c
1945
RAL_LOCK(sc);
usr/src/uts/common/io/ural/ural.c
1948
if (!RAL_IS_RUNNING(sc)) {
usr/src/uts/common/io/ural/ural.c
1949
RAL_UNLOCK(sc);
usr/src/uts/common/io/ural/ural.c
1953
if (sc->sc_tx_timer > 0) {
usr/src/uts/common/io/ural/ural.c
1954
if (--sc->sc_tx_timer == 0) {
usr/src/uts/common/io/ural/ural.c
1956
RAL_UNLOCK(sc);
usr/src/uts/common/io/ural/ural.c
1957
(void) ural_init(sc);
usr/src/uts/common/io/ural/ural.c
1966
RAL_UNLOCK(sc);
usr/src/uts/common/io/ural/ural.c
1977
struct ural_softc *sc = (struct ural_softc *)arg;
usr/src/uts/common/io/ural/ural.c
1983
err = ural_init(sc);
usr/src/uts/common/io/ural/ural.c
1988
sc->sc_flags |= RAL_FLAG_RUNNING; /* RUNNING */
usr/src/uts/common/io/ural/ural.c
1992
ural_stop(sc);
usr/src/uts/common/io/ural/ural.c
1999
struct ural_softc *sc = (struct ural_softc *)arg;
usr/src/uts/common/io/ural/ural.c
2001
(void) ural_stop(sc);
usr/src/uts/common/io/ural/ural.c
2002
sc->sc_flags &= ~RAL_FLAG_RUNNING; /* STOP */
usr/src/uts/common/io/ural/ural.c
2008
struct ural_softc *sc = (struct ural_softc *)arg;
usr/src/uts/common/io/ural/ural.c
2009
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/ural/ural.c
2015
(void) ural_set_macaddr(sc, (uint8_t *)macaddr);
usr/src/uts/common/io/ural/ural.c
2016
(void) ural_init(sc);
usr/src/uts/common/io/ural/ural.c
2031
struct ural_softc *sc = (struct ural_softc *)arg;
usr/src/uts/common/io/ural/ural.c
2034
sc->sc_rcr |= RAL_RCR_PROMISC;
usr/src/uts/common/io/ural/ural.c
2035
sc->sc_rcr |= RAL_RCR_MULTI;
usr/src/uts/common/io/ural/ural.c
2037
sc->sc_rcr &= ~RAL_RCR_PROMISC;
usr/src/uts/common/io/ural/ural.c
2038
sc->sc_rcr &= ~RAL_RCR_PROMISC;
usr/src/uts/common/io/ural/ural.c
2041
ural_update_promisc(sc);
usr/src/uts/common/io/ural/ural.c
2052
struct ural_softc *sc = (struct ural_softc *)arg;
usr/src/uts/common/io/ural/ural.c
2053
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/ural/ural.c
2058
RAL_LOCK(sc);
usr/src/uts/common/io/ural/ural.c
2060
if (RAL_IS_RUNNING(sc)) {
usr/src/uts/common/io/ural/ural.c
2061
RAL_UNLOCK(sc);
usr/src/uts/common/io/ural/ural.c
2062
(void) ural_init(sc);
usr/src/uts/common/io/ural/ural.c
2064
RAL_LOCK(sc);
usr/src/uts/common/io/ural/ural.c
2068
RAL_UNLOCK(sc);
usr/src/uts/common/io/ural/ural.c
2077
struct ural_softc *sc = (struct ural_softc *)arg;
usr/src/uts/common/io/ural/ural.c
2080
err = ieee80211_getprop(&sc->sc_ic, pr_name, wldp_pr_num,
usr/src/uts/common/io/ural/ural.c
2090
struct ural_softc *sc = (struct ural_softc *)arg;
usr/src/uts/common/io/ural/ural.c
2092
ieee80211_propinfo(&sc->sc_ic, pr_name, wldp_pr_num, mph);
usr/src/uts/common/io/ural/ural.c
2098
struct ural_softc *sc = (struct ural_softc *)arg;
usr/src/uts/common/io/ural/ural.c
2099
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/ural/ural.c
2103
RAL_LOCK(sc);
usr/src/uts/common/io/ural/ural.c
2105
if (RAL_IS_RUNNING(sc)) {
usr/src/uts/common/io/ural/ural.c
2106
RAL_UNLOCK(sc);
usr/src/uts/common/io/ural/ural.c
2107
(void) ural_init(sc);
usr/src/uts/common/io/ural/ural.c
2109
RAL_LOCK(sc);
usr/src/uts/common/io/ural/ural.c
2112
RAL_UNLOCK(sc);
usr/src/uts/common/io/ural/ural.c
2118
struct ural_softc *sc = (struct ural_softc *)arg;
usr/src/uts/common/io/ural/ural.c
2119
ieee80211com_t *ic = &sc->sc_ic;
usr/src/uts/common/io/ural/ural.c
2123
RAL_LOCK(sc);
usr/src/uts/common/io/ural/ural.c
2131
*val = sc->sc_tx_nobuf;
usr/src/uts/common/io/ural/ural.c
2134
*val = sc->sc_rx_nobuf;
usr/src/uts/common/io/ural/ural.c
2137
*val = sc->sc_rx_err;
usr/src/uts/common/io/ural/ural.c
2153
*val = sc->sc_tx_err;
usr/src/uts/common/io/ural/ural.c
2156
*val = sc->sc_tx_retries;
usr/src/uts/common/io/ural/ural.c
2168
RAL_UNLOCK(sc);
usr/src/uts/common/io/ural/ural.c
2171
RAL_UNLOCK(sc);
usr/src/uts/common/io/ural/ural.c
2174
RAL_UNLOCK(sc);
usr/src/uts/common/io/ural/ural.c
2183
struct ural_softc *sc;
usr/src/uts/common/io/ural/ural.c
2197
sc = ddi_get_soft_state(ural_soft_state_p,
usr/src/uts/common/io/ural/ural.c
2199
ASSERT(sc != NULL);
usr/src/uts/common/io/ural/ural.c
2200
ural_resume(sc);
usr/src/uts/common/io/ural/ural.c
2214
sc = ddi_get_soft_state(ural_soft_state_p, instance);
usr/src/uts/common/io/ural/ural.c
2215
ic = (ieee80211com_t *)&sc->sc_ic;
usr/src/uts/common/io/ural/ural.c
2216
sc->sc_dev = devinfo;
usr/src/uts/common/io/ural/ural.c
2224
if (usb_get_dev_data(devinfo, &sc->sc_udev,
usr/src/uts/common/io/ural/ural.c
2226
sc->sc_udev = NULL;
usr/src/uts/common/io/ural/ural.c
2230
mutex_init(&sc->sc_genlock, NULL, MUTEX_DRIVER, NULL);
usr/src/uts/common/io/ural/ural.c
2231
mutex_init(&sc->tx_lock, NULL, MUTEX_DRIVER, NULL);
usr/src/uts/common/io/ural/ural.c
2232
mutex_init(&sc->rx_lock, NULL, MUTEX_DRIVER, NULL);
usr/src/uts/common/io/ural/ural.c
2235
sc->asic_rev = ural_read(sc, RAL_MAC_CSR0);
usr/src/uts/common/io/ural/ural.c
2238
ural_read_eeprom(sc);
usr/src/uts/common/io/ural/ural.c
2241
sc->asic_rev, ural_get_rf(sc->rf_rev));
usr/src/uts/common/io/ural/ural.c
2262
if (sc->rf_rev == RAL_RF_5222) {
usr/src/uts/common/io/ural/ural.c
2304
sc->sc_newstate = ic->ic_newstate;
usr/src/uts/common/io/ural/ural.c
2310
sc->sc_rcr = 0;
usr/src/uts/common/io/ural/ural.c
2311
sc->dwelltime = 300;
usr/src/uts/common/io/ural/ural.c
2312
sc->sc_flags &= 0;
usr/src/uts/common/io/ural/ural.c
2329
macp->m_driver = sc;
usr/src/uts/common/io/ural/ural.c
2373
mutex_destroy(&sc->sc_genlock);
usr/src/uts/common/io/ural/ural.c
2374
mutex_destroy(&sc->tx_lock);
usr/src/uts/common/io/ural/ural.c
2375
mutex_destroy(&sc->rx_lock);
usr/src/uts/common/io/ural/ural.c
2377
usb_client_detach(sc->sc_dev, sc->sc_udev);
usr/src/uts/common/io/ural/ural.c
2387
struct ural_softc *sc;
usr/src/uts/common/io/ural/ural.c
2389
sc = ddi_get_soft_state(ural_soft_state_p, ddi_get_instance(devinfo));
usr/src/uts/common/io/ural/ural.c
2390
ASSERT(sc != NULL);
usr/src/uts/common/io/ural/ural.c
2396
if (RAL_IS_RUNNING(sc))
usr/src/uts/common/io/ural/ural.c
2397
(void) ural_stop(sc);
usr/src/uts/common/io/ural/ural.c
2403
if (mac_disable(sc->sc_ic.ic_mach) != 0)
usr/src/uts/common/io/ural/ural.c
2406
ural_stop(sc);
usr/src/uts/common/io/ural/ural.c
2412
(void) mac_unregister(sc->sc_ic.ic_mach);
usr/src/uts/common/io/ural/ural.c
2417
ieee80211_detach(&sc->sc_ic);
usr/src/uts/common/io/ural/ural.c
2419
mutex_destroy(&sc->sc_genlock);
usr/src/uts/common/io/ural/ural.c
2420
mutex_destroy(&sc->tx_lock);
usr/src/uts/common/io/ural/ural.c
2421
mutex_destroy(&sc->rx_lock);
usr/src/uts/common/io/ural/ural.c
2424
usb_client_detach(devinfo, sc->sc_udev);
usr/src/uts/common/io/ural/ural.c
2425
sc->sc_udev = NULL;
usr/src/uts/common/io/ural/ural.c
310
ural_read(struct ural_softc *sc, uint16_t reg)
usr/src/uts/common/io/ural/ural.c
327
err = usb_pipe_ctrl_xfer_wait(sc->sc_udev->dev_default_ph, &req, &mp,
usr/src/uts/common/io/ural/ural.c
347
ural_read_multi(struct ural_softc *sc, uint16_t reg, void *buf, int len)
usr/src/uts/common/io/ural/ural.c
364
err = usb_pipe_ctrl_xfer_wait(sc->sc_udev->dev_default_ph, &req, &mp,
usr/src/uts/common/io/ural/ural.c
382
ural_write(struct ural_softc *sc, uint16_t reg, uint16_t val)
usr/src/uts/common/io/ural/ural.c
397
err = usb_pipe_ctrl_xfer_wait(sc->sc_udev->dev_default_ph, &req, NULL,
usr/src/uts/common/io/ural/ural.c
412
struct ural_softc *sc = (struct ural_softc *)req->bulk_client_private;
usr/src/uts/common/io/ural/ural.c
413
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/ural/ural.c
420
sc->tx_queued);
usr/src/uts/common/io/ural/ural.c
423
sc->sc_tx_err++;
usr/src/uts/common/io/ural/ural.c
425
mutex_enter(&sc->tx_lock);
usr/src/uts/common/io/ural/ural.c
427
sc->tx_queued--;
usr/src/uts/common/io/ural/ural.c
428
sc->sc_tx_timer = 0;
usr/src/uts/common/io/ural/ural.c
430
if (sc->sc_need_sched) {
usr/src/uts/common/io/ural/ural.c
431
sc->sc_need_sched = 0;
usr/src/uts/common/io/ural/ural.c
435
mutex_exit(&sc->tx_lock);
usr/src/uts/common/io/ural/ural.c
443
struct ural_softc *sc = (struct ural_softc *)req->bulk_client_private;
usr/src/uts/common/io/ural/ural.c
444
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/ural/ural.c
462
sc->rx_queued);
usr/src/uts/common/io/ural/ural.c
465
sc->sc_rx_err++;
usr/src/uts/common/io/ural/ural.c
475
sc->sc_rx_err++;
usr/src/uts/common/io/ural/ural.c
489
sc->sc_rx_err++;
usr/src/uts/common/io/ural/ural.c
507
sc->sc_rx_nobuf++;
usr/src/uts/common/io/ural/ural.c
523
mutex_enter(&sc->rx_lock);
usr/src/uts/common/io/ural/ural.c
524
sc->rx_queued--;
usr/src/uts/common/io/ural/ural.c
525
mutex_exit(&sc->rx_lock);
usr/src/uts/common/io/ural/ural.c
530
if (RAL_IS_RUNNING(sc))
usr/src/uts/common/io/ural/ural.c
531
(void) ural_rx_trigger(sc);
usr/src/uts/common/io/ural/ural.c
619
ural_setup_tx_desc(struct ural_softc *sc, struct ural_tx_desc *desc,
usr/src/uts/common/io/ural/ural.c
622
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/ural/ural.c
667
struct ural_softc *sc = (struct ural_softc *)ic;
usr/src/uts/common/io/ural/ural.c
682
if (!RAL_IS_RUNNING(sc)) {
usr/src/uts/common/io/ural/ural.c
687
mutex_enter(&sc->tx_lock);
usr/src/uts/common/io/ural/ural.c
689
if (sc->tx_queued > RAL_TX_LIST_COUNT) {
usr/src/uts/common/io/ural/ural.c
694
sc->sc_need_sched = 1;
usr/src/uts/common/io/ural/ural.c
696
sc->sc_tx_nobuf++;
usr/src/uts/common/io/ural/ural.c
723
sc->sc_tx_err++;
usr/src/uts/common/io/ural/ural.c
736
sc->sc_tx_err++;
usr/src/uts/common/io/ural/ural.c
788
ural_setup_tx_desc(sc, desc, flags, pktlen, rate);
usr/src/uts/common/io/ural/ural.c
805
(void) ural_tx_trigger(sc, m);
usr/src/uts/common/io/ural/ural.c
819
mutex_exit(&sc->tx_lock);
usr/src/uts/common/io/ural/ural.c
827
struct ural_softc *sc = (struct ural_softc *)arg;
usr/src/uts/common/io/ural/ural.c
828
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/ural/ural.c
857
ural_set_testmode(struct ural_softc *sc)
usr/src/uts/common/io/ural/ural.c
872
err = usb_pipe_ctrl_xfer_wait(sc->sc_udev->dev_default_ph, &req, NULL,
usr/src/uts/common/io/ural/ural.c
884
ural_eeprom_read(struct ural_softc *sc, uint16_t addr, void *buf, int len)
usr/src/uts/common/io/ural/ural.c
900
err = usb_pipe_ctrl_xfer_wait(sc->sc_udev->dev_default_ph, &req, &mp,
usr/src/uts/common/io/ural/ural.c
918
ural_bbp_write(struct ural_softc *sc, uint8_t reg, uint8_t val)
usr/src/uts/common/io/ural/ural.c
924
if (!(ural_read(sc, RAL_PHY_CSR8) & RAL_BBP_BUSY))
usr/src/uts/common/io/ural/ural.c
934
ural_write(sc, RAL_PHY_CSR7, tmp);
usr/src/uts/common/io/ural/ural.c
938
ural_bbp_read(struct ural_softc *sc, uint8_t reg)
usr/src/uts/common/io/ural/ural.c
944
ural_write(sc, RAL_PHY_CSR7, val);
usr/src/uts/common/io/ural/ural.c
947
if (!(ural_read(sc, RAL_PHY_CSR8) & RAL_BBP_BUSY))
usr/src/uts/common/io/ural/ural.c
955
return (ural_read(sc, RAL_PHY_CSR7) & 0xff);
usr/src/uts/common/io/ural/ural.c
959
ural_rf_write(struct ural_softc *sc, uint8_t reg, uint32_t val)
usr/src/uts/common/io/ural/ural.c
965
if (!(ural_read(sc, RAL_PHY_CSR10) & RAL_RF_LOBUSY))
usr/src/uts/common/io/ural/ural.c
975
ural_write(sc, RAL_PHY_CSR9, tmp & 0xffff);
usr/src/uts/common/io/ural/ural.c
976
ural_write(sc, RAL_PHY_CSR10, tmp >> 16);
usr/src/uts/common/io/ural/ural.c
979
sc->rf_regs[reg] = val;
usr/src/uts/common/io/ural/ural.c
988
ural_disable_rf_tune(struct ural_softc *sc)
usr/src/uts/common/io/ural/ural.c
992
if (sc->rf_rev != RAL_RF_2523) {
usr/src/uts/common/io/ural/ural.c
993
tmp = sc->rf_regs[RAL_RF1] & ~RAL_RF1_AUTOTUNE;
usr/src/uts/common/io/ural/ural.c
994
ural_rf_write(sc, RAL_RF1, tmp);
usr/src/uts/common/io/ural/ural.c
997
tmp = sc->rf_regs[RAL_RF3] & ~RAL_RF3_AUTOTUNE;
usr/src/uts/common/io/ural/ural.c
998
ural_rf_write(sc, RAL_RF3, tmp);
usr/src/uts/common/io/ural/ural_var.h
125
#define RAL_LOCK(sc) mutex_enter(&(sc)->sc_genlock)
usr/src/uts/common/io/ural/ural_var.h
126
#define RAL_UNLOCK(sc) mutex_exit(&(sc)->sc_genlock)
usr/src/uts/common/io/urtw/urtw.c
1001
sc->sc_txpwr_cck[12] = data & 0xf;
usr/src/uts/common/io/urtw/urtw.c
1002
sc->sc_txpwr_ofdm[12] = (data & 0xf0) >> 4;
usr/src/uts/common/io/urtw/urtw.c
1005
error = urtw_eprom_read32(sc, 0x1c, &data);
usr/src/uts/common/io/urtw/urtw.c
1008
sc->sc_txpwr_cck[13] = data & 0xf;
usr/src/uts/common/io/urtw/urtw.c
1009
sc->sc_txpwr_ofdm[13] = (data & 0xf0) >> 4;
usr/src/uts/common/io/urtw/urtw.c
1010
sc->sc_txpwr_cck[14] = (data & 0xf00) >> 8;
usr/src/uts/common/io/urtw/urtw.c
1011
sc->sc_txpwr_ofdm[14] = (data & 0xf000) >> 12;
usr/src/uts/common/io/urtw/urtw.c
1019
urtw_get_macaddr(struct urtw_softc *sc)
usr/src/uts/common/io/urtw/urtw.c
1025
error = urtw_eprom_read32(sc, URTW_EPROM_MACADDR, &data);
usr/src/uts/common/io/urtw/urtw.c
1028
sc->sc_bssid[0] = data & 0xff;
usr/src/uts/common/io/urtw/urtw.c
1029
sc->sc_bssid[1] = (data & 0xff00) >> 8;
usr/src/uts/common/io/urtw/urtw.c
1030
error = urtw_eprom_read32(sc, URTW_EPROM_MACADDR + 1, &data);
usr/src/uts/common/io/urtw/urtw.c
1033
sc->sc_bssid[2] = data & 0xff;
usr/src/uts/common/io/urtw/urtw.c
1034
sc->sc_bssid[3] = (data & 0xff00) >> 8;
usr/src/uts/common/io/urtw/urtw.c
1035
error = urtw_eprom_read32(sc, URTW_EPROM_MACADDR + 2, &data);
usr/src/uts/common/io/urtw/urtw.c
1038
sc->sc_bssid[4] = data & 0xff;
usr/src/uts/common/io/urtw/urtw.c
1039
sc->sc_bssid[5] = (data & 0xff00) >> 8;
usr/src/uts/common/io/urtw/urtw.c
1040
bcopy(sc->sc_bssid, sc->sc_ic.ic_macaddr, IEEE80211_ADDR_LEN);
usr/src/uts/common/io/urtw/urtw.c
1041
m = sc->sc_bssid;
usr/src/uts/common/io/urtw/urtw.c
1042
URTW8187_DBG(URTW_DEBUG_HWTYPE, (sc->sc_dev, CE_CONT,
usr/src/uts/common/io/urtw/urtw.c
1050
urtw_eprom_read32(struct urtw_softc *sc, uint32_t addr, uint32_t *data)
usr/src/uts/common/io/urtw/urtw.c
1061
if (error = urtw_write8_c(sc, URTW_EPROM_CMD,
usr/src/uts/common/io/urtw/urtw.c
1066
error = urtw_eprom_cs(sc, URTW_EPROM_ENABLE);
usr/src/uts/common/io/urtw/urtw.c
1069
error = urtw_eprom_ck(sc);
usr/src/uts/common/io/urtw/urtw.c
1072
error = urtw_eprom_sendbits(sc, readcmd, URTW_READCMD_LEN);
usr/src/uts/common/io/urtw/urtw.c
1075
if (sc->sc_epromtype == URTW_EEPROM_93C56) {
usr/src/uts/common/io/urtw/urtw.c
1094
error = urtw_eprom_sendbits(sc, addrstr, addrlen);
usr/src/uts/common/io/urtw/urtw.c
1098
error = urtw_eprom_writebit(sc, 0);
usr/src/uts/common/io/urtw/urtw.c
1103
error = urtw_eprom_ck(sc);
usr/src/uts/common/io/urtw/urtw.c
1106
error = urtw_eprom_readbit(sc, &data16);
usr/src/uts/common/io/urtw/urtw.c
1113
error = urtw_eprom_cs(sc, URTW_EPROM_DISABLE);
usr/src/uts/common/io/urtw/urtw.c
1116
error = urtw_eprom_ck(sc);
usr/src/uts/common/io/urtw/urtw.c
1121
error = urtw_write8_c(sc, URTW_EPROM_CMD,
usr/src/uts/common/io/urtw/urtw.c
1129
urtw_eprom_readbit(struct urtw_softc *sc, int16_t *data)
usr/src/uts/common/io/urtw/urtw.c
1134
error = urtw_read8_c(sc, URTW_EPROM_CMD, &data8, 0);
usr/src/uts/common/io/urtw/urtw.c
1141
urtw_eprom_sendbits(struct urtw_softc *sc, int16_t *buf, int buflen)
usr/src/uts/common/io/urtw/urtw.c
1147
error = urtw_eprom_writebit(sc, buf[i]);
usr/src/uts/common/io/urtw/urtw.c
1150
error = urtw_eprom_ck(sc);
usr/src/uts/common/io/urtw/urtw.c
1159
urtw_eprom_writebit(struct urtw_softc *sc, int16_t bit)
usr/src/uts/common/io/urtw/urtw.c
1164
if (error = urtw_read8_c(sc, URTW_EPROM_CMD, &data, 0))
usr/src/uts/common/io/urtw/urtw.c
1167
error = urtw_write8_c(sc, URTW_EPROM_CMD,
usr/src/uts/common/io/urtw/urtw.c
1170
error = urtw_write8_c(sc, URTW_EPROM_CMD,
usr/src/uts/common/io/urtw/urtw.c
1178
urtw_eprom_ck(struct urtw_softc *sc)
usr/src/uts/common/io/urtw/urtw.c
1184
if (error = urtw_read8_c(sc, URTW_EPROM_CMD, &data, 0))
usr/src/uts/common/io/urtw/urtw.c
1186
if (error = urtw_write8_c(sc, URTW_EPROM_CMD, data | URTW_EPROM_CK, 0))
usr/src/uts/common/io/urtw/urtw.c
1190
if (error = urtw_read8_c(sc, URTW_EPROM_CMD, &data, 0))
usr/src/uts/common/io/urtw/urtw.c
1192
error = urtw_write8_c(sc, URTW_EPROM_CMD, data & ~URTW_EPROM_CK, 0);
usr/src/uts/common/io/urtw/urtw.c
1199
urtw_eprom_cs(struct urtw_softc *sc, int able)
usr/src/uts/common/io/urtw/urtw.c
1204
if (error = urtw_read8_c(sc, URTW_EPROM_CMD, &data, 0))
usr/src/uts/common/io/urtw/urtw.c
1207
error = urtw_write8_c(sc, URTW_EPROM_CMD,
usr/src/uts/common/io/urtw/urtw.c
1210
error = urtw_write8_c(sc, URTW_EPROM_CMD,
usr/src/uts/common/io/urtw/urtw.c
1218
urtw_read8_c(struct urtw_softc *sc, int val, uint8_t *data, uint8_t idx)
usr/src/uts/common/io/urtw/urtw.c
1233
error = usb_pipe_ctrl_xfer_wait(sc->sc_udev->dev_default_ph, &req, &mp,
usr/src/uts/common/io/urtw/urtw.c
1237
URTW8187_DBG(URTW_DEBUG_DEVREQ, (sc->sc_dev, CE_CONT,
usr/src/uts/common/io/urtw/urtw.c
1249
urtw_read8e(struct urtw_softc *sc, int val, uint8_t *data)
usr/src/uts/common/io/urtw/urtw.c
1264
error = usb_pipe_ctrl_xfer_wait(sc->sc_udev->dev_default_ph, &req, &mp,
usr/src/uts/common/io/urtw/urtw.c
1268
URTW8187_DBG(URTW_DEBUG_DEVREQ, (sc->sc_dev, CE_CONT,
usr/src/uts/common/io/urtw/urtw.c
1282
urtw_read16_c(struct urtw_softc *sc, int val, uint16_t *data, uint8_t idx)
usr/src/uts/common/io/urtw/urtw.c
1297
error = usb_pipe_ctrl_xfer_wait(sc->sc_udev->dev_default_ph, &req, &mp,
usr/src/uts/common/io/urtw/urtw.c
1301
URTW8187_DBG(URTW_DEBUG_DEVREQ, (sc->sc_dev, CE_CONT,
usr/src/uts/common/io/urtw/urtw.c
1315
urtw_read32_c(struct urtw_softc *sc, int val, uint32_t *data, uint8_t idx)
usr/src/uts/common/io/urtw/urtw.c
1331
error = usb_pipe_ctrl_xfer_wait(sc->sc_udev->dev_default_ph, &req, &mp,
usr/src/uts/common/io/urtw/urtw.c
1335
URTW8187_DBG(URTW_DEBUG_DEVREQ, (sc->sc_dev, CE_CONT,
usr/src/uts/common/io/urtw/urtw.c
1349
urtw_write8_c(struct urtw_softc *sc, int val, uint8_t data, uint8_t idx)
usr/src/uts/common/io/urtw/urtw.c
1372
error = usb_pipe_ctrl_xfer_wait(sc->sc_udev->dev_default_ph, &req, &mp,
usr/src/uts/common/io/urtw/urtw.c
1375
URTW8187_DBG(URTW_DEBUG_DEVREQ, (sc->sc_dev, CE_CONT,
usr/src/uts/common/io/urtw/urtw.c
1385
urtw_write8e(struct urtw_softc *sc, int val, uint8_t data)
usr/src/uts/common/io/urtw/urtw.c
1409
error = usb_pipe_ctrl_xfer_wait(sc->sc_udev->dev_default_ph, &req, &mp,
usr/src/uts/common/io/urtw/urtw.c
1412
URTW8187_DBG(URTW_DEBUG_DEVREQ, (sc->sc_dev, CE_CONT,
usr/src/uts/common/io/urtw/urtw.c
1423
urtw_write16_c(struct urtw_softc *sc, int val, uint16_t data, uint8_t idx)
usr/src/uts/common/io/urtw/urtw.c
1446
error = usb_pipe_ctrl_xfer_wait(sc->sc_udev->dev_default_ph, &req, &mp,
usr/src/uts/common/io/urtw/urtw.c
1449
URTW8187_DBG(URTW_DEBUG_DEVREQ, (sc->sc_dev, CE_CONT,
usr/src/uts/common/io/urtw/urtw.c
1460
urtw_write32_c(struct urtw_softc *sc, int val, uint32_t data, uint8_t idx)
usr/src/uts/common/io/urtw/urtw.c
1483
error = usb_pipe_ctrl_xfer_wait(sc->sc_udev->dev_default_ph, &req, &mp,
usr/src/uts/common/io/urtw/urtw.c
1486
URTW8187_DBG(URTW_DEBUG_DEVREQ, (sc->sc_dev, CE_CONT,
usr/src/uts/common/io/urtw/urtw.c
1498
urtw_set_mode(struct urtw_softc *sc, uint32_t mode)
usr/src/uts/common/io/urtw/urtw.c
1503
if (error = urtw_read8_c(sc, URTW_EPROM_CMD, &data, 0))
usr/src/uts/common/io/urtw/urtw.c
1507
error = urtw_write8_c(sc, URTW_EPROM_CMD, data, 0);
usr/src/uts/common/io/urtw/urtw.c
1513
urtw_8180_set_anaparam(struct urtw_softc *sc, uint32_t val)
usr/src/uts/common/io/urtw/urtw.c
1518
error = urtw_set_mode(sc, URTW_EPROM_CMD_CONFIG);
usr/src/uts/common/io/urtw/urtw.c
1522
if (error = urtw_read8_c(sc, URTW_CONFIG3, &data, 0))
usr/src/uts/common/io/urtw/urtw.c
1524
if (error = urtw_write8_c(sc, URTW_CONFIG3,
usr/src/uts/common/io/urtw/urtw.c
1527
if (error = urtw_write32_c(sc, URTW_ANAPARAM, val, 0))
usr/src/uts/common/io/urtw/urtw.c
1529
if (error = urtw_read8_c(sc, URTW_CONFIG3, &data, 0))
usr/src/uts/common/io/urtw/urtw.c
1531
if (error = urtw_write8_c(sc, URTW_CONFIG3,
usr/src/uts/common/io/urtw/urtw.c
1535
error = urtw_set_mode(sc, URTW_EPROM_CMD_NORMAL);
usr/src/uts/common/io/urtw/urtw.c
1543
urtw_8185_set_anaparam2(struct urtw_softc *sc, uint32_t val)
usr/src/uts/common/io/urtw/urtw.c
1548
error = urtw_set_mode(sc, URTW_EPROM_CMD_CONFIG);
usr/src/uts/common/io/urtw/urtw.c
1552
if (error = urtw_read8_c(sc, URTW_CONFIG3, &data, 0))
usr/src/uts/common/io/urtw/urtw.c
1554
if (error = urtw_write8_c(sc, URTW_CONFIG3,
usr/src/uts/common/io/urtw/urtw.c
1557
if (error = urtw_write32_c(sc, URTW_ANAPARAM2, val, 0))
usr/src/uts/common/io/urtw/urtw.c
1559
if (error = urtw_read8_c(sc, URTW_CONFIG3, &data, 0))
usr/src/uts/common/io/urtw/urtw.c
1561
if (error = urtw_write8_c(sc, URTW_CONFIG3,
usr/src/uts/common/io/urtw/urtw.c
1565
error = urtw_set_mode(sc, URTW_EPROM_CMD_NORMAL);
usr/src/uts/common/io/urtw/urtw.c
1573
urtw_intr_disable(struct urtw_softc *sc)
usr/src/uts/common/io/urtw/urtw.c
1577
error = urtw_write16_c(sc, URTW_INTR_MASK, 0, 0);
usr/src/uts/common/io/urtw/urtw.c
1582
urtw_8187_reset(struct urtw_softc *sc)
usr/src/uts/common/io/urtw/urtw.c
1587
error = urtw_8180_set_anaparam(sc, URTW_8187_8225_ANAPARAM_ON);
usr/src/uts/common/io/urtw/urtw.c
1590
error = urtw_8185_set_anaparam2(sc, URTW_8187_8225_ANAPARAM2_ON);
usr/src/uts/common/io/urtw/urtw.c
1594
error = urtw_intr_disable(sc);
usr/src/uts/common/io/urtw/urtw.c
1599
error = urtw_write8e(sc, 0x18, 0x10);
usr/src/uts/common/io/urtw/urtw.c
1602
error = urtw_write8e(sc, 0x18, 0x11);
usr/src/uts/common/io/urtw/urtw.c
1605
error = urtw_write8e(sc, 0x18, 0x00);
usr/src/uts/common/io/urtw/urtw.c
1610
if (error = urtw_read8_c(sc, URTW_CMD, &data, 0))
usr/src/uts/common/io/urtw/urtw.c
1613
if (error = urtw_write8_c(sc, URTW_CMD, data, 0))
usr/src/uts/common/io/urtw/urtw.c
1617
if (error = urtw_read8_c(sc, URTW_CMD, &data, 0))
usr/src/uts/common/io/urtw/urtw.c
1623
error = urtw_set_mode(sc, URTW_EPROM_CMD_LOAD);
usr/src/uts/common/io/urtw/urtw.c
1628
error = urtw_8180_set_anaparam(sc, URTW_8187_8225_ANAPARAM_ON);
usr/src/uts/common/io/urtw/urtw.c
1631
error = urtw_8185_set_anaparam2(sc, URTW_8187_8225_ANAPARAM2_ON);
usr/src/uts/common/io/urtw/urtw.c
1639
urtw_led_on(struct urtw_softc *sc, int type)
usr/src/uts/common/io/urtw/urtw.c
1642
switch (sc->sc_gpio_ledpin) {
usr/src/uts/common/io/urtw/urtw.c
1644
(void) urtw_write8_c(sc, URTW_GPIO, 0x01, 0);
usr/src/uts/common/io/urtw/urtw.c
1645
(void) urtw_write8_c(sc, URTW_GP_ENABLE, 0x00, 0);
usr/src/uts/common/io/urtw/urtw.c
1649
sc->sc_gpio_ledpin);
usr/src/uts/common/io/urtw/urtw.c
1657
sc->sc_gpio_ledon = 1;
usr/src/uts/common/io/urtw/urtw.c
1662
urtw_led_off(struct urtw_softc *sc, int type)
usr/src/uts/common/io/urtw/urtw.c
1665
switch (sc->sc_gpio_ledpin) {
usr/src/uts/common/io/urtw/urtw.c
1667
(void) urtw_write8_c(sc, URTW_GPIO, 0x01, 0);
usr/src/uts/common/io/urtw/urtw.c
1668
(void) urtw_write8_c(sc, URTW_GP_ENABLE, 0x01, 0);
usr/src/uts/common/io/urtw/urtw.c
1672
sc->sc_gpio_ledpin);
usr/src/uts/common/io/urtw/urtw.c
1680
sc->sc_gpio_ledon = 0;
usr/src/uts/common/io/urtw/urtw.c
1685
urtw_led_mode0(struct urtw_softc *sc, int mode)
usr/src/uts/common/io/urtw/urtw.c
1687
URTW8187_DBG(URTW_DEBUG_LED, (sc->sc_dev, CE_CONT,
usr/src/uts/common/io/urtw/urtw.c
1691
sc->sc_gpio_ledstate = URTW_LED_POWER_ON_BLINK;
usr/src/uts/common/io/urtw/urtw.c
1694
if (sc->sc_gpio_ledinprogress == 1)
usr/src/uts/common/io/urtw/urtw.c
1696
sc->sc_gpio_ledstate = URTW_LED_BLINK_NORMAL;
usr/src/uts/common/io/urtw/urtw.c
1697
sc->sc_gpio_blinktime =
usr/src/uts/common/io/urtw/urtw.c
1698
(sc->sc_ic.ic_state == IEEE80211_S_RUN ? 4:2);
usr/src/uts/common/io/urtw/urtw.c
1701
sc->sc_gpio_ledstate = URTW_LED_ON;
usr/src/uts/common/io/urtw/urtw.c
1708
switch (sc->sc_gpio_ledstate) {
usr/src/uts/common/io/urtw/urtw.c
1710
if (sc->sc_gpio_ledinprogress != 0)
usr/src/uts/common/io/urtw/urtw.c
1712
(void) urtw_led_on(sc, URTW_LED_GPIO);
usr/src/uts/common/io/urtw/urtw.c
1715
if (sc->sc_gpio_ledinprogress != 0)
usr/src/uts/common/io/urtw/urtw.c
1717
sc->sc_gpio_ledinprogress = 1;
usr/src/uts/common/io/urtw/urtw.c
1718
sc->sc_gpio_blinkstate = (sc->sc_gpio_ledon != 0) ?
usr/src/uts/common/io/urtw/urtw.c
1720
URTW_LEDLOCK(sc);
usr/src/uts/common/io/urtw/urtw.c
1721
if (sc->sc_led_ch == 0) {
usr/src/uts/common/io/urtw/urtw.c
1722
URTW8187_DBG(URTW_DEBUG_LED, (sc->sc_dev, CE_CONT,
usr/src/uts/common/io/urtw/urtw.c
1724
sc->sc_led_ch = timeout(urtw_led_launch,
usr/src/uts/common/io/urtw/urtw.c
1725
(void *)sc,
usr/src/uts/common/io/urtw/urtw.c
1726
drv_usectohz((sc->sc_ic.ic_state ==
usr/src/uts/common/io/urtw/urtw.c
1730
sc->sc_gpio_ledinprogress = 0;
usr/src/uts/common/io/urtw/urtw.c
1732
URTW_LEDUNLOCK(sc);
usr/src/uts/common/io/urtw/urtw.c
1735
(void) urtw_led_on(sc, URTW_LED_GPIO);
usr/src/uts/common/io/urtw/urtw.c
1737
(void) urtw_led_off(sc, URTW_LED_GPIO);
usr/src/uts/common/io/urtw/urtw.c
1740
URTW8187_DBG(URTW_DEBUG_LED, (sc->sc_dev, CE_CONT,
usr/src/uts/common/io/urtw/urtw.c
1742
sc->sc_gpio_ledstate));
usr/src/uts/common/io/urtw/urtw.c
1748
urtw_led_mode1(struct urtw_softc *sc, int mode)
usr/src/uts/common/io/urtw/urtw.c
1750
cmn_err(CE_WARN, "urtw sc %p, mode %d not supported", (void *)sc, mode);
usr/src/uts/common/io/urtw/urtw.c
1755
urtw_led_mode2(struct urtw_softc *sc, int mode)
usr/src/uts/common/io/urtw/urtw.c
1757
cmn_err(CE_WARN, "urtw sc %p, mode %d not supported", (void *)sc, mode);
usr/src/uts/common/io/urtw/urtw.c
1762
urtw_led_mode3(struct urtw_softc *sc, int mode)
usr/src/uts/common/io/urtw/urtw.c
1764
cmn_err(CE_WARN, "urtw sc %p, mode %d not supported", (void *)sc, mode);
usr/src/uts/common/io/urtw/urtw.c
1769
urtw_led_blink(struct urtw_softc *sc)
usr/src/uts/common/io/urtw/urtw.c
1773
URTW8187_DBG(URTW_DEBUG_LED, (sc->sc_dev, CE_CONT,
usr/src/uts/common/io/urtw/urtw.c
1775
sc->sc_gpio_blinkstate));
usr/src/uts/common/io/urtw/urtw.c
1776
if (sc->sc_gpio_blinkstate == URTW_LED_ON)
usr/src/uts/common/io/urtw/urtw.c
1777
(void) urtw_led_on(sc, URTW_LED_GPIO);
usr/src/uts/common/io/urtw/urtw.c
1779
(void) urtw_led_off(sc, URTW_LED_GPIO);
usr/src/uts/common/io/urtw/urtw.c
1780
sc->sc_gpio_blinktime--;
usr/src/uts/common/io/urtw/urtw.c
1781
if (sc->sc_gpio_blinktime == 0)
usr/src/uts/common/io/urtw/urtw.c
1784
if (sc->sc_gpio_ledstate != URTW_LED_BLINK_NORMAL &&
usr/src/uts/common/io/urtw/urtw.c
1785
sc->sc_gpio_ledstate != URTW_LED_BLINK_SLOWLY &&
usr/src/uts/common/io/urtw/urtw.c
1786
sc->sc_gpio_ledstate != URTW_LED_BLINK_CM3)
usr/src/uts/common/io/urtw/urtw.c
1790
if (sc->sc_gpio_ledstate == URTW_LED_ON &&
usr/src/uts/common/io/urtw/urtw.c
1791
sc->sc_gpio_ledon == 0)
usr/src/uts/common/io/urtw/urtw.c
1792
(void) urtw_led_on(sc, URTW_LED_GPIO);
usr/src/uts/common/io/urtw/urtw.c
1793
else if (sc->sc_gpio_ledstate == URTW_LED_OFF &&
usr/src/uts/common/io/urtw/urtw.c
1794
sc->sc_gpio_ledon == 1)
usr/src/uts/common/io/urtw/urtw.c
1795
(void) urtw_led_off(sc, URTW_LED_GPIO);
usr/src/uts/common/io/urtw/urtw.c
1797
sc->sc_gpio_blinktime = 0;
usr/src/uts/common/io/urtw/urtw.c
1798
sc->sc_gpio_ledinprogress = 0;
usr/src/uts/common/io/urtw/urtw.c
1802
sc->sc_gpio_blinkstate = (sc->sc_gpio_blinkstate != URTW_LED_ON) ?
usr/src/uts/common/io/urtw/urtw.c
1805
switch (sc->sc_gpio_ledstate) {
usr/src/uts/common/io/urtw/urtw.c
1807
URTW8187_DBG(URTW_DEBUG_LED, (sc->sc_dev, CE_CONT,
usr/src/uts/common/io/urtw/urtw.c
1811
URTW8187_DBG(URTW_DEBUG_LED, (sc->sc_dev, CE_CONT,
usr/src/uts/common/io/urtw/urtw.c
1812
"unknown LED status 0x%x", sc->sc_gpio_ledstate));
usr/src/uts/common/io/urtw/urtw.c
1818
urtw_led_ctl(struct urtw_softc *sc, int mode)
usr/src/uts/common/io/urtw/urtw.c
1822
switch (sc->sc_strategy) {
usr/src/uts/common/io/urtw/urtw.c
1824
error = urtw_led_mode0(sc, mode);
usr/src/uts/common/io/urtw/urtw.c
1827
error = urtw_led_mode1(sc, mode);
usr/src/uts/common/io/urtw/urtw.c
1830
error = urtw_led_mode2(sc, mode);
usr/src/uts/common/io/urtw/urtw.c
1833
error = urtw_led_mode3(sc, mode);
usr/src/uts/common/io/urtw/urtw.c
1836
cmn_err(CE_CONT, "unsupported LED mode %d\n", sc->sc_strategy);
usr/src/uts/common/io/urtw/urtw.c
1845
urtw_update_msr(struct urtw_softc *sc, int nstate)
usr/src/uts/common/io/urtw/urtw.c
1847
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/urtw/urtw.c
1851
if (error = urtw_read8_c(sc, URTW_MSR, &data, 0))
usr/src/uts/common/io/urtw/urtw.c
1856
if (sc->sc_hwrev & URTW_HWREV_8187B)
usr/src/uts/common/io/urtw/urtw.c
1879
error = urtw_write8_c(sc, URTW_MSR, data, 0);
usr/src/uts/common/io/urtw/urtw.c
1914
urtw_set_rate(struct urtw_softc *sc)
usr/src/uts/common/io/urtw/urtw.c
1923
if (error = urtw_write8_c(sc, URTW_RESP_RATE,
usr/src/uts/common/io/urtw/urtw.c
1928
if (error = urtw_read16_c(sc, URTW_BRSR, &data, 0))
usr/src/uts/common/io/urtw/urtw.c
1935
error = urtw_write16_c(sc, URTW_BRSR, data, 0);
usr/src/uts/common/io/urtw/urtw.c
1941
urtw_intr_enable(struct urtw_softc *sc)
usr/src/uts/common/io/urtw/urtw.c
1945
error = urtw_write16_c(sc, URTW_INTR_MASK, 0xffff, 0);
usr/src/uts/common/io/urtw/urtw.c
1950
urtw_rx_setconf(struct urtw_softc *sc)
usr/src/uts/common/io/urtw/urtw.c
1952
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/urtw/urtw.c
1956
if (urtw_read32_c(sc, URTW_RX, &data, 0))
usr/src/uts/common/io/urtw/urtw.c
1966
if (sc->sc_crcmon == 1 && ic->ic_opmode == IEEE80211_M_MONITOR)
usr/src/uts/common/io/urtw/urtw.c
1977
error = urtw_write32_c(sc, URTW_RX, data, 0);
usr/src/uts/common/io/urtw/urtw.c
1983
urtw_rx_enable(struct urtw_softc *sc)
usr/src/uts/common/io/urtw/urtw.c
1989
sc->rx_queued = 0;
usr/src/uts/common/io/urtw/urtw.c
1991
if (urtw_rx_start(sc) != 0) {
usr/src/uts/common/io/urtw/urtw.c
1996
error = urtw_rx_setconf(sc);
usr/src/uts/common/io/urtw/urtw.c
2000
if (error = urtw_read8_c(sc, URTW_CMD, &data, 0))
usr/src/uts/common/io/urtw/urtw.c
2002
error = urtw_write8_c(sc, URTW_CMD, data | URTW_CMD_RX_ENABLE, 0);
usr/src/uts/common/io/urtw/urtw.c
2008
urtw_tx_enable(struct urtw_softc *sc)
usr/src/uts/common/io/urtw/urtw.c
2013
if (sc->sc_hwrev & URTW_HWREV_8187) {
usr/src/uts/common/io/urtw/urtw.c
2014
(void) urtw_read8_c(sc, URTW_CW_CONF, &data8, 0);
usr/src/uts/common/io/urtw/urtw.c
2017
(void) urtw_write8_c(sc, URTW_CW_CONF, data8, 0);
usr/src/uts/common/io/urtw/urtw.c
2018
(void) urtw_read8_c(sc, URTW_TX_AGC_CTL, &data8, 0);
usr/src/uts/common/io/urtw/urtw.c
2022
(void) urtw_write8_c(sc, URTW_TX_AGC_CTL, data8, 0);
usr/src/uts/common/io/urtw/urtw.c
2024
(void) urtw_read32_c(sc, URTW_TX_CONF, &data, 0);
usr/src/uts/common/io/urtw/urtw.c
2028
data |= sc->sc_tx_retry << URTW_TX_DPRETRY_SHIFT;
usr/src/uts/common/io/urtw/urtw.c
2029
data |= sc->sc_rts_retry << URTW_TX_RTSRETRY_SHIFT;
usr/src/uts/common/io/urtw/urtw.c
2034
(void) urtw_write32_c(sc, URTW_TX_CONF, data, 0);
usr/src/uts/common/io/urtw/urtw.c
2039
(void) urtw_write32_c(sc, URTW_TX_CONF, data, 0);
usr/src/uts/common/io/urtw/urtw.c
2042
(void) urtw_read8_c(sc, URTW_CMD, &data8, 0);
usr/src/uts/common/io/urtw/urtw.c
2043
(void) urtw_write8_c(sc, URTW_CMD, data8 | URTW_CMD_TX_ENABLE, 0);
usr/src/uts/common/io/urtw/urtw.c
2049
struct urtw_softc *sc = arg;
usr/src/uts/common/io/urtw/urtw.c
2051
struct urtw_rf *rf = &sc->sc_rf;
usr/src/uts/common/io/urtw/urtw.c
2054
urtw_stop(sc);
usr/src/uts/common/io/urtw/urtw.c
2055
URTW_LOCK(sc);
usr/src/uts/common/io/urtw/urtw.c
2056
error = urtw_8187_reset(sc);
usr/src/uts/common/io/urtw/urtw.c
2060
(void) urtw_write8_c(sc, 0x85, 0, 0);
usr/src/uts/common/io/urtw/urtw.c
2061
(void) urtw_write8_c(sc, URTW_GPIO, 0, 0);
usr/src/uts/common/io/urtw/urtw.c
2064
(void) urtw_write8_c(sc, 0x85, 4, 0);
usr/src/uts/common/io/urtw/urtw.c
2065
error = urtw_led_ctl(sc, URTW_LED_CTL_POWER_ON);
usr/src/uts/common/io/urtw/urtw.c
2069
error = urtw_set_mode(sc, URTW_EPROM_CMD_CONFIG);
usr/src/uts/common/io/urtw/urtw.c
2075
(void) urtw_write8_c(sc, URTW_MAC0 + i,
usr/src/uts/common/io/urtw/urtw.c
2076
sc->sc_ic.ic_macaddr[i], 0);
usr/src/uts/common/io/urtw/urtw.c
2077
error = urtw_set_mode(sc, URTW_EPROM_CMD_NORMAL);
usr/src/uts/common/io/urtw/urtw.c
2081
error = urtw_update_msr(sc, IEEE80211_S_INIT);
usr/src/uts/common/io/urtw/urtw.c
2085
(void) urtw_write32_c(sc, URTW_INT_TIMEOUT, 0, 0);
usr/src/uts/common/io/urtw/urtw.c
2086
(void) urtw_write8_c(sc, URTW_WPA_CONFIG, 0, 0);
usr/src/uts/common/io/urtw/urtw.c
2087
(void) urtw_write8_c(sc, URTW_RATE_FALLBACK, 0x81, 0);
usr/src/uts/common/io/urtw/urtw.c
2088
error = urtw_set_rate(sc);
usr/src/uts/common/io/urtw/urtw.c
2098
(void) urtw_write16_c(sc, 0x5e, 1, 0);
usr/src/uts/common/io/urtw/urtw.c
2099
(void) urtw_write16_c(sc, 0xfe, 0x10, 0);
usr/src/uts/common/io/urtw/urtw.c
2100
(void) urtw_write8_c(sc, URTW_TALLY_SEL, 0x80, 0);
usr/src/uts/common/io/urtw/urtw.c
2101
(void) urtw_write8_c(sc, 0xff, 0x60, 0);
usr/src/uts/common/io/urtw/urtw.c
2102
(void) urtw_write16_c(sc, 0x5e, 0, 0);
usr/src/uts/common/io/urtw/urtw.c
2103
(void) urtw_write8_c(sc, 0x85, 4, 0);
usr/src/uts/common/io/urtw/urtw.c
2105
error = urtw_intr_enable(sc);
usr/src/uts/common/io/urtw/urtw.c
2109
error = urtw_open_pipes(sc);
usr/src/uts/common/io/urtw/urtw.c
2112
sc->sc_tx_low_queued = 0;
usr/src/uts/common/io/urtw/urtw.c
2113
sc->sc_tx_normal_queued = 0;
usr/src/uts/common/io/urtw/urtw.c
2114
error = urtw_rx_enable(sc);
usr/src/uts/common/io/urtw/urtw.c
2117
urtw_tx_enable(sc);
usr/src/uts/common/io/urtw/urtw.c
2120
URTW8187_DBG(URTW_DEBUG_ACTIVE, (sc->sc_dev,
usr/src/uts/common/io/urtw/urtw.c
2122
sc->sc_flags |= URTW_FLAG_RUNNING;
usr/src/uts/common/io/urtw/urtw.c
2123
URTW_UNLOCK(sc);
usr/src/uts/common/io/urtw/urtw.c
2128
URTW_UNLOCK(sc);
usr/src/uts/common/io/urtw/urtw.c
2129
urtw_stop(sc);
usr/src/uts/common/io/urtw/urtw.c
2135
urtw_8225_usb_init(struct urtw_softc *sc)
usr/src/uts/common/io/urtw/urtw.c
2140
if (error = urtw_write8_c(sc, URTW_RF_PINS_SELECT + 1, 0, 0))
usr/src/uts/common/io/urtw/urtw.c
2142
if (error = urtw_write8_c(sc, URTW_GPIO, 0, 0))
usr/src/uts/common/io/urtw/urtw.c
2144
if (error = urtw_read8e(sc, 0x53, &data))
usr/src/uts/common/io/urtw/urtw.c
2146
if (error = urtw_write8e(sc, 0x53, data | (1 << 7)))
usr/src/uts/common/io/urtw/urtw.c
2148
if (error = urtw_write8_c(sc, URTW_RF_PINS_SELECT + 1, 4, 0))
usr/src/uts/common/io/urtw/urtw.c
2150
if (error = urtw_write8_c(sc, URTW_GPIO, 0x20, 0))
usr/src/uts/common/io/urtw/urtw.c
2152
if (error = urtw_write8_c(sc, URTW_GP_ENABLE, 0, 0))
usr/src/uts/common/io/urtw/urtw.c
2154
if (error = urtw_write16_c(sc, URTW_RF_PINS_OUTPUT, 0x80, 0))
usr/src/uts/common/io/urtw/urtw.c
2156
if (error = urtw_write16_c(sc, URTW_RF_PINS_SELECT, 0x80, 0))
usr/src/uts/common/io/urtw/urtw.c
2158
error = urtw_write16_c(sc, URTW_RF_PINS_ENABLE, 0x80, 0);
usr/src/uts/common/io/urtw/urtw.c
2166
urtw_8185_rf_pins_enable(struct urtw_softc *sc)
usr/src/uts/common/io/urtw/urtw.c
2170
error = urtw_write16_c(sc, URTW_RF_PINS_ENABLE, 0x1ff7, 0);
usr/src/uts/common/io/urtw/urtw.c
2175
urtw_8187_write_phy(struct urtw_softc *sc, uint8_t addr, uint32_t data)
usr/src/uts/common/io/urtw/urtw.c
2181
if (error = urtw_write8_c(sc, 0x7f, ((phyw & 0xff000000) >> 24), 0))
usr/src/uts/common/io/urtw/urtw.c
2183
if (error = urtw_write8_c(sc, 0x7e, ((phyw & 0x00ff0000) >> 16), 0))
usr/src/uts/common/io/urtw/urtw.c
2185
if (error = urtw_write8_c(sc, 0x7d, ((phyw & 0x0000ff00) >> 8), 0))
usr/src/uts/common/io/urtw/urtw.c
2187
error = urtw_write8_c(sc, 0x7c, (phyw & 0x000000ff), 0);
usr/src/uts/common/io/urtw/urtw.c
2197
urtw_8187_write_phy_ofdm_c(struct urtw_softc *sc, uint8_t addr, uint32_t data)
usr/src/uts/common/io/urtw/urtw.c
2200
return (urtw_8187_write_phy(sc, addr, data));
usr/src/uts/common/io/urtw/urtw.c
2204
urtw_8187_write_phy_cck_c(struct urtw_softc *sc, uint8_t addr, uint32_t data)
usr/src/uts/common/io/urtw/urtw.c
2207
return (urtw_8187_write_phy(sc, addr, (data | 0x10000)));
usr/src/uts/common/io/urtw/urtw.c
2211
urtw_8225_setgain(struct urtw_softc *sc, int16_t gain)
usr/src/uts/common/io/urtw/urtw.c
2215
if (error = urtw_8187_write_phy_ofdm_c(sc, 0x0d,
usr/src/uts/common/io/urtw/urtw.c
2218
if (error = urtw_8187_write_phy_ofdm_c(sc, 0x1b,
usr/src/uts/common/io/urtw/urtw.c
2221
if (error = urtw_8187_write_phy_ofdm_c(sc, 0x1d,
usr/src/uts/common/io/urtw/urtw.c
2224
error = urtw_8187_write_phy_ofdm_c(sc, 0x23,
usr/src/uts/common/io/urtw/urtw.c
2231
urtw_8225_set_txpwrlvl(struct urtw_softc *sc, int chan)
usr/src/uts/common/io/urtw/urtw.c
2236
uint8_t cck_pwrlvl = sc->sc_txpwr_cck[chan] & 0xff;
usr/src/uts/common/io/urtw/urtw.c
2237
uint8_t ofdm_pwrlvl = sc->sc_txpwr_ofdm[chan] & 0xff;
usr/src/uts/common/io/urtw/urtw.c
2252
if (error = urtw_write8_c(sc, URTW_TX_GAIN_CCK,
usr/src/uts/common/io/urtw/urtw.c
2256
if (error = urtw_8187_write_phy_cck_c(sc, 0x44 + i,
usr/src/uts/common/io/urtw/urtw.c
2268
error = urtw_8185_set_anaparam2(sc, URTW_8187_8225_ANAPARAM2_ON);
usr/src/uts/common/io/urtw/urtw.c
2271
if (error = urtw_8187_write_phy_ofdm_c(sc, 2, 0x42))
usr/src/uts/common/io/urtw/urtw.c
2273
if (error = urtw_8187_write_phy_ofdm_c(sc, 6, 0))
usr/src/uts/common/io/urtw/urtw.c
2275
if (error = urtw_8187_write_phy_ofdm_c(sc, 8, 0))
usr/src/uts/common/io/urtw/urtw.c
2278
if (error = urtw_write8_c(sc, URTW_TX_GAIN_OFDM,
usr/src/uts/common/io/urtw/urtw.c
2281
if (error = urtw_8187_write_phy_ofdm_c(sc, 0x5,
usr/src/uts/common/io/urtw/urtw.c
2284
error = urtw_8187_write_phy_ofdm_c(sc, 0x7,
usr/src/uts/common/io/urtw/urtw.c
2292
urtw_8185_tx_antenna(struct urtw_softc *sc, uint8_t ant)
usr/src/uts/common/io/urtw/urtw.c
2296
error = urtw_write8_c(sc, URTW_TX_ANTENNA, ant, 0);
usr/src/uts/common/io/urtw/urtw.c
2308
struct urtw_softc *sc = rf->rf_sc;
usr/src/uts/common/io/urtw/urtw.c
2310
error = urtw_8180_set_anaparam(sc, URTW_8187_8225_ANAPARAM_ON);
usr/src/uts/common/io/urtw/urtw.c
2314
if (error = urtw_8225_usb_init(sc))
usr/src/uts/common/io/urtw/urtw.c
2316
if (error = urtw_write32_c(sc, URTW_RF_TIMING, 0x000a8008, 0))
usr/src/uts/common/io/urtw/urtw.c
2318
if (error = urtw_read16_c(sc, URTW_BRSR, &data, 0))
usr/src/uts/common/io/urtw/urtw.c
2320
if (error = urtw_write16_c(sc, URTW_BRSR, 0xffff, 0))
usr/src/uts/common/io/urtw/urtw.c
2322
if (error = urtw_write32_c(sc, URTW_RF_PARA, 0x100044, 0))
usr/src/uts/common/io/urtw/urtw.c
2325
if (error = urtw_set_mode(sc, URTW_EPROM_CMD_CONFIG))
usr/src/uts/common/io/urtw/urtw.c
2327
if (error = urtw_write8_c(sc, URTW_CONFIG3, 0x44, 0))
usr/src/uts/common/io/urtw/urtw.c
2329
if (error = urtw_set_mode(sc, URTW_EPROM_CMD_NORMAL))
usr/src/uts/common/io/urtw/urtw.c
2331
if (error = urtw_8185_rf_pins_enable(sc))
usr/src/uts/common/io/urtw/urtw.c
2336
if (error = urtw_8225_write_c(sc, urtw_8225_rf_part1[i].reg,
usr/src/uts/common/io/urtw/urtw.c
2342
if (error = urtw_8225_write_c(sc, 0x2, 0xc4d))
usr/src/uts/common/io/urtw/urtw.c
2345
if (error = urtw_8225_write_c(sc, 0x2, 0x44d))
usr/src/uts/common/io/urtw/urtw.c
2348
if (error = urtw_8225_write_c(sc, 0x0, 0x127))
usr/src/uts/common/io/urtw/urtw.c
2352
if (error = urtw_8225_write_c(sc, 0x1, (uint8_t)(i + 1)))
usr/src/uts/common/io/urtw/urtw.c
2354
if (error = urtw_8225_write_c(sc, 0x2, urtw_8225_rxgain[i]))
usr/src/uts/common/io/urtw/urtw.c
2358
if (error = urtw_8225_write_c(sc, 0x0, 0x27))
usr/src/uts/common/io/urtw/urtw.c
2360
if (error = urtw_8225_write_c(sc, 0x0, 0x22f))
usr/src/uts/common/io/urtw/urtw.c
2364
if (error = urtw_8187_write_phy_ofdm_c(sc, 0xb,
usr/src/uts/common/io/urtw/urtw.c
2368
if (error = urtw_8187_write_phy_ofdm_c(sc, 0xa,
usr/src/uts/common/io/urtw/urtw.c
2375
if (error = urtw_8187_write_phy_ofdm_c(sc,
usr/src/uts/common/io/urtw/urtw.c
2381
error = urtw_8225_setgain(sc, 4);
usr/src/uts/common/io/urtw/urtw.c
2386
if (error = urtw_8187_write_phy_cck_c(sc,
usr/src/uts/common/io/urtw/urtw.c
2393
if (error = urtw_write8_c(sc, 0x5b, 0x0d, 0))
usr/src/uts/common/io/urtw/urtw.c
2395
if (error = urtw_8225_set_txpwrlvl(sc, 1))
usr/src/uts/common/io/urtw/urtw.c
2397
if (error = urtw_8187_write_phy_cck_c(sc, 0x10, 0x9b))
usr/src/uts/common/io/urtw/urtw.c
2400
if (error = urtw_8187_write_phy_ofdm_c(sc, 0x26, 0x90))
usr/src/uts/common/io/urtw/urtw.c
2405
if (error = urtw_8185_tx_antenna(sc, 0x3))
usr/src/uts/common/io/urtw/urtw.c
2407
if (error = urtw_write32_c(sc, 0x94, 0x3dc00002, 0))
usr/src/uts/common/io/urtw/urtw.c
2411
ieee80211_chan2ieee(&sc->sc_ic, sc->sc_ic.ic_curchan));
usr/src/uts/common/io/urtw/urtw.c
2425
struct urtw_softc *sc = rf->rf_sc;
usr/src/uts/common/io/urtw/urtw.c
2426
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/urtw/urtw.c
2431
if (error = urtw_8225_set_txpwrlvl(sc, chan))
usr/src/uts/common/io/urtw/urtw.c
2433
if (urtw_8225_write_c(sc, 0x7, urtw_8225_channel[chan]))
usr/src/uts/common/io/urtw/urtw.c
2437
if (error = urtw_write8_c(sc, URTW_SIFS, 0x22, 0))
usr/src/uts/common/io/urtw/urtw.c
2442
if (error = urtw_write8_c(sc, URTW_SLOT, 0x9, 0))
usr/src/uts/common/io/urtw/urtw.c
2445
if (error = urtw_write8_c(sc, URTW_SLOT, 0x14, 0))
usr/src/uts/common/io/urtw/urtw.c
2449
if (error = urtw_write8_c(sc, URTW_DIFS, 0x14, 0))
usr/src/uts/common/io/urtw/urtw.c
2451
if (error = urtw_write8_c(sc, URTW_EIFS, 0x5b - 0x14, 0))
usr/src/uts/common/io/urtw/urtw.c
2453
error = urtw_write8_c(sc, URTW_CW_VAL, 0x73, 0);
usr/src/uts/common/io/urtw/urtw.c
2456
if (error = urtw_write8_c(sc, URTW_DIFS, 0x24, 0))
usr/src/uts/common/io/urtw/urtw.c
2458
if (error = urtw_write8_c(sc, URTW_EIFS, 0x5b - 0x24, 0))
usr/src/uts/common/io/urtw/urtw.c
2460
error = urtw_write8_c(sc, URTW_CW_VAL, 0xa5, 0);
usr/src/uts/common/io/urtw/urtw.c
2471
struct urtw_softc *sc = rf->rf_sc;
usr/src/uts/common/io/urtw/urtw.c
2477
if (error = urtw_8225_write_c(sc, 0x0c, 0x850))
usr/src/uts/common/io/urtw/urtw.c
2480
if (error = urtw_8225_write_c(sc, 0x0c, 0x50))
usr/src/uts/common/io/urtw/urtw.c
2484
if (error = urtw_8225_setgain(sc, rf->sens))
usr/src/uts/common/io/urtw/urtw.c
2486
error = urtw_8187_write_phy_cck_c(sc, 0x41,
usr/src/uts/common/io/urtw/urtw.c
2493
urtw_stop(struct urtw_softc *sc)
usr/src/uts/common/io/urtw/urtw.c
2495
URTW_LOCK(sc);
usr/src/uts/common/io/urtw/urtw.c
2496
sc->sc_flags &= ~URTW_FLAG_RUNNING;
usr/src/uts/common/io/urtw/urtw.c
2497
URTW_UNLOCK(sc);
usr/src/uts/common/io/urtw/urtw.c
2498
urtw_close_pipes(sc);
usr/src/uts/common/io/urtw/urtw.c
2514
struct urtw_softc *sc = (struct urtw_softc *)req->bulk_client_private;
usr/src/uts/common/io/urtw/urtw.c
2515
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/urtw/urtw.c
2527
sc->sc_rx_err++;
usr/src/uts/common/io/urtw/urtw.c
2528
URTW8187_DBG(URTW_DEBUG_RX_PROC, (sc->sc_dev, CE_CONT,
usr/src/uts/common/io/urtw/urtw.c
2538
if (sc->sc_hwrev & URTW_HWREV_8187)
usr/src/uts/common/io/urtw/urtw.c
2550
sc->sc_rx_err++;
usr/src/uts/common/io/urtw/urtw.c
2556
if (sc->sc_hwrev & URTW_HWREV_8187) {
usr/src/uts/common/io/urtw/urtw.c
2571
URTW8187_DBG(URTW_DEBUG_RX_PROC, (sc->sc_dev, CE_CONT,
usr/src/uts/common/io/urtw/urtw.c
2579
sc->sc_currate = (rate > 0) ? rate : sc->sc_currate;
usr/src/uts/common/io/urtw/urtw.c
2580
URTW8187_DBG(URTW_DEBUG_RX_PROC, (sc->sc_dev, CE_CONT,
usr/src/uts/common/io/urtw/urtw.c
2582
sc->sc_currate));
usr/src/uts/common/io/urtw/urtw.c
2592
mutex_enter(&sc->rx_lock);
usr/src/uts/common/io/urtw/urtw.c
2593
sc->rx_queued--;
usr/src/uts/common/io/urtw/urtw.c
2594
mutex_exit(&sc->rx_lock);
usr/src/uts/common/io/urtw/urtw.c
2596
if (URTW_IS_RUNNING(sc) && !URTW_IS_SUSPENDING(sc))
usr/src/uts/common/io/urtw/urtw.c
2597
(void) urtw_rx_start(sc);
usr/src/uts/common/io/urtw/urtw.c
2601
urtw_8225v2_setgain(struct urtw_softc *sc, int16_t gain)
usr/src/uts/common/io/urtw/urtw.c
2608
if (error = urtw_8187_write_phy_ofdm_c(sc, 0x0d, gainp[gain * 3]))
usr/src/uts/common/io/urtw/urtw.c
2611
if (error = urtw_8187_write_phy_ofdm_c(sc, 0x1b, gainp[gain * 3 + 1]))
usr/src/uts/common/io/urtw/urtw.c
2613
if (error = urtw_8187_write_phy_ofdm_c(sc, 0x1d, gainp[gain * 3 + 2]))
usr/src/uts/common/io/urtw/urtw.c
2616
if (error = urtw_8187_write_phy_ofdm_c(sc, 0x21, 0x17))
usr/src/uts/common/io/urtw/urtw.c
2624
urtw_8225v2_set_txpwrlvl(struct urtw_softc *sc, int chan)
usr/src/uts/common/io/urtw/urtw.c
2629
uint8_t cck_pwrlvl = sc->sc_txpwr_cck[chan] & 0xff;
usr/src/uts/common/io/urtw/urtw.c
2630
uint8_t ofdm_pwrlvl = sc->sc_txpwr_ofdm[chan] & 0xff;
usr/src/uts/common/io/urtw/urtw.c
2636
cck_pwrlvl += sc->sc_txpwr_cck_base;
usr/src/uts/common/io/urtw/urtw.c
2642
if (error = urtw_8187_write_phy_cck_c(sc, 0x44 + i,
usr/src/uts/common/io/urtw/urtw.c
2646
if (error = urtw_write8_c(sc, URTW_TX_GAIN_CCK,
usr/src/uts/common/io/urtw/urtw.c
2654
ofdm_pwrlvl += sc->sc_txpwr_ofdm_base;
usr/src/uts/common/io/urtw/urtw.c
2657
error = urtw_8185_set_anaparam2(sc, URTW_8187_8225_ANAPARAM2_ON);
usr/src/uts/common/io/urtw/urtw.c
2661
if (error = urtw_8187_write_phy_ofdm_c(sc, 2, 0x42))
usr/src/uts/common/io/urtw/urtw.c
2663
if (error = urtw_8187_write_phy_ofdm_c(sc, 5, 0x0))
usr/src/uts/common/io/urtw/urtw.c
2665
if (error = urtw_8187_write_phy_ofdm_c(sc, 6, 0x40))
usr/src/uts/common/io/urtw/urtw.c
2667
if (error = urtw_8187_write_phy_ofdm_c(sc, 7, 0x0))
usr/src/uts/common/io/urtw/urtw.c
2669
if (error = urtw_8187_write_phy_ofdm_c(sc, 8, 0x40))
usr/src/uts/common/io/urtw/urtw.c
2672
error = urtw_write8_c(sc, URTW_TX_GAIN_OFDM,
usr/src/uts/common/io/urtw/urtw.c
2687
struct urtw_softc *sc = rf->rf_sc;
usr/src/uts/common/io/urtw/urtw.c
2689
if (error = urtw_8180_set_anaparam(sc, URTW_8187_8225_ANAPARAM_ON))
usr/src/uts/common/io/urtw/urtw.c
2691
if (error = urtw_8225_usb_init(sc))
usr/src/uts/common/io/urtw/urtw.c
2693
if (error = urtw_write32_c(sc, URTW_RF_TIMING, 0x000a8008, 0))
usr/src/uts/common/io/urtw/urtw.c
2695
if (error = urtw_read16_c(sc, URTW_BRSR, &data, 0))
usr/src/uts/common/io/urtw/urtw.c
2697
if (error = urtw_write16_c(sc, URTW_BRSR, 0xffff, 0))
usr/src/uts/common/io/urtw/urtw.c
2699
if (error = urtw_write32_c(sc, URTW_RF_PARA, 0x100044, 0))
usr/src/uts/common/io/urtw/urtw.c
2701
if (error = urtw_set_mode(sc, URTW_EPROM_CMD_CONFIG))
usr/src/uts/common/io/urtw/urtw.c
2703
if (error = urtw_write8_c(sc, URTW_CONFIG3, 0x44, 0))
usr/src/uts/common/io/urtw/urtw.c
2705
if (error = urtw_set_mode(sc, URTW_EPROM_CMD_NORMAL))
usr/src/uts/common/io/urtw/urtw.c
2707
if (error = urtw_8185_rf_pins_enable(sc))
usr/src/uts/common/io/urtw/urtw.c
2713
if (error = urtw_8225_write_c(sc, urtw_8225v2_rf_part1[i].reg,
usr/src/uts/common/io/urtw/urtw.c
2720
if (error = urtw_8225_write_c(sc, 0x0, 0x1b7))
usr/src/uts/common/io/urtw/urtw.c
2724
if (error = urtw_8225_write_c(sc, 0x1, (uint8_t)(i + 1)))
usr/src/uts/common/io/urtw/urtw.c
2727
if (error = urtw_8225_write_c(sc, 0x2, urtw_8225v2_rxgain[i]))
usr/src/uts/common/io/urtw/urtw.c
2732
if (error = urtw_8225_write_c(sc, 0x3, 0x2))
usr/src/uts/common/io/urtw/urtw.c
2735
if (error = urtw_8225_write_c(sc, 0x5, 0x4))
usr/src/uts/common/io/urtw/urtw.c
2738
if (error = urtw_8225_write_c(sc, 0x0, 0xb7))
usr/src/uts/common/io/urtw/urtw.c
2741
if (error = urtw_8225_write_c(sc, 0x2, 0xc4d))
usr/src/uts/common/io/urtw/urtw.c
2744
if (error = urtw_8225_write_c(sc, 0x2, 0x44d))
usr/src/uts/common/io/urtw/urtw.c
2748
if (error = urtw_8225_read(sc, 0x6, &data32))
usr/src/uts/common/io/urtw/urtw.c
2756
if (error = urtw_8225_write_c(sc, 0x02, 0x0c4d))
usr/src/uts/common/io/urtw/urtw.c
2759
if (error = urtw_8225_write_c(sc, 0x02, 0x044d))
usr/src/uts/common/io/urtw/urtw.c
2762
if (error = urtw_8225_read(sc, 0x6, &data32))
usr/src/uts/common/io/urtw/urtw.c
2769
if (error = urtw_8225_write_c(sc, 0x0, 0x2bf))
usr/src/uts/common/io/urtw/urtw.c
2772
if (error = urtw_8187_write_phy_ofdm_c(sc, 0xb,
usr/src/uts/common/io/urtw/urtw.c
2776
if (error = urtw_8187_write_phy_ofdm_c(sc, 0xa,
usr/src/uts/common/io/urtw/urtw.c
2784
if (error = urtw_8187_write_phy_ofdm_c(sc,
usr/src/uts/common/io/urtw/urtw.c
2790
error = urtw_8225v2_setgain(sc, 4);
usr/src/uts/common/io/urtw/urtw.c
2795
if (error = urtw_8187_write_phy_cck_c(sc,
usr/src/uts/common/io/urtw/urtw.c
2802
if (error = urtw_write8_c(sc, 0x5b, 0x0d, 0))
usr/src/uts/common/io/urtw/urtw.c
2804
if (error = urtw_8225v2_set_txpwrlvl(sc, 1))
usr/src/uts/common/io/urtw/urtw.c
2806
if (error = urtw_8187_write_phy_cck_c(sc, 0x10, 0x9b))
usr/src/uts/common/io/urtw/urtw.c
2809
if (error = urtw_8187_write_phy_ofdm_c(sc, 0x26, 0x90))
usr/src/uts/common/io/urtw/urtw.c
2814
if (error = urtw_8185_tx_antenna(sc, 0x3))
usr/src/uts/common/io/urtw/urtw.c
2816
if (error = urtw_write32_c(sc, 0x94, 0x3dc00002, 0))
usr/src/uts/common/io/urtw/urtw.c
2820
ieee80211_chan2ieee(&sc->sc_ic, sc->sc_ic.ic_curchan));
usr/src/uts/common/io/urtw/urtw.c
2829
struct urtw_softc *sc = rf->rf_sc;
usr/src/uts/common/io/urtw/urtw.c
2830
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/urtw/urtw.c
2835
if (error = urtw_8225v2_set_txpwrlvl(sc, chan))
usr/src/uts/common/io/urtw/urtw.c
2838
if (error = urtw_8225_write_c(sc, 0x7, urtw_8225_channel[chan]))
usr/src/uts/common/io/urtw/urtw.c
2843
if (error = urtw_write8_c(sc, URTW_SIFS, 0x22, 0))
usr/src/uts/common/io/urtw/urtw.c
2848
if (error = urtw_write8_c(sc, URTW_SLOT, 0x9, 0))
usr/src/uts/common/io/urtw/urtw.c
2851
if (error = urtw_write8_c(sc, URTW_SLOT, 0x14, 0))
usr/src/uts/common/io/urtw/urtw.c
2855
if (error = urtw_write8_c(sc, URTW_DIFS, 0x14, 0))
usr/src/uts/common/io/urtw/urtw.c
2857
if (error = urtw_write8_c(sc, URTW_EIFS, 0x5b - 0x14, 0))
usr/src/uts/common/io/urtw/urtw.c
2859
if (error = urtw_write8_c(sc, URTW_CW_VAL, 0x73, 0))
usr/src/uts/common/io/urtw/urtw.c
2863
if (error = urtw_write8_c(sc, URTW_DIFS, 0x24, 0))
usr/src/uts/common/io/urtw/urtw.c
2865
if (error = urtw_write8_c(sc, URTW_EIFS, 0x5b - 0x24, 0))
usr/src/uts/common/io/urtw/urtw.c
2867
if (error = urtw_write8_c(sc, URTW_CW_VAL, 0xa5, 0))
usr/src/uts/common/io/urtw/urtw.c
2876
urtw_set_channel(struct urtw_softc *sc)
usr/src/uts/common/io/urtw/urtw.c
2878
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/urtw/urtw.c
2879
struct urtw_rf *rf = &sc->sc_rf;
usr/src/uts/common/io/urtw/urtw.c
2883
if (error = urtw_read32_c(sc, URTW_TX_CONF, &data, 0))
usr/src/uts/common/io/urtw/urtw.c
2886
if (error = urtw_write32_c(sc, URTW_TX_CONF,
usr/src/uts/common/io/urtw/urtw.c
2893
error = urtw_write32_c(sc, URTW_TX_CONF,
usr/src/uts/common/io/urtw/urtw.c
2903
struct urtw_softc *sc = (struct urtw_softc *)req->bulk_client_private;
usr/src/uts/common/io/urtw/urtw.c
2904
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/urtw/urtw.c
2906
URTW8187_DBG(URTW_DEBUG_TX_PROC, (sc->sc_dev, CE_CONT,
usr/src/uts/common/io/urtw/urtw.c
2911
sc->sc_tx_low_queued));
usr/src/uts/common/io/urtw/urtw.c
2912
mutex_enter(&sc->tx_lock);
usr/src/uts/common/io/urtw/urtw.c
2918
if (sc->sc_need_sched) {
usr/src/uts/common/io/urtw/urtw.c
2919
sc->sc_need_sched = 0;
usr/src/uts/common/io/urtw/urtw.c
2923
sc->sc_tx_low_queued--;
usr/src/uts/common/io/urtw/urtw.c
2924
mutex_exit(&sc->tx_lock);
usr/src/uts/common/io/urtw/urtw.c
2932
struct urtw_softc *sc = (struct urtw_softc *)req->bulk_client_private;
usr/src/uts/common/io/urtw/urtw.c
2933
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/urtw/urtw.c
2935
URTW8187_DBG(URTW_DEBUG_ACTIVE, (sc->sc_dev, CE_CONT,
usr/src/uts/common/io/urtw/urtw.c
2940
sc->sc_tx_normal_queued));
usr/src/uts/common/io/urtw/urtw.c
2942
mutex_enter(&sc->tx_lock);
usr/src/uts/common/io/urtw/urtw.c
2948
if (sc->sc_need_sched) {
usr/src/uts/common/io/urtw/urtw.c
2949
sc->sc_need_sched = 0;
usr/src/uts/common/io/urtw/urtw.c
2953
sc->sc_tx_normal_queued--;
usr/src/uts/common/io/urtw/urtw.c
2954
mutex_exit(&sc->tx_lock);
usr/src/uts/common/io/urtw/urtw.c
2977
urtw_8187b_update_wmm(struct urtw_softc *sc)
usr/src/uts/common/io/urtw/urtw.c
2979
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/urtw/urtw.c
2998
(void) urtw_write32_c(sc, URTW_AC_VO, data, 0);
usr/src/uts/common/io/urtw/urtw.c
2999
(void) urtw_write32_c(sc, URTW_AC_VI, data, 0);
usr/src/uts/common/io/urtw/urtw.c
3000
(void) urtw_write32_c(sc, URTW_AC_BE, data, 0);
usr/src/uts/common/io/urtw/urtw.c
3001
(void) urtw_write32_c(sc, URTW_AC_BK, data, 0);
usr/src/uts/common/io/urtw/urtw.c
3005
urtw_8187b_reset(struct urtw_softc *sc)
usr/src/uts/common/io/urtw/urtw.c
3010
error = urtw_set_mode(sc, URTW_EPROM_CMD_CONFIG);
usr/src/uts/common/io/urtw/urtw.c
3014
(void) urtw_read8_c(sc, URTW_CONFIG3, &data, 0);
usr/src/uts/common/io/urtw/urtw.c
3015
(void) urtw_write8_c(sc, URTW_CONFIG3,
usr/src/uts/common/io/urtw/urtw.c
3019
(void) urtw_write32_c(sc, URTW_ANAPARAM2,
usr/src/uts/common/io/urtw/urtw.c
3021
(void) urtw_write32_c(sc, URTW_ANAPARAM,
usr/src/uts/common/io/urtw/urtw.c
3023
(void) urtw_write8_c(sc, URTW_ANAPARAM3,
usr/src/uts/common/io/urtw/urtw.c
3026
(void) urtw_write8_c(sc, 0x61, 0x10, 0);
usr/src/uts/common/io/urtw/urtw.c
3027
(void) urtw_read8_c(sc, 0x62, &data, 0);
usr/src/uts/common/io/urtw/urtw.c
3028
(void) urtw_write8_c(sc, 0x62, data & ~(1 << 5), 0);
usr/src/uts/common/io/urtw/urtw.c
3029
(void) urtw_write8_c(sc, 0x62, data | (1 << 5), 0);
usr/src/uts/common/io/urtw/urtw.c
3031
(void) urtw_read8_c(sc, URTW_CONFIG3, &data, 0);
usr/src/uts/common/io/urtw/urtw.c
3032
(void) urtw_write8_c(sc, URTW_CONFIG3,
usr/src/uts/common/io/urtw/urtw.c
3035
error = urtw_set_mode(sc, URTW_EPROM_CMD_NORMAL);
usr/src/uts/common/io/urtw/urtw.c
3039
(void) urtw_read8_c(sc, URTW_CMD, &data, 0);
usr/src/uts/common/io/urtw/urtw.c
3041
(void) urtw_write8_c(sc, URTW_CMD, data, 0);
usr/src/uts/common/io/urtw/urtw.c
3044
(void) urtw_read8_c(sc, URTW_CMD, &data, 0);
usr/src/uts/common/io/urtw/urtw.c
3057
struct urtw_softc *sc = arg;
usr/src/uts/common/io/urtw/urtw.c
3058
struct urtw_rf *rf = &sc->sc_rf;
usr/src/uts/common/io/urtw/urtw.c
3059
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/urtw/urtw.c
3064
urtw_stop(sc);
usr/src/uts/common/io/urtw/urtw.c
3065
URTW_LOCK(sc);
usr/src/uts/common/io/urtw/urtw.c
3066
urtw_8187b_update_wmm(sc);
usr/src/uts/common/io/urtw/urtw.c
3067
error = urtw_8187b_reset(sc);
usr/src/uts/common/io/urtw/urtw.c
3071
error = urtw_open_pipes(sc);
usr/src/uts/common/io/urtw/urtw.c
3075
error = urtw_set_mode(sc, URTW_EPROM_CMD_CONFIG);
usr/src/uts/common/io/urtw/urtw.c
3079
(void) urtw_write8_c(sc, URTW_MAC0 + i,
usr/src/uts/common/io/urtw/urtw.c
3081
error = urtw_set_mode(sc, URTW_EPROM_CMD_NORMAL);
usr/src/uts/common/io/urtw/urtw.c
3085
error = urtw_update_msr(sc, IEEE80211_S_INIT);
usr/src/uts/common/io/urtw/urtw.c
3092
error = urtw_intr_enable(sc);
usr/src/uts/common/io/urtw/urtw.c
3096
error = urtw_write8e(sc, 0x41, 0xf4);
usr/src/uts/common/io/urtw/urtw.c
3099
error = urtw_write8e(sc, 0x40, 0x00);
usr/src/uts/common/io/urtw/urtw.c
3102
error = urtw_write8e(sc, 0x42, 0x00);
usr/src/uts/common/io/urtw/urtw.c
3105
error = urtw_write8e(sc, 0x42, 0x01);
usr/src/uts/common/io/urtw/urtw.c
3108
error = urtw_write8e(sc, 0x40, 0x0f);
usr/src/uts/common/io/urtw/urtw.c
3111
error = urtw_write8e(sc, 0x42, 0x00);
usr/src/uts/common/io/urtw/urtw.c
3114
error = urtw_write8e(sc, 0x42, 0x01);
usr/src/uts/common/io/urtw/urtw.c
3118
(void) urtw_read8_c(sc, 0xdb, &data, 0);
usr/src/uts/common/io/urtw/urtw.c
3119
(void) urtw_write8_c(sc, 0xdb, data | (1 << 2), 0);
usr/src/uts/common/io/urtw/urtw.c
3120
(void) urtw_write16_c(sc, 0x72, 0x59fa, 3);
usr/src/uts/common/io/urtw/urtw.c
3121
(void) urtw_write16_c(sc, 0x74, 0x59d2, 3);
usr/src/uts/common/io/urtw/urtw.c
3122
(void) urtw_write16_c(sc, 0x76, 0x59d2, 3);
usr/src/uts/common/io/urtw/urtw.c
3123
(void) urtw_write16_c(sc, 0x78, 0x19fa, 3);
usr/src/uts/common/io/urtw/urtw.c
3124
(void) urtw_write16_c(sc, 0x7a, 0x19fa, 3);
usr/src/uts/common/io/urtw/urtw.c
3125
(void) urtw_write16_c(sc, 0x7c, 0x00d0, 3);
usr/src/uts/common/io/urtw/urtw.c
3126
(void) urtw_write8_c(sc, 0x61, 0, 0);
usr/src/uts/common/io/urtw/urtw.c
3127
(void) urtw_write8_c(sc, 0x80, 0x0f, 1);
usr/src/uts/common/io/urtw/urtw.c
3128
(void) urtw_write8_c(sc, 0x83, 0x03, 1);
usr/src/uts/common/io/urtw/urtw.c
3129
(void) urtw_write8_c(sc, 0xda, 0x10, 0);
usr/src/uts/common/io/urtw/urtw.c
3130
(void) urtw_write8_c(sc, 0x4d, 0x08, 2);
usr/src/uts/common/io/urtw/urtw.c
3132
(void) urtw_write32_c(sc, URTW_HSSI_PARA, 0x0600321b, 0);
usr/src/uts/common/io/urtw/urtw.c
3133
(void) urtw_write16_c(sc, 0xec, 0x0800, 1);
usr/src/uts/common/io/urtw/urtw.c
3134
(void) urtw_write8_c(sc, URTW_ACM_CONTROL, 0, 0);
usr/src/uts/common/io/urtw/urtw.c
3136
sc->sc_tx_low_queued = 0;
usr/src/uts/common/io/urtw/urtw.c
3137
sc->sc_tx_normal_queued = 0;
usr/src/uts/common/io/urtw/urtw.c
3138
error = urtw_rx_enable(sc);
usr/src/uts/common/io/urtw/urtw.c
3141
urtw_tx_enable(sc);
usr/src/uts/common/io/urtw/urtw.c
3144
URTW8187_DBG(URTW_DEBUG_ACTIVE, (sc->sc_dev,
usr/src/uts/common/io/urtw/urtw.c
3146
sc->sc_flags |= URTW_FLAG_RUNNING;
usr/src/uts/common/io/urtw/urtw.c
3147
URTW_UNLOCK(sc);
usr/src/uts/common/io/urtw/urtw.c
3153
URTW_UNLOCK(sc);
usr/src/uts/common/io/urtw/urtw.c
3154
urtw_stop(sc);
usr/src/uts/common/io/urtw/urtw.c
3159
urtw_8225v2_b_config_mac(struct urtw_softc *sc)
usr/src/uts/common/io/urtw/urtw.c
3166
(void) urtw_write8_c(sc, urtw_8187b_regtbl[i].reg,
usr/src/uts/common/io/urtw/urtw.c
3170
(void) urtw_write16_c(sc, URTW_TID_AC_MAP, 0xfa50, 0);
usr/src/uts/common/io/urtw/urtw.c
3171
(void) urtw_write16_c(sc, URTW_INT_MIG, 0, 0);
usr/src/uts/common/io/urtw/urtw.c
3173
(void) urtw_write32_c(sc, 0xf0, 0, 1);
usr/src/uts/common/io/urtw/urtw.c
3174
(void) urtw_write32_c(sc, 0xf4, 0, 1);
usr/src/uts/common/io/urtw/urtw.c
3175
(void) urtw_write8_c(sc, 0xf8, 0, 1);
usr/src/uts/common/io/urtw/urtw.c
3177
(void) urtw_write32_c(sc, URTW_RF_TIMING, 0x00004001, 0);
usr/src/uts/common/io/urtw/urtw.c
3181
urtw_8225v2_b_init_rfe(struct urtw_softc *sc)
usr/src/uts/common/io/urtw/urtw.c
3183
(void) urtw_write16_c(sc, URTW_RF_PINS_OUTPUT, 0x0480, 0);
usr/src/uts/common/io/urtw/urtw.c
3184
(void) urtw_write16_c(sc, URTW_RF_PINS_SELECT, 0x2488, 0);
usr/src/uts/common/io/urtw/urtw.c
3185
(void) urtw_write16_c(sc, URTW_RF_PINS_ENABLE, 0x1fff, 0);
usr/src/uts/common/io/urtw/urtw.c
3190
urtw_8225v2_b_update_chan(struct urtw_softc *sc)
usr/src/uts/common/io/urtw/urtw.c
3192
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/urtw/urtw.c
3196
(void) urtw_write8_c(sc, URTW_SIFS, 0x22, 0);
usr/src/uts/common/io/urtw/urtw.c
3210
(void) urtw_write8_c(sc, URTW_SLOT, slot, 0);
usr/src/uts/common/io/urtw/urtw.c
3212
(void) urtw_write8_c(sc, URTW_AC_VO, aifs, 0);
usr/src/uts/common/io/urtw/urtw.c
3213
(void) urtw_write8_c(sc, URTW_AC_VI, aifs, 0);
usr/src/uts/common/io/urtw/urtw.c
3214
(void) urtw_write8_c(sc, URTW_AC_BE, aifs, 0);
usr/src/uts/common/io/urtw/urtw.c
3215
(void) urtw_write8_c(sc, URTW_AC_BK, aifs, 0);
usr/src/uts/common/io/urtw/urtw.c
3217
(void) urtw_write8_c(sc, URTW_DIFS, difs, 0);
usr/src/uts/common/io/urtw/urtw.c
3218
(void) urtw_write8_c(sc, URTW_8187B_EIFS, eifs, 0);
usr/src/uts/common/io/urtw/urtw.c
3225
struct urtw_softc *sc = rf->rf_sc;
usr/src/uts/common/io/urtw/urtw.c
3231
(void) urtw_write16_c(sc, URTW_8187B_BRSR, 0x0fff, 0);
usr/src/uts/common/io/urtw/urtw.c
3232
(void) urtw_read8_c(sc, URTW_CW_CONF, &data, 0);
usr/src/uts/common/io/urtw/urtw.c
3233
(void) urtw_write8_c(sc, URTW_CW_CONF, data |
usr/src/uts/common/io/urtw/urtw.c
3235
(void) urtw_read8_c(sc, URTW_TX_AGC_CTL, &data, 0);
usr/src/uts/common/io/urtw/urtw.c
3236
(void) urtw_write8_c(sc, URTW_TX_AGC_CTL, data |
usr/src/uts/common/io/urtw/urtw.c
3241
(void) urtw_write16_c(sc, URTW_ARFR, 0x0fff, 1); /* 1M ~ 54M */
usr/src/uts/common/io/urtw/urtw.c
3242
(void) urtw_read8_c(sc, URTW_RATE_FALLBACK, &data, 0);
usr/src/uts/common/io/urtw/urtw.c
3243
(void) urtw_write8_c(sc, URTW_RATE_FALLBACK, data |
usr/src/uts/common/io/urtw/urtw.c
3246
(void) urtw_write16_c(sc, URTW_BEACON_INTERVAL, 0x3ff, 0);
usr/src/uts/common/io/urtw/urtw.c
3247
(void) urtw_write16_c(sc, URTW_ATIM_WND, 2, 0);
usr/src/uts/common/io/urtw/urtw.c
3248
(void) urtw_write16_c(sc, URTW_FEMR, 0xffff, 1);
usr/src/uts/common/io/urtw/urtw.c
3250
error = urtw_set_mode(sc, URTW_EPROM_CMD_CONFIG);
usr/src/uts/common/io/urtw/urtw.c
3253
(void) urtw_read8_c(sc, URTW_CONFIG1, &data, 0);
usr/src/uts/common/io/urtw/urtw.c
3254
(void) urtw_write8_c(sc, URTW_CONFIG1, (data & 0x3f) | 0x80, 0);
usr/src/uts/common/io/urtw/urtw.c
3255
error = urtw_set_mode(sc, URTW_EPROM_CMD_NORMAL);
usr/src/uts/common/io/urtw/urtw.c
3259
(void) urtw_write8_c(sc, URTW_WPA_CONFIG, 0, 0);
usr/src/uts/common/io/urtw/urtw.c
3260
urtw_8225v2_b_config_mac(sc);
usr/src/uts/common/io/urtw/urtw.c
3261
(void) urtw_write16_c(sc, URTW_RFSW_CTRL, 0x569a, 2);
usr/src/uts/common/io/urtw/urtw.c
3263
error = urtw_set_mode(sc, URTW_EPROM_CMD_CONFIG);
usr/src/uts/common/io/urtw/urtw.c
3266
(void) urtw_read8_c(sc, URTW_CONFIG3, &data, 0);
usr/src/uts/common/io/urtw/urtw.c
3267
(void) urtw_write8_c(sc, URTW_CONFIG3,
usr/src/uts/common/io/urtw/urtw.c
3269
error = urtw_set_mode(sc, URTW_EPROM_CMD_NORMAL);
usr/src/uts/common/io/urtw/urtw.c
3273
urtw_8225v2_b_init_rfe(sc);
usr/src/uts/common/io/urtw/urtw.c
3277
(void) urtw_8225_write_c(sc, urtw_8225v2_b_rf[i].reg,
usr/src/uts/common/io/urtw/urtw.c
3283
(void) urtw_8225_write_c(sc, 0x1, (uint8_t)(i + 1));
usr/src/uts/common/io/urtw/urtw.c
3284
(void) urtw_8225_write_c(sc, 0x2, urtw_8225v2_rxgain[i]);
usr/src/uts/common/io/urtw/urtw.c
3287
(void) urtw_8225_write_c(sc, 0x03, 0x080);
usr/src/uts/common/io/urtw/urtw.c
3288
(void) urtw_8225_write_c(sc, 0x05, 0x004);
usr/src/uts/common/io/urtw/urtw.c
3289
(void) urtw_8225_write_c(sc, 0x00, 0x0b7);
usr/src/uts/common/io/urtw/urtw.c
3290
(void) urtw_8225_write_c(sc, 0x02, 0xc4d);
usr/src/uts/common/io/urtw/urtw.c
3292
(void) urtw_8225_write_c(sc, 0x02, 0x44d);
usr/src/uts/common/io/urtw/urtw.c
3294
(void) urtw_8225_write_c(sc, 0x00, 0x2bf);
usr/src/uts/common/io/urtw/urtw.c
3297
(void) urtw_write8_c(sc, URTW_TX_GAIN_CCK, 0x03, 0);
usr/src/uts/common/io/urtw/urtw.c
3298
(void) urtw_write8_c(sc, URTW_TX_GAIN_OFDM, 0x07, 0);
usr/src/uts/common/io/urtw/urtw.c
3299
(void) urtw_write8_c(sc, URTW_TX_ANTENNA, 0x03, 0);
usr/src/uts/common/io/urtw/urtw.c
3301
(void) urtw_8187_write_phy_ofdm_c(sc, 0x80, 0x12);
usr/src/uts/common/io/urtw/urtw.c
3304
(void) urtw_8187_write_phy_ofdm_c(sc, 0x0f, urtw_8225v2_agc[i]);
usr/src/uts/common/io/urtw/urtw.c
3305
(void) urtw_8187_write_phy_ofdm_c(sc, 0x0e, (uint8_t)i + 0x80);
usr/src/uts/common/io/urtw/urtw.c
3306
(void) urtw_8187_write_phy_ofdm_c(sc, 0x0e, 0);
usr/src/uts/common/io/urtw/urtw.c
3308
(void) urtw_8187_write_phy_ofdm_c(sc, 0x80, 0x10);
usr/src/uts/common/io/urtw/urtw.c
3312
(void) urtw_8187_write_phy_ofdm_c(sc, i, urtw_8225v2_ofdm[i]);
usr/src/uts/common/io/urtw/urtw.c
3314
(void) urtw_8225v2_b_update_chan(sc);
usr/src/uts/common/io/urtw/urtw.c
3316
(void) urtw_8187_write_phy_ofdm_c(sc, 0x97, 0x46);
usr/src/uts/common/io/urtw/urtw.c
3317
(void) urtw_8187_write_phy_ofdm_c(sc, 0xa4, 0xb6);
usr/src/uts/common/io/urtw/urtw.c
3318
(void) urtw_8187_write_phy_ofdm_c(sc, 0x85, 0xfc);
usr/src/uts/common/io/urtw/urtw.c
3319
(void) urtw_8187_write_phy_cck_c(sc, 0xc1, 0x88);
usr/src/uts/common/io/urtw/urtw.c
3322
ieee80211_chan2ieee(&sc->sc_ic, sc->sc_ic.ic_curchan));
usr/src/uts/common/io/urtw/urtw.c
3330
struct urtw_softc *sc = rf->rf_sc;
usr/src/uts/common/io/urtw/urtw.c
3333
urtw_8225v2_b_set_txpwrlvl(sc, chan);
usr/src/uts/common/io/urtw/urtw.c
3334
error = urtw_8225_write_c(sc, 0x7, urtw_8225_channel[chan]);
usr/src/uts/common/io/urtw/urtw.c
3342
error = urtw_write16_c(sc, URTW_AC_VO, 0x5114, 0);
usr/src/uts/common/io/urtw/urtw.c
3345
error = urtw_write16_c(sc, URTW_AC_VI, 0x5114, 0);
usr/src/uts/common/io/urtw/urtw.c
3348
error = urtw_write16_c(sc, URTW_AC_BE, 0x5114, 0);
usr/src/uts/common/io/urtw/urtw.c
3351
error = urtw_write16_c(sc, URTW_AC_BK, 0x5114, 0);
usr/src/uts/common/io/urtw/urtw.c
3357
urtw_8225v2_b_set_txpwrlvl(struct urtw_softc *sc, int chan)
usr/src/uts/common/io/urtw/urtw.c
3363
int8_t cck_pwrlvl = sc->sc_txpwr_cck[chan] & 0xff;
usr/src/uts/common/io/urtw/urtw.c
3364
int8_t ofdm_pwrlvl = sc->sc_txpwr_ofdm[chan] & 0xff;
usr/src/uts/common/io/urtw/urtw.c
3366
if (sc->sc_hwrev & URTW_HWREV_8187B_B) {
usr/src/uts/common/io/urtw/urtw.c
3382
cck_pwrlvl += sc->sc_txpwr_cck_base;
usr/src/uts/common/io/urtw/urtw.c
3389
if (sc->sc_hwrev & URTW_HWREV_8187B_B) {
usr/src/uts/common/io/urtw/urtw.c
3404
(void) urtw_8187_write_phy_cck_c(sc, 0x44 + i, cck_pwrtable[i]);
usr/src/uts/common/io/urtw/urtw.c
3407
(void) urtw_write8_c(sc, URTW_TX_GAIN_CCK,
usr/src/uts/common/io/urtw/urtw.c
3418
ofdm_pwrlvl += sc->sc_txpwr_ofdm_base;
usr/src/uts/common/io/urtw/urtw.c
3422
(void) urtw_write8_c(sc, URTW_TX_GAIN_OFDM,
usr/src/uts/common/io/urtw/urtw.c
3425
if (sc->sc_hwrev & URTW_HWREV_8187B_B) {
usr/src/uts/common/io/urtw/urtw.c
3427
(void) urtw_8187_write_phy_ofdm_c(sc, 0x87, 0x60);
usr/src/uts/common/io/urtw/urtw.c
3428
(void) urtw_8187_write_phy_ofdm_c(sc, 0x89, 0x60);
usr/src/uts/common/io/urtw/urtw.c
3430
(void) urtw_8187_write_phy_ofdm_c(sc, 0x87, 0x5c);
usr/src/uts/common/io/urtw/urtw.c
3431
(void) urtw_8187_write_phy_ofdm_c(sc, 0x89, 0x5c);
usr/src/uts/common/io/urtw/urtw.c
3435
(void) urtw_8187_write_phy_ofdm_c(sc, 0x87, 0x5c);
usr/src/uts/common/io/urtw/urtw.c
3436
(void) urtw_8187_write_phy_ofdm_c(sc, 0x89, 0x5c);
usr/src/uts/common/io/urtw/urtw.c
3438
(void) urtw_8187_write_phy_ofdm_c(sc, 0x87, 0x54);
usr/src/uts/common/io/urtw/urtw.c
3439
(void) urtw_8187_write_phy_ofdm_c(sc, 0x89, 0x54);
usr/src/uts/common/io/urtw/urtw.c
3441
(void) urtw_8187_write_phy_ofdm_c(sc, 0x87, 0x50);
usr/src/uts/common/io/urtw/urtw.c
3442
(void) urtw_8187_write_phy_ofdm_c(sc, 0x89, 0x50);
usr/src/uts/common/io/urtw/urtw.c
3456
struct urtw_softc *sc = (struct urtw_softc *)ic;
usr/src/uts/common/io/urtw/urtw.c
3464
mutex_enter(&sc->tx_lock);
usr/src/uts/common/io/urtw/urtw.c
3468
if (URTW_IS_SUSPENDING(sc)) {
usr/src/uts/common/io/urtw/urtw.c
3473
if (((priority)? sc->sc_tx_normal_queued : sc->sc_tx_low_queued) >=
usr/src/uts/common/io/urtw/urtw.c
3475
URTW8187_DBG(URTW_DEBUG_XMIT, (sc->sc_dev, CE_CONT,
usr/src/uts/common/io/urtw/urtw.c
3477
sc->sc_tx_nobuf++;
usr/src/uts/common/io/urtw/urtw.c
3521
if (sc->sc_hwrev & URTW_HWREV_8187)
usr/src/uts/common/io/urtw/urtw.c
3552
if (sc->sc_hwrev & URTW_HWREV_8187) {
usr/src/uts/common/io/urtw/urtw.c
3562
(void) urtw_led_ctl(sc, URTW_LED_CTL_TX);
usr/src/uts/common/io/urtw/urtw.c
3565
URTW8187_DBG(URTW_DEBUG_XMIT, (sc->sc_dev, CE_CONT,
usr/src/uts/common/io/urtw/urtw.c
3569
err = urtw_tx_start(sc, mtx, priority);
usr/src/uts/common/io/urtw/urtw.c
3590
sc->sc_need_sched = 1;
usr/src/uts/common/io/urtw/urtw.c
3592
mutex_exit(&sc->tx_lock);
usr/src/uts/common/io/urtw/urtw.c
3600
struct urtw_softc *sc = (struct urtw_softc *)arg;
usr/src/uts/common/io/urtw/urtw.c
3602
if (URTW_IS_NOT_RUNNING(sc)) {
usr/src/uts/common/io/urtw/urtw.c
3603
sc->sc_scan_id = 0;
usr/src/uts/common/io/urtw/urtw.c
3610
sc->sc_scan_id = 0;
usr/src/uts/common/io/urtw/urtw.c
3616
struct urtw_softc *sc = arg;
usr/src/uts/common/io/urtw/urtw.c
3617
ieee80211com_t *ic = &sc->sc_ic;
usr/src/uts/common/io/urtw/urtw.c
3620
URTW_LEDLOCK(sc);
usr/src/uts/common/io/urtw/urtw.c
3621
if ((sc->sc_strategy != URTW_SW_LED_MODE0) ||
usr/src/uts/common/io/urtw/urtw.c
3622
URTW_IS_NOT_RUNNING(sc) ||
usr/src/uts/common/io/urtw/urtw.c
3623
URTW_IS_SUSPENDING(sc)) {
usr/src/uts/common/io/urtw/urtw.c
3624
URTW8187_DBG(URTW_DEBUG_LED, (sc->sc_dev, CE_CONT,
usr/src/uts/common/io/urtw/urtw.c
3626
sc->sc_strategy,
usr/src/uts/common/io/urtw/urtw.c
3627
sc->sc_flags));
usr/src/uts/common/io/urtw/urtw.c
3628
sc->sc_led_ch = 0;
usr/src/uts/common/io/urtw/urtw.c
3629
sc->sc_gpio_ledinprogress = 0;
usr/src/uts/common/io/urtw/urtw.c
3630
URTW_LEDUNLOCK(sc);
usr/src/uts/common/io/urtw/urtw.c
3633
error = urtw_led_blink(sc);
usr/src/uts/common/io/urtw/urtw.c
3635
sc->sc_led_ch = timeout(urtw_led_launch, (void *)sc,
usr/src/uts/common/io/urtw/urtw.c
3638
URTW8187_DBG(URTW_DEBUG_LED, (sc->sc_dev, CE_CONT,
usr/src/uts/common/io/urtw/urtw.c
3641
sc->sc_led_ch = 0;
usr/src/uts/common/io/urtw/urtw.c
3642
URTW8187_DBG(URTW_DEBUG_LED, (sc->sc_dev, CE_CONT,
usr/src/uts/common/io/urtw/urtw.c
3645
URTW_LEDUNLOCK(sc);
usr/src/uts/common/io/urtw/urtw.c
3651
struct urtw_softc *sc = (struct urtw_softc *)ic;
usr/src/uts/common/io/urtw/urtw.c
3655
if (sc->sc_scan_id != 0) {
usr/src/uts/common/io/urtw/urtw.c
3656
(void) untimeout(sc->sc_scan_id);
usr/src/uts/common/io/urtw/urtw.c
3657
sc->sc_scan_id = 0;
usr/src/uts/common/io/urtw/urtw.c
3659
URTW_LOCK(sc);
usr/src/uts/common/io/urtw/urtw.c
3663
(sc->sc_dev, CE_CONT, "-> IEEE80211_S_INIT...arg(%d)\n",
usr/src/uts/common/io/urtw/urtw.c
3665
if (sc->sc_flags & URTW_FLAG_HP)
usr/src/uts/common/io/urtw/urtw.c
3667
(void) urtw_update_msr(sc, nstate);
usr/src/uts/common/io/urtw/urtw.c
3668
(void) urtw_led_off(sc, URTW_LED_GPIO);
usr/src/uts/common/io/urtw/urtw.c
3673
(sc->sc_dev, CE_CONT,
usr/src/uts/common/io/urtw/urtw.c
3676
error = urtw_set_channel(sc);
usr/src/uts/common/io/urtw/urtw.c
3679
(sc->sc_dev, CE_CONT, "scan setchan failed"));
usr/src/uts/common/io/urtw/urtw.c
3682
sc->sc_scan_id = timeout(urtw_next_scan, (void *)sc,
usr/src/uts/common/io/urtw/urtw.c
3683
drv_usectohz(sc->dwelltime * 1000));
usr/src/uts/common/io/urtw/urtw.c
3687
URTW8187_DBG(URTW_DEBUG_STATE, (sc->sc_dev, CE_CONT,
usr/src/uts/common/io/urtw/urtw.c
3690
error = urtw_set_channel(sc);
usr/src/uts/common/io/urtw/urtw.c
3693
(sc->sc_dev, CE_CONT, "auth setchan failed"));
usr/src/uts/common/io/urtw/urtw.c
3698
URTW8187_DBG(URTW_DEBUG_STATE, (sc->sc_dev, CE_CONT,
usr/src/uts/common/io/urtw/urtw.c
3701
error = urtw_set_channel(sc);
usr/src/uts/common/io/urtw/urtw.c
3704
(sc->sc_dev, CE_CONT, "assoc setchan failed"));
usr/src/uts/common/io/urtw/urtw.c
3710
(sc->sc_dev, CE_CONT,
usr/src/uts/common/io/urtw/urtw.c
3713
error = urtw_set_channel(sc);
usr/src/uts/common/io/urtw/urtw.c
3716
(sc->sc_dev, CE_CONT, "run setchan failed"));
usr/src/uts/common/io/urtw/urtw.c
3721
(void) urtw_write32_c(sc, URTW_BSSID,
usr/src/uts/common/io/urtw/urtw.c
3723
(void) urtw_write16_c(sc, URTW_BSSID + 4,
usr/src/uts/common/io/urtw/urtw.c
3725
(void) urtw_update_msr(sc, nstate);
usr/src/uts/common/io/urtw/urtw.c
3731
URTW_UNLOCK(sc);
usr/src/uts/common/io/urtw/urtw.c
3734
URTW8187_DBG(URTW_DEBUG_STATE, (sc->sc_dev, CE_CONT,
usr/src/uts/common/io/urtw/urtw.c
3738
error = sc->sc_newstate(ic, nstate, arg);
usr/src/uts/common/io/urtw/urtw.c
3743
urtw_close_pipes(struct urtw_softc *sc)
usr/src/uts/common/io/urtw/urtw.c
3747
if (sc->sc_rxpipe != NULL) {
usr/src/uts/common/io/urtw/urtw.c
3748
usb_pipe_reset(sc->sc_dev,
usr/src/uts/common/io/urtw/urtw.c
3749
sc->sc_rxpipe, flags, NULL, 0);
usr/src/uts/common/io/urtw/urtw.c
3750
usb_pipe_close(sc->sc_dev,
usr/src/uts/common/io/urtw/urtw.c
3751
sc->sc_rxpipe, flags, NULL, 0);
usr/src/uts/common/io/urtw/urtw.c
3752
sc->sc_rxpipe = NULL;
usr/src/uts/common/io/urtw/urtw.c
3755
if (sc->sc_txpipe_low != NULL) {
usr/src/uts/common/io/urtw/urtw.c
3756
usb_pipe_reset(sc->sc_dev,
usr/src/uts/common/io/urtw/urtw.c
3757
sc->sc_txpipe_low, flags, NULL, 0);
usr/src/uts/common/io/urtw/urtw.c
3758
usb_pipe_close(sc->sc_dev,
usr/src/uts/common/io/urtw/urtw.c
3759
sc->sc_txpipe_low, flags, NULL, 0);
usr/src/uts/common/io/urtw/urtw.c
3760
sc->sc_txpipe_low = NULL;
usr/src/uts/common/io/urtw/urtw.c
3763
if (sc->sc_txpipe_normal != NULL) {
usr/src/uts/common/io/urtw/urtw.c
3764
usb_pipe_reset(sc->sc_dev,
usr/src/uts/common/io/urtw/urtw.c
3765
sc->sc_txpipe_normal, flags, NULL, 0);
usr/src/uts/common/io/urtw/urtw.c
3766
usb_pipe_close(sc->sc_dev,
usr/src/uts/common/io/urtw/urtw.c
3767
sc->sc_txpipe_normal, flags, NULL, 0);
usr/src/uts/common/io/urtw/urtw.c
3768
sc->sc_txpipe_normal = NULL;
usr/src/uts/common/io/urtw/urtw.c
3773
urtw_open_pipes(struct urtw_softc *sc)
usr/src/uts/common/io/urtw/urtw.c
3780
if (sc->sc_rxpipe || sc->sc_txpipe_low || sc->sc_txpipe_normal)
usr/src/uts/common/io/urtw/urtw.c
3783
if ((sc->sc_hwrev & URTW_HWREV_8187) == 0) {
usr/src/uts/common/io/urtw/urtw.c
3786
ep_node = usb_lookup_ep_data(sc->sc_dev, sc->sc_udev, 0, 0,
usr/src/uts/common/io/urtw/urtw.c
3792
if ((err = usb_pipe_open(sc->sc_dev,
usr/src/uts/common/io/urtw/urtw.c
3794
&sc->sc_txpipe_low)) != USB_SUCCESS) {
usr/src/uts/common/io/urtw/urtw.c
3795
URTW8187_DBG(URTW_DEBUG_ACTIVE, (sc->sc_dev, CE_CONT,
usr/src/uts/common/io/urtw/urtw.c
3801
ep_node = usb_lookup_ep_data(sc->sc_dev, sc->sc_udev, 0, 0,
usr/src/uts/common/io/urtw/urtw.c
3807
if ((err = usb_pipe_open(sc->sc_dev,
usr/src/uts/common/io/urtw/urtw.c
3809
&sc->sc_txpipe_normal)) != USB_SUCCESS) {
usr/src/uts/common/io/urtw/urtw.c
3810
URTW8187_DBG(URTW_DEBUG_ACTIVE, (sc->sc_dev, CE_CONT,
usr/src/uts/common/io/urtw/urtw.c
3816
ep_node = usb_lookup_ep_data(sc->sc_dev, sc->sc_udev, 0, 0, 0,
usr/src/uts/common/io/urtw/urtw.c
3822
if ((err = usb_pipe_open(sc->sc_dev,
usr/src/uts/common/io/urtw/urtw.c
3824
&sc->sc_rxpipe)) != USB_SUCCESS) {
usr/src/uts/common/io/urtw/urtw.c
3825
URTW8187_DBG(URTW_DEBUG_ACTIVE, (sc->sc_dev, CE_CONT,
usr/src/uts/common/io/urtw/urtw.c
3833
urtw_close_pipes(sc);
usr/src/uts/common/io/urtw/urtw.c
3838
urtw_tx_start(struct urtw_softc *sc, mblk_t *mp, int priority)
usr/src/uts/common/io/urtw/urtw.c
3843
req = usb_alloc_bulk_req(sc->sc_dev, 0, USB_FLAGS_SLEEP);
usr/src/uts/common/io/urtw/urtw.c
3845
URTW8187_DBG(URTW_DEBUG_TX_PROC, (sc->sc_dev, CE_CONT,
usr/src/uts/common/io/urtw/urtw.c
3853
req->bulk_client_private = (usb_opaque_t)sc;
usr/src/uts/common/io/urtw/urtw.c
3862
(priority)?sc->sc_txpipe_normal:sc->sc_txpipe_low, req, 0))
usr/src/uts/common/io/urtw/urtw.c
3864
sc->sc_ic.ic_stats.is_tx_failed++;
usr/src/uts/common/io/urtw/urtw.c
3865
URTW8187_DBG(URTW_DEBUG_TX_PROC, (sc->sc_dev, CE_CONT,
usr/src/uts/common/io/urtw/urtw.c
3872
sc->sc_tx_normal_queued++;
usr/src/uts/common/io/urtw/urtw.c
3874
sc->sc_tx_low_queued++;
usr/src/uts/common/io/urtw/urtw.c
3881
urtw_rx_start(struct urtw_softc *sc)
usr/src/uts/common/io/urtw/urtw.c
3886
req = usb_alloc_bulk_req(sc->sc_dev, URTW_RXBUF_SIZE, USB_FLAGS_SLEEP);
usr/src/uts/common/io/urtw/urtw.c
3888
URTW8187_DBG(URTW_DEBUG_RECV, (sc->sc_dev, CE_CONT,
usr/src/uts/common/io/urtw/urtw.c
3894
req->bulk_client_private = (usb_opaque_t)sc;
usr/src/uts/common/io/urtw/urtw.c
3903
err = usb_pipe_bulk_xfer(sc->sc_rxpipe, req, 0);
usr/src/uts/common/io/urtw/urtw.c
3906
URTW8187_DBG(URTW_DEBUG_RECV, (sc->sc_dev, CE_CONT,
usr/src/uts/common/io/urtw/urtw.c
3912
mutex_enter(&sc->rx_lock);
usr/src/uts/common/io/urtw/urtw.c
3913
sc->rx_queued++;
usr/src/uts/common/io/urtw/urtw.c
3914
mutex_exit(&sc->rx_lock);
usr/src/uts/common/io/urtw/urtw.c
3922
struct urtw_softc *sc;
usr/src/uts/common/io/urtw/urtw.c
3924
sc = ddi_get_soft_state(urtw_soft_state_p, ddi_get_instance(devinfo));
usr/src/uts/common/io/urtw/urtw.c
3926
(sc->sc_dev, CE_CONT, "urtw_offline()\n"));
usr/src/uts/common/io/urtw/urtw.c
3928
if (URTW_IS_RUNNING(sc)) {
usr/src/uts/common/io/urtw/urtw.c
3929
urtw_stop(sc);
usr/src/uts/common/io/urtw/urtw.c
3930
URTW_LOCK(sc);
usr/src/uts/common/io/urtw/urtw.c
3931
sc->sc_flags |= URTW_FLAG_PLUGIN_ONLINE;
usr/src/uts/common/io/urtw/urtw.c
3932
URTW_UNLOCK(sc);
usr/src/uts/common/io/urtw/urtw.c
3934
sc->sc_flags |= URTW_FLAG_HP;
usr/src/uts/common/io/urtw/urtw.c
3935
ieee80211_new_state(&sc->sc_ic, IEEE80211_S_INIT, -1);
usr/src/uts/common/io/urtw/urtw.c
3936
ieee80211_stop_watchdog(&sc->sc_ic);
usr/src/uts/common/io/urtw/urtw.c
3943
struct urtw_softc *sc;
usr/src/uts/common/io/urtw/urtw.c
3945
sc = ddi_get_soft_state(urtw_soft_state_p, ddi_get_instance(devinfo));
usr/src/uts/common/io/urtw/urtw.c
3946
if (usb_check_same_device(sc->sc_dev, NULL, USB_LOG_L2, -1,
usr/src/uts/common/io/urtw/urtw.c
3949
URTW8187_DBG(URTW_DEBUG_HOTPLUG, (sc->sc_dev, CE_CONT,
usr/src/uts/common/io/urtw/urtw.c
3951
sc->sc_flags &= ~URTW_FLAG_HP;
usr/src/uts/common/io/urtw/urtw.c
3952
if (URTW_IS_PLUGIN_ONLINE(sc)) {
usr/src/uts/common/io/urtw/urtw.c
3953
error = sc->urtw_init(sc);
usr/src/uts/common/io/urtw/urtw.c
3955
URTW_LOCK(sc);
usr/src/uts/common/io/urtw/urtw.c
3956
sc->sc_flags &= ~URTW_FLAG_PLUGIN_ONLINE;
usr/src/uts/common/io/urtw/urtw.c
3957
URTW_UNLOCK(sc);
usr/src/uts/common/io/urtw/urtw.c
3966
struct urtw_softc *sc = (struct urtw_softc *)arg;
usr/src/uts/common/io/urtw/urtw.c
3967
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/urtw/urtw.c
3971
URTW_IS_SUSPENDING(sc)) {
usr/src/uts/common/io/urtw/urtw.c
3991
struct urtw_softc *sc = (struct urtw_softc *)arg;
usr/src/uts/common/io/urtw/urtw.c
3995
(sc->sc_dev, CE_CONT, "urtw_m_start\n"));
usr/src/uts/common/io/urtw/urtw.c
3996
error = sc->urtw_init(sc);
usr/src/uts/common/io/urtw/urtw.c
4003
struct urtw_softc *sc = (struct urtw_softc *)arg;
usr/src/uts/common/io/urtw/urtw.c
4005
URTW8187_DBG(URTW_DEBUG_ACTIVE, (sc->sc_dev, CE_CONT,
usr/src/uts/common/io/urtw/urtw.c
4007
ieee80211_new_state(&sc->sc_ic, IEEE80211_S_INIT, -1);
usr/src/uts/common/io/urtw/urtw.c
4008
ieee80211_stop_watchdog(&sc->sc_ic);
usr/src/uts/common/io/urtw/urtw.c
4009
(void) urtw_stop(sc);
usr/src/uts/common/io/urtw/urtw.c
4037
struct urtw_softc *sc = (struct urtw_softc *)arg;
usr/src/uts/common/io/urtw/urtw.c
4040
err = ieee80211_getprop(&sc->sc_ic, pr_name, wldp_pr_num,
usr/src/uts/common/io/urtw/urtw.c
4049
struct urtw_softc *sc = (struct urtw_softc *)arg;
usr/src/uts/common/io/urtw/urtw.c
4051
ieee80211_propinfo(&sc->sc_ic, pr_name, wldp_pr_num, mph);
usr/src/uts/common/io/urtw/urtw.c
4058
struct urtw_softc *sc = (struct urtw_softc *)arg;
usr/src/uts/common/io/urtw/urtw.c
4059
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/urtw/urtw.c
4064
URTW_LOCK(sc);
usr/src/uts/common/io/urtw/urtw.c
4066
if (URTW_IS_RUNNING(sc) && ic->ic_des_esslen) {
usr/src/uts/common/io/urtw/urtw.c
4067
URTW_UNLOCK(sc);
usr/src/uts/common/io/urtw/urtw.c
4068
err = sc->urtw_init(sc);
usr/src/uts/common/io/urtw/urtw.c
4071
(sc->sc_dev, CE_CONT,
usr/src/uts/common/io/urtw/urtw.c
4076
URTW_LOCK(sc);
usr/src/uts/common/io/urtw/urtw.c
4080
URTW_UNLOCK(sc);
usr/src/uts/common/io/urtw/urtw.c
4087
struct urtw_softc *sc = (struct urtw_softc *)arg;
usr/src/uts/common/io/urtw/urtw.c
4088
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/urtw/urtw.c
4092
URTW_LOCK(sc);
usr/src/uts/common/io/urtw/urtw.c
4094
if (URTW_IS_RUNNING(sc) && ic->ic_des_esslen) {
usr/src/uts/common/io/urtw/urtw.c
4095
URTW_UNLOCK(sc);
usr/src/uts/common/io/urtw/urtw.c
4096
err = sc->urtw_init(sc);
usr/src/uts/common/io/urtw/urtw.c
4099
(sc->sc_dev,
usr/src/uts/common/io/urtw/urtw.c
4104
URTW_LOCK(sc);
usr/src/uts/common/io/urtw/urtw.c
4107
URTW_UNLOCK(sc);
usr/src/uts/common/io/urtw/urtw.c
4113
struct urtw_softc *sc = (struct urtw_softc *)arg;
usr/src/uts/common/io/urtw/urtw.c
4114
ieee80211com_t *ic = &sc->sc_ic;
usr/src/uts/common/io/urtw/urtw.c
4118
URTW_LOCK(sc);
usr/src/uts/common/io/urtw/urtw.c
4128
*val = sc->sc_tx_nobuf;
usr/src/uts/common/io/urtw/urtw.c
4131
*val = sc->sc_rx_nobuf;
usr/src/uts/common/io/urtw/urtw.c
4134
*val = sc->sc_rx_err;
usr/src/uts/common/io/urtw/urtw.c
4163
URTW_UNLOCK(sc);
usr/src/uts/common/io/urtw/urtw.c
4166
URTW_UNLOCK(sc);
usr/src/uts/common/io/urtw/urtw.c
4169
URTW_UNLOCK(sc);
usr/src/uts/common/io/urtw/urtw.c
4177
struct urtw_softc *sc = arg;
usr/src/uts/common/io/urtw/urtw.c
4178
struct ieee80211com *ic = &sc->sc_ic;
usr/src/uts/common/io/urtw/urtw.c
4182
URTW_LOCK(sc);
usr/src/uts/common/io/urtw/urtw.c
4183
if (URTW_IS_NOT_RUNNING(sc)) {
usr/src/uts/common/io/urtw/urtw.c
4184
URTW_UNLOCK(sc);
usr/src/uts/common/io/urtw/urtw.c
4188
URTW_UNLOCK(sc);
usr/src/uts/common/io/urtw/urtw.c
4195
(sc->sc_dev, CE_CONT,
usr/src/uts/common/io/urtw/urtw.c
4207
struct urtw_softc *sc;
usr/src/uts/common/io/urtw/urtw.c
4222
sc = ddi_get_soft_state(urtw_soft_state_p,
usr/src/uts/common/io/urtw/urtw.c
4224
ASSERT(sc != NULL);
usr/src/uts/common/io/urtw/urtw.c
4226
(sc->sc_dev, CE_CONT, "urtw: resume\n"));
usr/src/uts/common/io/urtw/urtw.c
4227
URTW_LOCK(sc);
usr/src/uts/common/io/urtw/urtw.c
4228
sc->sc_flags &= ~URTW_FLAG_SUSPEND;
usr/src/uts/common/io/urtw/urtw.c
4229
URTW_UNLOCK(sc);
usr/src/uts/common/io/urtw/urtw.c
4230
if (URTW_IS_PLUGIN_ONLINE(sc)) {
usr/src/uts/common/io/urtw/urtw.c
4231
error = sc->urtw_init(sc);
usr/src/uts/common/io/urtw/urtw.c
4233
URTW_LOCK(sc);
usr/src/uts/common/io/urtw/urtw.c
4234
sc->sc_flags &= ~URTW_FLAG_PLUGIN_ONLINE;
usr/src/uts/common/io/urtw/urtw.c
4235
URTW_UNLOCK(sc);
usr/src/uts/common/io/urtw/urtw.c
4250
sc = ddi_get_soft_state(urtw_soft_state_p, instance);
usr/src/uts/common/io/urtw/urtw.c
4251
ic = (ieee80211com_t *)&sc->sc_ic;
usr/src/uts/common/io/urtw/urtw.c
4252
sc->sc_dev = devinfo;
usr/src/uts/common/io/urtw/urtw.c
4259
if (usb_get_dev_data(devinfo, &sc->sc_udev,
usr/src/uts/common/io/urtw/urtw.c
4261
sc->sc_udev = NULL;
usr/src/uts/common/io/urtw/urtw.c
4265
mutex_init(&sc->sc_genlock, NULL, MUTEX_DRIVER, NULL);
usr/src/uts/common/io/urtw/urtw.c
4266
mutex_init(&sc->tx_lock, NULL, MUTEX_DRIVER, NULL);
usr/src/uts/common/io/urtw/urtw.c
4267
mutex_init(&sc->rx_lock, NULL, MUTEX_DRIVER, NULL);
usr/src/uts/common/io/urtw/urtw.c
4268
mutex_init(&sc->sc_ledlock, NULL, MUTEX_DRIVER, NULL);
usr/src/uts/common/io/urtw/urtw.c
4270
e = urtw_lookup(sc->sc_udev->dev_descr->idVendor,
usr/src/uts/common/io/urtw/urtw.c
4271
sc->sc_udev->dev_descr->idProduct);
usr/src/uts/common/io/urtw/urtw.c
4276
sc->sc_hwrev = e->rev;
usr/src/uts/common/io/urtw/urtw.c
4278
if (sc->sc_hwrev & URTW_HWREV_8187) {
usr/src/uts/common/io/urtw/urtw.c
4279
(void) urtw_read32_c(sc, URTW_TX_CONF, &data, 0);
usr/src/uts/common/io/urtw/urtw.c
4283
sc->sc_hwrev |= URTW_HWREV_8187_D;
usr/src/uts/common/io/urtw/urtw.c
4291
sc->sc_hwrev = URTW_HWREV_8187B | URTW_HWREV_8187B_B;
usr/src/uts/common/io/urtw/urtw.c
4295
sc->sc_hwrev |= URTW_HWREV_8187_B;
usr/src/uts/common/io/urtw/urtw.c
4301
(void) urtw_read8_c(sc, URTW_8187B_HWREV, &data8, 0);
usr/src/uts/common/io/urtw/urtw.c
4304
sc->sc_hwrev |= URTW_HWREV_8187B_B;
usr/src/uts/common/io/urtw/urtw.c
4308
sc->sc_hwrev |= URTW_HWREV_8187B_D;
usr/src/uts/common/io/urtw/urtw.c
4312
sc->sc_hwrev |= URTW_HWREV_8187B_E;
usr/src/uts/common/io/urtw/urtw.c
4316
sc->sc_hwrev |= URTW_HWREV_8187B_B;
usr/src/uts/common/io/urtw/urtw.c
4322
URTW8187_DBG(URTW_DEBUG_HWTYPE, (sc->sc_dev, CE_CONT,
usr/src/uts/common/io/urtw/urtw.c
4324
if (sc->sc_hwrev & URTW_HWREV_8187) {
usr/src/uts/common/io/urtw/urtw.c
4325
sc->urtw_init = urtw_8187_init;
usr/src/uts/common/io/urtw/urtw.c
4327
sc->urtw_init = urtw_8187b_init;
usr/src/uts/common/io/urtw/urtw.c
4330
if (urtw_read32_c(sc, URTW_RX, &data, 0))
usr/src/uts/common/io/urtw/urtw.c
4332
sc->sc_epromtype = (data & URTW_RX_9356SEL) ? URTW_EEPROM_93C56 :
usr/src/uts/common/io/urtw/urtw.c
4334
if (sc->sc_epromtype == URTW_EEPROM_93C56)
usr/src/uts/common/io/urtw/urtw.c
4335
URTW8187_DBG(URTW_DEBUG_HWTYPE, (sc->sc_dev, CE_CONT,
usr/src/uts/common/io/urtw/urtw.c
4338
URTW8187_DBG(URTW_DEBUG_HWTYPE, (sc->sc_dev, CE_CONT,
usr/src/uts/common/io/urtw/urtw.c
4340
error = urtw_get_rfchip(sc);
usr/src/uts/common/io/urtw/urtw.c
4343
error = urtw_get_macaddr(sc);
usr/src/uts/common/io/urtw/urtw.c
4346
error = urtw_get_txpwr(sc);
usr/src/uts/common/io/urtw/urtw.c
4349
error = urtw_led_init(sc); /* XXX incompleted */
usr/src/uts/common/io/urtw/urtw.c
4353
sc->sc_rts_retry = URTW_DEFAULT_RTS_RETRY;
usr/src/uts/common/io/urtw/urtw.c
4354
sc->sc_tx_retry = URTW_DEFAULT_TX_RETRY;
usr/src/uts/common/io/urtw/urtw.c
4355
sc->sc_currate = 3;
usr/src/uts/common/io/urtw/urtw.c
4357
sc->sc_preamble_mode = 2;
usr/src/uts/common/io/urtw/urtw.c
4392
sc->sc_newstate = ic->ic_newstate;
usr/src/uts/common/io/urtw/urtw.c
4398
sc->dwelltime = 250;
usr/src/uts/common/io/urtw/urtw.c
4399
sc->sc_flags = 0;
usr/src/uts/common/io/urtw/urtw.c
4410
URTW8187_DBG(URTW_DEBUG_ATTACH, (sc->sc_dev, CE_CONT,
usr/src/uts/common/io/urtw/urtw.c
4416
macp->m_driver = sc;
usr/src/uts/common/io/urtw/urtw.c
4453
URTW8187_DBG(URTW_DEBUG_ATTACH, (sc->sc_dev, CE_CONT,
usr/src/uts/common/io/urtw/urtw.c
4462
mutex_destroy(&sc->sc_genlock);
usr/src/uts/common/io/urtw/urtw.c
4463
mutex_destroy(&sc->tx_lock);
usr/src/uts/common/io/urtw/urtw.c
4464
mutex_destroy(&sc->rx_lock);
usr/src/uts/common/io/urtw/urtw.c
4465
mutex_destroy(&sc->sc_ledlock);
usr/src/uts/common/io/urtw/urtw.c
4467
usb_client_detach(sc->sc_dev, sc->sc_udev);
usr/src/uts/common/io/urtw/urtw.c
4477
struct urtw_softc *sc;
usr/src/uts/common/io/urtw/urtw.c
4479
sc = ddi_get_soft_state(urtw_soft_state_p, ddi_get_instance(devinfo));
usr/src/uts/common/io/urtw/urtw.c
4480
URTW8187_DBG(URTW_DEBUG_ATTACH, (sc->sc_dev,
usr/src/uts/common/io/urtw/urtw.c
4488
(sc->sc_dev, CE_CONT, "urtw: suspend\n"));
usr/src/uts/common/io/urtw/urtw.c
4490
ieee80211_new_state(&sc->sc_ic, IEEE80211_S_INIT, -1);
usr/src/uts/common/io/urtw/urtw.c
4491
ieee80211_stop_watchdog(&sc->sc_ic);
usr/src/uts/common/io/urtw/urtw.c
4493
URTW_LOCK(sc);
usr/src/uts/common/io/urtw/urtw.c
4494
sc->sc_flags |= URTW_FLAG_SUSPEND;
usr/src/uts/common/io/urtw/urtw.c
4495
URTW_UNLOCK(sc);
usr/src/uts/common/io/urtw/urtw.c
4496
if (URTW_IS_RUNNING(sc)) {
usr/src/uts/common/io/urtw/urtw.c
4497
urtw_stop(sc);
usr/src/uts/common/io/urtw/urtw.c
4498
URTW_LOCK(sc);
usr/src/uts/common/io/urtw/urtw.c
4499
sc->sc_flags |= URTW_FLAG_PLUGIN_ONLINE;
usr/src/uts/common/io/urtw/urtw.c
4500
URTW_UNLOCK(sc);
usr/src/uts/common/io/urtw/urtw.c
4507
if (mac_disable(sc->sc_ic.ic_mach) != 0)
usr/src/uts/common/io/urtw/urtw.c
4509
urtw_stop(sc);
usr/src/uts/common/io/urtw/urtw.c
4513
(void) mac_unregister(sc->sc_ic.ic_mach);
usr/src/uts/common/io/urtw/urtw.c
4515
ieee80211_detach(&sc->sc_ic);
usr/src/uts/common/io/urtw/urtw.c
4517
usb_client_detach(devinfo, sc->sc_udev);
usr/src/uts/common/io/urtw/urtw.c
4518
mutex_destroy(&sc->sc_genlock);
usr/src/uts/common/io/urtw/urtw.c
4519
mutex_destroy(&sc->tx_lock);
usr/src/uts/common/io/urtw/urtw.c
4520
mutex_destroy(&sc->rx_lock);
usr/src/uts/common/io/urtw/urtw.c
4521
mutex_destroy(&sc->sc_ledlock);
usr/src/uts/common/io/urtw/urtw.c
4522
sc->sc_udev = NULL;
usr/src/uts/common/io/urtw/urtw.c
600
urtw_led_init(struct urtw_softc *sc)
usr/src/uts/common/io/urtw/urtw.c
605
if (error = urtw_read8_c(sc, URTW_PSR, &sc->sc_psr, 0))
usr/src/uts/common/io/urtw/urtw.c
607
error = urtw_eprom_read32(sc, URTW_EPROM_SWREV, &rev);
usr/src/uts/common/io/urtw/urtw.c
613
sc->sc_strategy = URTW_SW_LED_MODE1;
usr/src/uts/common/io/urtw/urtw.c
616
sc->sc_strategy = URTW_SW_LED_MODE3;
usr/src/uts/common/io/urtw/urtw.c
619
sc->sc_strategy = URTW_HW_LED;
usr/src/uts/common/io/urtw/urtw.c
624
sc->sc_strategy = URTW_SW_LED_MODE0;
usr/src/uts/common/io/urtw/urtw.c
628
sc->sc_gpio_ledpin = URTW_LED_PIN_GPIO0;
usr/src/uts/common/io/urtw/urtw.c
635
urtw_8225_write_s16(struct urtw_softc *sc, uint8_t addr, int index,
usr/src/uts/common/io/urtw/urtw.c
662
error = usb_pipe_ctrl_xfer_wait(sc->sc_udev->dev_default_ph, &req, &mp,
usr/src/uts/common/io/urtw/urtw.c
665
URTW8187_DBG(URTW_DEBUG_DEVREQ, (sc->sc_dev, CE_CONT,
usr/src/uts/common/io/urtw/urtw.c
676
urtw_8225_read(struct urtw_softc *sc, uint8_t addr, uint32_t *data)
usr/src/uts/common/io/urtw/urtw.c
686
if (error = urtw_read16_c(sc, URTW_RF_PINS_OUTPUT, &o1, 0))
usr/src/uts/common/io/urtw/urtw.c
688
if (error = urtw_read16_c(sc, URTW_RF_PINS_ENABLE, &o2, 0))
usr/src/uts/common/io/urtw/urtw.c
690
if (error = urtw_read16_c(sc, URTW_RF_PINS_SELECT, &o3, 0))
usr/src/uts/common/io/urtw/urtw.c
692
if (error = urtw_write16_c(sc, URTW_RF_PINS_ENABLE, o2 | 0xf, 0))
usr/src/uts/common/io/urtw/urtw.c
694
if (error = urtw_write16_c(sc, URTW_RF_PINS_SELECT, o3 | 0xf, 0))
usr/src/uts/common/io/urtw/urtw.c
697
if (error = urtw_write16_c(sc, URTW_RF_PINS_OUTPUT,
usr/src/uts/common/io/urtw/urtw.c
701
if (error = urtw_write16_c(sc, URTW_RF_PINS_OUTPUT, o1, 0))
usr/src/uts/common/io/urtw/urtw.c
708
if (error = urtw_write16_c(sc, URTW_RF_PINS_OUTPUT,
usr/src/uts/common/io/urtw/urtw.c
712
if (error = urtw_write16_c(sc, URTW_RF_PINS_OUTPUT,
usr/src/uts/common/io/urtw/urtw.c
716
if (error = urtw_write16_c(sc, URTW_RF_PINS_OUTPUT,
usr/src/uts/common/io/urtw/urtw.c
724
if (error = urtw_write16_c(sc, URTW_RF_PINS_OUTPUT,
usr/src/uts/common/io/urtw/urtw.c
728
if (error = urtw_write16_c(sc, URTW_RF_PINS_OUTPUT,
usr/src/uts/common/io/urtw/urtw.c
732
if (error = urtw_write16_c(sc, URTW_RF_PINS_OUTPUT,
usr/src/uts/common/io/urtw/urtw.c
737
if (error = urtw_write16_c(sc, URTW_RF_PINS_OUTPUT,
usr/src/uts/common/io/urtw/urtw.c
741
if (error = urtw_write16_c(sc, URTW_RF_PINS_OUTPUT,
usr/src/uts/common/io/urtw/urtw.c
745
if (error = urtw_write16_c(sc, URTW_RF_PINS_OUTPUT,
usr/src/uts/common/io/urtw/urtw.c
752
if (error = urtw_write16_c(sc, URTW_RF_PINS_OUTPUT,
usr/src/uts/common/io/urtw/urtw.c
756
if (error = urtw_write16_c(sc, URTW_RF_PINS_OUTPUT,
usr/src/uts/common/io/urtw/urtw.c
760
if (error = urtw_write16_c(sc, URTW_RF_PINS_OUTPUT,
usr/src/uts/common/io/urtw/urtw.c
764
if (error = urtw_write16_c(sc, URTW_RF_PINS_OUTPUT,
usr/src/uts/common/io/urtw/urtw.c
769
if (error = urtw_read16_c(sc, URTW_RF_PINS_INPUT, &tmp, 0))
usr/src/uts/common/io/urtw/urtw.c
772
if (error = urtw_write16_c(sc, URTW_RF_PINS_OUTPUT,
usr/src/uts/common/io/urtw/urtw.c
778
if (error = urtw_write16_c(sc, URTW_RF_PINS_OUTPUT,
usr/src/uts/common/io/urtw/urtw.c
784
if (error = urtw_write16_c(sc, URTW_RF_PINS_ENABLE, o2, 0))
usr/src/uts/common/io/urtw/urtw.c
786
if (error = urtw_write16_c(sc, URTW_RF_PINS_SELECT, o3, 0))
usr/src/uts/common/io/urtw/urtw.c
788
error = urtw_write16_c(sc, URTW_RF_PINS_OUTPUT, 0x3a0, 0);
usr/src/uts/common/io/urtw/urtw.c
803
urtw_8225_write_c(struct urtw_softc *sc, uint8_t addr, uint16_t data)
usr/src/uts/common/io/urtw/urtw.c
808
if (error = urtw_read16_c(sc, URTW_RF_PINS_OUTPUT, &d80, 0))
usr/src/uts/common/io/urtw/urtw.c
811
if (error = urtw_read16_c(sc, URTW_RF_PINS_ENABLE, &d82, 0))
usr/src/uts/common/io/urtw/urtw.c
813
if (error = urtw_read16_c(sc, URTW_RF_PINS_SELECT, &d84, 0))
usr/src/uts/common/io/urtw/urtw.c
816
if (error = urtw_write16_c(sc, URTW_RF_PINS_ENABLE,
usr/src/uts/common/io/urtw/urtw.c
819
if (error = urtw_write16_c(sc, URTW_RF_PINS_SELECT,
usr/src/uts/common/io/urtw/urtw.c
823
if (error = urtw_write16_c(sc, URTW_RF_PINS_OUTPUT,
usr/src/uts/common/io/urtw/urtw.c
827
if (error = urtw_write16_c(sc, URTW_RF_PINS_OUTPUT, d80, 0))
usr/src/uts/common/io/urtw/urtw.c
830
error = urtw_8225_write_s16(sc, addr, 0x8225, &data);
usr/src/uts/common/io/urtw/urtw.c
834
if (error = urtw_write16_c(sc, URTW_RF_PINS_OUTPUT,
usr/src/uts/common/io/urtw/urtw.c
837
if (error = urtw_write16_c(sc, URTW_RF_PINS_OUTPUT,
usr/src/uts/common/io/urtw/urtw.c
840
error = urtw_write16_c(sc, URTW_RF_PINS_SELECT, d84, 0);
usr/src/uts/common/io/urtw/urtw.c
847
urtw_8225_isv2(struct urtw_softc *sc, int *ret)
usr/src/uts/common/io/urtw/urtw.c
854
if (error = urtw_write16_c(sc, URTW_RF_PINS_OUTPUT, 0x0080, 0))
usr/src/uts/common/io/urtw/urtw.c
856
if (error = urtw_write16_c(sc, URTW_RF_PINS_SELECT, 0x0080, 0))
usr/src/uts/common/io/urtw/urtw.c
858
if (error = urtw_write16_c(sc, URTW_RF_PINS_ENABLE, 0x0080, 0))
usr/src/uts/common/io/urtw/urtw.c
862
if (error = urtw_8225_write_c(sc, 0x0, 0x1b7))
usr/src/uts/common/io/urtw/urtw.c
865
error = urtw_8225_read(sc, 0x8, &data);
usr/src/uts/common/io/urtw/urtw.c
871
error = urtw_8225_read(sc, 0x9, &data);
usr/src/uts/common/io/urtw/urtw.c
878
error = urtw_8225_write_c(sc, 0x0, 0xb7);
usr/src/uts/common/io/urtw/urtw.c
884
urtw_get_rfchip(struct urtw_softc *sc)
usr/src/uts/common/io/urtw/urtw.c
886
struct urtw_rf *rf = &sc->sc_rf;
usr/src/uts/common/io/urtw/urtw.c
891
rf->rf_sc = sc;
usr/src/uts/common/io/urtw/urtw.c
893
if (sc->sc_hwrev & URTW_HWREV_8187) {
usr/src/uts/common/io/urtw/urtw.c
894
error = urtw_eprom_read32(sc, URTW_EPROM_RFCHIPID, &data);
usr/src/uts/common/io/urtw/urtw.c
901
error = urtw_8225_isv2(sc, &ret);
usr/src/uts/common/io/urtw/urtw.c
904
(sc->sc_dev, CE_CONT,
usr/src/uts/common/io/urtw/urtw.c
910
(sc->sc_dev, CE_CONT,
usr/src/uts/common/io/urtw/urtw.c
917
(sc->sc_dev, CE_CONT,
usr/src/uts/common/io/urtw/urtw.c
929
(sc->sc_dev, CE_CONT,
usr/src/uts/common/io/urtw/urtw.c
947
urtw_get_txpwr(struct urtw_softc *sc)
usr/src/uts/common/io/urtw/urtw.c
953
error = urtw_eprom_read32(sc, URTW_EPROM_TXPW_BASE, &data);
usr/src/uts/common/io/urtw/urtw.c
956
sc->sc_txpwr_cck_base = data & 0xf;
usr/src/uts/common/io/urtw/urtw.c
957
sc->sc_txpwr_ofdm_base = (data >> 4) & 0xf;
usr/src/uts/common/io/urtw/urtw.c
960
error = urtw_eprom_read32(sc, URTW_EPROM_TXPW0 + j, &data);
usr/src/uts/common/io/urtw/urtw.c
963
sc->sc_txpwr_cck[i] = data & 0xf;
usr/src/uts/common/io/urtw/urtw.c
964
sc->sc_txpwr_cck[i + 1] = (data & 0xf00) >> 8;
usr/src/uts/common/io/urtw/urtw.c
965
sc->sc_txpwr_ofdm[i] = (data & 0xf0) >> 4;
usr/src/uts/common/io/urtw/urtw.c
966
sc->sc_txpwr_ofdm[i + 1] = (data & 0xf000) >> 12;
usr/src/uts/common/io/urtw/urtw.c
969
error = urtw_eprom_read32(sc, URTW_EPROM_TXPW1 + j, &data);
usr/src/uts/common/io/urtw/urtw.c
972
sc->sc_txpwr_cck[i + 6] = data & 0xf;
usr/src/uts/common/io/urtw/urtw.c
973
sc->sc_txpwr_cck[i + 6 + 1] = (data & 0xf00) >> 8;
usr/src/uts/common/io/urtw/urtw.c
974
sc->sc_txpwr_ofdm[i + 6] = (data & 0xf0) >> 4;
usr/src/uts/common/io/urtw/urtw.c
975
sc->sc_txpwr_ofdm[i + 6 + 1] = (data & 0xf000) >> 12;
usr/src/uts/common/io/urtw/urtw.c
977
if (sc->sc_hwrev & URTW_HWREV_8187) {
usr/src/uts/common/io/urtw/urtw.c
979
error = urtw_eprom_read32(sc, URTW_EPROM_TXPW2 + j,
usr/src/uts/common/io/urtw/urtw.c
983
sc->sc_txpwr_cck[i + 6 + 4] = data & 0xf;
usr/src/uts/common/io/urtw/urtw.c
984
sc->sc_txpwr_cck[i + 6 + 4 + 1] = (data & 0xf00) >> 8;
usr/src/uts/common/io/urtw/urtw.c
985
sc->sc_txpwr_ofdm[i + 6 + 4] = (data & 0xf0) >> 4;
usr/src/uts/common/io/urtw/urtw.c
986
sc->sc_txpwr_ofdm[i + 6 + 4 + 1] =
usr/src/uts/common/io/urtw/urtw.c
991
error = urtw_eprom_read32(sc, 0x1b, &data);
usr/src/uts/common/io/urtw/urtw.c
994
sc->sc_txpwr_cck[11] = data & 0xf;
usr/src/uts/common/io/urtw/urtw.c
995
sc->sc_txpwr_ofdm[11] = (data & 0xf0) >> 4;
usr/src/uts/common/io/urtw/urtw.c
998
error = urtw_eprom_read32(sc, 0xa, &data);
usr/src/uts/common/io/urtw/urtw_var.h
149
#define URTW_LOCK(sc) mutex_enter(&(sc)->sc_genlock)
usr/src/uts/common/io/urtw/urtw_var.h
150
#define URTW_UNLOCK(sc) mutex_exit(&(sc)->sc_genlock)
usr/src/uts/common/io/urtw/urtw_var.h
151
#define URTW_LEDLOCK(sc) mutex_enter(&(sc)->sc_ledlock)
usr/src/uts/common/io/urtw/urtw_var.h
152
#define URTW_LEDUNLOCK(sc) mutex_exit(&(sc)->sc_ledlock)
usr/src/uts/common/io/usb/clients/usbinput/usbwcm/usbwcm.c
102
if (sc->sc_sync)
usr/src/uts/common/io/usb/clients/usbinput/usbwcm/usbwcm.c
1027
bcopy(&sc->sc_id, datap->b_rptr,
usr/src/uts/common/io/usb/clients/usbinput/usbwcm/usbwcm.c
1060
bcopy(sc->sc_bm[idx], datap->b_rptr,
usr/src/uts/common/io/usb/clients/usbinput/usbwcm/usbwcm.c
107
if (sc->sc_btn[idx] == val)
usr/src/uts/common/io/usb/clients/usbinput/usbwcm/usbwcm.c
1092
bcopy(&sc->sc_abs[idx], datap->b_rptr,
usr/src/uts/common/io/usb/clients/usbinput/usbwcm/usbwcm.c
110
sc->sc_btn[idx] = val;
usr/src/uts/common/io/usb/clients/usbinput/usbwcm/usbwcm.c
114
if (sc->sc_abs[idx].fuzz) {
usr/src/uts/common/io/usb/clients/usbinput/usbwcm/usbwcm.c
1145
struct uwacom_softc *sc;
usr/src/uts/common/io/usb/clients/usbinput/usbwcm/usbwcm.c
115
int dist = abs(val - sc->sc_abs[idx].value);
usr/src/uts/common/io/usb/clients/usbinput/usbwcm/usbwcm.c
1155
sc = &usbwcmp->usbwcm_softc;
usr/src/uts/common/io/usb/clients/usbinput/usbwcm/usbwcm.c
117
if (dist < sc->sc_abs[idx].fuzz >> 1) {
usr/src/uts/common/io/usb/clients/usbinput/usbwcm/usbwcm.c
119
} else if (dist < sc->sc_abs[idx].fuzz) {
usr/src/uts/common/io/usb/clients/usbinput/usbwcm/usbwcm.c
120
val = (7 * sc->sc_abs[idx].value + val) >> 3;
usr/src/uts/common/io/usb/clients/usbinput/usbwcm/usbwcm.c
121
} else if (dist < sc->sc_abs[idx].fuzz << 1) {
usr/src/uts/common/io/usb/clients/usbinput/usbwcm/usbwcm.c
122
val = (sc->sc_abs[idx].value + val) >> 1;
usr/src/uts/common/io/usb/clients/usbinput/usbwcm/usbwcm.c
1220
bcopy(&sc->sc_id, datap->b_rptr,
usr/src/uts/common/io/usb/clients/usbinput/usbwcm/usbwcm.c
125
if (sc->sc_abs[idx].value == val) {
usr/src/uts/common/io/usb/clients/usbinput/usbwcm/usbwcm.c
1252
bcopy(sc->sc_bm[idx], datap->b_rptr, length);
usr/src/uts/common/io/usb/clients/usbinput/usbwcm/usbwcm.c
1283
bcopy(&sc->sc_abs[idx], datap->b_rptr,
usr/src/uts/common/io/usb/clients/usbinput/usbwcm/usbwcm.c
129
sc->sc_abs[idx].value = val;
usr/src/uts/common/io/usb/clients/usbinput/usbwcm/usbwcm.c
1321
struct uwacom_softc *sc = &usbwcmp->usbwcm_softc;
usr/src/uts/common/io/usb/clients/usbinput/usbwcm/usbwcm.c
1323
switch (sc->sc_type->protocol) {
usr/src/uts/common/io/usb/clients/usbinput/usbwcm/usbwcm.c
1475
struct uwacom_softc *sc = &usbwcmp->usbwcm_softc;
usr/src/uts/common/io/usb/clients/usbinput/usbwcm/usbwcm.c
1496
kmem_free(sc->sc_bm[i], bm_size[i]);
usr/src/uts/common/io/usb/clients/usbinput/usbwcm/usbwcm.c
1498
kmem_free(sc->sc_btn, BTN_USED * sizeof (int));
usr/src/uts/common/io/usb/clients/usbinput/usbwcm/usbwcm.c
1499
kmem_free(sc->sc_abs, ABS_USED * sizeof (struct event_abs_axis));
usr/src/uts/common/io/usb/clients/usbinput/usbwcm/usbwcm.c
1549
struct uwacom_softc *sc = &usbwcmp->usbwcm_softc;
usr/src/uts/common/io/usb/clients/usbinput/usbwcm/usbwcm.c
158
sc->sc_sync = (type == EVT_SYN);
usr/src/uts/common/io/usb/clients/usbinput/usbwcm/usbwcm.c
1587
limit = uwacom_protocols[sc->sc_type->protocol].packet_size;
usr/src/uts/common/io/usb/clients/usbinput/usbwcm/usbwcm.c
191
struct uwacom_softc *sc = &usbwcmp->usbwcm_softc;
usr/src/uts/common/io/usb/clients/usbinput/usbwcm/usbwcm.c
193
uwacom_event(usbwcmp, EVT_BTN, sc->sc_tool[idx], proximity);
usr/src/uts/common/io/usb/clients/usbinput/usbwcm/usbwcm.c
194
uwacom_event(usbwcmp, EVT_ABS, ABS_MISC, sc->sc_tool_id[idx]);
usr/src/uts/common/io/usb/clients/usbinput/usbwcm/usbwcm.c
195
if (sc->sc_serial[idx]) {
usr/src/uts/common/io/usb/clients/usbinput/usbwcm/usbwcm.c
196
uwacom_event(usbwcmp, EVT_MSC, MSC_SERIAL, sc->sc_serial[idx]);
usr/src/uts/common/io/usb/clients/usbinput/usbwcm/usbwcm.c
218
struct uwacom_softc *sc = &usbwcmp->usbwcm_softc;
usr/src/uts/common/io/usb/clients/usbinput/usbwcm/usbwcm.c
236
sc->sc_tool[0] = BTN_TOOL_PEN;
usr/src/uts/common/io/usb/clients/usbinput/usbwcm/usbwcm.c
237
sc->sc_tool_id[0] = TOOL_ID_PEN;
usr/src/uts/common/io/usb/clients/usbinput/usbwcm/usbwcm.c
239
sc->sc_tool[0] = BTN_TOOL_ERASER;
usr/src/uts/common/io/usb/clients/usbinput/usbwcm/usbwcm.c
240
sc->sc_tool_id[0] = TOOL_ID_ERASER;
usr/src/uts/common/io/usb/clients/usbinput/usbwcm/usbwcm.c
249
if (sc->sc_type->protocol == GRAPHIRE) {
usr/src/uts/common/io/usb/clients/usbinput/usbwcm/usbwcm.c
259
sc->sc_tool[0] = BTN_TOOL_MOUSE;
usr/src/uts/common/io/usb/clients/usbinput/usbwcm/usbwcm.c
260
sc->sc_tool_id[0] = TOOL_ID_MOUSE;
usr/src/uts/common/io/usb/clients/usbinput/usbwcm/usbwcm.c
270
} else if (sc->sc_tool_id[0]) {
usr/src/uts/common/io/usb/clients/usbinput/usbwcm/usbwcm.c
273
if (sc->sc_tool[0] == BTN_TOOL_MOUSE)
usr/src/uts/common/io/usb/clients/usbinput/usbwcm/usbwcm.c
278
sc->sc_tool_id[0] = 0;
usr/src/uts/common/io/usb/clients/usbinput/usbwcm/usbwcm.c
283
if ((sc->sc_type->protocol == GRAPHIRE4) && PACKET_BITS(7, 3, 5)) {
usr/src/uts/common/io/usb/clients/usbinput/usbwcm/usbwcm.c
284
sc->sc_tool_id[1] = TOOL_ID_PAD;
usr/src/uts/common/io/usb/clients/usbinput/usbwcm/usbwcm.c
290
} else if ((sc->sc_type->protocol == MYOFFICE) &&
usr/src/uts/common/io/usb/clients/usbinput/usbwcm/usbwcm.c
292
sc->sc_tool_id[1] = TOOL_ID_PAD;
usr/src/uts/common/io/usb/clients/usbinput/usbwcm/usbwcm.c
298
} else if (sc->sc_tool_id[1]) {
usr/src/uts/common/io/usb/clients/usbinput/usbwcm/usbwcm.c
299
sc->sc_tool_id[1] = 0;
usr/src/uts/common/io/usb/clients/usbinput/usbwcm/usbwcm.c
315
struct uwacom_softc *sc = &usbwcmp->usbwcm_softc;
usr/src/uts/common/io/usb/clients/usbinput/usbwcm/usbwcm.c
318
switch (sc->sc_type->protocol) {
usr/src/uts/common/io/usb/clients/usbinput/usbwcm/usbwcm.c
344
struct uwacom_softc *sc = &usbwcmp->usbwcm_softc;
usr/src/uts/common/io/usb/clients/usbinput/usbwcm/usbwcm.c
347
switch (sc->sc_type->protocol) {
usr/src/uts/common/io/usb/clients/usbinput/usbwcm/usbwcm.c
379
struct uwacom_softc *sc = &usbwcmp->usbwcm_softc;
usr/src/uts/common/io/usb/clients/usbinput/usbwcm/usbwcm.c
381
uwacom_event(usbwcmp, EVT_BTN, sc->sc_tool[idx], proximity);
usr/src/uts/common/io/usb/clients/usbinput/usbwcm/usbwcm.c
382
uwacom_event(usbwcmp, EVT_ABS, ABS_MISC, sc->sc_tool_id[idx]);
usr/src/uts/common/io/usb/clients/usbinput/usbwcm/usbwcm.c
383
uwacom_event(usbwcmp, EVT_MSC, MSC_SERIAL, sc->sc_serial[idx]);
usr/src/uts/common/io/usb/clients/usbinput/usbwcm/usbwcm.c
390
struct uwacom_softc *sc = &usbwcmp->usbwcm_softc;
usr/src/uts/common/io/usb/clients/usbinput/usbwcm/usbwcm.c
395
switch (sc->sc_type->protocol) {
usr/src/uts/common/io/usb/clients/usbinput/usbwcm/usbwcm.c
464
struct uwacom_softc *sc = &usbwcmp->usbwcm_softc;
usr/src/uts/common/io/usb/clients/usbinput/usbwcm/usbwcm.c
472
sc->sc_tool_id[0] = PACKET_BITS(3, 4, 12);
usr/src/uts/common/io/usb/clients/usbinput/usbwcm/usbwcm.c
473
sc->sc_serial[0] =
usr/src/uts/common/io/usb/clients/usbinput/usbwcm/usbwcm.c
476
switch (sc->sc_tool_id[0]) {
usr/src/uts/common/io/usb/clients/usbinput/usbwcm/usbwcm.c
481
sc->sc_tool[0] = BTN_TOOL_PEN;
usr/src/uts/common/io/usb/clients/usbinput/usbwcm/usbwcm.c
485
sc->sc_tool[0] = BTN_TOOL_ERASER;
usr/src/uts/common/io/usb/clients/usbinput/usbwcm/usbwcm.c
489
sc->sc_tool[0] = BTN_TOOL_MOUSE;
usr/src/uts/common/io/usb/clients/usbinput/usbwcm/usbwcm.c
495
sc->sc_tool_id[0]);
usr/src/uts/common/io/usb/clients/usbinput/usbwcm/usbwcm.c
496
sc->sc_tool[0] = BTN_TOOL_PEN;
usr/src/uts/common/io/usb/clients/usbinput/usbwcm/usbwcm.c
504
if (sc->sc_tool[0] == BTN_TOOL_MOUSE)
usr/src/uts/common/io/usb/clients/usbinput/usbwcm/usbwcm.c
509
sc->sc_tool_id[0] = 0;
usr/src/uts/common/io/usb/clients/usbinput/usbwcm/usbwcm.c
516
if (sc->sc_type->protocol == CINTIQ)
usr/src/uts/common/io/usb/clients/usbinput/usbwcm/usbwcm.c
570
struct uwacom_softc *sc = &usbwcmp->usbwcm_softc;
usr/src/uts/common/io/usb/clients/usbinput/usbwcm/usbwcm.c
572
sc->sc_abs[axis].min = min;
usr/src/uts/common/io/usb/clients/usbinput/usbwcm/usbwcm.c
573
sc->sc_abs[axis].max = max;
usr/src/uts/common/io/usb/clients/usbinput/usbwcm/usbwcm.c
574
sc->sc_abs[axis].fuzz = fuzz;
usr/src/uts/common/io/usb/clients/usbinput/usbwcm/usbwcm.c
575
sc->sc_abs[axis].flat = flat;
usr/src/uts/common/io/usb/clients/usbinput/usbwcm/usbwcm.c
581
struct uwacom_softc *sc = &usbwcmp->usbwcm_softc;
usr/src/uts/common/io/usb/clients/usbinput/usbwcm/usbwcm.c
583
BM_SET_BIT(sc->sc_bm[0], EVT_MSC);
usr/src/uts/common/io/usb/clients/usbinput/usbwcm/usbwcm.c
584
BM_SET_BIT(sc->sc_bm[1], BTN_MISC_0);
usr/src/uts/common/io/usb/clients/usbinput/usbwcm/usbwcm.c
585
BM_SET_BIT(sc->sc_bm[1], BTN_MISC_4);
usr/src/uts/common/io/usb/clients/usbinput/usbwcm/usbwcm.c
586
BM_SET_BIT(sc->sc_bm[1], BTN_TOOL_PAD);
usr/src/uts/common/io/usb/clients/usbinput/usbwcm/usbwcm.c
587
BM_SET_BIT(sc->sc_bm[4], MSC_SERIAL);
usr/src/uts/common/io/usb/clients/usbinput/usbwcm/usbwcm.c
589
sc->sc_tool[1] = BTN_TOOL_PAD;
usr/src/uts/common/io/usb/clients/usbinput/usbwcm/usbwcm.c
590
sc->sc_serial[1] = SERIAL_PAD_GRAPHIRE4;
usr/src/uts/common/io/usb/clients/usbinput/usbwcm/usbwcm.c
596
struct uwacom_softc *sc = &usbwcmp->usbwcm_softc;
usr/src/uts/common/io/usb/clients/usbinput/usbwcm/usbwcm.c
598
BM_SET_BIT(sc->sc_bm[1], BTN_MISC_1);
usr/src/uts/common/io/usb/clients/usbinput/usbwcm/usbwcm.c
599
BM_SET_BIT(sc->sc_bm[1], BTN_MISC_5);
usr/src/uts/common/io/usb/clients/usbinput/usbwcm/usbwcm.c
600
BM_SET_BIT(sc->sc_bm[3], ABS_WHEEL);
usr/src/uts/common/io/usb/clients/usbinput/usbwcm/usbwcm.c
608
struct uwacom_softc *sc = &usbwcmp->usbwcm_softc;
usr/src/uts/common/io/usb/clients/usbinput/usbwcm/usbwcm.c
610
BM_SET_BIT(sc->sc_bm[0], EVT_MSC);
usr/src/uts/common/io/usb/clients/usbinput/usbwcm/usbwcm.c
612
BM_SET_BIT(sc->sc_bm[1], BTN_MISC_0);
usr/src/uts/common/io/usb/clients/usbinput/usbwcm/usbwcm.c
613
BM_SET_BIT(sc->sc_bm[1], BTN_MISC_1);
usr/src/uts/common/io/usb/clients/usbinput/usbwcm/usbwcm.c
614
BM_SET_BIT(sc->sc_bm[1], BTN_MISC_2);
usr/src/uts/common/io/usb/clients/usbinput/usbwcm/usbwcm.c
615
BM_SET_BIT(sc->sc_bm[1], BTN_MISC_3);
usr/src/uts/common/io/usb/clients/usbinput/usbwcm/usbwcm.c
616
BM_SET_BIT(sc->sc_bm[1], BTN_SIDE);
usr/src/uts/common/io/usb/clients/usbinput/usbwcm/usbwcm.c
617
BM_SET_BIT(sc->sc_bm[1], BTN_EXTRA);
usr/src/uts/common/io/usb/clients/usbinput/usbwcm/usbwcm.c
618
BM_SET_BIT(sc->sc_bm[1], BTN_TOOL_PAD);
usr/src/uts/common/io/usb/clients/usbinput/usbwcm/usbwcm.c
620
BM_SET_BIT(sc->sc_bm[3], ABS_TILT_X);
usr/src/uts/common/io/usb/clients/usbinput/usbwcm/usbwcm.c
621
BM_SET_BIT(sc->sc_bm[3], ABS_TILT_Y);
usr/src/uts/common/io/usb/clients/usbinput/usbwcm/usbwcm.c
623
BM_SET_BIT(sc->sc_bm[4], MSC_SERIAL);
usr/src/uts/common/io/usb/clients/usbinput/usbwcm/usbwcm.c
625
sc->sc_tool[1] = BTN_TOOL_PAD;
usr/src/uts/common/io/usb/clients/usbinput/usbwcm/usbwcm.c
626
sc->sc_tool_id[1] = TOOL_ID_PAD;
usr/src/uts/common/io/usb/clients/usbinput/usbwcm/usbwcm.c
627
sc->sc_serial[1] = SERIAL_PAD_INTUOS;
usr/src/uts/common/io/usb/clients/usbinput/usbwcm/usbwcm.c
633
struct uwacom_softc *sc = &usbwcmp->usbwcm_softc;
usr/src/uts/common/io/usb/clients/usbinput/usbwcm/usbwcm.c
635
BM_SET_BIT(sc->sc_bm[3], ABS_Z);
usr/src/uts/common/io/usb/clients/usbinput/usbwcm/usbwcm.c
636
BM_SET_BIT(sc->sc_bm[3], ABS_RX);
usr/src/uts/common/io/usb/clients/usbinput/usbwcm/usbwcm.c
645
struct uwacom_softc *sc = &usbwcmp->usbwcm_softc;
usr/src/uts/common/io/usb/clients/usbinput/usbwcm/usbwcm.c
647
BM_SET_BIT(sc->sc_bm[1], BTN_MISC_4);
usr/src/uts/common/io/usb/clients/usbinput/usbwcm/usbwcm.c
648
BM_SET_BIT(sc->sc_bm[1], BTN_MISC_5);
usr/src/uts/common/io/usb/clients/usbinput/usbwcm/usbwcm.c
649
BM_SET_BIT(sc->sc_bm[1], BTN_MISC_6);
usr/src/uts/common/io/usb/clients/usbinput/usbwcm/usbwcm.c
650
BM_SET_BIT(sc->sc_bm[1], BTN_MISC_7);
usr/src/uts/common/io/usb/clients/usbinput/usbwcm/usbwcm.c
652
BM_SET_BIT(sc->sc_bm[3], ABS_RY);
usr/src/uts/common/io/usb/clients/usbinput/usbwcm/usbwcm.c
660
struct uwacom_softc *sc = &usbwcmp->usbwcm_softc;
usr/src/uts/common/io/usb/clients/usbinput/usbwcm/usbwcm.c
662
BM_SET_BIT(sc->sc_bm[1], BTN_MISC_4);
usr/src/uts/common/io/usb/clients/usbinput/usbwcm/usbwcm.c
663
BM_SET_BIT(sc->sc_bm[1], BTN_MISC_5);
usr/src/uts/common/io/usb/clients/usbinput/usbwcm/usbwcm.c
664
BM_SET_BIT(sc->sc_bm[1], BTN_MISC_6);
usr/src/uts/common/io/usb/clients/usbinput/usbwcm/usbwcm.c
666
BM_SET_BIT(sc->sc_bm[3], ABS_Z);
usr/src/uts/common/io/usb/clients/usbinput/usbwcm/usbwcm.c
673
struct uwacom_softc *sc = &usbwcmp->usbwcm_softc;
usr/src/uts/common/io/usb/clients/usbinput/usbwcm/usbwcm.c
675
BM_SET_BIT(sc->sc_bm[1], BTN_MISC_7);
usr/src/uts/common/io/usb/clients/usbinput/usbwcm/usbwcm.c
676
BM_SET_BIT(sc->sc_bm[1], BTN_MISC_8);
usr/src/uts/common/io/usb/clients/usbinput/usbwcm/usbwcm.c
682
struct uwacom_softc *sc = &usbwcmp->usbwcm_softc;
usr/src/uts/common/io/usb/clients/usbinput/usbwcm/usbwcm.c
684
sc->sc_id.bus = ID_BUS_USB;
usr/src/uts/common/io/usb/clients/usbinput/usbwcm/usbwcm.c
685
sc->sc_id.vendor = usbwcmp->usbwcm_devid.VendorId;
usr/src/uts/common/io/usb/clients/usbinput/usbwcm/usbwcm.c
686
sc->sc_id.product = usbwcmp->usbwcm_devid.ProductId;
usr/src/uts/common/io/usb/clients/usbinput/usbwcm/usbwcm.c
688
sc->sc_id.version = 0;
usr/src/uts/common/io/usb/clients/usbinput/usbwcm/usbwcm.c
691
sc->sc_bm[i] = kmem_zalloc(bm_size[i], KM_SLEEP);
usr/src/uts/common/io/usb/clients/usbinput/usbwcm/usbwcm.c
693
sc->sc_btn = kmem_zalloc(BTN_USED * sizeof (int), KM_SLEEP);
usr/src/uts/common/io/usb/clients/usbinput/usbwcm/usbwcm.c
694
sc->sc_abs = kmem_zalloc(ABS_USED * sizeof (struct event_abs_axis),
usr/src/uts/common/io/usb/clients/usbinput/usbwcm/usbwcm.c
697
BM_SET_BIT(sc->sc_bm[0], EVT_SYN);
usr/src/uts/common/io/usb/clients/usbinput/usbwcm/usbwcm.c
698
BM_SET_BIT(sc->sc_bm[0], EVT_BTN);
usr/src/uts/common/io/usb/clients/usbinput/usbwcm/usbwcm.c
699
BM_SET_BIT(sc->sc_bm[0], EVT_REL);
usr/src/uts/common/io/usb/clients/usbinput/usbwcm/usbwcm.c
700
BM_SET_BIT(sc->sc_bm[0], EVT_ABS);
usr/src/uts/common/io/usb/clients/usbinput/usbwcm/usbwcm.c
702
BM_SET_BIT(sc->sc_bm[1], BTN_LEFT);
usr/src/uts/common/io/usb/clients/usbinput/usbwcm/usbwcm.c
703
BM_SET_BIT(sc->sc_bm[1], BTN_RIGHT);
usr/src/uts/common/io/usb/clients/usbinput/usbwcm/usbwcm.c
704
BM_SET_BIT(sc->sc_bm[1], BTN_MIDDLE);
usr/src/uts/common/io/usb/clients/usbinput/usbwcm/usbwcm.c
705
BM_SET_BIT(sc->sc_bm[1], BTN_TOOL_PEN);
usr/src/uts/common/io/usb/clients/usbinput/usbwcm/usbwcm.c
706
BM_SET_BIT(sc->sc_bm[1], BTN_TOOL_ERASER);
usr/src/uts/common/io/usb/clients/usbinput/usbwcm/usbwcm.c
707
BM_SET_BIT(sc->sc_bm[1], BTN_TOOL_MOUSE);
usr/src/uts/common/io/usb/clients/usbinput/usbwcm/usbwcm.c
708
BM_SET_BIT(sc->sc_bm[1], BTN_TIP);
usr/src/uts/common/io/usb/clients/usbinput/usbwcm/usbwcm.c
709
BM_SET_BIT(sc->sc_bm[1], BTN_STYLUS_1);
usr/src/uts/common/io/usb/clients/usbinput/usbwcm/usbwcm.c
710
BM_SET_BIT(sc->sc_bm[1], BTN_STYLUS_2);
usr/src/uts/common/io/usb/clients/usbinput/usbwcm/usbwcm.c
712
BM_SET_BIT(sc->sc_bm[2], REL_WHEEL);
usr/src/uts/common/io/usb/clients/usbinput/usbwcm/usbwcm.c
714
BM_SET_BIT(sc->sc_bm[3], ABS_X);
usr/src/uts/common/io/usb/clients/usbinput/usbwcm/usbwcm.c
715
BM_SET_BIT(sc->sc_bm[3], ABS_Y);
usr/src/uts/common/io/usb/clients/usbinput/usbwcm/usbwcm.c
716
BM_SET_BIT(sc->sc_bm[3], ABS_PRESSURE);
usr/src/uts/common/io/usb/clients/usbinput/usbwcm/usbwcm.c
717
BM_SET_BIT(sc->sc_bm[3], ABS_DISTANCE);
usr/src/uts/common/io/usb/clients/usbinput/usbwcm/usbwcm.c
718
BM_SET_BIT(sc->sc_bm[3], ABS_MISC);
usr/src/uts/common/io/usb/clients/usbinput/usbwcm/usbwcm.c
720
uwacom_init_abs(usbwcmp, ABS_X, 0, sc->sc_type->x_max, 4, 0);
usr/src/uts/common/io/usb/clients/usbinput/usbwcm/usbwcm.c
721
uwacom_init_abs(usbwcmp, ABS_Y, 0, sc->sc_type->y_max, 4, 0);
usr/src/uts/common/io/usb/clients/usbinput/usbwcm/usbwcm.c
722
uwacom_init_abs(usbwcmp, ABS_PRESSURE, 0, sc->sc_type->pressure_max,
usr/src/uts/common/io/usb/clients/usbinput/usbwcm/usbwcm.c
725
uwacom_protocols[sc->sc_type->protocol].distance_max, 0, 0);
usr/src/uts/common/io/usb/clients/usbinput/usbwcm/usbwcm.c
727
switch (sc->sc_type->protocol) {
usr/src/uts/common/io/usb/clients/usbinput/usbwcm/usbwcm.c
960
struct uwacom_softc *sc = &usbwcmp->usbwcm_softc;
usr/src/uts/common/io/usb/clients/usbinput/usbwcm/usbwcm.c
97
struct uwacom_softc *sc = &usbwcmp->usbwcm_softc;
usr/src/uts/common/io/vioscsi/vioscsi.c
1013
mutex_enter(&sc->vs_lock);
usr/src/uts/common/io/vioscsi/vioscsi.c
1014
list_remove(&sc->vs_devs, vd);
usr/src/uts/common/io/vioscsi/vioscsi.c
1015
mutex_exit(&sc->vs_lock);
usr/src/uts/common/io/vioscsi/vioscsi.c
1031
vioscsi_probe_target(vioscsi_softc_t *sc, vioscsi_request_t *req,
usr/src/uts/common/io/vioscsi/vioscsi.c
1055
vioscsi_start(sc, req);
usr/src/uts/common/io/vioscsi/vioscsi.c
1070
vioscsi_softc_t *sc = arg;
usr/src/uts/common/io/vioscsi/vioscsi.c
1072
scsi_hba_tgtmap_t *tm = sc->vs_tgtmap;
usr/src/uts/common/io/vioscsi/vioscsi.c
1076
l = &sc->vs_devs;
usr/src/uts/common/io/vioscsi/vioscsi.c
1077
mutex_enter(&sc->vs_lock);
usr/src/uts/common/io/vioscsi/vioscsi.c
1087
mutex_exit(&sc->vs_lock);
usr/src/uts/common/io/vioscsi/vioscsi.c
1091
vioscsi_lun_changed(vioscsi_softc_t *sc, uint8_t target)
usr/src/uts/common/io/vioscsi/vioscsi.c
1094
list_t *l = &sc->vs_devs;
usr/src/uts/common/io/vioscsi/vioscsi.c
1097
mutex_enter(&sc->vs_lock);
usr/src/uts/common/io/vioscsi/vioscsi.c
1105
mutex_exit(&sc->vs_lock);
usr/src/uts/common/io/vioscsi/vioscsi.c
1111
(void) ddi_taskq_dispatch(sc->vs_tq, vioscsi_rescan_luns,
usr/src/uts/common/io/vioscsi/vioscsi.c
1112
sc, DDI_NOSLEEP);
usr/src/uts/common/io/vioscsi/vioscsi.c
1117
(void) ddi_taskq_dispatch(sc->vs_tq, vioscsi_discover,
usr/src/uts/common/io/vioscsi/vioscsi.c
1118
sc, DDI_NOSLEEP);
usr/src/uts/common/io/vioscsi/vioscsi.c
1129
vioscsi_softc_t *sc = arg;
usr/src/uts/common/io/vioscsi/vioscsi.c
1130
scsi_hba_tgtmap_t *tm = sc->vs_tgtmap;
usr/src/uts/common/io/vioscsi/vioscsi.c
1134
if (vioscsi_req_init(sc, &req, sc->vs_cmd_vq, KM_SLEEP) != 0) {
usr/src/uts/common/io/vioscsi/vioscsi.c
1144
target <= sc->vs_max_target && target < VIOSCSI_MAX_TARGET;
usr/src/uts/common/io/vioscsi/vioscsi.c
1147
switch (vioscsi_probe_target(sc, &req, target)) {
usr/src/uts/common/io/vioscsi/vioscsi.c
1170
vioscsi_teardown(vioscsi_softc_t *sc, boolean_t failed)
usr/src/uts/common/io/vioscsi/vioscsi.c
1172
int instance = ddi_get_instance(sc->vs_dip);
usr/src/uts/common/io/vioscsi/vioscsi.c
1178
vioscsi_event_t *ve = &sc->vs_events[i];
usr/src/uts/common/io/vioscsi/vioscsi.c
1187
if (sc->vs_virtio != NULL) {
usr/src/uts/common/io/vioscsi/vioscsi.c
1188
virtio_fini(sc->vs_virtio, failed);
usr/src/uts/common/io/vioscsi/vioscsi.c
1191
if (sc->vs_tran != NULL) {
usr/src/uts/common/io/vioscsi/vioscsi.c
1192
scsi_hba_tran_free(sc->vs_tran);
usr/src/uts/common/io/vioscsi/vioscsi.c
1194
if (sc->vs_tq != NULL) {
usr/src/uts/common/io/vioscsi/vioscsi.c
1195
ddi_taskq_destroy(sc->vs_tq);
usr/src/uts/common/io/vioscsi/vioscsi.c
1197
if (sc->vs_intr_pri != NULL) {
usr/src/uts/common/io/vioscsi/vioscsi.c
1198
mutex_destroy(&sc->vs_lock);
usr/src/uts/common/io/vioscsi/vioscsi.c
1207
vioscsi_softc_t *sc;
usr/src/uts/common/io/vioscsi/vioscsi.c
1225
sc = ddi_get_soft_state(vioscsi_state, instance);
usr/src/uts/common/io/vioscsi/vioscsi.c
1226
sc->vs_dip = dip;
usr/src/uts/common/io/vioscsi/vioscsi.c
1228
list_create(&sc->vs_devs, sizeof (vioscsi_dev_t),
usr/src/uts/common/io/vioscsi/vioscsi.c
1232
sc->vs_tran = tran;
usr/src/uts/common/io/vioscsi/vioscsi.c
1235
tran->tran_hba_private = sc;
usr/src/uts/common/io/vioscsi/vioscsi.c
1266
if ((sc->vs_virtio = vio) == NULL) {
usr/src/uts/common/io/vioscsi/vioscsi.c
1268
vioscsi_teardown(sc, B_TRUE);
usr/src/uts/common/io/vioscsi/vioscsi.c
1272
vioscsi_teardown(sc, B_TRUE);
usr/src/uts/common/io/vioscsi/vioscsi.c
1280
vioscsi_teardown(sc, B_TRUE);
usr/src/uts/common/io/vioscsi/vioscsi.c
1286
sc->vs_num_queues = virtio_dev_get32(vio, VIRTIO_SCSI_CFG_NUM_QUEUES);
usr/src/uts/common/io/vioscsi/vioscsi.c
1287
sc->vs_seg_max = virtio_dev_get32(vio, VIRTIO_SCSI_CFG_SEG_MAX);
usr/src/uts/common/io/vioscsi/vioscsi.c
1288
sc->vs_max_sectors = virtio_dev_get32(vio, VIRTIO_SCSI_CFG_MAX_SECTORS);
usr/src/uts/common/io/vioscsi/vioscsi.c
1289
sc->vs_cmd_per_lun = virtio_dev_get32(vio, VIRTIO_SCSI_CFG_CMD_PER_LUN);
usr/src/uts/common/io/vioscsi/vioscsi.c
1290
sc->vs_evi_size = virtio_dev_get32(vio, VIRTIO_SCSI_CFG_EVI_SIZE);
usr/src/uts/common/io/vioscsi/vioscsi.c
1291
sc->vs_sense_size = virtio_dev_get32(vio, VIRTIO_SCSI_CFG_SENSE_SIZE);
usr/src/uts/common/io/vioscsi/vioscsi.c
1292
sc->vs_cdb_size = virtio_dev_get32(vio, VIRTIO_SCSI_CFG_CDB_SIZE);
usr/src/uts/common/io/vioscsi/vioscsi.c
1293
sc->vs_max_channel = virtio_dev_get16(vio, VIRTIO_SCSI_CFG_MAX_CHANNEL);
usr/src/uts/common/io/vioscsi/vioscsi.c
1294
sc->vs_max_target = virtio_dev_get16(vio, VIRTIO_SCSI_CFG_MAX_TARGET);
usr/src/uts/common/io/vioscsi/vioscsi.c
1295
sc->vs_max_lun = virtio_dev_get32(vio, VIRTIO_SCSI_CFG_MAX_LUN);
usr/src/uts/common/io/vioscsi/vioscsi.c
1302
if (!(sc->vs_ ##var op val)) { \
usr/src/uts/common/io/vioscsi/vioscsi.c
1305
"(want "#op" %lx)", (uint64_t)sc->vs_ ##var,\
usr/src/uts/common/io/vioscsi/vioscsi.c
1307
sc->vs_ ##var = val; \
usr/src/uts/common/io/vioscsi/vioscsi.c
1343
sc->vs_ctl_vq = virtio_queue_alloc(vio, 0, "ctl",
usr/src/uts/common/io/vioscsi/vioscsi.c
1344
vioscsi_ctl_handler, sc, B_FALSE, sc->vs_seg_max + 2);
usr/src/uts/common/io/vioscsi/vioscsi.c
1345
sc->vs_evt_vq = virtio_queue_alloc(vio, 1, "evt",
usr/src/uts/common/io/vioscsi/vioscsi.c
1346
vioscsi_evt_handler, sc, B_FALSE, sc->vs_seg_max + 2);
usr/src/uts/common/io/vioscsi/vioscsi.c
1347
sc->vs_cmd_vq = virtio_queue_alloc(vio, 2, "cmd",
usr/src/uts/common/io/vioscsi/vioscsi.c
1348
vioscsi_cmd_handler, sc, B_FALSE, sc->vs_seg_max + 2);
usr/src/uts/common/io/vioscsi/vioscsi.c
1350
if ((sc->vs_ctl_vq == NULL) || (sc->vs_evt_vq == NULL) ||
usr/src/uts/common/io/vioscsi/vioscsi.c
1351
(sc->vs_cmd_vq == NULL)) {
usr/src/uts/common/io/vioscsi/vioscsi.c
1353
vioscsi_teardown(sc, B_TRUE);
usr/src/uts/common/io/vioscsi/vioscsi.c
1359
vioscsi_teardown(sc, B_TRUE);
usr/src/uts/common/io/vioscsi/vioscsi.c
1366
sc->vs_intr_pri = virtio_intr_pri(vio);
usr/src/uts/common/io/vioscsi/vioscsi.c
1367
mutex_init(&sc->vs_lock, NULL, MUTEX_DRIVER, sc->vs_intr_pri);
usr/src/uts/common/io/vioscsi/vioscsi.c
1373
vioscsi_event_t *ve = &sc->vs_events[i];
usr/src/uts/common/io/vioscsi/vioscsi.c
1374
ve->ve_vic = virtio_chain_alloc(sc->vs_evt_vq, KM_SLEEP);
usr/src/uts/common/io/vioscsi/vioscsi.c
1375
ve->ve_dma = virtio_dma_alloc(sc->vs_virtio,
usr/src/uts/common/io/vioscsi/vioscsi.c
1379
vioscsi_teardown(sc, B_TRUE);
usr/src/uts/common/io/vioscsi/vioscsi.c
1385
vioscsi_teardown(sc, B_TRUE);
usr/src/uts/common/io/vioscsi/vioscsi.c
1392
sc->vs_tq = ddi_taskq_create(dip, "task", 1, TASKQ_DEFAULTPRI, 0);
usr/src/uts/common/io/vioscsi/vioscsi.c
1393
if (sc->vs_tq == NULL) {
usr/src/uts/common/io/vioscsi/vioscsi.c
1395
vioscsi_teardown(sc, B_TRUE);
usr/src/uts/common/io/vioscsi/vioscsi.c
140
if (!vioscsi_poll_until(sc, &req, vioscsi_ctl_handler, 5)) {
usr/src/uts/common/io/vioscsi/vioscsi.c
1401
attr.dma_attr_sgllen = sc->vs_seg_max;
usr/src/uts/common/io/vioscsi/vioscsi.c
1402
attr.dma_attr_maxxfer = (uint64_t)sc->vs_max_sectors << 9;
usr/src/uts/common/io/vioscsi/vioscsi.c
1408
vioscsi_teardown(sc, B_TRUE);
usr/src/uts/common/io/vioscsi/vioscsi.c
1413
vioscsi_teardown(sc, B_TRUE);
usr/src/uts/common/io/vioscsi/vioscsi.c
1423
vioscsi_iport_teardown(vioscsi_softc_t *sc)
usr/src/uts/common/io/vioscsi/vioscsi.c
1429
ddi_taskq_suspend(sc->vs_tq);
usr/src/uts/common/io/vioscsi/vioscsi.c
1430
ddi_taskq_wait(sc->vs_tq);
usr/src/uts/common/io/vioscsi/vioscsi.c
1435
virtio_interrupts_disable(sc->vs_virtio);
usr/src/uts/common/io/vioscsi/vioscsi.c
1436
virtio_shutdown(sc->vs_virtio);
usr/src/uts/common/io/vioscsi/vioscsi.c
1441
if (sc->vs_tgtmap != NULL) {
usr/src/uts/common/io/vioscsi/vioscsi.c
1442
scsi_hba_tgtmap_destroy(sc->vs_tgtmap);
usr/src/uts/common/io/vioscsi/vioscsi.c
1443
sc->vs_tgtmap = NULL;
usr/src/uts/common/io/vioscsi/vioscsi.c
1458
vioscsi_softc_t *sc;
usr/src/uts/common/io/vioscsi/vioscsi.c
146
dev_err(sc->vs_dip, CE_WARN,
usr/src/uts/common/io/vioscsi/vioscsi.c
1473
((sc = tran->tran_hba_private) == NULL)) {
usr/src/uts/common/io/vioscsi/vioscsi.c
1482
tran->tran_hba_private = sc;
usr/src/uts/common/io/vioscsi/vioscsi.c
1489
virtio_queue_no_interrupt(sc->vs_ctl_vq, B_TRUE);
usr/src/uts/common/io/vioscsi/vioscsi.c
1492
2 * MICROSEC, sc, NULL, NULL, &sc->vs_tgtmap) != DDI_SUCCESS) {
usr/src/uts/common/io/vioscsi/vioscsi.c
1493
vioscsi_iport_teardown(sc);
usr/src/uts/common/io/vioscsi/vioscsi.c
1501
virtio_chain_submit(sc->vs_events[i].ve_vic, B_FALSE);
usr/src/uts/common/io/vioscsi/vioscsi.c
1503
virtio_queue_flush(sc->vs_evt_vq);
usr/src/uts/common/io/vioscsi/vioscsi.c
1508
if (virtio_interrupts_enable(sc->vs_virtio) != DDI_SUCCESS) {
usr/src/uts/common/io/vioscsi/vioscsi.c
1509
vioscsi_iport_teardown(sc);
usr/src/uts/common/io/vioscsi/vioscsi.c
1516
(void) ddi_taskq_dispatch(sc->vs_tq, vioscsi_discover, sc, DDI_SLEEP);
usr/src/uts/common/io/vioscsi/vioscsi.c
1524
vioscsi_softc_t *sc;
usr/src/uts/common/io/vioscsi/vioscsi.c
1528
((sc = tran->tran_hba_private) == NULL)) {
usr/src/uts/common/io/vioscsi/vioscsi.c
1531
if (sc->vs_virtio == NULL) {
usr/src/uts/common/io/vioscsi/vioscsi.c
1535
return (virtio_quiesce(sc->vs_virtio));
usr/src/uts/common/io/vioscsi/vioscsi.c
1549
vioscsi_softc_t *sc;
usr/src/uts/common/io/vioscsi/vioscsi.c
1557
((sc = tran->tran_hba_private) == NULL)) {
usr/src/uts/common/io/vioscsi/vioscsi.c
1561
mutex_enter(&sc->vs_lock);
usr/src/uts/common/io/vioscsi/vioscsi.c
1562
if (!list_is_empty(&sc->vs_devs)) {
usr/src/uts/common/io/vioscsi/vioscsi.c
1566
mutex_exit(&sc->vs_lock);
usr/src/uts/common/io/vioscsi/vioscsi.c
1570
vioscsi_iport_teardown(sc);
usr/src/uts/common/io/vioscsi/vioscsi.c
1578
vioscsi_softc_t *sc;
usr/src/uts/common/io/vioscsi/vioscsi.c
1590
((sc = tran->tran_hba_private) == NULL)) {
usr/src/uts/common/io/vioscsi/vioscsi.c
1597
vioscsi_teardown(sc, B_FALSE);
usr/src/uts/common/io/vioscsi/vioscsi.c
164
vioscsi_lun_reset(vioscsi_softc_t *sc, uint8_t target, uint16_t lun)
usr/src/uts/common/io/vioscsi/vioscsi.c
166
return (vioscsi_tmf(sc, VIRTIO_SCSI_T_TMF_LOGICAL_UNIT_RESET,
usr/src/uts/common/io/vioscsi/vioscsi.c
171
vioscsi_target_reset(vioscsi_softc_t *sc, uint8_t target)
usr/src/uts/common/io/vioscsi/vioscsi.c
173
return (vioscsi_tmf(sc, VIRTIO_SCSI_T_TMF_I_T_NEXUS_RESET,
usr/src/uts/common/io/vioscsi/vioscsi.c
178
vioscsi_req_abort(vioscsi_softc_t *sc, vioscsi_request_t *req)
usr/src/uts/common/io/vioscsi/vioscsi.c
180
return (vioscsi_tmf(sc, VIRTIO_SCSI_T_TMF_ABORT_TASK,
usr/src/uts/common/io/vioscsi/vioscsi.c
202
vioscsi_softc_t *sc = vd->vd_sc;
usr/src/uts/common/io/vioscsi/vioscsi.c
234
dev_err(sc->vs_dip, CE_WARN, "cmd timed out (%ds)",
usr/src/uts/common/io/vioscsi/vioscsi.c
236
(void) vioscsi_req_abort(sc, req);
usr/src/uts/common/io/vioscsi/vioscsi.c
253
vioscsi_poll(vioscsi_softc_t *sc, vioscsi_request_t *req)
usr/src/uts/common/io/vioscsi/vioscsi.c
255
if (vioscsi_poll_until(sc, req, vioscsi_cmd_handler, req->vr_time)) {
usr/src/uts/common/io/vioscsi/vioscsi.c
263
if (vioscsi_req_abort(sc, req) &&
usr/src/uts/common/io/vioscsi/vioscsi.c
264
vioscsi_poll_until(sc, req, vioscsi_cmd_handler, 1)) {
usr/src/uts/common/io/vioscsi/vioscsi.c
271
if (vioscsi_lun_reset(sc, req->vr_target, req->vr_lun) &&
usr/src/uts/common/io/vioscsi/vioscsi.c
272
vioscsi_poll_until(sc, req, vioscsi_cmd_handler, 1)) {
usr/src/uts/common/io/vioscsi/vioscsi.c
284
dev_err(sc->vs_dip, CE_WARN, "request stuck, resetting target");
usr/src/uts/common/io/vioscsi/vioscsi.c
285
(void) vioscsi_target_reset(sc, req->vr_target);
usr/src/uts/common/io/vioscsi/vioscsi.c
286
if (vioscsi_poll_until(sc, req, vioscsi_cmd_handler, 60)) {
usr/src/uts/common/io/vioscsi/vioscsi.c
293
vioscsi_start(vioscsi_softc_t *sc, vioscsi_request_t *req)
usr/src/uts/common/io/vioscsi/vioscsi.c
331
vioscsi_poll(sc, req);
usr/src/uts/common/io/vioscsi/vioscsi.c
41
static void vioscsi_lun_changed(vioscsi_softc_t *sc, uint8_t target);
usr/src/uts/common/io/vioscsi/vioscsi.c
531
vioscsi_req_init(vioscsi_softc_t *sc, vioscsi_request_t *req,
usr/src/uts/common/io/vioscsi/vioscsi.c
539
req->vr_dma = virtio_dma_alloc(sc->vs_virtio, sizeof (vioscsi_op_t),
usr/src/uts/common/io/vioscsi/vioscsi.c
567
vioscsi_softc_t *sc = tran->tran_hba_private;
usr/src/uts/common/io/vioscsi/vioscsi.c
570
if (vioscsi_req_init(sc, req, sc->vs_cmd_vq, sleep) != 0) {
usr/src/uts/common/io/vioscsi/vioscsi.c
604
vioscsi_softc_t *sc = ap->a_hba_tran->tran_hba_private;
usr/src/uts/common/io/vioscsi/vioscsi.c
611
rval = sc->vs_cdb_size;
usr/src/uts/common/io/vioscsi/vioscsi.c
615
rval = sc->vs_tran->tran_dma_attr.dma_attr_maxxfer;
usr/src/uts/common/io/vioscsi/vioscsi.c
619
rval = sc->vs_tran->tran_interconnect_type;
usr/src/uts/common/io/vioscsi/vioscsi.c
707
vioscsi_softc_t *sc = (vioscsi_softc_t *)arg1;
usr/src/uts/common/io/vioscsi/vioscsi.c
710
while ((vic = virtio_queue_poll(sc->vs_ctl_vq)) != NULL) {
usr/src/uts/common/io/vioscsi/vioscsi.c
714
dev_err(sc->vs_dip, CE_WARN, "missing ctl chain data");
usr/src/uts/common/io/vioscsi/vioscsi.c
72
vioscsi_poll_until(vioscsi_softc_t *sc, vioscsi_request_t *req,
usr/src/uts/common/io/vioscsi/vioscsi.c
725
vioscsi_softc_t *sc = (vioscsi_softc_t *)arg1;
usr/src/uts/common/io/vioscsi/vioscsi.c
729
while ((vic = virtio_queue_poll(sc->vs_evt_vq)) != NULL) {
usr/src/uts/common/io/vioscsi/vioscsi.c
738
dev_err(sc->vs_dip, CE_WARN, "missing evt chain data");
usr/src/uts/common/io/vioscsi/vioscsi.c
762
vioscsi_lun_changed(sc, target);
usr/src/uts/common/io/vioscsi/vioscsi.c
77
(void) func((caddr_t)sc, NULL);
usr/src/uts/common/io/vioscsi/vioscsi.c
796
(void) ddi_taskq_dispatch(sc->vs_tq, vioscsi_discover, sc,
usr/src/uts/common/io/vioscsi/vioscsi.c
806
vioscsi_softc_t *sc = (vioscsi_softc_t *)arg1;
usr/src/uts/common/io/vioscsi/vioscsi.c
809
while ((vic = virtio_queue_poll(sc->vs_cmd_vq)) != NULL) {
usr/src/uts/common/io/vioscsi/vioscsi.c
822
dev_err(sc->vs_dip, CE_WARN, "missing cmd chain data");
usr/src/uts/common/io/vioscsi/vioscsi.c
888
MIN(sc->vs_sense_size, res->sense_len)));
usr/src/uts/common/io/vioscsi/vioscsi.c
89
vioscsi_tmf(vioscsi_softc_t *sc, uint32_t func, uint8_t target, uint16_t lun,
usr/src/uts/common/io/vioscsi/vioscsi.c
900
dev_err(sc->vs_dip, CE_WARN, "OVERRUN");
usr/src/uts/common/io/vioscsi/vioscsi.c
935
dev_err(sc->vs_dip, CE_WARN, "Unknown response: 0x%x",
usr/src/uts/common/io/vioscsi/vioscsi.c
955
vioscsi_softc_t *sc;
usr/src/uts/common/io/vioscsi/vioscsi.c
963
if ((sc = tran->tran_hba_private) == NULL) {
usr/src/uts/common/io/vioscsi/vioscsi.c
976
virtio_intr_pri(sc->vs_virtio));
usr/src/uts/common/io/vioscsi/vioscsi.c
98
if (vioscsi_req_init(sc, &req, sc->vs_ctl_vq, KM_NOSLEEP) != 0) {
usr/src/uts/common/io/vioscsi/vioscsi.c
980
vd->vd_sc = sc;
usr/src/uts/common/io/vioscsi/vioscsi.c
982
vd->vd_max_cmd = sc->vs_cmd_per_lun;
usr/src/uts/common/io/vioscsi/vioscsi.c
987
mutex_enter(&sc->vs_lock);
usr/src/uts/common/io/vioscsi/vioscsi.c
988
list_insert_tail(&sc->vs_devs, vd);
usr/src/uts/common/io/vioscsi/vioscsi.c
989
mutex_exit(&sc->vs_lock);
usr/src/uts/common/io/vioscsi/vioscsi.c
999
vioscsi_softc_t *sc = vd->vd_sc;
usr/src/uts/common/io/wpi/wpi.c
1002
wpi_mem_lock(sc);
usr/src/uts/common/io/wpi/wpi.c
1004
WPI_WRITE(sc, WPI_RX_CONFIG, 0);
usr/src/uts/common/io/wpi/wpi.c
1006
if (WPI_READ(sc, WPI_RX_STATUS) & WPI_RX_IDLE)
usr/src/uts/common/io/wpi/wpi.c
1013
wpi_mem_unlock(sc);
usr/src/uts/common/io/wpi/wpi.c
1015
sc->sc_rxq.cur = 0;
usr/src/uts/common/io/wpi/wpi.c
1019
wpi_free_rx_ring(wpi_sc_t *sc)
usr/src/uts/common/io/wpi/wpi.c
1024
if (sc->sc_rxq.data[i].dma_data.dma_hdl)
usr/src/uts/common/io/wpi/wpi.c
1025
WPI_DMA_SYNC(sc->sc_rxq.data[i].dma_data,
usr/src/uts/common/io/wpi/wpi.c
1027
wpi_free_dma_mem(&sc->sc_rxq.data[i].dma_data);
usr/src/uts/common/io/wpi/wpi.c
1030
if (sc->sc_rxq.dma_desc.dma_hdl)
usr/src/uts/common/io/wpi/wpi.c
1031
WPI_DMA_SYNC(sc->sc_rxq.dma_desc, DDI_DMA_SYNC_FORDEV);
usr/src/uts/common/io/wpi/wpi.c
1032
wpi_free_dma_mem(&sc->sc_rxq.dma_desc);
usr/src/uts/common/io/wpi/wpi.c
1036
wpi_alloc_tx_ring(wpi_sc_t *sc, wpi_tx_ring_t *ring, int count, int qid)
usr/src/uts/common/io/wpi/wpi.c
1050
err = wpi_alloc_dma_mem(sc, count * sizeof (wpi_tx_desc_t),
usr/src/uts/common/io/wpi/wpi.c
1061
sc->sc_shared->txbase[qid] = ring->dma_desc.cookie.dmac_address;
usr/src/uts/common/io/wpi/wpi.c
1066
err = wpi_alloc_dma_mem(sc, count * sizeof (wpi_tx_cmd_t),
usr/src/uts/common/io/wpi/wpi.c
1090
err = wpi_alloc_dma_mem(sc, sc->sc_dmabuf_sz,
usr/src/uts/common/io/wpi/wpi.c
1111
wpi_free_tx_ring(sc, ring);
usr/src/uts/common/io/wpi/wpi.c
1116
wpi_reset_tx_ring(wpi_sc_t *sc, wpi_tx_ring_t *ring)
usr/src/uts/common/io/wpi/wpi.c
1121
wpi_mem_lock(sc);
usr/src/uts/common/io/wpi/wpi.c
1123
WPI_WRITE(sc, WPI_TX_CONFIG(ring->qid), 0);
usr/src/uts/common/io/wpi/wpi.c
1125
if (WPI_READ(sc, WPI_TX_STATUS) & WPI_TX_IDLE(ring->qid))
usr/src/uts/common/io/wpi/wpi.c
1135
wpi_mem_unlock(sc);
usr/src/uts/common/io/wpi/wpi.c
1137
if (!(sc->sc_flags & WPI_F_QUIESCED)) {
usr/src/uts/common/io/wpi/wpi.c
1150
wpi_free_tx_ring(wpi_sc_t *sc, wpi_tx_ring_t *ring)
usr/src/uts/common/io/wpi/wpi.c
1175
wpi_ring_init(wpi_sc_t *sc)
usr/src/uts/common/io/wpi/wpi.c
1180
err = wpi_alloc_tx_ring(sc, &sc->sc_txq[i], WPI_TX_RING_COUNT,
usr/src/uts/common/io/wpi/wpi.c
1185
err = wpi_alloc_tx_ring(sc, &sc->sc_cmdq, WPI_CMD_RING_COUNT, 4);
usr/src/uts/common/io/wpi/wpi.c
1188
err = wpi_alloc_tx_ring(sc, &sc->sc_svcq, WPI_SVC_RING_COUNT, 5);
usr/src/uts/common/io/wpi/wpi.c
1191
err = wpi_alloc_rx_ring(sc);
usr/src/uts/common/io/wpi/wpi.c
1201
wpi_ring_free(wpi_sc_t *sc)
usr/src/uts/common/io/wpi/wpi.c
1205
wpi_free_rx_ring(sc);
usr/src/uts/common/io/wpi/wpi.c
1206
wpi_free_tx_ring(sc, &sc->sc_svcq);
usr/src/uts/common/io/wpi/wpi.c
1207
wpi_free_tx_ring(sc, &sc->sc_cmdq);
usr/src/uts/common/io/wpi/wpi.c
1209
wpi_free_tx_ring(sc, &sc->sc_txq[i]);
usr/src/uts/common/io/wpi/wpi.c
1240
wpi_sc_t *sc = (wpi_sc_t *)ic;
usr/src/uts/common/io/wpi/wpi.c
1245
mutex_enter(&sc->sc_glock);
usr/src/uts/common/io/wpi/wpi.c
1254
sc->sc_flags |= WPI_F_SCANNING;
usr/src/uts/common/io/wpi/wpi.c
1255
sc->sc_scan_next = 0;
usr/src/uts/common/io/wpi/wpi.c
1258
wpi_set_led(sc, WPI_LED_LINK, 20, 2);
usr/src/uts/common/io/wpi/wpi.c
1264
sc->sc_config.state = 0;
usr/src/uts/common/io/wpi/wpi.c
1265
sc->sc_config.filter &= ~LE_32(WPI_FILTER_BSS);
usr/src/uts/common/io/wpi/wpi.c
1269
sc->sc_config.chan, sc->sc_config.flags,
usr/src/uts/common/io/wpi/wpi.c
1270
sc->sc_config.filter));
usr/src/uts/common/io/wpi/wpi.c
1272
err = wpi_cmd(sc, WPI_CMD_CONFIGURE, &sc->sc_config,
usr/src/uts/common/io/wpi/wpi.c
1277
sc->sc_flags &= ~WPI_F_SCANNING;
usr/src/uts/common/io/wpi/wpi.c
1278
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/wpi/wpi.c
1287
err = wpi_cmd(sc, WPI_CMD_ADD_NODE, &node,
usr/src/uts/common/io/wpi/wpi.c
1292
sc->sc_flags &= ~WPI_F_SCANNING;
usr/src/uts/common/io/wpi/wpi.c
1293
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/wpi/wpi.c
1299
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/wpi/wpi.c
1301
err = sc->sc_newstate(ic, nstate, arg);
usr/src/uts/common/io/wpi/wpi.c
1302
mutex_enter(&sc->sc_glock);
usr/src/uts/common/io/wpi/wpi.c
1303
if ((err != 0) || ((err = wpi_scan(sc)) != 0)) {
usr/src/uts/common/io/wpi/wpi.c
1306
sc->sc_flags &= ~WPI_F_SCANNING;
usr/src/uts/common/io/wpi/wpi.c
1309
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/wpi/wpi.c
1314
sc->sc_clk = 0;
usr/src/uts/common/io/wpi/wpi.c
1319
sc->sc_flags &= ~WPI_F_SCANNING;
usr/src/uts/common/io/wpi/wpi.c
1323
sc->sc_config.state = 0;
usr/src/uts/common/io/wpi/wpi.c
1324
sc->sc_config.filter &= ~LE_32(WPI_FILTER_BSS);
usr/src/uts/common/io/wpi/wpi.c
1326
if ((err = wpi_auth(sc)) != 0) {
usr/src/uts/common/io/wpi/wpi.c
1329
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/wpi/wpi.c
1336
sc->sc_flags &= ~WPI_F_SCANNING;
usr/src/uts/common/io/wpi/wpi.c
1341
wpi_set_led(sc, WPI_LED_LINK, 5, 5);
usr/src/uts/common/io/wpi/wpi.c
1346
(void) wpi_auth(sc);
usr/src/uts/common/io/wpi/wpi.c
1352
sc->sc_config.state = LE_16(WPI_CONFIG_ASSOCIATED);
usr/src/uts/common/io/wpi/wpi.c
1354
sc->sc_config.flags &= ~LE_32(WPI_CONFIG_SHPREAMBLE |
usr/src/uts/common/io/wpi/wpi.c
1357
sc->sc_config.flags |= LE_32(WPI_CONFIG_SHSLOT);
usr/src/uts/common/io/wpi/wpi.c
1359
sc->sc_config.flags |= LE_32(WPI_CONFIG_SHPREAMBLE);
usr/src/uts/common/io/wpi/wpi.c
1360
sc->sc_config.filter |= LE_32(WPI_FILTER_BSS);
usr/src/uts/common/io/wpi/wpi.c
1362
sc->sc_config.filter |= LE_32(WPI_FILTER_BEACON);
usr/src/uts/common/io/wpi/wpi.c
1365
sc->sc_config.chan, sc->sc_config.flags));
usr/src/uts/common/io/wpi/wpi.c
1366
err = wpi_cmd(sc, WPI_CMD_CONFIGURE, &sc->sc_config,
usr/src/uts/common/io/wpi/wpi.c
1371
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/wpi/wpi.c
1376
mutex_enter(&sc->sc_mt_lock);
usr/src/uts/common/io/wpi/wpi.c
1378
sc->sc_flags |= WPI_F_RATE_AUTO_CTL;
usr/src/uts/common/io/wpi/wpi.c
1385
sc->sc_flags &= ~WPI_F_RATE_AUTO_CTL;
usr/src/uts/common/io/wpi/wpi.c
1387
mutex_exit(&sc->sc_mt_lock);
usr/src/uts/common/io/wpi/wpi.c
1390
wpi_set_led(sc, WPI_LED_LINK, 0, 1);
usr/src/uts/common/io/wpi/wpi.c
1394
sc->sc_flags &= ~WPI_F_SCANNING;
usr/src/uts/common/io/wpi/wpi.c
1398
sc->sc_flags &= ~WPI_F_SCANNING;
usr/src/uts/common/io/wpi/wpi.c
1402
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/wpi/wpi.c
1403
return (sc->sc_newstate(ic, nstate, arg));
usr/src/uts/common/io/wpi/wpi.c
1410
wpi_sc_t *sc = (wpi_sc_t *)ic;
usr/src/uts/common/io/wpi/wpi.c
1423
sc->sc_config.filter &= ~(WPI_FILTER_NODECRYPTUNI |
usr/src/uts/common/io/wpi/wpi.c
1426
mutex_enter(&sc->sc_glock);
usr/src/uts/common/io/wpi/wpi.c
1448
err = wpi_cmd(sc, WPI_CMD_ADD_NODE, &node, sizeof (node), 1);
usr/src/uts/common/io/wpi/wpi.c
1452
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/wpi/wpi.c
1455
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/wpi/wpi.c
1463
wpi_mem_lock(wpi_sc_t *sc)
usr/src/uts/common/io/wpi/wpi.c
1468
tmp = WPI_READ(sc, WPI_GPIO_CTL);
usr/src/uts/common/io/wpi/wpi.c
1469
WPI_WRITE(sc, WPI_GPIO_CTL, tmp | WPI_GPIO_MAC);
usr/src/uts/common/io/wpi/wpi.c
1473
if ((WPI_READ(sc, WPI_GPIO_CTL) &
usr/src/uts/common/io/wpi/wpi.c
1486
wpi_mem_unlock(wpi_sc_t *sc)
usr/src/uts/common/io/wpi/wpi.c
1488
uint32_t tmp = WPI_READ(sc, WPI_GPIO_CTL);
usr/src/uts/common/io/wpi/wpi.c
1489
WPI_WRITE(sc, WPI_GPIO_CTL, tmp & ~WPI_GPIO_MAC);
usr/src/uts/common/io/wpi/wpi.c
1493
wpi_mem_read(wpi_sc_t *sc, uint16_t addr)
usr/src/uts/common/io/wpi/wpi.c
1495
WPI_WRITE(sc, WPI_READ_MEM_ADDR, WPI_MEM_4 | addr);
usr/src/uts/common/io/wpi/wpi.c
1496
return (WPI_READ(sc, WPI_READ_MEM_DATA));
usr/src/uts/common/io/wpi/wpi.c
1500
wpi_mem_write(wpi_sc_t *sc, uint16_t addr, uint32_t data)
usr/src/uts/common/io/wpi/wpi.c
1502
WPI_WRITE(sc, WPI_WRITE_MEM_ADDR, WPI_MEM_4 | addr);
usr/src/uts/common/io/wpi/wpi.c
1503
WPI_WRITE(sc, WPI_WRITE_MEM_DATA, data);
usr/src/uts/common/io/wpi/wpi.c
1507
wpi_mem_write_region_4(wpi_sc_t *sc, uint16_t addr,
usr/src/uts/common/io/wpi/wpi.c
1511
wpi_mem_write(sc, addr, *data);
usr/src/uts/common/io/wpi/wpi.c
1519
wpi_read_prom_word(wpi_sc_t *sc, uint32_t addr)
usr/src/uts/common/io/wpi/wpi.c
1524
WPI_WRITE(sc, WPI_EEPROM_CTL, addr << 2);
usr/src/uts/common/io/wpi/wpi.c
1526
wpi_mem_lock(sc);
usr/src/uts/common/io/wpi/wpi.c
1528
if ((val = WPI_READ(sc, WPI_EEPROM_CTL)) & WPI_EEPROM_READY)
usr/src/uts/common/io/wpi/wpi.c
1532
wpi_mem_unlock(sc);
usr/src/uts/common/io/wpi/wpi.c
1546
wpi_load_microcode(wpi_sc_t *sc)
usr/src/uts/common/io/wpi/wpi.c
1551
ucode = sc->sc_boot;
usr/src/uts/common/io/wpi/wpi.c
1552
size = LE_32(sc->sc_hdr->bootsz);
usr/src/uts/common/io/wpi/wpi.c
1559
wpi_mem_lock(sc);
usr/src/uts/common/io/wpi/wpi.c
1562
wpi_mem_write_region_4(sc, WPI_MEM_UCODE_BASE, (const uint32_t *)ucode,
usr/src/uts/common/io/wpi/wpi.c
1565
wpi_mem_write(sc, WPI_MEM_UCODE_SRC, 0);
usr/src/uts/common/io/wpi/wpi.c
1566
wpi_mem_write(sc, WPI_MEM_UCODE_DST, WPI_FW_TEXT);
usr/src/uts/common/io/wpi/wpi.c
1567
wpi_mem_write(sc, WPI_MEM_UCODE_SIZE, size);
usr/src/uts/common/io/wpi/wpi.c
1570
wpi_mem_write(sc, WPI_MEM_UCODE_CTL, WPI_UC_RUN);
usr/src/uts/common/io/wpi/wpi.c
1572
wpi_mem_unlock(sc);
usr/src/uts/common/io/wpi/wpi.c
1584
wpi_load_firmware(wpi_sc_t *sc, uint32_t target)
usr/src/uts/common/io/wpi/wpi.c
1595
fw = sc->sc_text;
usr/src/uts/common/io/wpi/wpi.c
1596
size = LE_32(sc->sc_hdr->textsz);
usr/src/uts/common/io/wpi/wpi.c
1597
dma_p = &sc->sc_dma_fw_text;
usr/src/uts/common/io/wpi/wpi.c
1598
cookie = sc->sc_fw_text_cookie;
usr/src/uts/common/io/wpi/wpi.c
1600
fw = sc->sc_data;
usr/src/uts/common/io/wpi/wpi.c
1601
size = LE_32(sc->sc_hdr->datasz);
usr/src/uts/common/io/wpi/wpi.c
1602
dma_p = &sc->sc_dma_fw_data;
usr/src/uts/common/io/wpi/wpi.c
1603
cookie = sc->sc_fw_data_cookie;
usr/src/uts/common/io/wpi/wpi.c
1621
wpi_mem_lock(sc);
usr/src/uts/common/io/wpi/wpi.c
1624
WPI_WRITE(sc, WPI_FW_TARGET, target);
usr/src/uts/common/io/wpi/wpi.c
1626
WPI_WRITE(sc, WPI_TX_CONFIG(6), 0);
usr/src/uts/common/io/wpi/wpi.c
1629
WPI_WRITE_REGION_4(sc, WPI_TX_DESC(6), (uint32_t *)&desc,
usr/src/uts/common/io/wpi/wpi.c
1632
WPI_WRITE(sc, WPI_TX_CREDIT(6), 0xfffff);
usr/src/uts/common/io/wpi/wpi.c
1633
WPI_WRITE(sc, WPI_TX_STATE(6), 0x4001);
usr/src/uts/common/io/wpi/wpi.c
1634
WPI_WRITE(sc, WPI_TX_CONFIG(6), 0x80000001);
usr/src/uts/common/io/wpi/wpi.c
1638
if (WPI_READ(sc, WPI_TX_STATUS) & WPI_TX_IDLE(6))
usr/src/uts/common/io/wpi/wpi.c
1647
WPI_WRITE(sc, WPI_TX_CREDIT(6), 0);
usr/src/uts/common/io/wpi/wpi.c
1649
wpi_mem_unlock(sc);
usr/src/uts/common/io/wpi/wpi.c
1656
wpi_rx_intr(wpi_sc_t *sc, wpi_rx_desc_t *desc, wpi_rx_data_t *data)
usr/src/uts/common/io/wpi/wpi.c
1658
ieee80211com_t *ic = &sc->sc_ic;
usr/src/uts/common/io/wpi/wpi.c
1659
wpi_rx_ring_t *ring = &sc->sc_rxq;
usr/src/uts/common/io/wpi/wpi.c
1685
if ((len < 20) || (len > sc->sc_dmabuf_sz)) {
usr/src/uts/common/io/wpi/wpi.c
1686
sc->sc_rx_err++;
usr/src/uts/common/io/wpi/wpi.c
1696
sc->sc_rx_err++;
usr/src/uts/common/io/wpi/wpi.c
1705
if (sc->sc_drvbpf != NULL) {
usr/src/uts/common/io/wpi/wpi.c
1707
if (bpf_peers_present(sc->sc_drvbpf)) {
usr/src/uts/common/io/wpi/wpi.c
1709
struct wpi_rx_radiotap_header *tap = &sc->sc_rxtap;
usr/src/uts/common/io/wpi/wpi.c
1742
bpf_mtap2(sc->sc_drvbpf, tap, sc->sc_rxtap_len, m);
usr/src/uts/common/io/wpi/wpi.c
1762
sc->sc_rx_nobuf++;
usr/src/uts/common/io/wpi/wpi.c
1772
wpi_tx_intr(wpi_sc_t *sc, wpi_rx_desc_t *desc, wpi_rx_data_t *data)
usr/src/uts/common/io/wpi/wpi.c
1774
ieee80211com_t *ic = &sc->sc_ic;
usr/src/uts/common/io/wpi/wpi.c
1775
wpi_tx_ring_t *ring = &sc->sc_txq[desc->qid & 0x3];
usr/src/uts/common/io/wpi/wpi.c
1789
sc->sc_tx_retries++;
usr/src/uts/common/io/wpi/wpi.c
1794
sc->sc_tx_timer = 0;
usr/src/uts/common/io/wpi/wpi.c
1796
mutex_enter(&sc->sc_tx_lock);
usr/src/uts/common/io/wpi/wpi.c
1800
if ((sc->sc_need_reschedule) && (ring->queued <= (ring->count << 3))) {
usr/src/uts/common/io/wpi/wpi.c
1801
sc->sc_need_reschedule = 0;
usr/src/uts/common/io/wpi/wpi.c
1802
mutex_exit(&sc->sc_tx_lock);
usr/src/uts/common/io/wpi/wpi.c
1804
mutex_enter(&sc->sc_tx_lock);
usr/src/uts/common/io/wpi/wpi.c
1806
mutex_exit(&sc->sc_tx_lock);
usr/src/uts/common/io/wpi/wpi.c
1810
wpi_cmd_intr(wpi_sc_t *sc, wpi_rx_desc_t *desc)
usr/src/uts/common/io/wpi/wpi.c
1815
mutex_enter(&sc->sc_glock);
usr/src/uts/common/io/wpi/wpi.c
1816
sc->sc_flags |= WPI_F_CMD_DONE;
usr/src/uts/common/io/wpi/wpi.c
1817
cv_signal(&sc->sc_cmd_cv);
usr/src/uts/common/io/wpi/wpi.c
1818
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/wpi/wpi.c
1824
wpi_sc_t *sc = (wpi_sc_t *)arg;
usr/src/uts/common/io/wpi/wpi.c
1829
mutex_enter(&sc->sc_glock);
usr/src/uts/common/io/wpi/wpi.c
1830
if (sc->sc_notif_softint_pending != 1) {
usr/src/uts/common/io/wpi/wpi.c
1831
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/wpi/wpi.c
1834
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/wpi/wpi.c
1836
hw = LE_32(sc->sc_shared->next);
usr/src/uts/common/io/wpi/wpi.c
1838
while (sc->sc_rxq.cur != hw) {
usr/src/uts/common/io/wpi/wpi.c
1839
data = &sc->sc_rxq.data[sc->sc_rxq.cur];
usr/src/uts/common/io/wpi/wpi.c
1844
hw, sc->sc_rxq.cur, desc->qid, desc->idx, desc->flags,
usr/src/uts/common/io/wpi/wpi.c
1848
wpi_cmd_intr(sc, desc);
usr/src/uts/common/io/wpi/wpi.c
1853
wpi_rx_intr(sc, desc, data);
usr/src/uts/common/io/wpi/wpi.c
1858
wpi_tx_intr(sc, desc, data);
usr/src/uts/common/io/wpi/wpi.c
1895
sc->sc_ostate = sc->sc_ic.ic_state;
usr/src/uts/common/io/wpi/wpi.c
1896
ieee80211_new_state(&sc->sc_ic,
usr/src/uts/common/io/wpi/wpi.c
1898
sc->sc_flags |=
usr/src/uts/common/io/wpi/wpi.c
1923
sc->sc_scan_pending = 0;
usr/src/uts/common/io/wpi/wpi.c
1924
sc->sc_scan_next++;
usr/src/uts/common/io/wpi/wpi.c
1931
sc->sc_rxq.cur = (sc->sc_rxq.cur + 1) % WPI_RX_RING_COUNT;
usr/src/uts/common/io/wpi/wpi.c
1936
WPI_WRITE(sc, WPI_RX_WIDX, hw & (~7));
usr/src/uts/common/io/wpi/wpi.c
1937
mutex_enter(&sc->sc_glock);
usr/src/uts/common/io/wpi/wpi.c
1938
sc->sc_notif_softint_pending = 0;
usr/src/uts/common/io/wpi/wpi.c
1939
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/wpi/wpi.c
1947
wpi_sc_t *sc = (wpi_sc_t *)arg;
usr/src/uts/common/io/wpi/wpi.c
1950
mutex_enter(&sc->sc_glock);
usr/src/uts/common/io/wpi/wpi.c
1951
if (sc->sc_flags & WPI_F_SUSPEND) {
usr/src/uts/common/io/wpi/wpi.c
1952
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/wpi/wpi.c
1956
r = WPI_READ(sc, WPI_INTR);
usr/src/uts/common/io/wpi/wpi.c
1958
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/wpi/wpi.c
1964
rfh = WPI_READ(sc, WPI_INTR_STATUS);
usr/src/uts/common/io/wpi/wpi.c
1966
WPI_WRITE(sc, WPI_MASK, 0);
usr/src/uts/common/io/wpi/wpi.c
1968
WPI_WRITE(sc, WPI_INTR, r);
usr/src/uts/common/io/wpi/wpi.c
1969
WPI_WRITE(sc, WPI_INTR_STATUS, rfh);
usr/src/uts/common/io/wpi/wpi.c
1971
if (sc->sc_notif_softint_id == NULL) {
usr/src/uts/common/io/wpi/wpi.c
1972
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/wpi/wpi.c
1978
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/wpi/wpi.c
1979
wpi_stop(sc);
usr/src/uts/common/io/wpi/wpi.c
1980
if (!(sc->sc_flags & WPI_F_HW_ERR_RECOVER)) {
usr/src/uts/common/io/wpi/wpi.c
1981
sc->sc_ostate = sc->sc_ic.ic_state;
usr/src/uts/common/io/wpi/wpi.c
1985
if (!WPI_CHK_FAST_RECOVER(sc))
usr/src/uts/common/io/wpi/wpi.c
1986
ieee80211_new_state(&sc->sc_ic, IEEE80211_S_INIT, -1);
usr/src/uts/common/io/wpi/wpi.c
1988
sc->sc_flags |= WPI_F_HW_ERR_RECOVER;
usr/src/uts/common/io/wpi/wpi.c
1994
sc->sc_notif_softint_pending = 1;
usr/src/uts/common/io/wpi/wpi.c
1995
ddi_trigger_softintr(sc->sc_notif_softint_id);
usr/src/uts/common/io/wpi/wpi.c
1999
sc->sc_flags |= WPI_F_FW_INIT;
usr/src/uts/common/io/wpi/wpi.c
2000
cv_signal(&sc->sc_fw_cv);
usr/src/uts/common/io/wpi/wpi.c
2004
WPI_WRITE(sc, WPI_MASK, WPI_INTR_MASK);
usr/src/uts/common/io/wpi/wpi.c
2005
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/wpi/wpi.c
2039
wpi_sc_t *sc = (wpi_sc_t *)arg;
usr/src/uts/common/io/wpi/wpi.c
2040
ieee80211com_t *ic = &sc->sc_ic;
usr/src/uts/common/io/wpi/wpi.c
2043
if (sc->sc_flags & WPI_F_SUSPEND) {
usr/src/uts/common/io/wpi/wpi.c
2053
if ((sc->sc_flags & WPI_F_HW_ERR_RECOVER) &&
usr/src/uts/common/io/wpi/wpi.c
2054
WPI_CHK_FAST_RECOVER(sc)) {
usr/src/uts/common/io/wpi/wpi.c
2075
wpi_sc_t *sc = (wpi_sc_t *)ic;
usr/src/uts/common/io/wpi/wpi.c
2088
(&sc->sc_txq[0]) : (&sc->sc_txq[1]);
usr/src/uts/common/io/wpi/wpi.c
2095
mutex_enter(&sc->sc_tx_lock);
usr/src/uts/common/io/wpi/wpi.c
2096
if (sc->sc_flags & WPI_F_SUSPEND) {
usr/src/uts/common/io/wpi/wpi.c
2097
mutex_exit(&sc->sc_tx_lock);
usr/src/uts/common/io/wpi/wpi.c
2108
sc->sc_need_reschedule = 1;
usr/src/uts/common/io/wpi/wpi.c
2109
mutex_exit(&sc->sc_tx_lock);
usr/src/uts/common/io/wpi/wpi.c
2114
sc->sc_tx_nobuf++;
usr/src/uts/common/io/wpi/wpi.c
2118
mutex_exit(&sc->sc_tx_lock);
usr/src/uts/common/io/wpi/wpi.c
2144
sc->sc_tx_err++;
usr/src/uts/common/io/wpi/wpi.c
2168
sc->sc_tx_err++;
usr/src/uts/common/io/wpi/wpi.c
2206
if (sc->sc_drvbpf != NULL) {
usr/src/uts/common/io/wpi/wpi.c
2208
if (bpf_peers_present(sc->sc_drvbpf)) {
usr/src/uts/common/io/wpi/wpi.c
2210
struct wpi_tx_radiotap_header *tap = &sc->sc_txtap;
usr/src/uts/common/io/wpi/wpi.c
2219
bpf_mtap2(sc->sc_drvbpf, tap, sc->sc_txtap_len, m0);
usr/src/uts/common/io/wpi/wpi.c
2278
mutex_enter(&sc->sc_tx_lock);
usr/src/uts/common/io/wpi/wpi.c
2280
mutex_exit(&sc->sc_tx_lock);
usr/src/uts/common/io/wpi/wpi.c
2284
WPI_WRITE(sc, WPI_TX_WIDX, ring->qid << 8 | ring->cur);
usr/src/uts/common/io/wpi/wpi.c
2292
if (sc->sc_tx_timer == 0)
usr/src/uts/common/io/wpi/wpi.c
2293
sc->sc_tx_timer = 5;
usr/src/uts/common/io/wpi/wpi.c
2301
wpi_sc_t *sc = (wpi_sc_t *)arg;
usr/src/uts/common/io/wpi/wpi.c
2302
ieee80211com_t *ic = &sc->sc_ic;
usr/src/uts/common/io/wpi/wpi.c
2316
if (sc->sc_flags & WPI_F_RUNNING) {
usr/src/uts/common/io/wpi/wpi.c
2317
wpi_m_stop(sc);
usr/src/uts/common/io/wpi/wpi.c
2318
(void) wpi_m_start(sc);
usr/src/uts/common/io/wpi/wpi.c
2335
wpi_sc_t *sc = (wpi_sc_t *)arg;
usr/src/uts/common/io/wpi/wpi.c
2337
err = ieee80211_getprop(&sc->sc_ic, pr_name, wldp_pr_name,
usr/src/uts/common/io/wpi/wpi.c
2347
wpi_sc_t *sc = (wpi_sc_t *)arg;
usr/src/uts/common/io/wpi/wpi.c
2349
ieee80211_propinfo(&sc->sc_ic, pr_name, wldp_pr_num, mph);
usr/src/uts/common/io/wpi/wpi.c
2357
wpi_sc_t *sc = (wpi_sc_t *)arg;
usr/src/uts/common/io/wpi/wpi.c
2358
ieee80211com_t *ic = &sc->sc_ic;
usr/src/uts/common/io/wpi/wpi.c
2365
if (sc->sc_flags & WPI_F_RUNNING) {
usr/src/uts/common/io/wpi/wpi.c
2366
wpi_m_stop(sc);
usr/src/uts/common/io/wpi/wpi.c
2367
(void) wpi_m_start(sc);
usr/src/uts/common/io/wpi/wpi.c
2383
wpi_sc_t *sc = (wpi_sc_t *)arg;
usr/src/uts/common/io/wpi/wpi.c
2384
ieee80211com_t *ic = &sc->sc_ic;
usr/src/uts/common/io/wpi/wpi.c
2387
mutex_enter(&sc->sc_glock);
usr/src/uts/common/io/wpi/wpi.c
2396
*val = sc->sc_tx_nobuf;
usr/src/uts/common/io/wpi/wpi.c
2399
*val = sc->sc_rx_nobuf;
usr/src/uts/common/io/wpi/wpi.c
2402
*val = sc->sc_rx_err;
usr/src/uts/common/io/wpi/wpi.c
2418
*val = sc->sc_tx_err;
usr/src/uts/common/io/wpi/wpi.c
2421
*val = sc->sc_tx_retries;
usr/src/uts/common/io/wpi/wpi.c
2433
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/wpi/wpi.c
2436
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/wpi/wpi.c
2439
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/wpi/wpi.c
2448
wpi_sc_t *sc = (wpi_sc_t *)arg;
usr/src/uts/common/io/wpi/wpi.c
2449
ieee80211com_t *ic = &sc->sc_ic;
usr/src/uts/common/io/wpi/wpi.c
2452
err = wpi_init(sc);
usr/src/uts/common/io/wpi/wpi.c
2454
wpi_stop(sc);
usr/src/uts/common/io/wpi/wpi.c
2456
err = wpi_init(sc);
usr/src/uts/common/io/wpi/wpi.c
2465
mutex_enter(&sc->sc_glock);
usr/src/uts/common/io/wpi/wpi.c
2466
sc->sc_flags |= WPI_F_HW_ERR_RECOVER;
usr/src/uts/common/io/wpi/wpi.c
2467
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/wpi/wpi.c
2471
mutex_enter(&sc->sc_glock);
usr/src/uts/common/io/wpi/wpi.c
2472
sc->sc_flags |= WPI_F_RUNNING;
usr/src/uts/common/io/wpi/wpi.c
2473
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/wpi/wpi.c
2481
wpi_sc_t *sc = (wpi_sc_t *)arg;
usr/src/uts/common/io/wpi/wpi.c
2482
ieee80211com_t *ic = &sc->sc_ic;
usr/src/uts/common/io/wpi/wpi.c
2484
wpi_stop(sc);
usr/src/uts/common/io/wpi/wpi.c
2486
mutex_enter(&sc->sc_mt_lock);
usr/src/uts/common/io/wpi/wpi.c
2487
sc->sc_flags &= ~WPI_F_HW_ERR_RECOVER;
usr/src/uts/common/io/wpi/wpi.c
2488
sc->sc_flags &= ~WPI_F_RATE_AUTO_CTL;
usr/src/uts/common/io/wpi/wpi.c
2489
mutex_exit(&sc->sc_mt_lock);
usr/src/uts/common/io/wpi/wpi.c
2490
mutex_enter(&sc->sc_glock);
usr/src/uts/common/io/wpi/wpi.c
2491
sc->sc_flags &= ~WPI_F_RUNNING;
usr/src/uts/common/io/wpi/wpi.c
2492
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/wpi/wpi.c
2499
wpi_sc_t *sc = (wpi_sc_t *)arg;
usr/src/uts/common/io/wpi/wpi.c
2500
ieee80211com_t *ic = &sc->sc_ic;
usr/src/uts/common/io/wpi/wpi.c
2505
mutex_enter(&sc->sc_glock);
usr/src/uts/common/io/wpi/wpi.c
2506
err = wpi_config(sc);
usr/src/uts/common/io/wpi/wpi.c
2507
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/wpi/wpi.c
2535
wpi_thread(wpi_sc_t *sc)
usr/src/uts/common/io/wpi/wpi.c
2537
ieee80211com_t *ic = &sc->sc_ic;
usr/src/uts/common/io/wpi/wpi.c
2542
mutex_enter(&sc->sc_mt_lock);
usr/src/uts/common/io/wpi/wpi.c
2543
while (sc->sc_mf_thread_switch) {
usr/src/uts/common/io/wpi/wpi.c
2544
tmp = WPI_READ(sc, WPI_GPIO_CTL);
usr/src/uts/common/io/wpi/wpi.c
2546
sc->sc_flags &= ~WPI_F_RADIO_OFF;
usr/src/uts/common/io/wpi/wpi.c
2548
sc->sc_flags |= WPI_F_RADIO_OFF;
usr/src/uts/common/io/wpi/wpi.c
2553
if ((sc->sc_flags & WPI_F_SUSPEND) ||
usr/src/uts/common/io/wpi/wpi.c
2554
(sc->sc_flags & WPI_F_RADIO_OFF)) {
usr/src/uts/common/io/wpi/wpi.c
2555
mutex_exit(&sc->sc_mt_lock);
usr/src/uts/common/io/wpi/wpi.c
2557
mutex_enter(&sc->sc_mt_lock);
usr/src/uts/common/io/wpi/wpi.c
2565
(sc->sc_flags & WPI_F_HW_ERR_RECOVER)) {
usr/src/uts/common/io/wpi/wpi.c
2571
wpi_stop(sc);
usr/src/uts/common/io/wpi/wpi.c
2573
if (WPI_CHK_FAST_RECOVER(sc)) {
usr/src/uts/common/io/wpi/wpi.c
2575
bcopy(&sc->sc_config, &sc->sc_config_save,
usr/src/uts/common/io/wpi/wpi.c
2576
sizeof (sc->sc_config));
usr/src/uts/common/io/wpi/wpi.c
2578
mutex_exit(&sc->sc_mt_lock);
usr/src/uts/common/io/wpi/wpi.c
2581
mutex_enter(&sc->sc_mt_lock);
usr/src/uts/common/io/wpi/wpi.c
2584
err = wpi_init(sc);
usr/src/uts/common/io/wpi/wpi.c
2592
sc->sc_flags |= WPI_F_RUNNING;
usr/src/uts/common/io/wpi/wpi.c
2594
if (!WPI_CHK_FAST_RECOVER(sc) ||
usr/src/uts/common/io/wpi/wpi.c
2595
wpi_fast_recover(sc) != WPI_SUCCESS) {
usr/src/uts/common/io/wpi/wpi.c
2596
sc->sc_flags &= ~WPI_F_HW_ERR_RECOVER;
usr/src/uts/common/io/wpi/wpi.c
2598
mutex_exit(&sc->sc_mt_lock);
usr/src/uts/common/io/wpi/wpi.c
2600
if (sc->sc_ostate != IEEE80211_S_INIT)
usr/src/uts/common/io/wpi/wpi.c
2603
mutex_enter(&sc->sc_mt_lock);
usr/src/uts/common/io/wpi/wpi.c
2607
if (ic->ic_mach && (sc->sc_flags & WPI_F_LAZY_RESUME)) {
usr/src/uts/common/io/wpi/wpi.c
2611
sc->sc_flags &= ~WPI_F_LAZY_RESUME;
usr/src/uts/common/io/wpi/wpi.c
2612
mutex_exit(&sc->sc_mt_lock);
usr/src/uts/common/io/wpi/wpi.c
2619
ieee80211_new_state(&sc->sc_ic, IEEE80211_S_INIT, -1);
usr/src/uts/common/io/wpi/wpi.c
2620
mutex_enter(&sc->sc_mt_lock);
usr/src/uts/common/io/wpi/wpi.c
2627
(sc->sc_flags & WPI_F_SCANNING) && sc->sc_scan_next) {
usr/src/uts/common/io/wpi/wpi.c
2633
sc->sc_scan_next--;
usr/src/uts/common/io/wpi/wpi.c
2634
mutex_exit(&sc->sc_mt_lock);
usr/src/uts/common/io/wpi/wpi.c
2636
if (sc->sc_flags & WPI_F_SCANNING)
usr/src/uts/common/io/wpi/wpi.c
2638
mutex_enter(&sc->sc_mt_lock);
usr/src/uts/common/io/wpi/wpi.c
2645
(sc->sc_flags & WPI_F_RATE_AUTO_CTL)) {
usr/src/uts/common/io/wpi/wpi.c
2647
if (clk > sc->sc_clk + drv_usectohz(500000)) {
usr/src/uts/common/io/wpi/wpi.c
2648
wpi_amrr_timeout(sc);
usr/src/uts/common/io/wpi/wpi.c
2651
mutex_exit(&sc->sc_mt_lock);
usr/src/uts/common/io/wpi/wpi.c
2653
mutex_enter(&sc->sc_mt_lock);
usr/src/uts/common/io/wpi/wpi.c
2654
if (sc->sc_tx_timer) {
usr/src/uts/common/io/wpi/wpi.c
2657
sc->sc_tx_timer--;
usr/src/uts/common/io/wpi/wpi.c
2658
if (sc->sc_tx_timer == 0) {
usr/src/uts/common/io/wpi/wpi.c
2659
sc->sc_flags |= WPI_F_HW_ERR_RECOVER;
usr/src/uts/common/io/wpi/wpi.c
2660
sc->sc_ostate = IEEE80211_S_RUN;
usr/src/uts/common/io/wpi/wpi.c
2668
sc->sc_mf_thread = NULL;
usr/src/uts/common/io/wpi/wpi.c
2669
cv_signal(&sc->sc_mt_cv);
usr/src/uts/common/io/wpi/wpi.c
2670
mutex_exit(&sc->sc_mt_lock);
usr/src/uts/common/io/wpi/wpi.c
2677
wpi_read_eeprom(wpi_sc_t *sc)
usr/src/uts/common/io/wpi/wpi.c
2679
ieee80211com_t *ic = &sc->sc_ic;
usr/src/uts/common/io/wpi/wpi.c
2684
val = wpi_read_prom_word(sc, WPI_EEPROM_MAC + 0);
usr/src/uts/common/io/wpi/wpi.c
2687
val = wpi_read_prom_word(sc, WPI_EEPROM_MAC + 1);
usr/src/uts/common/io/wpi/wpi.c
2690
val = wpi_read_prom_word(sc, WPI_EEPROM_MAC + 2);
usr/src/uts/common/io/wpi/wpi.c
2701
sc->sc_pwr1[i] = wpi_read_prom_word(sc, WPI_EEPROM_PWR1 + i);
usr/src/uts/common/io/wpi/wpi.c
2702
sc->sc_pwr2[i] = wpi_read_prom_word(sc, WPI_EEPROM_PWR2 + i);
usr/src/uts/common/io/wpi/wpi.c
2705
sc->sc_pwr1[i], sc->sc_pwr2[i]));
usr/src/uts/common/io/wpi/wpi.c
2713
wpi_cmd(wpi_sc_t *sc, int code, const void *buf, int size, int async)
usr/src/uts/common/io/wpi/wpi.c
2715
wpi_tx_ring_t *ring = &sc->sc_cmdq;
usr/src/uts/common/io/wpi/wpi.c
2720
ASSERT(mutex_owned(&sc->sc_glock));
usr/src/uts/common/io/wpi/wpi.c
2738
WPI_WRITE(sc, WPI_TX_WIDX, ring->qid << 8 | ring->cur);
usr/src/uts/common/io/wpi/wpi.c
2744
sc->sc_flags &= ~WPI_F_CMD_DONE;
usr/src/uts/common/io/wpi/wpi.c
2746
while (!(sc->sc_flags & WPI_F_CMD_DONE)) {
usr/src/uts/common/io/wpi/wpi.c
2747
if (cv_timedwait(&sc->sc_cmd_cv, &sc->sc_glock, clk)
usr/src/uts/common/io/wpi/wpi.c
2751
if (sc->sc_flags & WPI_F_CMD_DONE)
usr/src/uts/common/io/wpi/wpi.c
2762
wpi_mrr_setup(wpi_sc_t *sc)
usr/src/uts/common/io/wpi/wpi.c
2789
err = wpi_cmd(sc, WPI_CMD_MRR_SETUP, &mrr, sizeof (mrr), 1);
usr/src/uts/common/io/wpi/wpi.c
279
static void wpi_destroy_locks(wpi_sc_t *sc);
usr/src/uts/common/io/wpi/wpi.c
2798
err = wpi_cmd(sc, WPI_CMD_MRR_SETUP, &mrr, sizeof (mrr), 1);
usr/src/uts/common/io/wpi/wpi.c
2809
wpi_set_led(wpi_sc_t *sc, uint8_t which, uint8_t off, uint8_t on)
usr/src/uts/common/io/wpi/wpi.c
281
static void wpi_thread(wpi_sc_t *sc);
usr/src/uts/common/io/wpi/wpi.c
2818
(void) wpi_cmd(sc, WPI_CMD_SET_LED, &led, sizeof (led), 1);
usr/src/uts/common/io/wpi/wpi.c
282
static int wpi_fast_recover(wpi_sc_t *sc);
usr/src/uts/common/io/wpi/wpi.c
2822
wpi_auth(wpi_sc_t *sc)
usr/src/uts/common/io/wpi/wpi.c
2824
ieee80211com_t *ic = &sc->sc_ic;
usr/src/uts/common/io/wpi/wpi.c
2830
IEEE80211_ADDR_COPY(sc->sc_config.bssid, in->in_bssid);
usr/src/uts/common/io/wpi/wpi.c
2831
sc->sc_config.chan = ieee80211_chan2ieee(ic, in->in_chan);
usr/src/uts/common/io/wpi/wpi.c
2833
sc->sc_config.cck_mask = 0x03;
usr/src/uts/common/io/wpi/wpi.c
2834
sc->sc_config.ofdm_mask = 0;
usr/src/uts/common/io/wpi/wpi.c
2837
sc->sc_config.cck_mask = 0;
usr/src/uts/common/io/wpi/wpi.c
2838
sc->sc_config.ofdm_mask = 0x15;
usr/src/uts/common/io/wpi/wpi.c
2840
sc->sc_config.cck_mask = 0x0f;
usr/src/uts/common/io/wpi/wpi.c
2841
sc->sc_config.ofdm_mask = 0xff;
usr/src/uts/common/io/wpi/wpi.c
2846
sc->sc_config.chan, sc->sc_config.flags,
usr/src/uts/common/io/wpi/wpi.c
2847
sc->sc_config.cck_mask, sc->sc_config.ofdm_mask,
usr/src/uts/common/io/wpi/wpi.c
2848
sc->sc_config.bssid[0], sc->sc_config.bssid[1],
usr/src/uts/common/io/wpi/wpi.c
2849
sc->sc_config.bssid[2], sc->sc_config.bssid[3],
usr/src/uts/common/io/wpi/wpi.c
2850
sc->sc_config.bssid[4], sc->sc_config.bssid[5]));
usr/src/uts/common/io/wpi/wpi.c
2851
err = wpi_cmd(sc, WPI_CMD_CONFIGURE, &sc->sc_config,
usr/src/uts/common/io/wpi/wpi.c
2855
sc->sc_config.chan);
usr/src/uts/common/io/wpi/wpi.c
2864
err = wpi_cmd(sc, WPI_CMD_ADD_NODE, &node, sizeof (node), 1);
usr/src/uts/common/io/wpi/wpi.c
2870
err = wpi_mrr_setup(sc);
usr/src/uts/common/io/wpi/wpi.c
2883
wpi_scan(wpi_sc_t *sc)
usr/src/uts/common/io/wpi/wpi.c
2885
ieee80211com_t *ic = &sc->sc_ic;
usr/src/uts/common/io/wpi/wpi.c
2886
wpi_tx_ring_t *ring = &sc->sc_cmdq;
usr/src/uts/common/io/wpi/wpi.c
2901
if (sc->sc_scan_pending) {
usr/src/uts/common/io/wpi/wpi.c
3024
WPI_WRITE(sc, WPI_TX_WIDX, ring->qid << 8 | ring->cur);
usr/src/uts/common/io/wpi/wpi.c
3026
sc->sc_scan_pending = 1;
usr/src/uts/common/io/wpi/wpi.c
3032
wpi_config(wpi_sc_t *sc)
usr/src/uts/common/io/wpi/wpi.c
3034
ieee80211com_t *ic = &sc->sc_ic;
usr/src/uts/common/io/wpi/wpi.c
3047
(void) memcpy(txpower.pwr1, sc->sc_pwr1, 14 * sizeof (uint16_t));
usr/src/uts/common/io/wpi/wpi.c
3048
(void) memcpy(txpower.pwr2, sc->sc_pwr2, 14 * sizeof (uint16_t));
usr/src/uts/common/io/wpi/wpi.c
3049
err = wpi_cmd(sc, WPI_CMD_TXPOWER, &txpower, sizeof (txpower), 0);
usr/src/uts/common/io/wpi/wpi.c
3058
err = wpi_cmd(sc, WPI_CMD_SET_POWER_MODE, &power, sizeof (power), 0);
usr/src/uts/common/io/wpi/wpi.c
3069
err = wpi_cmd(sc, WPI_CMD_BLUETOOTH, &bluetooth,
usr/src/uts/common/io/wpi/wpi.c
3079
(void) memset(&sc->sc_config, 0, sizeof (wpi_config_t));
usr/src/uts/common/io/wpi/wpi.c
3080
IEEE80211_ADDR_COPY(sc->sc_config.myaddr, ic->ic_macaddr);
usr/src/uts/common/io/wpi/wpi.c
3081
sc->sc_config.chan = ieee80211_chan2ieee(ic, ic->ic_curchan);
usr/src/uts/common/io/wpi/wpi.c
3082
sc->sc_config.flags = LE_32(WPI_CONFIG_TSF | WPI_CONFIG_AUTO |
usr/src/uts/common/io/wpi/wpi.c
3084
sc->sc_config.filter = 0;
usr/src/uts/common/io/wpi/wpi.c
3087
sc->sc_config.mode = WPI_MODE_STA;
usr/src/uts/common/io/wpi/wpi.c
3088
sc->sc_config.filter |= LE_32(WPI_FILTER_MULTICAST);
usr/src/uts/common/io/wpi/wpi.c
3092
sc->sc_config.mode = WPI_MODE_IBSS;
usr/src/uts/common/io/wpi/wpi.c
3095
sc->sc_config.mode = WPI_MODE_HOSTAP;
usr/src/uts/common/io/wpi/wpi.c
3098
sc->sc_config.mode = WPI_MODE_MONITOR;
usr/src/uts/common/io/wpi/wpi.c
3099
sc->sc_config.filter |= LE_32(WPI_FILTER_MULTICAST |
usr/src/uts/common/io/wpi/wpi.c
3103
sc->sc_config.cck_mask = 0x0f; /* not yet negotiated */
usr/src/uts/common/io/wpi/wpi.c
3104
sc->sc_config.ofdm_mask = 0xff; /* not yet negotiated */
usr/src/uts/common/io/wpi/wpi.c
3105
err = wpi_cmd(sc, WPI_CMD_CONFIGURE, &sc->sc_config,
usr/src/uts/common/io/wpi/wpi.c
3118
err = wpi_cmd(sc, WPI_CMD_ADD_NODE, &node, sizeof (node), 0);
usr/src/uts/common/io/wpi/wpi.c
3129
wpi_stop_master(wpi_sc_t *sc)
usr/src/uts/common/io/wpi/wpi.c
3134
tmp = WPI_READ(sc, WPI_RESET);
usr/src/uts/common/io/wpi/wpi.c
3135
WPI_WRITE(sc, WPI_RESET, tmp | WPI_STOP_MASTER);
usr/src/uts/common/io/wpi/wpi.c
3137
tmp = WPI_READ(sc, WPI_GPIO_CTL);
usr/src/uts/common/io/wpi/wpi.c
3142
if (WPI_READ(sc, WPI_RESET) & WPI_MASTER_DISABLED)
usr/src/uts/common/io/wpi/wpi.c
3151
wpi_power_up(wpi_sc_t *sc)
usr/src/uts/common/io/wpi/wpi.c
3156
wpi_mem_lock(sc);
usr/src/uts/common/io/wpi/wpi.c
3157
tmp = wpi_mem_read(sc, WPI_MEM_POWER);
usr/src/uts/common/io/wpi/wpi.c
3158
wpi_mem_write(sc, WPI_MEM_POWER, tmp & ~0x03000000);
usr/src/uts/common/io/wpi/wpi.c
3159
wpi_mem_unlock(sc);
usr/src/uts/common/io/wpi/wpi.c
3162
if (WPI_READ(sc, WPI_GPIO_STATUS) & WPI_POWERED)
usr/src/uts/common/io/wpi/wpi.c
3175
wpi_reset(wpi_sc_t *sc)
usr/src/uts/common/io/wpi/wpi.c
3181
WPI_WRITE(sc, WPI_INTR, 0xffffffff);
usr/src/uts/common/io/wpi/wpi.c
3183
tmp = WPI_READ(sc, WPI_PLL_CTL);
usr/src/uts/common/io/wpi/wpi.c
3184
WPI_WRITE(sc, WPI_PLL_CTL, tmp | WPI_PLL_INIT);
usr/src/uts/common/io/wpi/wpi.c
3186
tmp = WPI_READ(sc, WPI_CHICKEN);
usr/src/uts/common/io/wpi/wpi.c
3187
WPI_WRITE(sc, WPI_CHICKEN, tmp | WPI_CHICKEN_RXNOLOS);
usr/src/uts/common/io/wpi/wpi.c
3189
tmp = WPI_READ(sc, WPI_GPIO_CTL);
usr/src/uts/common/io/wpi/wpi.c
3190
WPI_WRITE(sc, WPI_GPIO_CTL, tmp | WPI_GPIO_INIT);
usr/src/uts/common/io/wpi/wpi.c
3194
if (WPI_READ(sc, WPI_GPIO_CTL) & WPI_GPIO_CLOCK)
usr/src/uts/common/io/wpi/wpi.c
3205
tmp = WPI_READ(sc, WPI_EEPROM_STATUS);
usr/src/uts/common/io/wpi/wpi.c
3210
WPI_WRITE(sc, WPI_EEPROM_STATUS, tmp & ~WPI_EEPROM_LOCKED);
usr/src/uts/common/io/wpi/wpi.c
3216
wpi_hw_config(wpi_sc_t *sc)
usr/src/uts/common/io/wpi/wpi.c
3222
hw = WPI_READ(sc, WPI_HWCONFIG);
usr/src/uts/common/io/wpi/wpi.c
3224
if ((sc->sc_rev & 0xc0) == 0x40)
usr/src/uts/common/io/wpi/wpi.c
3226
else if (!(sc->sc_rev & 0x80))
usr/src/uts/common/io/wpi/wpi.c
3229
val = wpi_read_prom_word(sc, WPI_EEPROM_CAPABILITIES);
usr/src/uts/common/io/wpi/wpi.c
3233
val = wpi_read_prom_word(sc, WPI_EEPROM_REVISION);
usr/src/uts/common/io/wpi/wpi.c
3238
val = wpi_read_prom_word(sc, WPI_EEPROM_TYPE);
usr/src/uts/common/io/wpi/wpi.c
3243
WPI_WRITE(sc, WPI_HWCONFIG, hw);
usr/src/uts/common/io/wpi/wpi.c
3247
wpi_init(wpi_sc_t *sc)
usr/src/uts/common/io/wpi/wpi.c
3253
mutex_enter(&sc->sc_glock);
usr/src/uts/common/io/wpi/wpi.c
3254
sc->sc_flags &= ~WPI_F_FW_INIT;
usr/src/uts/common/io/wpi/wpi.c
3256
(void) wpi_reset(sc);
usr/src/uts/common/io/wpi/wpi.c
3258
wpi_mem_lock(sc);
usr/src/uts/common/io/wpi/wpi.c
3259
wpi_mem_write(sc, WPI_MEM_CLOCK1, 0xa00);
usr/src/uts/common/io/wpi/wpi.c
3261
tmp = wpi_mem_read(sc, WPI_MEM_PCIDEV);
usr/src/uts/common/io/wpi/wpi.c
3262
wpi_mem_write(sc, WPI_MEM_PCIDEV, tmp | 0x800);
usr/src/uts/common/io/wpi/wpi.c
3263
wpi_mem_unlock(sc);
usr/src/uts/common/io/wpi/wpi.c
3265
(void) wpi_power_up(sc);
usr/src/uts/common/io/wpi/wpi.c
3266
wpi_hw_config(sc);
usr/src/uts/common/io/wpi/wpi.c
3268
tmp = WPI_READ(sc, WPI_GPIO_CTL);
usr/src/uts/common/io/wpi/wpi.c
3275
wpi_mem_lock(sc);
usr/src/uts/common/io/wpi/wpi.c
3276
WPI_WRITE(sc, WPI_RX_BASE, sc->sc_rxq.dma_desc.cookie.dmac_address);
usr/src/uts/common/io/wpi/wpi.c
3277
WPI_WRITE(sc, WPI_RX_RIDX_PTR,
usr/src/uts/common/io/wpi/wpi.c
3278
(uint32_t)(sc->sc_dma_sh.cookie.dmac_address +
usr/src/uts/common/io/wpi/wpi.c
3280
WPI_WRITE(sc, WPI_RX_WIDX, (WPI_RX_RING_COUNT - 1) & (~7));
usr/src/uts/common/io/wpi/wpi.c
3281
WPI_WRITE(sc, WPI_RX_CONFIG, 0xa9601010);
usr/src/uts/common/io/wpi/wpi.c
3282
wpi_mem_unlock(sc);
usr/src/uts/common/io/wpi/wpi.c
3285
wpi_mem_lock(sc);
usr/src/uts/common/io/wpi/wpi.c
3286
wpi_mem_write(sc, WPI_MEM_MODE, 2); /* bypass mode */
usr/src/uts/common/io/wpi/wpi.c
3287
wpi_mem_write(sc, WPI_MEM_RA, 1); /* enable RA0 */
usr/src/uts/common/io/wpi/wpi.c
3288
wpi_mem_write(sc, WPI_MEM_TXCFG, 0x3f); /* enable all 6 Tx rings */
usr/src/uts/common/io/wpi/wpi.c
3289
wpi_mem_write(sc, WPI_MEM_BYPASS1, 0x10000);
usr/src/uts/common/io/wpi/wpi.c
3290
wpi_mem_write(sc, WPI_MEM_BYPASS2, 0x30002);
usr/src/uts/common/io/wpi/wpi.c
3291
wpi_mem_write(sc, WPI_MEM_MAGIC4, 4);
usr/src/uts/common/io/wpi/wpi.c
3292
wpi_mem_write(sc, WPI_MEM_MAGIC5, 5);
usr/src/uts/common/io/wpi/wpi.c
3294
WPI_WRITE(sc, WPI_TX_BASE_PTR, sc->sc_dma_sh.cookie.dmac_address);
usr/src/uts/common/io/wpi/wpi.c
3295
WPI_WRITE(sc, WPI_MSG_CONFIG, 0xffff05a5);
usr/src/uts/common/io/wpi/wpi.c
3298
WPI_WRITE(sc, WPI_TX_CTL(qid), 0);
usr/src/uts/common/io/wpi/wpi.c
3299
WPI_WRITE(sc, WPI_TX_BASE(qid), 0);
usr/src/uts/common/io/wpi/wpi.c
3300
WPI_WRITE(sc, WPI_TX_CONFIG(qid), 0x80200008);
usr/src/uts/common/io/wpi/wpi.c
3302
wpi_mem_unlock(sc);
usr/src/uts/common/io/wpi/wpi.c
3305
WPI_WRITE(sc, WPI_UCODE_CLR, WPI_RADIO_OFF);
usr/src/uts/common/io/wpi/wpi.c
3306
WPI_WRITE(sc, WPI_UCODE_CLR, WPI_DISABLE_CMD);
usr/src/uts/common/io/wpi/wpi.c
3309
WPI_WRITE(sc, WPI_INTR, 0xffffffff);
usr/src/uts/common/io/wpi/wpi.c
3312
WPI_WRITE(sc, WPI_MASK, WPI_INTR_MASK);
usr/src/uts/common/io/wpi/wpi.c
3315
err = wpi_load_microcode(sc);
usr/src/uts/common/io/wpi/wpi.c
3322
err = wpi_load_firmware(sc, WPI_FW_TEXT);
usr/src/uts/common/io/wpi/wpi.c
3330
err = wpi_load_firmware(sc, WPI_FW_DATA);
usr/src/uts/common/io/wpi/wpi.c
3338
tmp = WPI_READ(sc, WPI_RESET);
usr/src/uts/common/io/wpi/wpi.c
3340
WPI_WRITE(sc, WPI_RESET, tmp);
usr/src/uts/common/io/wpi/wpi.c
3344
while (!(sc->sc_flags & WPI_F_FW_INIT)) {
usr/src/uts/common/io/wpi/wpi.c
3345
if (cv_timedwait(&sc->sc_fw_cv, &sc->sc_glock, clk) < 0)
usr/src/uts/common/io/wpi/wpi.c
3348
if (!(sc->sc_flags & WPI_F_FW_INIT)) {
usr/src/uts/common/io/wpi/wpi.c
3356
if (WPI_READ(sc, WPI_TEMPERATURE) != 0)
usr/src/uts/common/io/wpi/wpi.c
3368
(int)WPI_READ(sc, WPI_TEMPERATURE)));
usr/src/uts/common/io/wpi/wpi.c
3370
err = wpi_config(sc);
usr/src/uts/common/io/wpi/wpi.c
3376
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/wpi/wpi.c
3381
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/wpi/wpi.c
3386
wpi_fast_recover(wpi_sc_t *sc)
usr/src/uts/common/io/wpi/wpi.c
3388
ieee80211com_t *ic = &sc->sc_ic;
usr/src/uts/common/io/wpi/wpi.c
3391
mutex_enter(&sc->sc_glock);
usr/src/uts/common/io/wpi/wpi.c
3394
bcopy(&sc->sc_config_save, &sc->sc_config,
usr/src/uts/common/io/wpi/wpi.c
3395
sizeof (sc->sc_config));
usr/src/uts/common/io/wpi/wpi.c
3397
sc->sc_config.state = 0;
usr/src/uts/common/io/wpi/wpi.c
3398
sc->sc_config.filter &= ~LE_32(WPI_FILTER_BSS);
usr/src/uts/common/io/wpi/wpi.c
3400
if ((err = wpi_auth(sc)) != 0) {
usr/src/uts/common/io/wpi/wpi.c
3403
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/wpi/wpi.c
3407
sc->sc_config.state = LE_16(WPI_CONFIG_ASSOCIATED);
usr/src/uts/common/io/wpi/wpi.c
3408
sc->sc_config.flags &= ~LE_32(WPI_CONFIG_SHPREAMBLE |
usr/src/uts/common/io/wpi/wpi.c
3411
sc->sc_config.flags |= LE_32(WPI_CONFIG_SHSLOT);
usr/src/uts/common/io/wpi/wpi.c
3413
sc->sc_config.flags |= LE_32(WPI_CONFIG_SHPREAMBLE);
usr/src/uts/common/io/wpi/wpi.c
3414
sc->sc_config.filter |= LE_32(WPI_FILTER_BSS);
usr/src/uts/common/io/wpi/wpi.c
3416
sc->sc_config.filter |= LE_32(WPI_FILTER_BEACON);
usr/src/uts/common/io/wpi/wpi.c
3419
sc->sc_config.chan, sc->sc_config.flags));
usr/src/uts/common/io/wpi/wpi.c
3420
err = wpi_cmd(sc, WPI_CMD_CONFIGURE, &sc->sc_config,
usr/src/uts/common/io/wpi/wpi.c
3424
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/wpi/wpi.c
3428
wpi_set_led(sc, WPI_LED_LINK, 0, 1);
usr/src/uts/common/io/wpi/wpi.c
3430
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/wpi/wpi.c
3448
sc->sc_flags &= ~WPI_F_HW_ERR_RECOVER;
usr/src/uts/common/io/wpi/wpi.c
3468
wpi_sc_t *sc;
usr/src/uts/common/io/wpi/wpi.c
3470
sc = ddi_get_soft_state(wpi_soft_state_p, ddi_get_instance(dip));
usr/src/uts/common/io/wpi/wpi.c
3471
if (sc == NULL)
usr/src/uts/common/io/wpi/wpi.c
3483
sc->sc_flags |= WPI_F_QUIESCED;
usr/src/uts/common/io/wpi/wpi.c
3488
wpi_stop(sc);
usr/src/uts/common/io/wpi/wpi.c
3493
wpi_stop(wpi_sc_t *sc)
usr/src/uts/common/io/wpi/wpi.c
3499
if (!(sc->sc_flags & WPI_F_QUIESCED))
usr/src/uts/common/io/wpi/wpi.c
3500
mutex_enter(&sc->sc_glock);
usr/src/uts/common/io/wpi/wpi.c
3503
WPI_WRITE(sc, WPI_MASK, 0);
usr/src/uts/common/io/wpi/wpi.c
3504
WPI_WRITE(sc, WPI_INTR, WPI_INTR_MASK);
usr/src/uts/common/io/wpi/wpi.c
3505
WPI_WRITE(sc, WPI_INTR_STATUS, 0xff);
usr/src/uts/common/io/wpi/wpi.c
3506
WPI_WRITE(sc, WPI_INTR_STATUS, 0x00070000);
usr/src/uts/common/io/wpi/wpi.c
3508
wpi_mem_lock(sc);
usr/src/uts/common/io/wpi/wpi.c
3509
wpi_mem_write(sc, WPI_MEM_MODE, 0);
usr/src/uts/common/io/wpi/wpi.c
3510
wpi_mem_unlock(sc);
usr/src/uts/common/io/wpi/wpi.c
3514
wpi_reset_tx_ring(sc, &sc->sc_txq[ac]);
usr/src/uts/common/io/wpi/wpi.c
3515
wpi_reset_tx_ring(sc, &sc->sc_cmdq);
usr/src/uts/common/io/wpi/wpi.c
3516
wpi_reset_tx_ring(sc, &sc->sc_svcq);
usr/src/uts/common/io/wpi/wpi.c
3519
wpi_reset_rx_ring(sc);
usr/src/uts/common/io/wpi/wpi.c
3521
wpi_mem_lock(sc);
usr/src/uts/common/io/wpi/wpi.c
3522
wpi_mem_write(sc, WPI_MEM_CLOCK2, 0x200);
usr/src/uts/common/io/wpi/wpi.c
3523
wpi_mem_unlock(sc);
usr/src/uts/common/io/wpi/wpi.c
3527
wpi_stop_master(sc);
usr/src/uts/common/io/wpi/wpi.c
3529
sc->sc_tx_timer = 0;
usr/src/uts/common/io/wpi/wpi.c
3530
sc->sc_flags &= ~WPI_F_SCANNING;
usr/src/uts/common/io/wpi/wpi.c
3531
sc->sc_scan_pending = 0;
usr/src/uts/common/io/wpi/wpi.c
3532
sc->sc_scan_next = 0;
usr/src/uts/common/io/wpi/wpi.c
3534
tmp = WPI_READ(sc, WPI_RESET);
usr/src/uts/common/io/wpi/wpi.c
3535
WPI_WRITE(sc, WPI_RESET, tmp | WPI_SW_RESET);
usr/src/uts/common/io/wpi/wpi.c
3538
if (!(sc->sc_flags & WPI_F_QUIESCED))
usr/src/uts/common/io/wpi/wpi.c
3539
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/wpi/wpi.c
3579
wpi_amrr_timeout(wpi_sc_t *sc)
usr/src/uts/common/io/wpi/wpi.c
3581
ieee80211com_t *ic = &sc->sc_ic;
usr/src/uts/common/io/wpi/wpi.c
3588
sc->sc_clk = ddi_get_lbolt();
usr/src/uts/common/io/wpi/wpi.c
405
wpi_sc_t *sc;
usr/src/uts/common/io/wpi/wpi.c
418
sc = ddi_get_soft_state(wpi_soft_state_p,
usr/src/uts/common/io/wpi/wpi.c
420
ASSERT(sc != NULL);
usr/src/uts/common/io/wpi/wpi.c
422
mutex_enter(&sc->sc_glock);
usr/src/uts/common/io/wpi/wpi.c
423
sc->sc_flags &= ~WPI_F_SUSPEND;
usr/src/uts/common/io/wpi/wpi.c
424
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/wpi/wpi.c
426
if (sc->sc_flags & WPI_F_RUNNING)
usr/src/uts/common/io/wpi/wpi.c
427
(void) wpi_init(sc);
usr/src/uts/common/io/wpi/wpi.c
429
mutex_enter(&sc->sc_glock);
usr/src/uts/common/io/wpi/wpi.c
430
sc->sc_flags |= WPI_F_LAZY_RESUME;
usr/src/uts/common/io/wpi/wpi.c
431
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/wpi/wpi.c
447
sc = ddi_get_soft_state(wpi_soft_state_p, instance);
usr/src/uts/common/io/wpi/wpi.c
448
sc->sc_dip = dip;
usr/src/uts/common/io/wpi/wpi.c
457
sc->sc_rev = ddi_get8(cfg_handle,
usr/src/uts/common/io/wpi/wpi.c
460
sc->sc_clsz = ddi_get16(cfg_handle,
usr/src/uts/common/io/wpi/wpi.c
463
if (!sc->sc_clsz)
usr/src/uts/common/io/wpi/wpi.c
464
sc->sc_clsz = 16;
usr/src/uts/common/io/wpi/wpi.c
465
sc->sc_clsz = (sc->sc_clsz << 2);
usr/src/uts/common/io/wpi/wpi.c
466
sc->sc_dmabuf_sz = roundup(0x1000 + sizeof (struct ieee80211_frame) +
usr/src/uts/common/io/wpi/wpi.c
469
IEEE80211_WEP_CRCLEN), sc->sc_clsz);
usr/src/uts/common/io/wpi/wpi.c
473
err = ddi_regs_map_setup(dip, 1, &sc->sc_base,
usr/src/uts/common/io/wpi/wpi.c
474
0, 0, &wpi_reg_accattr, &sc->sc_handle);
usr/src/uts/common/io/wpi/wpi.c
484
err = wpi_alloc_shared(sc);
usr/src/uts/common/io/wpi/wpi.c
493
wpi_read_eeprom(sc);
usr/src/uts/common/io/wpi/wpi.c
494
err = wpi_ring_init(sc);
usr/src/uts/common/io/wpi/wpi.c
501
sc->sc_hdr = (const wpi_firmware_hdr_t *)wpi_fw_bin;
usr/src/uts/common/io/wpi/wpi.c
504
sc->sc_text = (const char *)(sc->sc_hdr + 1);
usr/src/uts/common/io/wpi/wpi.c
505
sc->sc_data = sc->sc_text + LE_32(sc->sc_hdr->textsz);
usr/src/uts/common/io/wpi/wpi.c
506
sc->sc_boot = sc->sc_data + LE_32(sc->sc_hdr->datasz);
usr/src/uts/common/io/wpi/wpi.c
507
err = wpi_alloc_fw_dma(sc);
usr/src/uts/common/io/wpi/wpi.c
517
err = ddi_get_iblock_cookie(dip, 0, &sc->sc_iblk);
usr/src/uts/common/io/wpi/wpi.c
523
mutex_init(&sc->sc_glock, NULL, MUTEX_DRIVER, sc->sc_iblk);
usr/src/uts/common/io/wpi/wpi.c
524
mutex_init(&sc->sc_tx_lock, NULL, MUTEX_DRIVER, sc->sc_iblk);
usr/src/uts/common/io/wpi/wpi.c
525
cv_init(&sc->sc_fw_cv, NULL, CV_DRIVER, NULL);
usr/src/uts/common/io/wpi/wpi.c
526
cv_init(&sc->sc_cmd_cv, NULL, CV_DRIVER, NULL);
usr/src/uts/common/io/wpi/wpi.c
531
mutex_init(&sc->sc_mt_lock, NULL, MUTEX_DRIVER,
usr/src/uts/common/io/wpi/wpi.c
532
(void *) sc->sc_iblk);
usr/src/uts/common/io/wpi/wpi.c
533
cv_init(&sc->sc_mt_cv, NULL, CV_DRIVER, NULL);
usr/src/uts/common/io/wpi/wpi.c
534
sc->sc_mf_thread = NULL;
usr/src/uts/common/io/wpi/wpi.c
535
sc->sc_mf_thread_switch = 0;
usr/src/uts/common/io/wpi/wpi.c
540
ic = &sc->sc_ic;
usr/src/uts/common/io/wpi/wpi.c
581
sc->sc_newstate = ic->ic_newstate;
usr/src/uts/common/io/wpi/wpi.c
593
&sc->sc_notif_softint_id, &sc->sc_iblk, NULL, wpi_notif_softintr,
usr/src/uts/common/io/wpi/wpi.c
594
(caddr_t)sc);
usr/src/uts/common/io/wpi/wpi.c
604
err = ddi_add_intr(dip, 0, &sc->sc_iblk, NULL,
usr/src/uts/common/io/wpi/wpi.c
605
wpi_intr, (caddr_t)sc);
usr/src/uts/common/io/wpi/wpi.c
627
macp->m_driver = sc;
usr/src/uts/common/io/wpi/wpi.c
667
sc->sc_mf_thread_switch = 1;
usr/src/uts/common/io/wpi/wpi.c
668
if (sc->sc_mf_thread == NULL)
usr/src/uts/common/io/wpi/wpi.c
669
sc->sc_mf_thread = thread_create((caddr_t)NULL, 0,
usr/src/uts/common/io/wpi/wpi.c
670
wpi_thread, sc, 0, &p0, TS_RUN, minclsyspri);
usr/src/uts/common/io/wpi/wpi.c
672
sc->sc_flags |= WPI_F_ATTACHED;
usr/src/uts/common/io/wpi/wpi.c
676
ddi_remove_intr(dip, 0, sc->sc_iblk);
usr/src/uts/common/io/wpi/wpi.c
678
ddi_remove_softintr(sc->sc_notif_softint_id);
usr/src/uts/common/io/wpi/wpi.c
679
sc->sc_notif_softint_id = NULL;
usr/src/uts/common/io/wpi/wpi.c
682
wpi_destroy_locks(sc);
usr/src/uts/common/io/wpi/wpi.c
684
wpi_free_fw_dma(sc);
usr/src/uts/common/io/wpi/wpi.c
686
wpi_ring_free(sc);
usr/src/uts/common/io/wpi/wpi.c
688
wpi_free_shared(sc);
usr/src/uts/common/io/wpi/wpi.c
690
ddi_regs_map_free(&sc->sc_handle);
usr/src/uts/common/io/wpi/wpi.c
700
wpi_sc_t *sc;
usr/src/uts/common/io/wpi/wpi.c
703
sc = ddi_get_soft_state(wpi_soft_state_p, ddi_get_instance(dip));
usr/src/uts/common/io/wpi/wpi.c
704
ASSERT(sc != NULL);
usr/src/uts/common/io/wpi/wpi.c
710
mutex_enter(&sc->sc_glock);
usr/src/uts/common/io/wpi/wpi.c
711
sc->sc_flags |= WPI_F_SUSPEND;
usr/src/uts/common/io/wpi/wpi.c
712
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/wpi/wpi.c
714
if (sc->sc_flags & WPI_F_RUNNING) {
usr/src/uts/common/io/wpi/wpi.c
715
wpi_stop(sc);
usr/src/uts/common/io/wpi/wpi.c
723
if (!(sc->sc_flags & WPI_F_ATTACHED))
usr/src/uts/common/io/wpi/wpi.c
726
err = mac_disable(sc->sc_ic.ic_mach);
usr/src/uts/common/io/wpi/wpi.c
733
mutex_enter(&sc->sc_mt_lock);
usr/src/uts/common/io/wpi/wpi.c
734
sc->sc_mf_thread_switch = 0;
usr/src/uts/common/io/wpi/wpi.c
735
while (sc->sc_mf_thread != NULL) {
usr/src/uts/common/io/wpi/wpi.c
736
if (cv_wait_sig(&sc->sc_mt_cv, &sc->sc_mt_lock) == 0)
usr/src/uts/common/io/wpi/wpi.c
739
mutex_exit(&sc->sc_mt_lock);
usr/src/uts/common/io/wpi/wpi.c
741
wpi_stop(sc);
usr/src/uts/common/io/wpi/wpi.c
746
(void) mac_unregister(sc->sc_ic.ic_mach);
usr/src/uts/common/io/wpi/wpi.c
748
mutex_enter(&sc->sc_glock);
usr/src/uts/common/io/wpi/wpi.c
749
wpi_free_fw_dma(sc);
usr/src/uts/common/io/wpi/wpi.c
750
wpi_ring_free(sc);
usr/src/uts/common/io/wpi/wpi.c
751
wpi_free_shared(sc);
usr/src/uts/common/io/wpi/wpi.c
752
mutex_exit(&sc->sc_glock);
usr/src/uts/common/io/wpi/wpi.c
754
ddi_remove_intr(dip, 0, sc->sc_iblk);
usr/src/uts/common/io/wpi/wpi.c
755
ddi_remove_softintr(sc->sc_notif_softint_id);
usr/src/uts/common/io/wpi/wpi.c
756
sc->sc_notif_softint_id = NULL;
usr/src/uts/common/io/wpi/wpi.c
761
ieee80211_detach(&sc->sc_ic);
usr/src/uts/common/io/wpi/wpi.c
763
wpi_destroy_locks(sc);
usr/src/uts/common/io/wpi/wpi.c
765
ddi_regs_map_free(&sc->sc_handle);
usr/src/uts/common/io/wpi/wpi.c
773
wpi_destroy_locks(wpi_sc_t *sc)
usr/src/uts/common/io/wpi/wpi.c
775
cv_destroy(&sc->sc_mt_cv);
usr/src/uts/common/io/wpi/wpi.c
776
mutex_destroy(&sc->sc_mt_lock);
usr/src/uts/common/io/wpi/wpi.c
777
cv_destroy(&sc->sc_cmd_cv);
usr/src/uts/common/io/wpi/wpi.c
778
cv_destroy(&sc->sc_fw_cv);
usr/src/uts/common/io/wpi/wpi.c
779
mutex_destroy(&sc->sc_tx_lock);
usr/src/uts/common/io/wpi/wpi.c
780
mutex_destroy(&sc->sc_glock);
usr/src/uts/common/io/wpi/wpi.c
787
wpi_alloc_dma_mem(wpi_sc_t *sc, size_t memsize, ddi_dma_attr_t *dma_attr_p,
usr/src/uts/common/io/wpi/wpi.c
796
err = ddi_dma_alloc_handle(sc->sc_dip, dma_attr_p,
usr/src/uts/common/io/wpi/wpi.c
869
wpi_alloc_fw_dma(wpi_sc_t *sc)
usr/src/uts/common/io/wpi/wpi.c
874
err = wpi_alloc_dma_mem(sc, LE_32(sc->sc_hdr->textsz),
usr/src/uts/common/io/wpi/wpi.c
877
&sc->sc_dma_fw_text);
usr/src/uts/common/io/wpi/wpi.c
878
dma_p = &sc->sc_dma_fw_text;
usr/src/uts/common/io/wpi/wpi.c
890
sc->sc_fw_text_cookie[i] = *c;
usr/src/uts/common/io/wpi/wpi.c
892
err = wpi_alloc_dma_mem(sc, LE_32(sc->sc_hdr->datasz),
usr/src/uts/common/io/wpi/wpi.c
895
&sc->sc_dma_fw_data);
usr/src/uts/common/io/wpi/wpi.c
896
dma_p = &sc->sc_dma_fw_data;
usr/src/uts/common/io/wpi/wpi.c
908
sc->sc_fw_data_cookie[i] = *c;
usr/src/uts/common/io/wpi/wpi.c
915
wpi_free_fw_dma(wpi_sc_t *sc)
usr/src/uts/common/io/wpi/wpi.c
917
wpi_free_dma_mem(&sc->sc_dma_fw_text);
usr/src/uts/common/io/wpi/wpi.c
918
wpi_free_dma_mem(&sc->sc_dma_fw_data);
usr/src/uts/common/io/wpi/wpi.c
925
wpi_alloc_shared(wpi_sc_t *sc)
usr/src/uts/common/io/wpi/wpi.c
930
err = wpi_alloc_dma_mem(sc, sizeof (wpi_shared_t),
usr/src/uts/common/io/wpi/wpi.c
933
&sc->sc_dma_sh);
usr/src/uts/common/io/wpi/wpi.c
936
sc->sc_shared = (wpi_shared_t *)sc->sc_dma_sh.mem_va;
usr/src/uts/common/io/wpi/wpi.c
940
wpi_free_shared(sc);
usr/src/uts/common/io/wpi/wpi.c
945
wpi_free_shared(wpi_sc_t *sc)
usr/src/uts/common/io/wpi/wpi.c
947
wpi_free_dma_mem(&sc->sc_dma_sh);
usr/src/uts/common/io/wpi/wpi.c
951
wpi_alloc_rx_ring(wpi_sc_t *sc)
usr/src/uts/common/io/wpi/wpi.c
957
ring = &sc->sc_rxq;
usr/src/uts/common/io/wpi/wpi.c
960
err = wpi_alloc_dma_mem(sc, WPI_RX_RING_COUNT * sizeof (uint32_t),
usr/src/uts/common/io/wpi/wpi.c
975
err = wpi_alloc_dma_mem(sc, sc->sc_dmabuf_sz,
usr/src/uts/common/io/wpi/wpi.c
993
wpi_free_rx_ring(sc);
usr/src/uts/common/io/wpi/wpi.c
998
wpi_reset_rx_ring(wpi_sc_t *sc)
usr/src/uts/common/io/wpi/wpireg.h
633
#define WPI_READ(sc, reg) \
usr/src/uts/common/io/wpi/wpireg.h
634
ddi_get32((sc)->sc_handle, (uint32_t *)((sc)->sc_base + (reg)))
usr/src/uts/common/io/wpi/wpireg.h
636
#define WPI_WRITE(sc, reg, val) \
usr/src/uts/common/io/wpi/wpireg.h
637
ddi_put32((sc)->sc_handle, (uint32_t *)((sc)->sc_base + (reg)), (val))
usr/src/uts/common/io/wpi/wpireg.h
639
#define WPI_WRITE_REGION_4(sc, offset, datap, count) { \
usr/src/uts/common/io/wpi/wpireg.h
644
ddi_put32((sc)->sc_handle, \
usr/src/uts/common/io/wpi/wpireg.h
645
(uint32_t *)((sc)->sc_base + s), *p); \
usr/src/uts/common/io/wpi/wpivar.h
68
#define WPI_CHK_FAST_RECOVER(sc) \
usr/src/uts/common/io/wpi/wpivar.h
69
(sc->sc_ic.ic_state == IEEE80211_S_RUN && \
usr/src/uts/common/io/wpi/wpivar.h
70
sc->sc_ic.ic_opmode == IEEE80211_M_STA)
usr/src/uts/common/io/yge/yge.h
1840
#define GMAC_WRITE_2(sc, port, reg, val) \
usr/src/uts/common/io/yge/yge.h
1841
CSR_WRITE_2((sc), GMAC_REG((port), (reg)), (val))
usr/src/uts/common/io/yge/yge.h
1842
#define GMAC_READ_2(sc, port, reg) \
usr/src/uts/common/io/yge/yge.h
1843
CSR_READ_2((sc), GMAC_REG((port), (reg)))
usr/src/uts/common/io/yge/yge.h
1844
#define GMAC_READ_4(sc, port, reg) \
usr/src/uts/common/io/yge/yge.h
1845
CSR_READ_4((sc), GMAC_REG((port), (reg)))
usr/src/uts/common/io/yge/yge.h
2229
#define YGE_USECS(sc, us) ((sc)->d_clock * (us))
usr/src/uts/common/io/zyd/zyd.c
1000
return (sc->newstate(ic, nstate, arg));
usr/src/uts/common/io/zyd/zyd.c
1018
zyd_serial_init(struct zyd_softc *sc)
usr/src/uts/common/io/zyd/zyd.c
1020
mutex_init(&sc->serial.lock, NULL, MUTEX_DRIVER,
usr/src/uts/common/io/zyd/zyd.c
1021
sc->usb.cdata->dev_iblock_cookie);
usr/src/uts/common/io/zyd/zyd.c
1022
cv_init(&sc->serial.wait, NULL, CV_DRIVER, NULL);
usr/src/uts/common/io/zyd/zyd.c
1024
sc->serial.held = B_FALSE;
usr/src/uts/common/io/zyd/zyd.c
1025
sc->serial.initialized = B_TRUE;
usr/src/uts/common/io/zyd/zyd.c
1039
zyd_serial_enter(struct zyd_softc *sc, boolean_t wait_sig)
usr/src/uts/common/io/zyd/zyd.c
1043
mutex_enter(&sc->serial.lock);
usr/src/uts/common/io/zyd/zyd.c
1047
while (sc->serial.held != B_FALSE) {
usr/src/uts/common/io/zyd/zyd.c
1049
res = cv_wait_sig(&sc->serial.wait, &sc->serial.lock);
usr/src/uts/common/io/zyd/zyd.c
1051
cv_wait(&sc->serial.wait, &sc->serial.lock);
usr/src/uts/common/io/zyd/zyd.c
1054
sc->serial.held = B_TRUE;
usr/src/uts/common/io/zyd/zyd.c
1056
mutex_exit(&sc->serial.lock);
usr/src/uts/common/io/zyd/zyd.c
1065
zyd_serial_exit(struct zyd_softc *sc)
usr/src/uts/common/io/zyd/zyd.c
1067
mutex_enter(&sc->serial.lock);
usr/src/uts/common/io/zyd/zyd.c
1068
sc->serial.held = B_FALSE;
usr/src/uts/common/io/zyd/zyd.c
1069
cv_broadcast(&sc->serial.wait);
usr/src/uts/common/io/zyd/zyd.c
1070
mutex_exit(&sc->serial.lock);
usr/src/uts/common/io/zyd/zyd.c
1077
zyd_serial_deinit(struct zyd_softc *sc)
usr/src/uts/common/io/zyd/zyd.c
1079
cv_destroy(&sc->serial.wait);
usr/src/uts/common/io/zyd/zyd.c
1080
mutex_destroy(&sc->serial.lock);
usr/src/uts/common/io/zyd/zyd.c
1082
sc->serial.initialized = B_FALSE;
usr/src/uts/common/io/zyd/zyd.c
207
struct zyd_softc *sc = arg;
usr/src/uts/common/io/zyd/zyd.c
208
struct ieee80211com *ic = &sc->ic;
usr/src/uts/common/io/zyd/zyd.c
223
zyd_receive(struct zyd_softc *sc, const uint8_t *buf, uint16_t len)
usr/src/uts/common/io/zyd/zyd.c
226
struct ieee80211com *ic = &sc->ic;
usr/src/uts/common/io/zyd/zyd.c
235
sc->rx_err++;
usr/src/uts/common/io/zyd/zyd.c
243
sc->rx_err++;
usr/src/uts/common/io/zyd/zyd.c
253
sc->rx_nobuf++;
usr/src/uts/common/io/zyd/zyd.c
283
struct zyd_softc *sc = ZYD_IC_TO_SOFTC(ic);
usr/src/uts/common/io/zyd/zyd.c
297
if (!sc->usb.connected || sc->suspended || !sc->running) {
usr/src/uts/common/io/zyd/zyd.c
306
if (sc->tx_queued >= ZYD_TX_LIST_COUNT) {
usr/src/uts/common/io/zyd/zyd.c
311
(void) zyd_serial_enter(sc, ZYD_NO_SIG);
usr/src/uts/common/io/zyd/zyd.c
312
sc->resched = B_TRUE;
usr/src/uts/common/io/zyd/zyd.c
313
zyd_serial_exit(sc);
usr/src/uts/common/io/zyd/zyd.c
321
sc->tx_nobuf++;
usr/src/uts/common/io/zyd/zyd.c
322
(void) zyd_serial_enter(sc, ZYD_NO_SIG);
usr/src/uts/common/io/zyd/zyd.c
323
sc->resched = B_TRUE;
usr/src/uts/common/io/zyd/zyd.c
324
zyd_serial_exit(sc);
usr/src/uts/common/io/zyd/zyd.c
342
sc->tx_err++;
usr/src/uts/common/io/zyd/zyd.c
354
sc->tx_err++;
usr/src/uts/common/io/zyd/zyd.c
396
if (sc->mac_rev == ZYD_ZD1211)
usr/src/uts/common/io/zyd/zyd.c
445
res = zyd_usb_send_packet(&sc->usb, m);
usr/src/uts/common/io/zyd/zyd.c
447
sc->tx_err++;
usr/src/uts/common/io/zyd/zyd.c
449
(void) zyd_serial_enter(sc, ZYD_NO_SIG);
usr/src/uts/common/io/zyd/zyd.c
450
sc->tx_queued++;
usr/src/uts/common/io/zyd/zyd.c
451
zyd_serial_exit(sc);
usr/src/uts/common/io/zyd/zyd.c
466
zyd_mac_init(struct zyd_softc *sc)
usr/src/uts/common/io/zyd/zyd.c
468
struct ieee80211com *ic = &sc->ic;
usr/src/uts/common/io/zyd/zyd.c
486
wd.wd_opmode = sc->ic.ic_opmode;
usr/src/uts/common/io/zyd/zyd.c
490
macp->m_driver = sc;
usr/src/uts/common/io/zyd/zyd.c
491
macp->m_dip = sc->dip;
usr/src/uts/common/io/zyd/zyd.c
502
err = mac_register(macp, &sc->ic.ic_mach);
usr/src/uts/common/io/zyd/zyd.c
517
zyd_wifi_init(struct zyd_softc *sc)
usr/src/uts/common/io/zyd/zyd.c
519
struct ieee80211com *ic = &sc->ic;
usr/src/uts/common/io/zyd/zyd.c
537
IEEE80211_ADDR_COPY(ic->ic_macaddr, sc->macaddr);
usr/src/uts/common/io/zyd/zyd.c
562
ieee80211_register_door(ic, ddi_driver_name(sc->dip),
usr/src/uts/common/io/zyd/zyd.c
563
ddi_get_instance(sc->dip));
usr/src/uts/common/io/zyd/zyd.c
566
sc->newstate = ic->ic_newstate;
usr/src/uts/common/io/zyd/zyd.c
586
struct zyd_softc *sc;
usr/src/uts/common/io/zyd/zyd.c
596
sc = ddi_get_soft_state(zyd_ssp, ddi_get_instance(dip));
usr/src/uts/common/io/zyd/zyd.c
597
ASSERT(sc != NULL);
usr/src/uts/common/io/zyd/zyd.c
599
(void) zyd_resume(sc);
usr/src/uts/common/io/zyd/zyd.c
614
sc = ddi_get_soft_state(zyd_ssp, instance);
usr/src/uts/common/io/zyd/zyd.c
615
sc->dip = dip;
usr/src/uts/common/io/zyd/zyd.c
616
sc->timeout_id = 0;
usr/src/uts/common/io/zyd/zyd.c
618
if (zyd_usb_init(sc) != ZYD_SUCCESS) {
usr/src/uts/common/io/zyd/zyd.c
623
if (zyd_hw_init(sc) != ZYD_SUCCESS) {
usr/src/uts/common/io/zyd/zyd.c
624
zyd_usb_deinit(sc);
usr/src/uts/common/io/zyd/zyd.c
629
zyd_wifi_init(sc);
usr/src/uts/common/io/zyd/zyd.c
631
if (zyd_mac_init(sc) != DDI_SUCCESS) {
usr/src/uts/common/io/zyd/zyd.c
632
ieee80211_detach(&sc->ic);
usr/src/uts/common/io/zyd/zyd.c
633
zyd_usb_deinit(sc);
usr/src/uts/common/io/zyd/zyd.c
648
zyd_serial_init(sc);
usr/src/uts/common/io/zyd/zyd.c
662
struct zyd_softc *sc = NULL;
usr/src/uts/common/io/zyd/zyd.c
669
sc = ddi_get_soft_state(zyd_ssp, ddi_get_instance(dip));
usr/src/uts/common/io/zyd/zyd.c
670
ASSERT(sc != NULL);
usr/src/uts/common/io/zyd/zyd.c
672
return (zyd_suspend(sc));
usr/src/uts/common/io/zyd/zyd.c
678
sc = ddi_get_soft_state(zyd_ssp, ddi_get_instance(dip));
usr/src/uts/common/io/zyd/zyd.c
679
ASSERT(sc != NULL);
usr/src/uts/common/io/zyd/zyd.c
681
if (mac_disable(sc->ic.ic_mach) != 0)
usr/src/uts/common/io/zyd/zyd.c
686
(void) mac_unregister(sc->ic.ic_mach);
usr/src/uts/common/io/zyd/zyd.c
691
ieee80211_detach(&sc->ic);
usr/src/uts/common/io/zyd/zyd.c
693
zyd_hw_deinit(sc);
usr/src/uts/common/io/zyd/zyd.c
694
zyd_usb_deinit(sc);
usr/src/uts/common/io/zyd/zyd.c
697
zyd_serial_deinit(sc);
usr/src/uts/common/io/zyd/zyd.c
714
struct zyd_softc *sc = (struct zyd_softc *)arg;
usr/src/uts/common/io/zyd/zyd.c
715
ieee80211com_t *ic = &sc->ic;
usr/src/uts/common/io/zyd/zyd.c
720
if (!sc->usb.connected || sc->suspended || !sc->running)
usr/src/uts/common/io/zyd/zyd.c
729
*val = sc->tx_nobuf;
usr/src/uts/common/io/zyd/zyd.c
732
*val = sc->rx_nobuf;
usr/src/uts/common/io/zyd/zyd.c
735
*val = sc->rx_err;
usr/src/uts/common/io/zyd/zyd.c
751
*val = sc->tx_err;
usr/src/uts/common/io/zyd/zyd.c
779
struct zyd_softc *sc = (struct zyd_softc *)arg;
usr/src/uts/common/io/zyd/zyd.c
781
(void) zyd_serial_enter(sc, ZYD_NO_SIG);
usr/src/uts/common/io/zyd/zyd.c
782
if ((!sc->usb.connected) || (zyd_hw_start(sc) != ZYD_SUCCESS)) {
usr/src/uts/common/io/zyd/zyd.c
783
zyd_serial_exit(sc);
usr/src/uts/common/io/zyd/zyd.c
786
zyd_serial_exit(sc);
usr/src/uts/common/io/zyd/zyd.c
788
ieee80211_new_state(&sc->ic, IEEE80211_S_INIT, -1);
usr/src/uts/common/io/zyd/zyd.c
789
sc->running = B_TRUE;
usr/src/uts/common/io/zyd/zyd.c
800
struct zyd_softc *sc = (struct zyd_softc *)arg;
usr/src/uts/common/io/zyd/zyd.c
802
sc->running = B_FALSE;
usr/src/uts/common/io/zyd/zyd.c
803
ieee80211_new_state(&sc->ic, IEEE80211_S_INIT, -1);
usr/src/uts/common/io/zyd/zyd.c
805
(void) zyd_serial_enter(sc, ZYD_NO_SIG);
usr/src/uts/common/io/zyd/zyd.c
806
sc->resched = B_FALSE;
usr/src/uts/common/io/zyd/zyd.c
807
zyd_hw_stop(sc);
usr/src/uts/common/io/zyd/zyd.c
808
zyd_serial_exit(sc);
usr/src/uts/common/io/zyd/zyd.c
849
struct zyd_softc *sc = (struct zyd_softc *)arg;
usr/src/uts/common/io/zyd/zyd.c
850
struct ieee80211com *ic = &sc->ic;
usr/src/uts/common/io/zyd/zyd.c
852
if (!sc->usb.connected || sc->suspended || !sc->running) {
usr/src/uts/common/io/zyd/zyd.c
858
if (sc->running && ic->ic_des_esslen) {
usr/src/uts/common/io/zyd/zyd.c
859
zyd_m_stop(sc);
usr/src/uts/common/io/zyd/zyd.c
860
if (zyd_m_start(sc) != DDI_SUCCESS)
usr/src/uts/common/io/zyd/zyd.c
874
struct zyd_softc *sc = (struct zyd_softc *)arg;
usr/src/uts/common/io/zyd/zyd.c
875
struct ieee80211com *ic = &sc->ic;
usr/src/uts/common/io/zyd/zyd.c
878
if (!sc->usb.connected || sc->suspended || !sc->running) {
usr/src/uts/common/io/zyd/zyd.c
885
if (sc->running && ic->ic_des_esslen) {
usr/src/uts/common/io/zyd/zyd.c
886
zyd_m_stop(sc);
usr/src/uts/common/io/zyd/zyd.c
887
if (zyd_m_start(sc) != DDI_SUCCESS)
usr/src/uts/common/io/zyd/zyd.c
901
struct zyd_softc *sc = (struct zyd_softc *)arg;
usr/src/uts/common/io/zyd/zyd.c
904
if (!sc->usb.connected || sc->suspended || !sc->running) {
usr/src/uts/common/io/zyd/zyd.c
908
err = ieee80211_getprop(&sc->ic, pr_name, wldp_pr_num,
usr/src/uts/common/io/zyd/zyd.c
918
struct zyd_softc *sc = (struct zyd_softc *)arg;
usr/src/uts/common/io/zyd/zyd.c
920
ieee80211_propinfo(&sc->ic, pr_name, wldp_pr_num, mph);
usr/src/uts/common/io/zyd/zyd.c
929
struct zyd_softc *sc = (struct zyd_softc *)arg;
usr/src/uts/common/io/zyd/zyd.c
930
struct ieee80211com *ic = &sc->ic;
usr/src/uts/common/io/zyd/zyd.c
963
struct zyd_softc *sc = ZYD_IC_TO_SOFTC(ic);
usr/src/uts/common/io/zyd/zyd.c
967
if (sc->timeout_id != 0) {
usr/src/uts/common/io/zyd/zyd.c
968
(void) untimeout(sc->timeout_id);
usr/src/uts/common/io/zyd/zyd.c
969
sc->timeout_id = 0;
usr/src/uts/common/io/zyd/zyd.c
972
if (!sc->usb.connected || sc->suspended || !sc->running) {
usr/src/uts/common/io/zyd/zyd.c
973
return (sc->newstate(ic, nstate, arg));
usr/src/uts/common/io/zyd/zyd.c
979
sc->timeout_id = timeout(zyd_next_scan, sc,
usr/src/uts/common/io/zyd/zyd.c
990
(void) zyd_serial_enter(sc, ZYD_SER_SIG);
usr/src/uts/common/io/zyd/zyd.c
991
zyd_hw_set_channel(sc, chan);
usr/src/uts/common/io/zyd/zyd.c
992
zyd_serial_exit(sc);
usr/src/uts/common/io/zyd/zyd.h
376
void zyd_serial_init(struct zyd_softc *sc);
usr/src/uts/common/io/zyd/zyd.h
377
zyd_res zyd_serial_enter(struct zyd_softc *sc, boolean_t wait_sig);
usr/src/uts/common/io/zyd/zyd.h
378
void zyd_serial_exit(struct zyd_softc *sc);
usr/src/uts/common/io/zyd/zyd.h
379
void zyd_serial_deinit(struct zyd_softc *sc);
usr/src/uts/common/io/zyd/zyd.h
387
void zyd_hw_set_channel(struct zyd_softc *sc, uint8_t chan);
usr/src/uts/common/io/zyd/zyd.h
388
zyd_res zyd_hw_init(struct zyd_softc *sc);
usr/src/uts/common/io/zyd/zyd.h
389
void zyd_hw_deinit(struct zyd_softc *sc);
usr/src/uts/common/io/zyd/zyd.h
390
zyd_res zyd_hw_start(struct zyd_softc *sc);
usr/src/uts/common/io/zyd/zyd.h
391
void zyd_hw_stop(struct zyd_softc *sc);
usr/src/uts/common/io/zyd/zyd.h
394
zyd_res zyd_usb_init(struct zyd_softc *sc);
usr/src/uts/common/io/zyd/zyd.h
395
void zyd_usb_deinit(struct zyd_softc *sc);
usr/src/uts/common/io/zyd/zyd.h
411
void zyd_receive(struct zyd_softc *sc, const uint8_t *buf, uint16_t len);
usr/src/uts/common/io/zyd/zyd.h
412
int zyd_resume(struct zyd_softc *sc);
usr/src/uts/common/io/zyd/zyd.h
413
int zyd_suspend(struct zyd_softc *sc);
usr/src/uts/common/io/zyd/zyd_hw.c
108
zyd_write32(struct zyd_softc *sc, uint16_t reg, uint32_t val)
usr/src/uts/common/io/zyd/zyd_hw.c
118
result = zyd_usb_cmd_send(&sc->usb, ZYD_CMD_IOWR, tmp, sizeof (tmp));
usr/src/uts/common/io/zyd/zyd_hw.c
131
zyd_read16(struct zyd_softc *sc, uint16_t reg, uint16_t *val)
usr/src/uts/common/io/zyd/zyd_hw.c
139
result = zyd_usb_ioread_req(&sc->usb, ®buf, sizeof (regbuf),
usr/src/uts/common/io/zyd/zyd_hw.c
168
zyd_write16(struct zyd_softc *sc, uint16_t reg, uint16_t val)
usr/src/uts/common/io/zyd/zyd_hw.c
176
result = zyd_usb_cmd_send(&sc->usb, ZYD_CMD_IOWR, tmp, sizeof (tmp));
usr/src/uts/common/io/zyd/zyd_hw.c
189
zyd_write16a(struct zyd_softc *sc, const struct zyd_iowrite16 *reqa, int n)
usr/src/uts/common/io/zyd/zyd_hw.c
195
res = zyd_write16(sc, reqa[i].reg, reqa[i].value);
usr/src/uts/common/io/zyd/zyd_hw.c
207
zyd_lock_phy(struct zyd_softc *sc)
usr/src/uts/common/io/zyd/zyd_hw.c
211
(void) zyd_read32(sc, ZYD_MAC_MISC, &tmp);
usr/src/uts/common/io/zyd/zyd_hw.c
213
(void) zyd_write32(sc, ZYD_MAC_MISC, tmp);
usr/src/uts/common/io/zyd/zyd_hw.c
220
zyd_unlock_phy(struct zyd_softc *sc)
usr/src/uts/common/io/zyd/zyd_hw.c
224
(void) zyd_read32(sc, ZYD_MAC_MISC, &tmp);
usr/src/uts/common/io/zyd/zyd_hw.c
226
(void) zyd_write32(sc, ZYD_MAC_MISC, tmp);
usr/src/uts/common/io/zyd/zyd_hw.c
233
zyd_read_mac(struct zyd_softc *sc)
usr/src/uts/common/io/zyd/zyd_hw.c
237
if (zyd_read32(sc, ZYD_EEPROM_MAC_ADDR_P1, &tmp) != ZYD_SUCCESS)
usr/src/uts/common/io/zyd/zyd_hw.c
240
sc->macaddr[0] = tmp & 0xff;
usr/src/uts/common/io/zyd/zyd_hw.c
241
sc->macaddr[1] = tmp >> 8;
usr/src/uts/common/io/zyd/zyd_hw.c
242
sc->macaddr[2] = tmp >> 16;
usr/src/uts/common/io/zyd/zyd_hw.c
243
sc->macaddr[3] = tmp >> 24;
usr/src/uts/common/io/zyd/zyd_hw.c
245
if (zyd_read32(sc, ZYD_EEPROM_MAC_ADDR_P2, &tmp) != ZYD_SUCCESS)
usr/src/uts/common/io/zyd/zyd_hw.c
248
sc->macaddr[4] = tmp & 0xff;
usr/src/uts/common/io/zyd/zyd_hw.c
249
sc->macaddr[5] = tmp >> 8;
usr/src/uts/common/io/zyd/zyd_hw.c
258
zyd_rfwrite(struct zyd_softc *sc, uint32_t val, int bits)
usr/src/uts/common/io/zyd/zyd_hw.c
267
if (zyd_read16(sc, ZYD_CR203, &cr203) != ZYD_SUCCESS)
usr/src/uts/common/io/zyd/zyd_hw.c
280
res = zyd_usb_cmd_send(&sc->usb, ZYD_CMD_RFCFG, &req,
usr/src/uts/common/io/zyd/zyd_hw.c
295
zyd_set_led(struct zyd_softc *sc, int which, boolean_t on)
usr/src/uts/common/io/zyd/zyd_hw.c
299
(void) zyd_read32(sc, ZYD_MAC_TX_PE_CONTROL, &tmp);
usr/src/uts/common/io/zyd/zyd_hw.c
303
(void) zyd_write32(sc, ZYD_MAC_TX_PE_CONTROL, tmp);
usr/src/uts/common/io/zyd/zyd_hw.c
310
zyd_set_macaddr(struct zyd_softc *sc, const uint8_t *addr)
usr/src/uts/common/io/zyd/zyd_hw.c
315
(void) zyd_write32(sc, ZYD_MAC_MACADRL, tmp);
usr/src/uts/common/io/zyd/zyd_hw.c
318
(void) zyd_write32(sc, ZYD_MAC_MACADRH, tmp);
usr/src/uts/common/io/zyd/zyd_hw.c
325
zyd_read_eeprom(struct zyd_softc *sc)
usr/src/uts/common/io/zyd/zyd_hw.c
332
(void) zyd_read32(sc, ZYD_EEPROM_POD, &tmp);
usr/src/uts/common/io/zyd/zyd_hw.c
333
sc->rf_rev = tmp & 0x0f;
usr/src/uts/common/io/zyd/zyd_hw.c
334
sc->pa_rev = (tmp >> 16) & 0x0f;
usr/src/uts/common/io/zyd/zyd_hw.c
335
sc->fix_cr47 = (tmp >> 8) & 0x01;
usr/src/uts/common/io/zyd/zyd_hw.c
336
sc->fix_cr157 = (tmp >> 13) & 0x01;
usr/src/uts/common/io/zyd/zyd_hw.c
338
ZYD_DEBUG((ZYD_DBG_HW, "fix cr47: 0x%x\n", sc->fix_cr47));
usr/src/uts/common/io/zyd/zyd_hw.c
339
ZYD_DEBUG((ZYD_DBG_HW, "fix cr157: 0x%x\n", sc->fix_cr157));
usr/src/uts/common/io/zyd/zyd_hw.c
341
zyd_rf_name(sc->rf_rev), sc->rf_rev));
usr/src/uts/common/io/zyd/zyd_hw.c
344
(void) zyd_read32(sc, ZYD_EEPROM_SUBID, &tmp);
usr/src/uts/common/io/zyd/zyd_hw.c
345
sc->regdomain = tmp >> 16;
usr/src/uts/common/io/zyd/zyd_hw.c
347
ZYD_DEBUG((ZYD_DBG_HW, "regulatory domain: %x\n", sc->regdomain));
usr/src/uts/common/io/zyd/zyd_hw.c
351
(void) zyd_read16(sc, ZYD_EEPROM_PWR_CAL + i, &val);
usr/src/uts/common/io/zyd/zyd_hw.c
352
sc->pwr_cal[i * 2] = val >> 8;
usr/src/uts/common/io/zyd/zyd_hw.c
353
sc->pwr_cal[i * 2 + 1] = val & 0xff;
usr/src/uts/common/io/zyd/zyd_hw.c
355
(void) zyd_read16(sc, ZYD_EEPROM_PWR_INT + i, &val);
usr/src/uts/common/io/zyd/zyd_hw.c
356
sc->pwr_int[i * 2] = val >> 8;
usr/src/uts/common/io/zyd/zyd_hw.c
357
sc->pwr_int[i * 2 + 1] = val & 0xff;
usr/src/uts/common/io/zyd/zyd_hw.c
359
(void) zyd_read16(sc, ZYD_EEPROM_36M_CAL + i, &val);
usr/src/uts/common/io/zyd/zyd_hw.c
360
sc->ofdm36_cal[i * 2] = val >> 8;
usr/src/uts/common/io/zyd/zyd_hw.c
361
sc->ofdm36_cal[i * 2 + 1] = val & 0xff;
usr/src/uts/common/io/zyd/zyd_hw.c
363
(void) zyd_read16(sc, ZYD_EEPROM_48M_CAL + i, &val);
usr/src/uts/common/io/zyd/zyd_hw.c
364
sc->ofdm48_cal[i * 2] = val >> 8;
usr/src/uts/common/io/zyd/zyd_hw.c
365
sc->ofdm48_cal[i * 2 + 1] = val & 0xff;
usr/src/uts/common/io/zyd/zyd_hw.c
367
(void) zyd_read16(sc, ZYD_EEPROM_54M_CAL + i, &val);
usr/src/uts/common/io/zyd/zyd_hw.c
368
sc->ofdm54_cal[i * 2] = val >> 8;
usr/src/uts/common/io/zyd/zyd_hw.c
369
sc->ofdm54_cal[i * 2 + 1] = val & 0xff;
usr/src/uts/common/io/zyd/zyd_hw.c
374
zyd_hw_init(struct zyd_softc *sc)
usr/src/uts/common/io/zyd/zyd_hw.c
376
struct zyd_usb *uc = &sc->usb;
usr/src/uts/common/io/zyd/zyd_hw.c
380
sc->mac_rev = zyd_usb_mac_rev(uc->cdata->dev_descr->idVendor,
usr/src/uts/common/io/zyd/zyd_hw.c
382
if (sc->mac_rev == ZYD_ZD1211) {
usr/src/uts/common/io/zyd/zyd_hw.c
41
static zyd_res zyd_hw_configure(struct zyd_softc *sc);
usr/src/uts/common/io/zyd/zyd_hw.c
411
if (zyd_read_mac(sc) != ZYD_SUCCESS) {
usr/src/uts/common/io/zyd/zyd_hw.c
416
zyd_read_eeprom(sc);
usr/src/uts/common/io/zyd/zyd_hw.c
417
switch (sc->rf_rev) {
usr/src/uts/common/io/zyd/zyd_hw.c
423
zyd_rf_name(sc->rf_rev), sc->rf_rev);
usr/src/uts/common/io/zyd/zyd_hw.c
427
if (zyd_hw_configure(sc) != ZYD_SUCCESS) {
usr/src/uts/common/io/zyd/zyd_hw.c
433
zyd_lock_phy(sc);
usr/src/uts/common/io/zyd/zyd_hw.c
434
switch (sc->rf_rev) {
usr/src/uts/common/io/zyd/zyd_hw.c
436
if (sc->mac_rev == ZYD_ZD1211) {
usr/src/uts/common/io/zyd/zyd_hw.c
437
res = zyd_al2230_rf_init(sc);
usr/src/uts/common/io/zyd/zyd_hw.c
439
res = zyd_al2230_rf_init_b(sc);
usr/src/uts/common/io/zyd/zyd_hw.c
443
res = zyd_rfmd_rf_init(sc);
usr/src/uts/common/io/zyd/zyd_hw.c
447
zyd_rf_name(sc->rf_rev), sc->rf_rev);
usr/src/uts/common/io/zyd/zyd_hw.c
451
zyd_unlock_phy(sc);
usr/src/uts/common/io/zyd/zyd_hw.c
459
sc->macaddr[0], sc->macaddr[1], sc->macaddr[2],
usr/src/uts/common/io/zyd/zyd_hw.c
460
sc->macaddr[3], sc->macaddr[4], sc->macaddr[5]));
usr/src/uts/common/io/zyd/zyd_hw.c
473
zyd_hw_deinit(struct zyd_softc *sc)
usr/src/uts/common/io/zyd/zyd_hw.c
475
struct zyd_usb *uc = &sc->usb;
usr/src/uts/common/io/zyd/zyd_hw.c
485
zyd_hw_configure(struct zyd_softc *sc)
usr/src/uts/common/io/zyd/zyd_hw.c
491
(void) zyd_write32(sc, ZYD_MAC_AFTER_PNP, 1);
usr/src/uts/common/io/zyd/zyd_hw.c
492
(void) zyd_read16(sc, ZYD_FIRMWARE_BASE_ADDR, &sc->fwbase);
usr/src/uts/common/io/zyd/zyd_hw.c
493
ZYD_DEBUG((ZYD_DBG_FW, "firmware base address: 0x%04x\n", sc->fwbase));
usr/src/uts/common/io/zyd/zyd_hw.c
496
(void) zyd_read16(sc, sc->fwbase + ZYD_FW_FIRMWARE_REV, &sc->fw_rev);
usr/src/uts/common/io/zyd/zyd_hw.c
497
ZYD_DEBUG((ZYD_DBG_FW, "firmware revision: x0x%4x\n", sc->fw_rev));
usr/src/uts/common/io/zyd/zyd_hw.c
499
(void) zyd_write32(sc, ZYD_CR_GPI_EN, 0);
usr/src/uts/common/io/zyd/zyd_hw.c
500
(void) zyd_write32(sc, ZYD_MAC_CONT_WIN_LIMIT, 0x7f043f);
usr/src/uts/common/io/zyd/zyd_hw.c
503
(void) zyd_write32(sc, ZYD_CR_INTERRUPT, 0);
usr/src/uts/common/io/zyd/zyd_hw.c
506
zyd_lock_phy(sc);
usr/src/uts/common/io/zyd/zyd_hw.c
507
if (sc->mac_rev == ZYD_ZD1211) {
usr/src/uts/common/io/zyd/zyd_hw.c
508
res = zyd_write16a(sc, zyd_def_phy,
usr/src/uts/common/io/zyd/zyd_hw.c
511
res = zyd_write16a(sc, zyd_def_phyB,
usr/src/uts/common/io/zyd/zyd_hw.c
514
if (sc->fix_cr157) {
usr/src/uts/common/io/zyd/zyd_hw.c
515
if (zyd_read32(sc, ZYD_EEPROM_PHY_REG, &tmp) == 0)
usr/src/uts/common/io/zyd/zyd_hw.c
516
(void) zyd_write32(sc, ZYD_CR157, tmp >> 8);
usr/src/uts/common/io/zyd/zyd_hw.c
518
zyd_unlock_phy(sc);
usr/src/uts/common/io/zyd/zyd_hw.c
524
if (sc->mac_rev == ZYD_ZD1211) {
usr/src/uts/common/io/zyd/zyd_hw.c
525
(void) zyd_write32(sc, ZYD_MAC_RETRY, 0x00000002);
usr/src/uts/common/io/zyd/zyd_hw.c
527
(void) zyd_write32(sc, ZYD_MACB_MAX_RETRY, 0x02020202);
usr/src/uts/common/io/zyd/zyd_hw.c
528
(void) zyd_write32(sc, ZYD_MACB_TXPWR_CTL4, 0x007f003f);
usr/src/uts/common/io/zyd/zyd_hw.c
529
(void) zyd_write32(sc, ZYD_MACB_TXPWR_CTL3, 0x007f003f);
usr/src/uts/common/io/zyd/zyd_hw.c
530
(void) zyd_write32(sc, ZYD_MACB_TXPWR_CTL2, 0x003f001f);
usr/src/uts/common/io/zyd/zyd_hw.c
531
(void) zyd_write32(sc, ZYD_MACB_TXPWR_CTL1, 0x001f000f);
usr/src/uts/common/io/zyd/zyd_hw.c
532
(void) zyd_write32(sc, ZYD_MACB_AIFS_CTL1, 0x00280028);
usr/src/uts/common/io/zyd/zyd_hw.c
533
(void) zyd_write32(sc, ZYD_MACB_AIFS_CTL2, 0x008C003c);
usr/src/uts/common/io/zyd/zyd_hw.c
534
(void) zyd_write32(sc, ZYD_MACB_TXOP, 0x01800824);
usr/src/uts/common/io/zyd/zyd_hw.c
536
(void) zyd_write32(sc, ZYD_MAC_ACK_EXT, 0x00000020);
usr/src/uts/common/io/zyd/zyd_hw.c
537
(void) zyd_write32(sc, ZYD_CR_ADDA_MBIAS_WT, 0x30000808);
usr/src/uts/common/io/zyd/zyd_hw.c
538
(void) zyd_write32(sc, ZYD_MAC_SNIFFER, 0x00000000);
usr/src/uts/common/io/zyd/zyd_hw.c
539
(void) zyd_write32(sc, ZYD_MAC_RXFILTER, 0x00000000);
usr/src/uts/common/io/zyd/zyd_hw.c
540
(void) zyd_write32(sc, ZYD_MAC_GHTBL, 0x00000000);
usr/src/uts/common/io/zyd/zyd_hw.c
541
(void) zyd_write32(sc, ZYD_MAC_GHTBH, 0x80000000);
usr/src/uts/common/io/zyd/zyd_hw.c
542
(void) zyd_write32(sc, ZYD_MAC_MISC, 0x000000a4);
usr/src/uts/common/io/zyd/zyd_hw.c
543
(void) zyd_write32(sc, ZYD_CR_ADDA_PWR_DWN, 0x0000007f);
usr/src/uts/common/io/zyd/zyd_hw.c
544
(void) zyd_write32(sc, ZYD_MAC_BCNCFG, 0x00f00401);
usr/src/uts/common/io/zyd/zyd_hw.c
545
(void) zyd_write32(sc, ZYD_MAC_PHY_DELAY2, 0x00000000);
usr/src/uts/common/io/zyd/zyd_hw.c
546
(void) zyd_write32(sc, ZYD_MAC_ACK_EXT, 0x00000080);
usr/src/uts/common/io/zyd/zyd_hw.c
547
(void) zyd_write32(sc, ZYD_CR_ADDA_PWR_DWN, 0x00000000);
usr/src/uts/common/io/zyd/zyd_hw.c
548
(void) zyd_write32(sc, ZYD_MAC_SIFS_ACK_TIME, 0x00000100);
usr/src/uts/common/io/zyd/zyd_hw.c
549
(void) zyd_write32(sc, ZYD_MAC_DIFS_EIFS_SIFS, 0x0547c032);
usr/src/uts/common/io/zyd/zyd_hw.c
550
(void) zyd_write32(sc, ZYD_CR_RX_PE_DELAY, 0x00000070);
usr/src/uts/common/io/zyd/zyd_hw.c
551
(void) zyd_write32(sc, ZYD_CR_PS_CTRL, 0x10000000);
usr/src/uts/common/io/zyd/zyd_hw.c
552
(void) zyd_write32(sc, ZYD_MAC_RTSCTSRATE, 0x02030203);
usr/src/uts/common/io/zyd/zyd_hw.c
553
(void) zyd_write32(sc, ZYD_MAC_RX_THRESHOLD, 0x000c0640);
usr/src/uts/common/io/zyd/zyd_hw.c
554
(void) zyd_write32(sc, ZYD_MAC_BACKOFF_PROTECT, 0x00000114);
usr/src/uts/common/io/zyd/zyd_hw.c
563
zyd_hw_set_channel(struct zyd_softc *sc, uint8_t chan)
usr/src/uts/common/io/zyd/zyd_hw.c
567
zyd_lock_phy(sc);
usr/src/uts/common/io/zyd/zyd_hw.c
571
switch (sc->rf_rev) {
usr/src/uts/common/io/zyd/zyd_hw.c
573
(void) zyd_al2230_set_channel(sc, chan);
usr/src/uts/common/io/zyd/zyd_hw.c
576
(void) zyd_rfmd_set_channel(sc, chan);
usr/src/uts/common/io/zyd/zyd_hw.c
583
(void) zyd_write16(sc, ZYD_CR31, sc->pwr_int[chan - 1]);
usr/src/uts/common/io/zyd/zyd_hw.c
584
if (sc->mac_rev == ZYD_ZD1211B) {
usr/src/uts/common/io/zyd/zyd_hw.c
585
(void) zyd_write16(sc, ZYD_CR67, sc->ofdm36_cal[chan - 1]);
usr/src/uts/common/io/zyd/zyd_hw.c
586
(void) zyd_write16(sc, ZYD_CR66, sc->ofdm48_cal[chan - 1]);
usr/src/uts/common/io/zyd/zyd_hw.c
587
(void) zyd_write16(sc, ZYD_CR65, sc->ofdm54_cal[chan - 1]);
usr/src/uts/common/io/zyd/zyd_hw.c
588
(void) zyd_write16(sc, ZYD_CR68, sc->pwr_cal[chan - 1]);
usr/src/uts/common/io/zyd/zyd_hw.c
589
(void) zyd_write16(sc, ZYD_CR69, 0x28);
usr/src/uts/common/io/zyd/zyd_hw.c
590
(void) zyd_write16(sc, ZYD_CR69, 0x2a);
usr/src/uts/common/io/zyd/zyd_hw.c
593
if (sc->fix_cr47) {
usr/src/uts/common/io/zyd/zyd_hw.c
595
if (zyd_read32(sc, ZYD_EEPROM_PHY_REG, &tmp) == 0)
usr/src/uts/common/io/zyd/zyd_hw.c
596
(void) zyd_write16(sc, ZYD_CR47, tmp & 0xff);
usr/src/uts/common/io/zyd/zyd_hw.c
599
(void) zyd_write32(sc, ZYD_CR_CONFIG_PHILIPS, 0);
usr/src/uts/common/io/zyd/zyd_hw.c
601
zyd_unlock_phy(sc);
usr/src/uts/common/io/zyd/zyd_hw.c
608
zyd_hw_start(struct zyd_softc *sc)
usr/src/uts/common/io/zyd/zyd_hw.c
610
struct zyd_usb *uc = &sc->usb;
usr/src/uts/common/io/zyd/zyd_hw.c
611
struct ieee80211com *ic = &sc->ic;
usr/src/uts/common/io/zyd/zyd_hw.c
614
if (zyd_usb_data_in_enable(&sc->usb) != ZYD_SUCCESS) {
usr/src/uts/common/io/zyd/zyd_hw.c
620
zyd_set_macaddr(sc, sc->macaddr);
usr/src/uts/common/io/zyd/zyd_hw.c
624
res = zyd_write32(sc, ZYD_MAC_ENCRYPTION_TYPE, ZYD_ENC_SNIFFER);
usr/src/uts/common/io/zyd/zyd_hw.c
629
(void) zyd_write32(sc, ZYD_MAC_SNIFFER, 0);
usr/src/uts/common/io/zyd/zyd_hw.c
632
(void) zyd_write32(sc, ZYD_MAC_RXFILTER, ZYD_FILTER_BSS);
usr/src/uts/common/io/zyd/zyd_hw.c
635
switch (sc->rf_rev) {
usr/src/uts/common/io/zyd/zyd_hw.c
637
(void) zyd_al2230_switch_radio(sc, B_TRUE);
usr/src/uts/common/io/zyd/zyd_hw.c
640
(void) zyd_rfmd_switch_radio(sc, B_TRUE);
usr/src/uts/common/io/zyd/zyd_hw.c
647
(void) zyd_write32(sc, ZYD_MAC_BAS_RATE, 0x0003);
usr/src/uts/common/io/zyd/zyd_hw.c
649
(void) zyd_write32(sc, ZYD_MAC_BAS_RATE, 0x1500);
usr/src/uts/common/io/zyd/zyd_hw.c
651
(void) zyd_write32(sc, ZYD_MAC_BAS_RATE, 0x000f);
usr/src/uts/common/io/zyd/zyd_hw.c
656
(void) zyd_write32(sc, ZYD_MAC_MAN_RATE, 0x000f);
usr/src/uts/common/io/zyd/zyd_hw.c
658
(void) zyd_write32(sc, ZYD_MAC_MAN_RATE, 0x1500);
usr/src/uts/common/io/zyd/zyd_hw.c
660
(void) zyd_write32(sc, ZYD_MAC_MAN_RATE, 0x150f);
usr/src/uts/common/io/zyd/zyd_hw.c
663
(void) zyd_write32(sc, ZYD_CR_INTERRUPT, ZYD_HWINT_MASK);
usr/src/uts/common/io/zyd/zyd_hw.c
665
zyd_set_led(sc, ZYD_LED2, B_TRUE);
usr/src/uts/common/io/zyd/zyd_hw.c
679
zyd_hw_stop(struct zyd_softc *sc)
usr/src/uts/common/io/zyd/zyd_hw.c
681
struct zyd_usb *uc = &sc->usb;
usr/src/uts/common/io/zyd/zyd_hw.c
685
switch (sc->rf_rev) {
usr/src/uts/common/io/zyd/zyd_hw.c
687
(void) zyd_al2230_switch_radio(sc, B_FALSE);
usr/src/uts/common/io/zyd/zyd_hw.c
690
(void) zyd_rfmd_switch_radio(sc, B_FALSE);
usr/src/uts/common/io/zyd/zyd_hw.c
695
(void) zyd_write32(sc, ZYD_MAC_RXFILTER, 0);
usr/src/uts/common/io/zyd/zyd_hw.c
698
(void) zyd_write32(sc, ZYD_CR_INTERRUPT, 0);
usr/src/uts/common/io/zyd/zyd_hw.c
700
zyd_set_led(sc, ZYD_LED2, B_FALSE);
usr/src/uts/common/io/zyd/zyd_hw.c
707
sc->tx_queued = 0;
usr/src/uts/common/io/zyd/zyd_hw.c
715
zyd_al2230_rf_init(struct zyd_softc *sc)
usr/src/uts/common/io/zyd/zyd_hw.c
72
zyd_read32(struct zyd_softc *sc, uint16_t reg, uint32_t *val)
usr/src/uts/common/io/zyd/zyd_hw.c
723
zyd_lock_phy(sc);
usr/src/uts/common/io/zyd/zyd_hw.c
726
res = zyd_write16a(sc, phyini, ZYD_ARRAY_LENGTH(phyini));
usr/src/uts/common/io/zyd/zyd_hw.c
728
zyd_unlock_phy(sc);
usr/src/uts/common/io/zyd/zyd_hw.c
734
res = zyd_rfwrite(sc, rfini[i], ZYD_AL2230_RF_BITS);
usr/src/uts/common/io/zyd/zyd_hw.c
736
zyd_unlock_phy(sc);
usr/src/uts/common/io/zyd/zyd_hw.c
741
zyd_unlock_phy(sc);
usr/src/uts/common/io/zyd/zyd_hw.c
752
zyd_al2230_rf_init_b(struct zyd_softc *sc)
usr/src/uts/common/io/zyd/zyd_hw.c
759
zyd_lock_phy(sc);
usr/src/uts/common/io/zyd/zyd_hw.c
761
res = zyd_write16a(sc, phyini, ZYD_ARRAY_LENGTH(phyini));
usr/src/uts/common/io/zyd/zyd_hw.c
763
zyd_unlock_phy(sc);
usr/src/uts/common/io/zyd/zyd_hw.c
769
res = zyd_rfwrite(sc, rfini[i], ZYD_AL2230_RF_BITS);
usr/src/uts/common/io/zyd/zyd_hw.c
771
zyd_unlock_phy(sc);
usr/src/uts/common/io/zyd/zyd_hw.c
775
zyd_unlock_phy(sc);
usr/src/uts/common/io/zyd/zyd_hw.c
785
zyd_al2230_set_channel(struct zyd_softc *sc, uint8_t chan)
usr/src/uts/common/io/zyd/zyd_hw.c
791
(void) zyd_rfwrite(sc, rfprog[chan - 1].r1, ZYD_AL2230_RF_BITS);
usr/src/uts/common/io/zyd/zyd_hw.c
792
(void) zyd_rfwrite(sc, rfprog[chan - 1].r2, ZYD_AL2230_RF_BITS);
usr/src/uts/common/io/zyd/zyd_hw.c
793
(void) zyd_rfwrite(sc, rfprog[chan - 1].r3, ZYD_AL2230_RF_BITS);
usr/src/uts/common/io/zyd/zyd_hw.c
795
(void) zyd_write16(sc, ZYD_CR138, 0x28);
usr/src/uts/common/io/zyd/zyd_hw.c
796
(void) zyd_write16(sc, ZYD_CR203, 0x06);
usr/src/uts/common/io/zyd/zyd_hw.c
805
zyd_al2230_switch_radio(struct zyd_softc *sc, boolean_t on)
usr/src/uts/common/io/zyd/zyd_hw.c
807
int on251 = (sc->mac_rev == ZYD_ZD1211) ? 0x3f : 0x7f;
usr/src/uts/common/io/zyd/zyd_hw.c
809
zyd_lock_phy(sc);
usr/src/uts/common/io/zyd/zyd_hw.c
81
result = zyd_usb_ioread_req(&sc->usb, regs, sizeof (regs),
usr/src/uts/common/io/zyd/zyd_hw.c
811
(void) zyd_write16(sc, ZYD_CR11, (on == B_TRUE) ? 0x00 : 0x04);
usr/src/uts/common/io/zyd/zyd_hw.c
812
(void) zyd_write16(sc, ZYD_CR251, (on == B_TRUE) ? on251 : 0x2f);
usr/src/uts/common/io/zyd/zyd_hw.c
814
zyd_unlock_phy(sc);
usr/src/uts/common/io/zyd/zyd_hw.c
824
zyd_rfmd_rf_init(struct zyd_softc *sc)
usr/src/uts/common/io/zyd/zyd_hw.c
832
zyd_lock_phy(sc);
usr/src/uts/common/io/zyd/zyd_hw.c
833
res = zyd_write16a(sc, phyini, ZYD_ARRAY_LENGTH(phyini));
usr/src/uts/common/io/zyd/zyd_hw.c
835
zyd_unlock_phy(sc);
usr/src/uts/common/io/zyd/zyd_hw.c
840
res = zyd_rfwrite(sc, rfini[i], ZYD_RFMD_RF_BITS);
usr/src/uts/common/io/zyd/zyd_hw.c
842
zyd_unlock_phy(sc);
usr/src/uts/common/io/zyd/zyd_hw.c
846
zyd_unlock_phy(sc);
usr/src/uts/common/io/zyd/zyd_hw.c
853
zyd_rfmd_switch_radio(struct zyd_softc *sc, boolean_t on)
usr/src/uts/common/io/zyd/zyd_hw.c
856
(void) zyd_write16(sc, ZYD_CR10, on ? 0x89 : 0x15);
usr/src/uts/common/io/zyd/zyd_hw.c
857
(void) zyd_write16(sc, ZYD_CR11, on ? 0x00 : 0x81);
usr/src/uts/common/io/zyd/zyd_hw.c
863
zyd_rfmd_set_channel(struct zyd_softc *sc, uint8_t chan)
usr/src/uts/common/io/zyd/zyd_hw.c
869
(void) zyd_rfwrite(sc, rfprog[chan - 1].r1, ZYD_RFMD_RF_BITS);
usr/src/uts/common/io/zyd/zyd_hw.c
870
(void) zyd_rfwrite(sc, rfprog[chan - 1].r2, ZYD_RFMD_RF_BITS);
usr/src/uts/common/io/zyd/zyd_usb.c
1083
zyd_usb_init(struct zyd_softc *sc)
usr/src/uts/common/io/zyd/zyd_usb.c
1085
struct zyd_usb *uc = &sc->usb;
usr/src/uts/common/io/zyd/zyd_usb.c
1086
dev_info_t *dip = sc->dip;
usr/src/uts/common/io/zyd/zyd_usb.c
1135
zyd_usb_deinit(struct zyd_softc *sc)
usr/src/uts/common/io/zyd/zyd_usb.c
1137
struct zyd_usb *uc = &sc->usb;
usr/src/uts/common/io/zyd/zyd_usb.c
1139
usb_unregister_hotplug_cbs(sc->dip);
usr/src/uts/common/io/zyd/zyd_usb.c
1152
struct zyd_softc *sc;
usr/src/uts/common/io/zyd/zyd_usb.c
1155
sc = ddi_get_soft_state(zyd_ssp, ddi_get_instance(dip));
usr/src/uts/common/io/zyd/zyd_usb.c
1156
ASSERT(sc != NULL);
usr/src/uts/common/io/zyd/zyd_usb.c
1157
uc = &sc->usb;
usr/src/uts/common/io/zyd/zyd_usb.c
1160
if (sc->suspended)
usr/src/uts/common/io/zyd/zyd_usb.c
1165
if (usb_check_same_device(sc->dip, NULL, USB_LOG_L2, -1,
usr/src/uts/common/io/zyd/zyd_usb.c
1171
(void) zyd_serial_enter(sc, ZYD_NO_SIG);
usr/src/uts/common/io/zyd/zyd_usb.c
1172
if (zyd_hw_init(sc) != ZYD_SUCCESS) {
usr/src/uts/common/io/zyd/zyd_usb.c
1174
zyd_serial_exit(sc);
usr/src/uts/common/io/zyd/zyd_usb.c
1177
if (sc->running) {
usr/src/uts/common/io/zyd/zyd_usb.c
1178
if (zyd_hw_start(sc) != ZYD_SUCCESS) {
usr/src/uts/common/io/zyd/zyd_usb.c
1180
zyd_serial_exit(sc);
usr/src/uts/common/io/zyd/zyd_usb.c
1184
zyd_serial_exit(sc);
usr/src/uts/common/io/zyd/zyd_usb.c
1198
struct zyd_softc *sc;
usr/src/uts/common/io/zyd/zyd_usb.c
1201
sc = ddi_get_soft_state(zyd_ssp, ddi_get_instance(dip));
usr/src/uts/common/io/zyd/zyd_usb.c
1202
ASSERT(sc != NULL);
usr/src/uts/common/io/zyd/zyd_usb.c
1203
uc = &sc->usb;
usr/src/uts/common/io/zyd/zyd_usb.c
1211
if (sc->suspended) {
usr/src/uts/common/io/zyd/zyd_usb.c
1215
ieee80211_new_state(&sc->ic, IEEE80211_S_INIT, -1);
usr/src/uts/common/io/zyd/zyd_usb.c
1217
(void) zyd_serial_enter(sc, ZYD_NO_SIG);
usr/src/uts/common/io/zyd/zyd_usb.c
1218
zyd_hw_stop(sc);
usr/src/uts/common/io/zyd/zyd_usb.c
1219
zyd_hw_deinit(sc);
usr/src/uts/common/io/zyd/zyd_usb.c
1220
zyd_serial_exit(sc);
usr/src/uts/common/io/zyd/zyd_usb.c
1226
zyd_suspend(struct zyd_softc *sc)
usr/src/uts/common/io/zyd/zyd_usb.c
1228
struct zyd_usb *uc = &sc->usb;
usr/src/uts/common/io/zyd/zyd_usb.c
1233
sc->suspended = B_TRUE;
usr/src/uts/common/io/zyd/zyd_usb.c
1238
sc->suspended = B_TRUE;
usr/src/uts/common/io/zyd/zyd_usb.c
1239
ieee80211_new_state(&sc->ic, IEEE80211_S_INIT, -1);
usr/src/uts/common/io/zyd/zyd_usb.c
1241
(void) zyd_serial_enter(sc, ZYD_NO_SIG);
usr/src/uts/common/io/zyd/zyd_usb.c
1242
zyd_hw_stop(sc);
usr/src/uts/common/io/zyd/zyd_usb.c
1243
zyd_hw_deinit(sc);
usr/src/uts/common/io/zyd/zyd_usb.c
1244
zyd_serial_exit(sc);
usr/src/uts/common/io/zyd/zyd_usb.c
1251
zyd_resume(struct zyd_softc *sc)
usr/src/uts/common/io/zyd/zyd_usb.c
1253
struct zyd_usb *uc = &sc->usb;
usr/src/uts/common/io/zyd/zyd_usb.c
1258
sc->suspended = B_FALSE;
usr/src/uts/common/io/zyd/zyd_usb.c
1264
if (usb_check_same_device(sc->dip, NULL, USB_LOG_L2, -1,
usr/src/uts/common/io/zyd/zyd_usb.c
1267
sc->suspended = B_FALSE;
usr/src/uts/common/io/zyd/zyd_usb.c
1272
(void) zyd_serial_enter(sc, ZYD_NO_SIG);
usr/src/uts/common/io/zyd/zyd_usb.c
1273
if (zyd_hw_init(sc) != ZYD_SUCCESS) {
usr/src/uts/common/io/zyd/zyd_usb.c
1275
zyd_serial_exit(sc);
usr/src/uts/common/io/zyd/zyd_usb.c
1278
if (sc->running) {
usr/src/uts/common/io/zyd/zyd_usb.c
1279
if (zyd_hw_start(sc) != ZYD_SUCCESS) {
usr/src/uts/common/io/zyd/zyd_usb.c
1281
zyd_serial_exit(sc);
usr/src/uts/common/io/zyd/zyd_usb.c
1285
zyd_serial_exit(sc);
usr/src/uts/common/io/zyd/zyd_usb.c
1287
sc->suspended = B_FALSE;
usr/src/uts/common/io/zyd/zyd_usb.c
486
struct zyd_softc *sc = (struct zyd_softc *)req->bulk_client_private;
usr/src/uts/common/io/zyd/zyd_usb.c
487
struct ieee80211com *ic = &sc->ic;
usr/src/uts/common/io/zyd/zyd_usb.c
493
(void) zyd_serial_enter(sc, ZYD_NO_SIG);
usr/src/uts/common/io/zyd/zyd_usb.c
494
if (sc->tx_queued > 0)
usr/src/uts/common/io/zyd/zyd_usb.c
495
sc->tx_queued--;
usr/src/uts/common/io/zyd/zyd_usb.c
499
if (sc->resched && (sc->tx_queued < ZYD_TX_LIST_COUNT)) {
usr/src/uts/common/io/zyd/zyd_usb.c
500
resched = sc->resched;
usr/src/uts/common/io/zyd/zyd_usb.c
501
sc->resched = B_FALSE;
usr/src/uts/common/io/zyd/zyd_usb.c
503
zyd_serial_exit(sc);
usr/src/uts/common/io/zyd/zyd_usb.c
888
struct zyd_softc *sc;
usr/src/uts/common/io/zyd/zyd_usb.c
897
sc = ZYD_USB_TO_SOFTC(uc);
usr/src/uts/common/io/zyd/zyd_usb.c
898
ASSERT(sc != NULL);
usr/src/uts/common/io/zyd/zyd_usb.c
954
if (!sc->running)
usr/src/uts/common/os/modctl.c
4482
int c, sc;
usr/src/uts/common/os/modctl.c
4485
sc = *s++;
usr/src/uts/common/os/modctl.c
4488
return (sc == c); /* nothing matches nothing */
usr/src/uts/common/os/modctl.c
4498
if (c != sc)
usr/src/uts/common/os/modctl.c
4504
return (sc != '\0' ? gmatch(s, p) : 0);
usr/src/uts/common/os/modctl.c
4526
if (sc == 0)
usr/src/uts/common/os/modctl.c
4547
if (lc <= sc && sc <= c)
usr/src/uts/common/os/modctl.c
4550
} else if (lc <= sc && sc <= c) {
usr/src/uts/common/os/modctl.c
4560
if (sc == lc)
usr/src/uts/common/os/modctl.c
4563
} else if (sc == lc) {
usr/src/uts/common/os/softint.c
182
softcall_t *sc;
usr/src/uts/common/os/softint.c
186
for (sc = softcalls; sc < &softcalls[NSOFTCALLS]; sc++) {
usr/src/uts/common/os/softint.c
187
sc->sc_next = softfree;
usr/src/uts/common/os/softint.c
188
softfree = sc;
usr/src/uts/common/os/softint.c
315
softcall_t *sc;
usr/src/uts/common/os/softint.c
323
for (sc = softhead; sc != 0; sc = sc->sc_next) {
usr/src/uts/common/os/softint.c
324
if (sc->sc_func == func && sc->sc_arg == arg) {
usr/src/uts/common/os/softint.c
329
if ((sc = softfree) == 0)
usr/src/uts/common/os/softint.c
332
softfree = sc->sc_next;
usr/src/uts/common/os/softint.c
333
sc->sc_func = func;
usr/src/uts/common/os/softint.c
334
sc->sc_arg = arg;
usr/src/uts/common/os/softint.c
335
sc->sc_next = 0;
usr/src/uts/common/os/softint.c
338
softtail->sc_next = sc;
usr/src/uts/common/os/softint.c
339
softtail = sc;
usr/src/uts/common/os/softint.c
341
softhead = softtail = sc;
usr/src/uts/common/os/softint.c
420
softcall_t *sc = NULL;
usr/src/uts/common/os/softint.c
474
if ((sc = softhead) != NULL) {
usr/src/uts/common/os/softint.c
475
func = sc->sc_func;
usr/src/uts/common/os/softint.c
476
arg = sc->sc_arg;
usr/src/uts/common/os/softint.c
477
softhead = sc->sc_next;
usr/src/uts/common/os/softint.c
478
sc->sc_next = softfree;
usr/src/uts/common/os/softint.c
479
softfree = sc;
usr/src/uts/common/os/softint.c
482
if (sc == NULL) {
usr/src/uts/common/pcmcia/cis/cis_handlers.c
1707
cs->data.voice.sc[cs->data.voice.nsc] =
usr/src/uts/common/pcmcia/sys/cis_handlers.h
409
uint32_t sc[16]; /* voice compression methods */
usr/src/uts/common/rpc/rpcib.c
3542
rib_service_t *sc;
usr/src/uts/common/rpc/rpcib.c
3547
for (sc = rib_stat->service_list;
usr/src/uts/common/rpc/rpcib.c
3548
sc && (sc->srv_id != to_remove->srv_id);
usr/src/uts/common/rpc/rpcib.c
3549
sc = sc->next)
usr/src/uts/common/rpc/rpcib.c
3555
if (sc != NULL)
usr/src/uts/common/rpc/rpcib.c
3556
(void) ibt_unbind_service(sc->srv_hdl,
usr/src/uts/common/rpc/svc.c
1045
SVC_CALLOUT *sc = &sct->sct_sc[i];
usr/src/uts/common/rpc/svc.c
1047
if (prog == sc->sc_prog) {
usr/src/uts/common/rpc/svc.c
1048
if (vers >= sc->sc_versmin && vers <= sc->sc_versmax)
usr/src/uts/common/rpc/svc.c
1049
return (sc->sc_dispatch);
usr/src/uts/common/rpc/svc.c
1051
if (*vers_max < sc->sc_versmax)
usr/src/uts/common/rpc/svc.c
1052
*vers_max = sc->sc_versmax;
usr/src/uts/common/rpc/svc.c
1053
if (*vers_min > sc->sc_versmin)
usr/src/uts/common/rpc/svc.c
1054
*vers_min = sc->sc_versmin;
usr/src/uts/intel/io/acpica/acpica_ec.c
161
uint8_t sc;
usr/src/uts/intel/io/acpica/acpica_ec.c
164
sc = inb(ec.ec_sc);
usr/src/uts/intel/io/acpica/acpica_ec.c
167
if (sc & EC_IBF) {
usr/src/uts/intel/io/acpica/acpica_ec.c
171
if (sc & EC_OBF) {
usr/src/uts/intel/io/acpica/acpica_ec.c
210
uint8_t sc;
usr/src/uts/intel/io/acpica/acpica_ec.c
213
sc = inb(ec.ec_sc);
usr/src/uts/intel/io/acpica/acpica_ec.c
216
if (sc & EC_IBF) {
usr/src/uts/intel/io/acpica/acpica_ec.c
220
if (sc & EC_OBF) {
usr/src/uts/intel/io/acpica/acpica_ec.c
260
uint8_t sc;
usr/src/uts/intel/io/amr/amrreg.h
601
#define AMR_QGET_ISTAT(sc) pci_config_get8(sc->regsmap_handle, AMR_QINTR)
usr/src/uts/intel/io/amr/amrreg.h
602
#define AMR_QCLEAR_INTR(sc) pci_config_put8(sc->regsmap_handle, \
usr/src/uts/intel/io/amr/amrreg.h
604
#define AMR_QENABLE_INTR(sc) pci_config_put8(sc->regsmap_handle, \
usr/src/uts/intel/io/amr/amrreg.h
606
#define AMR_QDISABLE_INTR(sc) pci_config_put8(sc->regsmap_handle, \
usr/src/uts/intel/io/amr/amrreg.h
636
#define AMR_QPUT_IDB(sc, val) pci_config_put32(sc->regsmap_handle, \
usr/src/uts/intel/io/amr/amrreg.h
638
#define AMR_QGET_IDB(sc) pci_config_get32(sc->regsmap_handle, \
usr/src/uts/intel/io/amr/amrreg.h
640
#define AMR_QPUT_ODB(sc, val) pci_config_put32(sc->regsmap_handle, \
usr/src/uts/intel/io/amr/amrreg.h
642
#define AMR_QGET_ODB(sc) pci_config_get32(sc->regsmap_handle, \
usr/src/uts/intel/io/amr/amrreg.h
681
#define AMR_SPUT_ISTAT(sc, val) pci_config_put8(sc->regsmap_handle, \
usr/src/uts/intel/io/amr/amrreg.h
683
#define AMR_SGET_ISTAT(sc) pci_config_get8(sc->regsmap_handle, AMR_SINTR)
usr/src/uts/intel/io/amr/amrreg.h
684
#define AMR_SACK_INTERRUPT(sc) pci_config_put8(sc->regsmap_handle, \
usr/src/uts/intel/io/amr/amrreg.h
686
#define AMR_SPOST_COMMAND(sc) pci_config_put8(sc->regsmap_handle, AMR_SCMD, \
usr/src/uts/intel/io/amr/amrreg.h
688
#define AMR_SGET_MBSTAT(sc) pci_config_get8(sc->regsmap_handle, \
usr/src/uts/intel/io/amr/amrreg.h
691
#define AMR_SENABLE_INTR(sc) \
usr/src/uts/intel/io/amr/amrreg.h
692
pci_config_put8(sc->regsmap_handle, AMR_STOGGLE, \
usr/src/uts/intel/io/amr/amrreg.h
693
pci_config_get8(sc->regsmap_handle, AMR_STOGGLE) \
usr/src/uts/intel/io/amr/amrreg.h
696
#define AMR_SDISABLE_INTR(sc) \
usr/src/uts/intel/io/amr/amrreg.h
697
pci_config_put8(sc->regsmap_handle, AMR_STOGGLE, \
usr/src/uts/intel/io/amr/amrreg.h
698
pci_config_get8(sc->regsmap_handle, AMR_STOGGLE) \
usr/src/uts/intel/io/amr/amrreg.h
701
#define AMR_SBYTE_SET(sc, reg, val) pci_config_put8(sc->regsmap_handle, \
usr/src/uts/intel/io/ipmi/ipmi.c
100
ipmi_complete_request(struct ipmi_softc *sc, struct ipmi_request *req)
usr/src/uts/intel/io/ipmi/ipmi.c
104
IPMI_LOCK_ASSERT(sc);
usr/src/uts/intel/io/ipmi/ipmi.c
135
ipmi_submit_driver_request(struct ipmi_softc *sc, struct ipmi_request **preq,
usr/src/uts/intel/io/ipmi/ipmi.c
143
IPMI_LOCK(sc);
usr/src/uts/intel/io/ipmi/ipmi.c
144
error = sc->ipmi_enqueue_request(sc, req);
usr/src/uts/intel/io/ipmi/ipmi.c
147
IPMI_UNLOCK(sc);
usr/src/uts/intel/io/ipmi/ipmi.c
153
cv_wait(&req->ir_cv, &sc->ipmi_lock);
usr/src/uts/intel/io/ipmi/ipmi.c
155
error = cv_timedwait(&req->ir_cv, &sc->ipmi_lock,
usr/src/uts/intel/io/ipmi/ipmi.c
160
TAILQ_REMOVE(&sc->ipmi_pending_requests, req, ir_link);
usr/src/uts/intel/io/ipmi/ipmi.c
176
IPMI_UNLOCK(sc);
usr/src/uts/intel/io/ipmi/ipmi.c
188
ipmi_dequeue_request(struct ipmi_softc *sc)
usr/src/uts/intel/io/ipmi/ipmi.c
192
IPMI_LOCK_ASSERT(sc);
usr/src/uts/intel/io/ipmi/ipmi.c
194
while (!sc->ipmi_detaching && TAILQ_EMPTY(&sc->ipmi_pending_requests))
usr/src/uts/intel/io/ipmi/ipmi.c
195
cv_wait(&sc->ipmi_request_added, &sc->ipmi_lock);
usr/src/uts/intel/io/ipmi/ipmi.c
196
if (sc->ipmi_detaching)
usr/src/uts/intel/io/ipmi/ipmi.c
199
req = TAILQ_FIRST(&sc->ipmi_pending_requests);
usr/src/uts/intel/io/ipmi/ipmi.c
200
TAILQ_REMOVE(&sc->ipmi_pending_requests, req, ir_link);
usr/src/uts/intel/io/ipmi/ipmi.c
210
ipmi_polled_enqueue_request(struct ipmi_softc *sc, struct ipmi_request *req)
usr/src/uts/intel/io/ipmi/ipmi.c
213
IPMI_LOCK_ASSERT(sc);
usr/src/uts/intel/io/ipmi/ipmi.c
215
TAILQ_INSERT_TAIL(&sc->ipmi_pending_requests, req, ir_link);
usr/src/uts/intel/io/ipmi/ipmi.c
217
cv_signal(&sc->ipmi_request_added);
usr/src/uts/intel/io/ipmi/ipmi.c
222
ipmi_shutdown(struct ipmi_softc *sc)
usr/src/uts/intel/io/ipmi/ipmi.c
224
taskq_destroy(sc->ipmi_kthread);
usr/src/uts/intel/io/ipmi/ipmi.c
226
cv_destroy(&sc->ipmi_request_added);
usr/src/uts/intel/io/ipmi/ipmi.c
227
mutex_destroy(&sc->ipmi_lock);
usr/src/uts/intel/io/ipmi/ipmi.c
231
ipmi_startup(struct ipmi_softc *sc)
usr/src/uts/intel/io/ipmi/ipmi.c
237
mutex_init(&sc->ipmi_lock, NULL, MUTEX_DEFAULT, NULL);
usr/src/uts/intel/io/ipmi/ipmi.c
238
cv_init(&sc->ipmi_request_added, NULL, CV_DEFAULT, NULL);
usr/src/uts/intel/io/ipmi/ipmi.c
239
TAILQ_INIT(&sc->ipmi_pending_requests);
usr/src/uts/intel/io/ipmi/ipmi.c
242
error = sc->ipmi_startup(sc);
usr/src/uts/intel/io/ipmi/ipmi.c
252
error = ipmi_submit_driver_request(sc, &req, MAX_TIMEOUT);
usr/src/uts/intel/io/ipmi/ipmi.c
285
if ((error = ipmi_submit_driver_request(sc, &req, 0)) != 0) {
usr/src/uts/intel/io/ipmi/ipmi.c
305
if (ipmi_submit_driver_request(sc, &req, 0) != 0) {
usr/src/uts/intel/io/ipmi/ipmi.c
322
if ((error = ipmi_submit_driver_request(sc, &req, 0)) != 0) {
usr/src/uts/intel/io/ipmi/ipmi_kcs.c
104
kcs_clear_obf(struct ipmi_softc *sc, int status)
usr/src/uts/intel/io/ipmi/ipmi_kcs.c
108
(void) INB(sc, KCS_DATA);
usr/src/uts/intel/io/ipmi/ipmi_kcs.c
113
kcs_error(struct ipmi_softc *sc)
usr/src/uts/intel/io/ipmi/ipmi_kcs.c
121
status = kcs_wait_for_ibf(sc, 0);
usr/src/uts/intel/io/ipmi/ipmi_kcs.c
124
OUTB(sc, KCS_CTL_STS, KCS_CONTROL_GET_STATUS_ABORT);
usr/src/uts/intel/io/ipmi/ipmi_kcs.c
127
status = kcs_wait_for_ibf(sc, 0);
usr/src/uts/intel/io/ipmi/ipmi_kcs.c
130
kcs_clear_obf(sc, status);
usr/src/uts/intel/io/ipmi/ipmi_kcs.c
133
data = INB(sc, KCS_DATA);
usr/src/uts/intel/io/ipmi/ipmi_kcs.c
140
OUTB(sc, KCS_DATA, 0x00);
usr/src/uts/intel/io/ipmi/ipmi_kcs.c
143
status = kcs_wait_for_ibf(sc, 0);
usr/src/uts/intel/io/ipmi/ipmi_kcs.c
148
status = kcs_wait_for_obf(sc, 1);
usr/src/uts/intel/io/ipmi/ipmi_kcs.c
151
data = INB(sc, KCS_DATA);
usr/src/uts/intel/io/ipmi/ipmi_kcs.c
156
OUTB(sc, KCS_DATA, KCS_DATA_IN_READ);
usr/src/uts/intel/io/ipmi/ipmi_kcs.c
159
status = kcs_wait_for_ibf(sc, 0);
usr/src/uts/intel/io/ipmi/ipmi_kcs.c
165
status = kcs_wait_for_obf(sc, 1);
usr/src/uts/intel/io/ipmi/ipmi_kcs.c
168
kcs_clear_obf(sc, status);
usr/src/uts/intel/io/ipmi/ipmi_kcs.c
180
kcs_start_write(struct ipmi_softc *sc)
usr/src/uts/intel/io/ipmi/ipmi_kcs.c
186
status = kcs_wait_for_ibf(sc, 0);
usr/src/uts/intel/io/ipmi/ipmi_kcs.c
189
kcs_clear_obf(sc, status);
usr/src/uts/intel/io/ipmi/ipmi_kcs.c
192
OUTB(sc, KCS_CTL_STS, KCS_CONTROL_WRITE_START);
usr/src/uts/intel/io/ipmi/ipmi_kcs.c
195
status = kcs_wait_for_ibf(sc, 0);
usr/src/uts/intel/io/ipmi/ipmi_kcs.c
206
kcs_clear_obf(sc, status);
usr/src/uts/intel/io/ipmi/ipmi_kcs.c
216
kcs_write_byte(struct ipmi_softc *sc, uchar_t data)
usr/src/uts/intel/io/ipmi/ipmi_kcs.c
221
OUTB(sc, KCS_DATA, data);
usr/src/uts/intel/io/ipmi/ipmi_kcs.c
224
status = kcs_wait_for_ibf(sc, 0);
usr/src/uts/intel/io/ipmi/ipmi_kcs.c
230
kcs_clear_obf(sc, status);
usr/src/uts/intel/io/ipmi/ipmi_kcs.c
238
kcs_write_last_byte(struct ipmi_softc *sc, uchar_t data)
usr/src/uts/intel/io/ipmi/ipmi_kcs.c
243
OUTB(sc, KCS_CTL_STS, KCS_CONTROL_WRITE_END);
usr/src/uts/intel/io/ipmi/ipmi_kcs.c
246
status = kcs_wait_for_ibf(sc, 0);
usr/src/uts/intel/io/ipmi/ipmi_kcs.c
253
kcs_clear_obf(sc, status);
usr/src/uts/intel/io/ipmi/ipmi_kcs.c
256
OUTB(sc, KCS_DATA, data);
usr/src/uts/intel/io/ipmi/ipmi_kcs.c
264
kcs_read_byte(struct ipmi_softc *sc, uchar_t *data)
usr/src/uts/intel/io/ipmi/ipmi_kcs.c
269
status = kcs_wait_for_ibf(sc, 0);
usr/src/uts/intel/io/ipmi/ipmi_kcs.c
275
status = kcs_wait_for_obf(sc, 1);
usr/src/uts/intel/io/ipmi/ipmi_kcs.c
278
*data = INB(sc, KCS_DATA);
usr/src/uts/intel/io/ipmi/ipmi_kcs.c
281
OUTB(sc, KCS_DATA, KCS_DATA_IN_READ);
usr/src/uts/intel/io/ipmi/ipmi_kcs.c
289
status = kcs_wait_for_obf(sc, 1);
usr/src/uts/intel/io/ipmi/ipmi_kcs.c
292
(void) INB(sc, KCS_DATA);
usr/src/uts/intel/io/ipmi/ipmi_kcs.c
305
kcs_polled_request(struct ipmi_softc *sc, struct ipmi_request *req)
usr/src/uts/intel/io/ipmi/ipmi_kcs.c
311
if (!kcs_start_write(sc)) {
usr/src/uts/intel/io/ipmi/ipmi_kcs.c
319
if (!kcs_write_byte(sc, req->ir_addr)) {
usr/src/uts/intel/io/ipmi/ipmi_kcs.c
328
if (!kcs_write_last_byte(sc, req->ir_command)) {
usr/src/uts/intel/io/ipmi/ipmi_kcs.c
338
if (!kcs_write_byte(sc, req->ir_command)) {
usr/src/uts/intel/io/ipmi/ipmi_kcs.c
350
if (!kcs_write_byte(sc, *cp++)) {
usr/src/uts/intel/io/ipmi/ipmi_kcs.c
362
if (!kcs_write_last_byte(sc, *cp)) {
usr/src/uts/intel/io/ipmi/ipmi_kcs.c
374
if (kcs_read_byte(sc, &data) != 1) {
usr/src/uts/intel/io/ipmi/ipmi_kcs.c
387
if (kcs_read_byte(sc, &data) != 1) {
usr/src/uts/intel/io/ipmi/ipmi_kcs.c
400
if (kcs_read_byte(sc, &req->ir_compcode) != 1) {
usr/src/uts/intel/io/ipmi/ipmi_kcs.c
412
state = kcs_read_byte(sc, &data);
usr/src/uts/intel/io/ipmi/ipmi_kcs.c
443
kcs_error(sc);
usr/src/uts/intel/io/ipmi/ipmi_kcs.c
450
struct ipmi_softc *sc = arg;
usr/src/uts/intel/io/ipmi/ipmi_kcs.c
454
IPMI_LOCK(sc);
usr/src/uts/intel/io/ipmi/ipmi_kcs.c
455
while ((req = ipmi_dequeue_request(sc)) != NULL) {
usr/src/uts/intel/io/ipmi/ipmi_kcs.c
456
IPMI_UNLOCK(sc);
usr/src/uts/intel/io/ipmi/ipmi_kcs.c
459
ok = kcs_polled_request(sc, req);
usr/src/uts/intel/io/ipmi/ipmi_kcs.c
464
IPMI_LOCK(sc);
usr/src/uts/intel/io/ipmi/ipmi_kcs.c
465
ipmi_complete_request(sc, req);
usr/src/uts/intel/io/ipmi/ipmi_kcs.c
467
IPMI_UNLOCK(sc);
usr/src/uts/intel/io/ipmi/ipmi_kcs.c
471
kcs_startup(struct ipmi_softc *sc)
usr/src/uts/intel/io/ipmi/ipmi_kcs.c
473
sc->ipmi_kthread = taskq_create_proc("ipmi_kcs", 1, minclsyspri, 1, 1,
usr/src/uts/intel/io/ipmi/ipmi_kcs.c
476
if (taskq_dispatch(sc->ipmi_kthread, kcs_loop, (void *) sc,
usr/src/uts/intel/io/ipmi/ipmi_kcs.c
478
taskq_destroy(sc->ipmi_kthread);
usr/src/uts/intel/io/ipmi/ipmi_kcs.c
486
ipmi_kcs_attach(struct ipmi_softc *sc)
usr/src/uts/intel/io/ipmi/ipmi_kcs.c
491
sc->ipmi_startup = kcs_startup;
usr/src/uts/intel/io/ipmi/ipmi_kcs.c
492
sc->ipmi_enqueue_request = ipmi_polled_enqueue_request;
usr/src/uts/intel/io/ipmi/ipmi_kcs.c
495
status = INB(sc, KCS_CTL_STS);
usr/src/uts/intel/io/ipmi/ipmi_kcs.c
508
kcs_error(sc);
usr/src/uts/intel/io/ipmi/ipmi_kcs.c
54
kcs_wait_for_ibf(struct ipmi_softc *sc, int state)
usr/src/uts/intel/io/ipmi/ipmi_kcs.c
59
status = INB(sc, KCS_CTL_STS);
usr/src/uts/intel/io/ipmi/ipmi_kcs.c
65
status = INB(sc, KCS_CTL_STS);
usr/src/uts/intel/io/ipmi/ipmi_kcs.c
72
status = INB(sc, KCS_CTL_STS);
usr/src/uts/intel/io/ipmi/ipmi_kcs.c
79
kcs_wait_for_obf(struct ipmi_softc *sc, int state)
usr/src/uts/intel/io/ipmi/ipmi_kcs.c
84
status = INB(sc, KCS_CTL_STS);
usr/src/uts/intel/io/ipmi/ipmi_kcs.c
90
status = INB(sc, KCS_CTL_STS);
usr/src/uts/intel/io/ipmi/ipmi_kcs.c
97
status = INB(sc, KCS_CTL_STS);
usr/src/uts/intel/io/ipmi/ipmi_main.c
101
sc->ipmi_io_address = ipmi.smbip_addr;
usr/src/uts/intel/io/ipmi/ipmi_main.c
102
sc->ipmi_io_mode = (ipmi.smbip_flags & SMB_IPMI_F_IOADDR) ?
usr/src/uts/intel/io/ipmi/ipmi_main.c
104
sc->ipmi_io_spacing = ipmi.smbip_regspacing;
usr/src/uts/intel/io/ipmi/ipmi_main.c
110
sc->ipmi_io_address = ipmi.smbip_i2c;
usr/src/uts/intel/io/ipmi/ipmi_main.c
112
sc->ipmi_io_address = ipmi.smbip_addr;
usr/src/uts/intel/io/ipmi/ipmi_main.c
125
sc->ipmi_io_irq = ipmi.smbip_intr;
usr/src/uts/intel/io/ipmi/ipmi_main.c
197
IPMI_LOCK(sc);
usr/src/uts/intel/io/ipmi/ipmi_main.c
199
req = TAILQ_FIRST(&sc->ipmi_pending_requests);
usr/src/uts/intel/io/ipmi/ipmi_main.c
204
TAILQ_REMOVE(&sc->ipmi_pending_requests, req, ir_link);
usr/src/uts/intel/io/ipmi/ipmi_main.c
212
cv_wait(&dp->ipmi_cv, &sc->ipmi_lock);
usr/src/uts/intel/io/ipmi/ipmi_main.c
213
IPMI_UNLOCK(sc);
usr/src/uts/intel/io/ipmi/ipmi_main.c
318
IPMI_LOCK(sc);
usr/src/uts/intel/io/ipmi/ipmi_main.c
320
error = sc->ipmi_enqueue_request(sc, kreq);
usr/src/uts/intel/io/ipmi/ipmi_main.c
321
IPMI_UNLOCK(sc);
usr/src/uts/intel/io/ipmi/ipmi_main.c
332
IPMI_LOCK(sc);
usr/src/uts/intel/io/ipmi/ipmi_main.c
335
IPMI_UNLOCK(sc);
usr/src/uts/intel/io/ipmi/ipmi_main.c
348
IPMI_UNLOCK(sc);
usr/src/uts/intel/io/ipmi/ipmi_main.c
354
IPMI_UNLOCK(sc);
usr/src/uts/intel/io/ipmi/ipmi_main.c
359
IPMI_UNLOCK(sc);
usr/src/uts/intel/io/ipmi/ipmi_main.c
393
IPMI_LOCK(sc);
usr/src/uts/intel/io/ipmi/ipmi_main.c
396
IPMI_UNLOCK(sc);
usr/src/uts/intel/io/ipmi/ipmi_main.c
399
IPMI_UNLOCK(sc);
usr/src/uts/intel/io/ipmi/ipmi_main.c
403
IPMI_LOCK(sc);
usr/src/uts/intel/io/ipmi/ipmi_main.c
406
IPMI_UNLOCK(sc);
usr/src/uts/intel/io/ipmi/ipmi_main.c
409
IPMI_UNLOCK(sc);
usr/src/uts/intel/io/ipmi/ipmi_main.c
413
IPMI_LOCK(sc);
usr/src/uts/intel/io/ipmi/ipmi_main.c
415
IPMI_UNLOCK(sc);
usr/src/uts/intel/io/ipmi/ipmi_main.c
419
IPMI_UNLOCK(sc);
usr/src/uts/intel/io/ipmi/ipmi_main.c
423
IPMI_LOCK(sc);
usr/src/uts/intel/io/ipmi/ipmi_main.c
426
IPMI_UNLOCK(sc);
usr/src/uts/intel/io/ipmi/ipmi_main.c
429
IPMI_UNLOCK(sc);
usr/src/uts/intel/io/ipmi/ipmi_main.c
490
IPMI_LOCK(sc);
usr/src/uts/intel/io/ipmi/ipmi_main.c
491
sc->ipmi_detaching = 1;
usr/src/uts/intel/io/ipmi/ipmi_main.c
492
cv_signal(&sc->ipmi_request_added);
usr/src/uts/intel/io/ipmi/ipmi_main.c
493
IPMI_UNLOCK(sc);
usr/src/uts/intel/io/ipmi/ipmi_main.c
495
ipmi_shutdown(sc);
usr/src/uts/intel/io/ipmi/ipmi_main.c
503
sc->ipmi_detaching = 0;
usr/src/uts/intel/io/ipmi/ipmi_main.c
526
switch (sc->ipmi_io_type) {
usr/src/uts/intel/io/ipmi/ipmi_main.c
528
if (ipmi_kcs_attach(sc) != 0)
usr/src/uts/intel/io/ipmi/ipmi_main.c
552
if (ipmi_startup(sc) != B_TRUE) {
usr/src/uts/intel/io/ipmi/ipmi_main.c
65
static struct ipmi_softc *sc = &softc;
usr/src/uts/intel/io/ipmi/ipmi_main.c
97
sc->ipmi_io_type = ipmi.smbip_type;
usr/src/uts/intel/io/ipmi/ipmivars.h
176
#define IPMI_LOCK(sc) mutex_enter(&(sc)->ipmi_lock)
usr/src/uts/intel/io/ipmi/ipmivars.h
177
#define IPMI_UNLOCK(sc) mutex_exit(&(sc)->ipmi_lock)
usr/src/uts/intel/io/ipmi/ipmivars.h
178
#define IPMI_LOCK_ASSERT(sc) ASSERT(MUTEX_HELD(&(sc)->ipmi_lock))
usr/src/uts/intel/io/ipmi/ipmivars.h
183
#define INB(sc, x) \
usr/src/uts/intel/io/ipmi/ipmivars.h
184
inb((sc)->ipmi_io_address + ((sc)->ipmi_io_spacing * (x)))
usr/src/uts/intel/io/ipmi/ipmivars.h
185
#define OUTB(sc, x, value) \
usr/src/uts/intel/io/ipmi/ipmivars.h
186
outb((sc)->ipmi_io_address + ((sc)->ipmi_io_spacing * (x)), value)
usr/src/uts/intel/io/ipmi/ipmivars.h
199
boolean_t ipmi_startup(struct ipmi_softc *sc);
usr/src/uts/intel/io/ipmi/ipmivars.h
203
void ipmi_shutdown(struct ipmi_softc *sc);
usr/src/uts/intel/io/vmm/amd/amdiommu.c
122
struct amdiommu_softc *sc;
usr/src/uts/intel/io/vmm/amd/amdiommu.c
125
sc = device_get_softc(dev);
usr/src/uts/intel/io/vmm/amd/amdiommu.c
127
if (sc->event_res != NULL)
usr/src/uts/intel/io/vmm/amd/amdiommu.c
129
sc->event_rid = 1;
usr/src/uts/intel/io/vmm/amd/amdiommu.c
137
sc->event_res = bus_alloc_resource_any(dev, SYS_RES_IRQ,
usr/src/uts/intel/io/vmm/amd/amdiommu.c
138
&sc->event_rid, RF_ACTIVE);
usr/src/uts/intel/io/vmm/amd/amdiommu.c
139
if (sc->event_res == NULL) {
usr/src/uts/intel/io/vmm/amd/amdiommu.c
145
error = bus_setup_intr(dev, sc->event_res, INTR_TYPE_MISC | INTR_MPSAFE,
usr/src/uts/intel/io/vmm/amd/amdiommu.c
146
NULL, handler, arg, &sc->event_tag);
usr/src/uts/intel/io/vmm/amd/amdiommu.c
152
bus_describe_intr(dev, sc->event_res, sc->event_tag, "%s", desc);
usr/src/uts/intel/io/vmm/amd/amdiommu.c
163
struct amdiommu_softc *sc;
usr/src/uts/intel/io/vmm/amd/amdiommu.c
165
sc = device_get_softc(dev);
usr/src/uts/intel/io/vmm/amd/amdiommu.c
167
if (sc->event_tag != NULL) {
usr/src/uts/intel/io/vmm/amd/amdiommu.c
168
bus_teardown_intr(dev, sc->event_res, sc->event_tag);
usr/src/uts/intel/io/vmm/amd/amdiommu.c
169
sc->event_tag = NULL;
usr/src/uts/intel/io/vmm/amd/amdiommu.c
171
if (sc->event_res != NULL) {
usr/src/uts/intel/io/vmm/amd/amdiommu.c
172
bus_release_resource(dev, SYS_RES_IRQ, sc->event_rid,
usr/src/uts/intel/io/vmm/amd/amdiommu.c
173
sc->event_res);
usr/src/uts/intel/io/vmm/amd/amdiommu.c
174
sc->event_res = NULL;
usr/src/uts/intel/io/vmm/amd/svm.c
1006
svm_set_dirty(sc, vcpu, VMCB_CACHE_TPR);
usr/src/uts/intel/io/vmm/amd/svm.c
1007
svm_disable_intercept(sc, vcpu, VMCB_CTRL1_INTCPT, VMCB_INTCPT_VINTR);
usr/src/uts/intel/io/vmm/amd/svm.c
1016
svm_nmi_blocked(struct svm_softc *sc, int vcpu)
usr/src/uts/intel/io/vmm/amd/svm.c
1018
return (svm_get_intercept(sc, vcpu, VMCB_CTRL1_INTCPT,
usr/src/uts/intel/io/vmm/amd/svm.c
1023
svm_clear_nmi_blocking(struct svm_softc *sc, int vcpu)
usr/src/uts/intel/io/vmm/amd/svm.c
1027
KASSERT(svm_nmi_blocked(sc, vcpu), ("vNMI already unblocked"));
usr/src/uts/intel/io/vmm/amd/svm.c
1039
svm_disable_intercept(sc, vcpu, VMCB_CTRL1_INTCPT, VMCB_INTCPT_IRET);
usr/src/uts/intel/io/vmm/amd/svm.c
1045
ctrl = svm_get_vmcb_ctrl(sc, vcpu);
usr/src/uts/intel/io/vmm/amd/svm.c
1099
svm_inject_nmi(struct svm_softc *sc, int vcpu)
usr/src/uts/intel/io/vmm/amd/svm.c
110
static void flush_asid(struct svm_softc *sc, int vcpuid);
usr/src/uts/intel/io/vmm/amd/svm.c
1101
struct vmcb_ctrl *ctrl = svm_get_vmcb_ctrl(sc, vcpu);
usr/src/uts/intel/io/vmm/amd/svm.c
1103
ASSERT(!svm_nmi_blocked(sc, vcpu));
usr/src/uts/intel/io/vmm/amd/svm.c
1106
vm_nmi_clear(sc->vm, vcpu);
usr/src/uts/intel/io/vmm/amd/svm.c
1115
svm_enable_intercept(sc, vcpu, VMCB_CTRL1_INTCPT, VMCB_INTCPT_IRET);
usr/src/uts/intel/io/vmm/amd/svm.c
1119
svm_inject_irq(struct svm_softc *sc, int vcpu, int vector)
usr/src/uts/intel/io/vmm/amd/svm.c
1121
struct vmcb_ctrl *ctrl = svm_get_vmcb_ctrl(sc, vcpu);
usr/src/uts/intel/io/vmm/amd/svm.c
1131
svm_write_efer(struct svm_softc *sc, int vcpu, uint64_t newval)
usr/src/uts/intel/io/vmm/amd/svm.c
1133
struct vmcb_state *state = svm_get_vmcb_state(sc, vcpu);
usr/src/uts/intel/io/vmm/amd/svm.c
1162
!vm_cpuid_capability(sc->vm, vcpu, VCC_NO_EXECUTE)) {
usr/src/uts/intel/io/vmm/amd/svm.c
1166
!vm_cpuid_capability(sc->vm, vcpu, VCC_FFXSR)) {
usr/src/uts/intel/io/vmm/amd/svm.c
1170
!vm_cpuid_capability(sc->vm, vcpu, VCC_TCE)) {
usr/src/uts/intel/io/vmm/amd/svm.c
1182
error = svm_setreg(sc, vcpu, VM_REG_GUEST_EFER, newval);
usr/src/uts/intel/io/vmm/amd/svm.c
1572
svm_inject_events(struct svm_softc *sc, int vcpu)
usr/src/uts/intel/io/vmm/amd/svm.c
1580
state = svm_get_vmcb_state(sc, vcpu);
usr/src/uts/intel/io/vmm/amd/svm.c
1581
ctrl = svm_get_vmcb_ctrl(sc, vcpu);
usr/src/uts/intel/io/vmm/amd/svm.c
1582
vcpustate = svm_get_vcpu(sc, vcpu);
usr/src/uts/intel/io/vmm/amd/svm.c
1607
if (vm_entry_intinfo(sc->vm, vcpu, &intinfo)) {
usr/src/uts/intel/io/vmm/amd/svm.c
1609
vmm_stat_incr(sc->vm, vcpu, VCPU_INTINFO_INJECTED, 1);
usr/src/uts/intel/io/vmm/amd/svm.c
1614
if (vm_nmi_pending(sc->vm, vcpu) && !svm_nmi_blocked(sc, vcpu)) {
usr/src/uts/intel/io/vmm/amd/svm.c
1621
svm_inject_nmi(sc, vcpu);
usr/src/uts/intel/io/vmm/amd/svm.c
1628
if (vm_extint_pending(sc->vm, vcpu)) {
usr/src/uts/intel/io/vmm/amd/svm.c
1644
vatpic_pending_intr(sc->vm, &vector);
usr/src/uts/intel/io/vmm/amd/svm.c
1648
svm_inject_irq(sc, vcpu, vector);
usr/src/uts/intel/io/vmm/amd/svm.c
1649
vm_extint_clear(sc->vm, vcpu);
usr/src/uts/intel/io/vmm/amd/svm.c
1650
vatpic_intr_accepted(sc->vm, vector);
usr/src/uts/intel/io/vmm/amd/svm.c
1664
svm_inject_vlapic(struct svm_softc *sc, int vcpu, struct vlapic *vlapic,
usr/src/uts/intel/io/vmm/amd/svm.c
1672
state = svm_get_vmcb_state(sc, vcpu);
usr/src/uts/intel/io/vmm/amd/svm.c
1673
ctrl = svm_get_vmcb_ctrl(sc, vcpu);
usr/src/uts/intel/io/vmm/amd/svm.c
1688
svm_set_dirty(sc, vcpu, VMCB_CACHE_TPR);
usr/src/uts/intel/io/vmm/amd/svm.c
1710
svm_inject_irq(sc, vcpu, vector);
usr/src/uts/intel/io/vmm/amd/svm.c
1723
svm_inject_recheck(struct svm_softc *sc, int vcpu,
usr/src/uts/intel/io/vmm/amd/svm.c
1728
ctrl = svm_get_vmcb_ctrl(sc, vcpu);
usr/src/uts/intel/io/vmm/amd/svm.c
1739
if (vm_nmi_pending(sc->vm, vcpu) &&
usr/src/uts/intel/io/vmm/amd/svm.c
1740
!svm_nmi_blocked(sc, vcpu)) {
usr/src/uts/intel/io/vmm/amd/svm.c
1744
if (vm_extint_pending(sc->vm, vcpu)) {
usr/src/uts/intel/io/vmm/amd/svm.c
1762
svm_enable_intr_window_exiting(sc, vcpu);
usr/src/uts/intel/io/vmm/amd/svm.c
1770
check_asid(struct svm_softc *sc, int vcpuid, uint_t thiscpu, uint64_t nptgen)
usr/src/uts/intel/io/vmm/amd/svm.c
1772
struct svm_vcpu *vcpustate = svm_get_vcpu(sc, vcpuid);
usr/src/uts/intel/io/vmm/amd/svm.c
1773
struct vmcb_ctrl *ctrl = svm_get_vmcb_ctrl(sc, vcpuid);
usr/src/uts/intel/io/vmm/amd/svm.c
1781
svm_set_dirty(sc, vcpuid, VMCB_CACHE_ASID);
usr/src/uts/intel/io/vmm/amd/svm.c
1788
flush_asid(struct svm_softc *sc, int vcpuid)
usr/src/uts/intel/io/vmm/amd/svm.c
1790
struct svm_vcpu *vcpustate = svm_get_vcpu(sc, vcpuid);
usr/src/uts/intel/io/vmm/amd/svm.c
1791
struct vmcb_ctrl *ctrl = svm_get_vmcb_ctrl(sc, vcpuid);
usr/src/uts/intel/io/vmm/amd/svm.c
1803
svm_set_dirty(sc, vcpuid, VMCB_CACHE_ASID);
usr/src/uts/intel/io/vmm/amd/svm.c
2060
struct svm_softc *sc = arg;
usr/src/uts/intel/io/vmm/amd/svm.c
2062
vmm_contig_free(sc->iopm_bitmap, SVM_IO_BITMAP_SIZE);
usr/src/uts/intel/io/vmm/amd/svm.c
2063
vmm_contig_free(sc->msr_bitmap, SVM_MSR_BITMAP_SIZE);
usr/src/uts/intel/io/vmm/amd/svm.c
2064
kmem_free(sc, sizeof (*sc));
usr/src/uts/intel/io/vmm/amd/svm.c
2115
struct svm_softc *sc;
usr/src/uts/intel/io/vmm/amd/svm.c
2121
sc = arg;
usr/src/uts/intel/io/vmm/amd/svm.c
2122
vmcb = svm_get_vmcb(sc, vcpu);
usr/src/uts/intel/io/vmm/amd/svm.c
2124
regp = swctx_regptr(svm_get_guest_regctx(sc, vcpu), ident);
usr/src/uts/intel/io/vmm/amd/svm.c
2136
svm_get_cr0(sc, vcpu, val);
usr/src/uts/intel/io/vmm/amd/svm.c
2196
struct svm_softc *sc;
usr/src/uts/intel/io/vmm/amd/svm.c
2203
sc = arg;
usr/src/uts/intel/io/vmm/amd/svm.c
2204
vmcb = svm_get_vmcb(sc, vcpu);
usr/src/uts/intel/io/vmm/amd/svm.c
2206
regp = swctx_regptr(svm_get_guest_regctx(sc, vcpu), ident);
usr/src/uts/intel/io/vmm/amd/svm.c
2226
svm_set_cr0(sc, vcpu, val, false);
usr/src/uts/intel/io/vmm/amd/svm.c
2275
svm_set_dirty(sc, vcpu, dirty);
usr/src/uts/intel/io/vmm/amd/svm.c
2291
struct svm_softc *sc;
usr/src/uts/intel/io/vmm/amd/svm.c
2294
sc = arg;
usr/src/uts/intel/io/vmm/amd/svm.c
2295
vmcb = svm_get_vmcb(sc, vcpu);
usr/src/uts/intel/io/vmm/amd/svm.c
2306
svm_set_dirty(sc, vcpu, VMCB_CACHE_SEG);
usr/src/uts/intel/io/vmm/amd/svm.c
2333
svm_set_dirty(sc, vcpu, VMCB_CACHE_DT);
usr/src/uts/intel/io/vmm/amd/svm.c
2352
struct svm_softc *sc;
usr/src/uts/intel/io/vmm/amd/svm.c
2355
sc = arg;
usr/src/uts/intel/io/vmm/amd/svm.c
2356
vmcb = svm_get_vmcb(sc, vcpu);
usr/src/uts/intel/io/vmm/amd/svm.c
2426
struct svm_softc *sc = arg;
usr/src/uts/intel/io/vmm/amd/svm.c
2427
struct vmcb *vmcb = svm_get_vmcb(sc, vcpu);
usr/src/uts/intel/io/vmm/amd/svm.c
2441
struct svm_softc *sc = arg;
usr/src/uts/intel/io/vmm/amd/svm.c
2442
struct vmcb *vmcb = svm_get_vmcb(sc, vcpu);
usr/src/uts/intel/io/vmm/amd/svm.c
245
svm_get_intercept(struct svm_softc *sc, int vcpu, int idx, uint32_t bitmask)
usr/src/uts/intel/io/vmm/amd/svm.c
2466
svm_set_dirty(sc, vcpu, dirty);
usr/src/uts/intel/io/vmm/amd/svm.c
2475
struct svm_softc *sc;
usr/src/uts/intel/io/vmm/amd/svm.c
2478
sc = arg;
usr/src/uts/intel/io/vmm/amd/svm.c
2482
svm_set_intercept(sc, vcpu, VMCB_CTRL1_INTCPT,
usr/src/uts/intel/io/vmm/amd/svm.c
2486
svm_set_intercept(sc, vcpu, VMCB_CTRL1_INTCPT,
usr/src/uts/intel/io/vmm/amd/svm.c
2499
struct svm_softc *sc;
usr/src/uts/intel/io/vmm/amd/svm.c
2502
sc = arg;
usr/src/uts/intel/io/vmm/amd/svm.c
2507
*retval = svm_get_intercept(sc, vcpu, VMCB_CTRL1_INTCPT,
usr/src/uts/intel/io/vmm/amd/svm.c
251
ctrl = svm_get_vmcb_ctrl(sc, vcpu);
usr/src/uts/intel/io/vmm/amd/svm.c
2511
*retval = svm_get_intercept(sc, vcpu, VMCB_CTRL1_INTCPT,
usr/src/uts/intel/io/vmm/amd/svm.c
2548
struct svm_softc *sc = arg;
usr/src/uts/intel/io/vmm/amd/svm.c
2549
struct vmcb_ctrl *ctrl = svm_get_vmcb_ctrl(sc, vcpu);
usr/src/uts/intel/io/vmm/amd/svm.c
2557
svm_stash_intinfo(sc, vcpu, intinfo);
usr/src/uts/intel/io/vmm/amd/svm.c
256
svm_set_intercept(struct svm_softc *sc, int vcpu, int idx, uint32_t bitmask,
usr/src/uts/intel/io/vmm/amd/svm.c
2567
svm_disable_intr_window_exiting(sc, vcpu);
usr/src/uts/intel/io/vmm/amd/svm.c
2568
svm_disable_intercept(sc, vcpu, VMCB_CTRL1_INTCPT, VMCB_INTCPT_IRET);
usr/src/uts/intel/io/vmm/amd/svm.c
2574
struct svm_softc *sc = arg;
usr/src/uts/intel/io/vmm/amd/svm.c
2579
if (sc->vcpu[vcpu].loaded) {
usr/src/uts/intel/io/vmm/amd/svm.c
2580
svm_msr_guest_exit(sc, vcpu);
usr/src/uts/intel/io/vmm/amd/svm.c
2587
struct svm_softc *sc = arg;
usr/src/uts/intel/io/vmm/amd/svm.c
2589
if (sc->vcpu[vcpu].loaded) {
usr/src/uts/intel/io/vmm/amd/svm.c
2590
svm_msr_guest_enter(sc, vcpu);
usr/src/uts/intel/io/vmm/amd/svm.c
264
ctrl = svm_get_vmcb_ctrl(sc, vcpu);
usr/src/uts/intel/io/vmm/amd/svm.c
273
svm_set_dirty(sc, vcpu, VMCB_CACHE_I);
usr/src/uts/intel/io/vmm/amd/svm.c
278
vmcb_init(struct svm_softc *sc, int vcpu, uint64_t iopm_base_pa,
usr/src/uts/intel/io/vmm/amd/svm.c
286
ctrl = svm_get_vmcb_ctrl(sc, vcpu);
usr/src/uts/intel/io/vmm/amd/svm.c
287
state = svm_get_vmcb_state(sc, vcpu);
usr/src/uts/intel/io/vmm/amd/svm.c
303
svm_disable_intercept(sc, vcpu, VMCB_CR_INTCPT, mask);
usr/src/uts/intel/io/vmm/amd/svm.c
305
svm_enable_intercept(sc, vcpu, VMCB_CR_INTCPT, mask);
usr/src/uts/intel/io/vmm/amd/svm.c
312
svm_enable_intercept(sc, vcpu, VMCB_CTRL1_INTCPT,
usr/src/uts/intel/io/vmm/amd/svm.c
319
if (vcpu_trace_exceptions(sc->vm, vcpu)) {
usr/src/uts/intel/io/vmm/amd/svm.c
327
svm_enable_intercept(sc, vcpu, VMCB_EXC_INTCPT, BIT(n));
usr/src/uts/intel/io/vmm/amd/svm.c
330
svm_enable_intercept(sc, vcpu, VMCB_EXC_INTCPT, BIT(IDT_MC));
usr/src/uts/intel/io/vmm/amd/svm.c
334
svm_enable_intercept(sc, vcpu, VMCB_CTRL1_INTCPT, VMCB_INTCPT_IO);
usr/src/uts/intel/io/vmm/amd/svm.c
335
svm_enable_intercept(sc, vcpu, VMCB_CTRL1_INTCPT, VMCB_INTCPT_MSR);
usr/src/uts/intel/io/vmm/amd/svm.c
336
svm_enable_intercept(sc, vcpu, VMCB_CTRL1_INTCPT, VMCB_INTCPT_CPUID);
usr/src/uts/intel/io/vmm/amd/svm.c
337
svm_enable_intercept(sc, vcpu, VMCB_CTRL1_INTCPT, VMCB_INTCPT_INTR);
usr/src/uts/intel/io/vmm/amd/svm.c
338
svm_enable_intercept(sc, vcpu, VMCB_CTRL1_INTCPT, VMCB_INTCPT_INIT);
usr/src/uts/intel/io/vmm/amd/svm.c
339
svm_enable_intercept(sc, vcpu, VMCB_CTRL1_INTCPT, VMCB_INTCPT_NMI);
usr/src/uts/intel/io/vmm/amd/svm.c
340
svm_enable_intercept(sc, vcpu, VMCB_CTRL1_INTCPT, VMCB_INTCPT_SMI);
usr/src/uts/intel/io/vmm/amd/svm.c
341
svm_enable_intercept(sc, vcpu, VMCB_CTRL1_INTCPT, VMCB_INTCPT_RDPMC);
usr/src/uts/intel/io/vmm/amd/svm.c
342
svm_enable_intercept(sc, vcpu, VMCB_CTRL1_INTCPT, VMCB_INTCPT_SHUTDOWN);
usr/src/uts/intel/io/vmm/amd/svm.c
343
svm_enable_intercept(sc, vcpu, VMCB_CTRL1_INTCPT,
usr/src/uts/intel/io/vmm/amd/svm.c
347
svm_enable_intercept(sc, vcpu, VMCB_CTRL1_INTCPT, VMCB_INTCPT_HLT);
usr/src/uts/intel/io/vmm/amd/svm.c
349
svm_enable_intercept(sc, vcpu, VMCB_CTRL2_INTCPT, VMCB_INTCPT_MONITOR);
usr/src/uts/intel/io/vmm/amd/svm.c
350
svm_enable_intercept(sc, vcpu, VMCB_CTRL2_INTCPT, VMCB_INTCPT_MWAIT);
usr/src/uts/intel/io/vmm/amd/svm.c
353
svm_enable_intercept(sc, vcpu, VMCB_CTRL1_INTCPT, VMCB_INTCPT_INVD);
usr/src/uts/intel/io/vmm/amd/svm.c
354
svm_enable_intercept(sc, vcpu, VMCB_CTRL1_INTCPT, VMCB_INTCPT_INVLPGA);
usr/src/uts/intel/io/vmm/amd/svm.c
362
svm_enable_intercept(sc, vcpu, VMCB_CTRL2_INTCPT, VMCB_INTCPT_VMRUN);
usr/src/uts/intel/io/vmm/amd/svm.c
363
svm_enable_intercept(sc, vcpu, VMCB_CTRL2_INTCPT, VMCB_INTCPT_VMMCALL);
usr/src/uts/intel/io/vmm/amd/svm.c
364
svm_enable_intercept(sc, vcpu, VMCB_CTRL2_INTCPT, VMCB_INTCPT_VMLOAD);
usr/src/uts/intel/io/vmm/amd/svm.c
365
svm_enable_intercept(sc, vcpu, VMCB_CTRL2_INTCPT, VMCB_INTCPT_VMSAVE);
usr/src/uts/intel/io/vmm/amd/svm.c
366
svm_enable_intercept(sc, vcpu, VMCB_CTRL2_INTCPT, VMCB_INTCPT_STGI);
usr/src/uts/intel/io/vmm/amd/svm.c
367
svm_enable_intercept(sc, vcpu, VMCB_CTRL2_INTCPT, VMCB_INTCPT_CLGI);
usr/src/uts/intel/io/vmm/amd/svm.c
368
svm_enable_intercept(sc, vcpu, VMCB_CTRL2_INTCPT, VMCB_INTCPT_SKINIT);
usr/src/uts/intel/io/vmm/amd/svm.c
369
if (vcpu_trap_wbinvd(sc->vm, vcpu) != 0) {
usr/src/uts/intel/io/vmm/amd/svm.c
370
svm_enable_intercept(sc, vcpu, VMCB_CTRL2_INTCPT,
usr/src/uts/intel/io/vmm/amd/svm.c
884
svm_update_virqinfo(struct svm_softc *sc, int vcpu)
usr/src/uts/intel/io/vmm/amd/svm.c
890
vm = sc->vm;
usr/src/uts/intel/io/vmm/amd/svm.c
892
ctrl = svm_get_vmcb_ctrl(sc, vcpu);
usr/src/uts/intel/io/vmm/amd/svm.c
949
vintr_intercept_enabled(struct svm_softc *sc, int vcpu)
usr/src/uts/intel/io/vmm/amd/svm.c
952
return (svm_get_intercept(sc, vcpu, VMCB_CTRL1_INTCPT,
usr/src/uts/intel/io/vmm/amd/svm.c
957
svm_enable_intr_window_exiting(struct svm_softc *sc, int vcpu)
usr/src/uts/intel/io/vmm/amd/svm.c
962
ctrl = svm_get_vmcb_ctrl(sc, vcpu);
usr/src/uts/intel/io/vmm/amd/svm.c
963
state = svm_get_vmcb_state(sc, vcpu);
usr/src/uts/intel/io/vmm/amd/svm.c
968
KASSERT(vintr_intercept_enabled(sc, vcpu),
usr/src/uts/intel/io/vmm/amd/svm.c
987
svm_set_dirty(sc, vcpu, VMCB_CACHE_TPR);
usr/src/uts/intel/io/vmm/amd/svm.c
988
svm_enable_intercept(sc, vcpu, VMCB_CTRL1_INTCPT, VMCB_INTCPT_VINTR);
usr/src/uts/intel/io/vmm/amd/svm.c
992
svm_disable_intr_window_exiting(struct svm_softc *sc, int vcpu)
usr/src/uts/intel/io/vmm/amd/svm.c
996
ctrl = svm_get_vmcb_ctrl(sc, vcpu);
usr/src/uts/intel/io/vmm/amd/svm.c
999
KASSERT(!vintr_intercept_enabled(sc, vcpu),
usr/src/uts/intel/io/vmm/amd/svm_msr.c
105
uint64_t mult = vm_get_freq_multiplier(sc->vm);
usr/src/uts/intel/io/vmm/amd/svm_msr.c
112
svm_msr_guest_exit(struct svm_softc *sc, int vcpu)
usr/src/uts/intel/io/vmm/amd/svm_msr.c
114
uint64_t *host_msrs = sc->host_msrs[vcpu];
usr/src/uts/intel/io/vmm/amd/svm_msr.c
125
if (vm_get_freq_multiplier(sc->vm) != VM_TSCM_NOSCALE) {
usr/src/uts/intel/io/vmm/amd/svm_msr.c
133
svm_rdmsr(struct svm_softc *sc, int vcpu, uint32_t num, uint64_t *result)
usr/src/uts/intel/io/vmm/amd/svm_msr.c
160
svm_wrmsr(struct svm_softc *sc, int vcpu, uint32_t num, uint64_t val)
usr/src/uts/intel/io/vmm/amd/svm_msr.c
76
svm_msr_guest_init(struct svm_softc *sc, int vcpu)
usr/src/uts/intel/io/vmm/amd/svm_msr.c
89
svm_msr_guest_enter(struct svm_softc *sc, int vcpu)
usr/src/uts/intel/io/vmm/amd/svm_msr.c
91
uint64_t *host_msrs = sc->host_msrs[vcpu];
usr/src/uts/intel/io/vmm/amd/svm_msr.h
34
void svm_msr_guest_init(struct svm_softc *sc, int vcpu);
usr/src/uts/intel/io/vmm/amd/svm_msr.h
35
void svm_msr_guest_enter(struct svm_softc *sc, int vcpu);
usr/src/uts/intel/io/vmm/amd/svm_msr.h
36
void svm_msr_guest_exit(struct svm_softc *sc, int vcpu);
usr/src/uts/intel/io/vmm/amd/svm_softc.h
100
svm_get_vmcb_ctrl(struct svm_softc *sc, int vcpu)
usr/src/uts/intel/io/vmm/amd/svm_softc.h
102
return (&(sc->vcpu[vcpu].vmcb.ctrl));
usr/src/uts/intel/io/vmm/amd/svm_softc.h
106
svm_get_guest_regctx(struct svm_softc *sc, int vcpu)
usr/src/uts/intel/io/vmm/amd/svm_softc.h
108
return (&(sc->vcpu[vcpu].swctx));
usr/src/uts/intel/io/vmm/amd/svm_softc.h
112
svm_get_pmu(struct svm_softc *sc, int vcpu)
usr/src/uts/intel/io/vmm/amd/svm_softc.h
114
return (&(sc->vcpu[vcpu].pmu));
usr/src/uts/intel/io/vmm/amd/svm_softc.h
118
svm_set_dirty(struct svm_softc *sc, int vcpu, uint32_t dirtybits)
usr/src/uts/intel/io/vmm/amd/svm_softc.h
120
struct svm_vcpu *vcpustate = svm_get_vcpu(sc, vcpu);
usr/src/uts/intel/io/vmm/amd/svm_softc.h
126
svm_apply_dirty(struct svm_softc *sc, int vcpu)
usr/src/uts/intel/io/vmm/amd/svm_softc.h
128
struct svm_vcpu *vcpustate = svm_get_vcpu(sc, vcpu);
usr/src/uts/intel/io/vmm/amd/svm_softc.h
129
struct vmcb_ctrl *ctrl = svm_get_vmcb_ctrl(sc, vcpu);
usr/src/uts/intel/io/vmm/amd/svm_softc.h
139
svm_disable_intercept(struct svm_softc *sc, int vcpu, int off, uint32_t bitmask)
usr/src/uts/intel/io/vmm/amd/svm_softc.h
141
svm_set_intercept(sc, vcpu, off, bitmask, 0);
usr/src/uts/intel/io/vmm/amd/svm_softc.h
145
svm_enable_intercept(struct svm_softc *sc, int vcpu, int off, uint32_t bitmask)
usr/src/uts/intel/io/vmm/amd/svm_softc.h
147
svm_set_intercept(sc, vcpu, off, bitmask, 1);
usr/src/uts/intel/io/vmm/amd/svm_softc.h
82
svm_get_vcpu(struct svm_softc *sc, int vcpu)
usr/src/uts/intel/io/vmm/amd/svm_softc.h
84
return (&(sc->vcpu[vcpu]));
usr/src/uts/intel/io/vmm/amd/svm_softc.h
88
svm_get_vmcb(struct svm_softc *sc, int vcpu)
usr/src/uts/intel/io/vmm/amd/svm_softc.h
90
return (&(sc->vcpu[vcpu].vmcb));
usr/src/uts/intel/io/vmm/amd/svm_softc.h
94
svm_get_vmcb_state(struct svm_softc *sc, int vcpu)
usr/src/uts/intel/io/vmm/amd/svm_softc.h
96
return (&(sc->vcpu[vcpu].vmcb.state));
usr/src/uts/intel/io/vmm/sys/vmm_impl.h
89
int vmm_zsd_add_vm(vmm_softc_t *sc);
usr/src/uts/intel/io/vmm/sys/vmm_impl.h
90
void vmm_zsd_rem_vm(vmm_softc_t *sc);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
1002
error = vm_mmap_memseg(sc->vmm_vm, mm.gpa, mm.segid,
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
1013
error = vm_munmap_memseg(sc->vmm_vm, mu.gpa, mu.len);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
1023
error = vmmdev_alloc_memseg(sc, &vmseg);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
1033
error = vmmdev_get_memseg(sc, &vmseg);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
1048
error = vm_get_register(sc->vmm_vm, vcpu, vmreg.regnum,
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
1064
error = vm_set_register(sc->vmm_vm, vcpu, vmreg.regnum,
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
1075
error = vm_set_seg_desc(sc->vmm_vm, vcpu, vmsegd.regnum,
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
1086
error = vm_get_seg_desc(sc->vmm_vm, vcpu, vmsegd.regnum,
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
1120
error = vm_get_register(sc->vmm_vm, vcpu, regnums[i],
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
1165
error = vm_set_register(sc->vmm_vm, vcpu, regnums[i],
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
1181
error = vcpu_arch_reset(sc->vmm_vm, vcpu, vvr.kind == VRK_INIT);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
1188
error = vm_get_run_state(sc->vmm_vm, vcpu, &vrs.state,
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
1205
error = vm_set_run_state(sc->vmm_vm, vcpu, vrs.state,
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
1223
error = vm_get_fpu(sc->vmm_vm, vcpu, kbuf, req.len);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
1249
error = vm_set_fpu(sc->vmm_vm, vcpu, kbuf, req.len);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
1277
error = vm_get_cpuid(sc->vmm_vm, vcpu, &vm_cfg);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
1341
error = vm_set_cpuid(sc->vmm_vm, vcpu, &vm_cfg);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
1356
legacy_emulate_cpuid(sc->vmm_vm, vcpu, &vlc.vlc_eax,
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
1384
error = vm_service_mmio_write(sc->vmm_vm, vcpu,
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
1387
error = vm_service_mmio_read(sc->vmm_vm, vcpu,
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
1407
error = vm_get_capability(sc->vmm_vm, vcpu, vmcap.captype,
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
1423
error = vm_set_capability(sc->vmm_vm, vcpu, vmcap.captype,
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
1434
error = vm_set_x2apic_state(sc->vmm_vm, vcpu, x2apic.state);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
1444
error = vm_get_x2apic_state(sc->vmm_vm, x2apic.cpuid,
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
1480
error = vm_gla2gpa(sc->vmm_vm, vcpu, &gg.paging, gg.gla,
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
1496
error = vm_gla2gpa_nofault(sc->vmm_vm, vcpu, &gg.paging,
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
1506
error = vm_activate_cpu(sc->vmm_vm, vcpu);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
1513
error = vm_suspend_cpu(sc->vmm_vm, vcpu);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
1521
error = vm_resume_cpu(sc->vmm_vm, vcpu);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
1527
error = vm_vcpu_barrier(sc->vmm_vm, vcpu);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
1555
tempset = vm_active_cpus(sc->vmm_vm);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
1557
tempset = vm_debug_cpus(sc->vmm_vm);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
1577
error = vm_exit_intinfo(sc->vmm_vm, vcpu, vmii.info1);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
1584
error = vm_get_intinfo(sc->vmm_vm, vcpu, &vmii.info1,
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
1600
error = vrtc_nvram_write(sc->vmm_vm, rtcdata.offset,
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
1611
error = vrtc_nvram_read(sc->vmm_vm, rtcdata.offset,
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
1627
error = vrtc_set_time(sc->vmm_vm, &ts);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
163
vmmdev_devmem_find(vmm_softc_t *sc, int segid)
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
1633
vrtc_get_time(sc->vmm_vm, &ts);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
1643
error = vpmtmr_set_location(sc->vmm_vm, port);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
1648
error = vm_restart_instruction(sc->vmm_vm, vcpu);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
1658
error = vm_set_topology(sc->vmm_vm, topo.sockets, topo.cores,
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
166
list_t *dl = &sc->vmm_devmem_list;
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
1665
vm_get_topology(sc->vmm_vm, &topo.sockets, &topo.cores,
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
1682
de = vmmdev_devmem_find(sc, vdo.segid);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
1720
error = vm_track_dirty_pages(sc->vmm_vm, tracker.vdt_start_gpa,
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
177
vmmdev_get_memseg(vmm_softc_t *sc, struct vm_memseg *mseg)
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
1787
error = vm_npt_do_operation(sc->vmm_vm, vno.vno_gpa,
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
182
error = vm_get_memseg(sc->vmm_vm, mseg->segid, &mseg->len, &sysmem,
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
1854
error = vmm_data_read(sc->vmm_vm, &req);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
190
de = vmmdev_devmem_find(sc, mseg->segid);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
1914
error = vmm_data_write(sc->vmm_vm, &req);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
1946
error = vm_pause_instance(sc->vmm_vm);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
1950
error = vm_resume_instance(sc->vmm_vm);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
1964
vcpu_unlock_one(sc, vcpu);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
1967
vmm_read_unlock(sc);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
1970
vmm_write_unlock(sc);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
1984
vmm_softc_t *sc;
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
1988
for (sc = list_head(vml); sc != NULL; sc = list_next(vml, sc)) {
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
1989
if (strcmp(sc->vmm_name, name) == 0) {
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
1994
return (sc);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
203
vmmdev_devmem_create(vmm_softc_t *sc, struct vm_memseg *mseg, const char *name)
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2050
vmm_softc_t *sc = NULL;
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
208
if (list_is_empty(&sc->vmm_devmem_list)) {
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2081
for (sc = list_head(&vmm_list); sc != NULL;
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2082
sc = list_next(&vmm_list, sc)) {
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2083
if (sc->vmm_zone == curzone) {
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2094
} else if ((sc = ddi_get_soft_state(vmm_statep, minor)) == NULL) {
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2102
if (vmm_kstat_alloc(sc, minor, cr) != 0) {
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2106
error = vm_create(req->flags, &sc->vmm_vm);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2109
(void) strlcpy(sc->vmm_name, name, sizeof (sc->vmm_name));
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
211
entry = list_tail(&sc->vmm_devmem_list);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2110
sc->vmm_minor = minor;
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2111
list_create(&sc->vmm_devmem_list, sizeof (vmm_devmem_entry_t),
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2114
list_create(&sc->vmm_holds, sizeof (vmm_hold_t),
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2116
cv_init(&sc->vmm_cv, NULL, CV_DEFAULT, NULL);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2118
mutex_init(&sc->vmm_lease_lock, NULL, MUTEX_DEFAULT, NULL);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2119
list_create(&sc->vmm_lease_list, sizeof (vmm_lease_t),
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2121
cv_init(&sc->vmm_lease_cv, NULL, CV_DEFAULT, NULL);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2122
rw_init(&sc->vmm_rwlock, NULL, RW_DEFAULT, NULL);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2124
sc->vmm_zone = crgetzone(cr);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2125
zone_hold(sc->vmm_zone);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2126
vmm_zsd_add_vm(sc);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2127
vmm_kstat_init(sc);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2129
list_insert_tail(&vmm_list, sc);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2134
vmm_kstat_fini(sc);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2138
if (sc != NULL) {
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2169
vmm_softc_t *sc;
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2187
if ((sc = ddi_get_soft_state(vmm_statep, minor)) == NULL) {
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2193
if ((sc->vmm_flags & VMM_DESTROY) != 0) {
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2199
hold->vmh_sc = sc;
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2202
list_insert_tail(&sc->vmm_holds, hold);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2203
sc->vmm_flags |= VMM_HELD;
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2214
vmm_softc_t *sc;
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2223
sc = hold->vmh_sc;
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2224
list_remove(&sc->vmm_holds, hold);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2227
if (list_is_empty(&sc->vmm_holds)) {
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2228
sc->vmm_flags &= ~VMM_HELD;
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2235
if ((sc->vmm_flags & VMM_DESTROY) != 0) {
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2236
VERIFY0(vmm_destroy_locked(sc, VDO_DEFAULT,
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2258
vmm_softc_t *sc = hold->vmh_sc;
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2275
lease->vml_vm = sc->vmm_vm;
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2276
lease->vml_vmclient = vmspace_client_alloc(vm_get_vmspace(sc->vmm_vm));
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2278
mutex_enter(&sc->vmm_lease_lock);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2279
while (sc->vmm_lease_blocker != 0) {
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2280
cv_wait(&sc->vmm_lease_cv, &sc->vmm_lease_lock);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2282
list_insert_tail(&sc->vmm_lease_list, lease);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2283
vmm_read_lock(sc);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2284
mutex_exit(&sc->vmm_lease_lock);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
229
list_insert_tail(&sc->vmm_devmem_list, entry);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2290
vmm_lease_break_locked(vmm_softc_t *sc, vmm_lease_t *lease)
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2292
ASSERT(MUTEX_HELD(&sc->vmm_lease_lock));
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2294
list_remove(&sc->vmm_lease_list, lease);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2295
vmm_read_unlock(sc);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2301
vmm_lease_block(vmm_softc_t *sc)
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2303
mutex_enter(&sc->vmm_lease_lock);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2304
VERIFY3U(sc->vmm_lease_blocker, !=, UINT_MAX);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2305
sc->vmm_lease_blocker++;
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2306
if (sc->vmm_lease_blocker == 1) {
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2307
list_t *list = &sc->vmm_lease_list;
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2326
mutex_exit(&sc->vmm_lease_lock);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2328
mutex_enter(&sc->vmm_lease_lock);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2344
vmm_lease_break_locked(sc, lease);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
235
vmmdev_devmem_segid(vmm_softc_t *sc, off_t off, off_t len, int *segidp,
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2361
vmm_lease_break_locked(sc, lease);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2368
cv_wait(&sc->vmm_lease_cv, &sc->vmm_lease_lock);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2371
cv_broadcast(&sc->vmm_lease_cv);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2373
list_t *list = &sc->vmm_lease_list;
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
238
list_t *dl = &sc->vmm_devmem_list;
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2380
cv_wait(&sc->vmm_lease_cv, &sc->vmm_lease_lock);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2383
mutex_exit(&sc->vmm_lease_lock);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2387
vmm_lease_unblock(vmm_softc_t *sc)
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2389
mutex_enter(&sc->vmm_lease_lock);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2390
VERIFY3U(sc->vmm_lease_blocker, !=, 0);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2391
sc->vmm_lease_blocker--;
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2392
if (sc->vmm_lease_blocker == 0) {
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2393
cv_broadcast(&sc->vmm_lease_cv);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2395
mutex_exit(&sc->vmm_lease_lock);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2401
vmm_softc_t *sc = hold->vmh_sc;
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2406
mutex_enter(&sc->vmm_lease_lock);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2407
if (sc->vmm_lease_blocker == 0) {
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2408
vmm_lease_break_locked(sc, lease);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2415
cv_broadcast(&sc->vmm_lease_cv);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2417
mutex_exit(&sc->vmm_lease_lock);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2504
vmm_softc_t *sc;
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2510
sc = hold->vmh_sc;
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2513
if ((sc->vmm_flags & VMM_BLOCK_HOOK) != 0) {
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2528
vmm_write_lock(sc);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2529
err = vm_ioport_hook(sc->vmm_vm, ioport, (ioport_handler_t)func,
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2531
vmm_write_unlock(sc);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2545
vmm_softc_t *sc;
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2551
sc = hold->vmh_sc;
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2552
vmm_write_lock(sc);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2553
vm_ioport_unhook(sc->vmm_vm, cookie);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2554
vmm_write_unlock(sc);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2565
vmm_softc_t *sc;
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2574
sc = hold->vmh_sc;
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2577
if ((sc->vmm_flags & VMM_BLOCK_HOOK) != 0) {
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2592
vmm_write_lock(sc);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2593
err = vm_mmio_hook(sc->vmm_vm, address, size, (mmio_handler_t)func,
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2595
vmm_write_unlock(sc);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2609
vmm_softc_t *sc;
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2616
sc = hold->vmh_sc;
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2617
vmm_write_lock(sc);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2618
ret = vm_mmio_unhook(sc->vmm_vm, cookie);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2619
vmm_write_unlock(sc);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2631
vmm_drv_purge(vmm_softc_t *sc)
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2635
if ((sc->vmm_flags & VMM_HELD) != 0) {
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2638
for (hold = list_head(&sc->vmm_holds); hold != NULL;
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2639
hold = list_next(&sc->vmm_holds, hold)) {
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2652
vmm_lease_block(sc);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2653
vmm_lease_unblock(sc);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2659
vmm_drv_block_hook(vmm_softc_t *sc, boolean_t enable_block)
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
266
vmmdev_devmem_purge(vmm_softc_t *sc)
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2665
VERIFY((sc->vmm_flags & VMM_BLOCK_HOOK) != 0);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2667
sc->vmm_flags &= ~VMM_BLOCK_HOOK;
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2672
if (!list_is_empty(&sc->vmm_holds)) {
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2675
for (hold = list_head(&sc->vmm_holds); hold != NULL;
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2676
hold = list_next(&sc->vmm_holds, hold)) {
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2684
sc->vmm_flags |= VMM_BLOCK_HOOK;
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2693
vmm_destroy_begin(vmm_softc_t *sc, vmm_destroy_opts_t opts)
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2696
ASSERT0(sc->vmm_flags & VMM_DESTROY);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2698
sc->vmm_flags |= VMM_DESTROY;
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
270
while ((entry = list_remove_head(&sc->vmm_devmem_list)) != NULL) {
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2705
const int maxcpus = vm_get_maxcpus(sc->vmm_vm);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2707
vcpu_lock_one(sc, vcpu);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2708
vcpu_unlock_one(sc, vcpu);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2711
vmmdev_devmem_purge(sc);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2718
vmm_zsd_rem_vm(sc);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2720
zone_rele(sc->vmm_zone);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2722
vmm_drv_purge(sc);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2726
vmm_destroy_ready(vmm_softc_t *sc)
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2730
if ((sc->vmm_flags & (VMM_HELD | VMM_IS_OPEN)) == 0) {
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2731
VERIFY(list_is_empty(&sc->vmm_holds));
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2739
vmm_destroy_finish(vmm_softc_t *sc)
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2742
ASSERT(vmm_destroy_ready(sc));
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2744
list_remove(&vmm_list, sc);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2745
vmm_kstat_fini(sc);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2746
vm_destroy(sc->vmm_vm);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2747
ddi_remove_minor_node(vmmdev_dip, sc->vmm_name);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2750
const minor_t minor = sc->vmm_minor;
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
276
vmmdev_alloc_memseg(vmm_softc_t *sc, struct vm_memseg *mseg)
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2764
vmm_destroy_locked(vmm_softc_t *sc, vmm_destroy_opts_t opts,
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2775
if ((sc->vmm_flags & VMM_DESTROY) == 0) {
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2776
vmm_destroy_begin(sc, opts);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2779
if (vmm_destroy_ready(sc)) {
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2785
if (sc->vmm_destroy_waiters != 0) {
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2786
cv_broadcast(&sc->vmm_cv);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2787
while (sc->vmm_destroy_waiters != 0) {
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2788
cv_wait(&sc->vmm_cv, &vmm_mtx);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2798
vmm_destroy_finish(sc);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2804
sc->vmm_destroy_waiters++;
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2805
while (!vmm_destroy_ready(sc) && err == 0) {
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2806
if (cv_wait_sig(&sc->vmm_cv, &vmm_mtx) <= 0) {
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2810
sc->vmm_destroy_waiters--;
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2812
if (sc->vmm_destroy_waiters == 0) {
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2818
cv_signal(&sc->vmm_cv);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2831
vmm_zone_vm_destroy(vmm_softc_t *sc)
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2837
err = vmm_destroy_locked(sc, VDO_NO_CLEAN_ZSD, &hma_release);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
284
error = vm_alloc_memseg(sc->vmm_vm, mseg->segid, mseg->len, sysmem);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2850
vmm_softc_t *sc;
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2859
sc = vmm_lookup(req->name);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2860
if (sc == NULL) {
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2868
if (!INGLOBALZONE(curproc) && sc->vmm_zone != curzone) {
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2873
err = vmm_destroy_locked(sc, VDO_ATTEMPT_WAIT, &hma_release);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2886
vmm_kstat_alloc(vmm_softc_t *sc, minor_t minor, const cred_t *cr)
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2892
ASSERT3P(sc->vmm_kstat_vm, ==, NULL);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2901
sc->vmm_kstat_vm = ksp;
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2906
ASSERT3P(sc->vmm_kstat_vcpu[i], ==, NULL);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2917
sc->vmm_kstat_vcpu[i] = ksp;
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
292
error = vmmdev_devmem_create(sc, mseg, mseg->name);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2925
kstat_zone_add(sc->vmm_kstat_vm, GLOBAL_ZONEID);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2927
kstat_zone_add(sc->vmm_kstat_vcpu[i], GLOBAL_ZONEID);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2935
if (sc->vmm_kstat_vcpu[i] != NULL) {
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2936
kstat_delete(sc->vmm_kstat_vcpu[i]);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2937
sc->vmm_kstat_vcpu[i] = NULL;
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
294
vm_free_memseg(sc->vmm_vm, mseg->segid);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2942
kstat_delete(sc->vmm_kstat_vm);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2943
sc->vmm_kstat_vm = NULL;
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2948
vmm_kstat_init(vmm_softc_t *sc)
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2952
ASSERT3P(sc->vmm_vm, !=, NULL);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2953
ASSERT3P(sc->vmm_kstat_vm, !=, NULL);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2955
ksp = sc->vmm_kstat_vm;
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2957
ksp->ks_private = sc->vmm_vm;
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2959
kstat_named_setstr(&vk->vk_name, sc->vmm_name);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2962
ASSERT3P(sc->vmm_kstat_vcpu[i], !=, NULL);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2964
ksp = sc->vmm_kstat_vcpu[i];
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2981
ksp->ks_private = sc->vmm_vm;
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2985
kstat_install(sc->vmm_kstat_vm);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2987
kstat_install(sc->vmm_kstat_vcpu[i]);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2992
vmm_kstat_fini(vmm_softc_t *sc)
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2994
ASSERT(sc->vmm_kstat_vm != NULL);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2996
kstat_delete(sc->vmm_kstat_vm);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
2997
sc->vmm_kstat_vm = NULL;
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
3000
ASSERT3P(sc->vmm_kstat_vcpu[i], !=, NULL);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
3002
kstat_delete(sc->vmm_kstat_vcpu[i]);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
3003
sc->vmm_kstat_vcpu[i] = NULL;
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
3011
vmm_softc_t *sc;
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
3034
sc = ddi_get_soft_state(vmm_statep, minor);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
3035
if (sc == NULL) {
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
3040
sc->vmm_flags |= VMM_IS_OPEN;
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
3050
vmm_softc_t *sc;
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
3058
sc = ddi_get_soft_state(vmm_statep, minor);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
3059
if (sc == NULL) {
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
3064
VERIFY3U(sc->vmm_flags & VMM_IS_OPEN, !=, 0);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
3065
sc->vmm_flags &= ~VMM_IS_OPEN;
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
3072
if ((sc->vmm_flags & VMM_DESTROY) != 0 ||
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
3073
(sc->vmm_flags & VMM_AUTODESTROY) != 0) {
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
3074
VERIFY0(vmm_destroy_locked(sc, VDO_DEFAULT, &hma_release));
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
3160
vmm_softc_t *sc;
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
3191
sc = ddi_get_soft_state(vmm_statep, minor);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
3192
ASSERT(sc != NULL);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
3198
if ((sc->vmm_flags & VMM_DESTROY) != 0) {
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
3206
return (vmmdev_do_ioctl(sc, cmd, arg, mode, credp, rvalp));
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
3213
vmm_softc_t *sc;
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
3227
sc = ddi_get_soft_state(vmm_statep, minor);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
3228
ASSERT(sc);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
3230
if (sc->vmm_flags & VMM_DESTROY)
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
3234
vmm_read_lock(sc);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
3241
if (!vmmdev_devmem_segid(sc, off, len, &segid, &segoff)) {
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
3244
err = vm_segmap_obj(sc->vmm_vm, segid, segoff, len, as,
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
3249
err = vm_segmap_space(sc->vmm_vm, off, as, addrp, len, prot,
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
3253
vmm_read_unlock(sc);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
3261
vmm_softc_t *sc;
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
3271
if ((sc = vmm_lookup(name)) == NULL)
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
3273
else if (sc->vmm_minor != minor)
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
3285
vmm_softc_t *sc;
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
3296
for (sc = list_head(&vmm_list); sc != NULL;
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
3297
sc = list_next(&vmm_list, sc)) {
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
3298
if (INGLOBALZONE(curproc) || sc->vmm_zone == curzone) {
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
3299
ret = sdev_plugin_mknod(ctx, sc->vmm_name,
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
3302
sc->vmm_minor));
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
341
vcpu_lock_one(vmm_softc_t *sc, int vcpu)
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
349
VERIFY0(vcpu_set_state(sc->vmm_vm, vcpu, VCPU_FROZEN, true));
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
353
vcpu_unlock_one(vmm_softc_t *sc, int vcpu)
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
357
VERIFY3U(vcpu_get_state(sc->vmm_vm, vcpu, NULL), ==, VCPU_FROZEN);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
358
VERIFY0(vcpu_set_state(sc->vmm_vm, vcpu, VCPU_IDLE, false));
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
362
vmm_read_lock(vmm_softc_t *sc)
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
364
rw_enter(&sc->vmm_rwlock, RW_READER);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
368
vmm_read_unlock(vmm_softc_t *sc)
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
370
rw_exit(&sc->vmm_rwlock);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
374
vmm_write_lock(vmm_softc_t *sc)
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
379
maxcpus = vm_get_maxcpus(sc->vmm_vm);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
381
vcpu_lock_one(sc, vcpu);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
388
vmm_lease_block(sc);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
390
rw_enter(&sc->vmm_rwlock, RW_WRITER);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
397
VERIFY(maxcpus == vm_get_maxcpus(sc->vmm_vm));
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
401
vmm_write_unlock(vmm_softc_t *sc)
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
406
vmm_lease_unblock(sc);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
412
VERIFY(rw_write_held(&sc->vmm_rwlock));
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
413
rw_exit(&sc->vmm_rwlock);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
416
maxcpus = vm_get_maxcpus(sc->vmm_vm);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
418
vcpu_unlock_one(sc, vcpu);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
423
vmmdev_do_ioctl(vmm_softc_t *sc, int cmd, intptr_t arg, int md,
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
476
if (vcpu < 0 || vcpu >= vm_get_maxcpus(sc->vmm_vm)) {
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
479
vcpu_lock_one(sc, vcpu);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
495
vmm_write_lock(sc);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
517
vmm_read_lock(sc);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
528
vmm_write_lock(sc);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
530
} else if (vcpu >= 0 && vcpu < vm_get_maxcpus(sc->vmm_vm)) {
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
532
vcpu_lock_one(sc, vcpu);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
564
error = vm_run(sc->vmm_vm, vcpu, &entry);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
579
vme = vm_exitinfo(sc->vmm_vm, vcpu);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
593
error = vm_suspend(sc->vmm_vm, vmsuspend.how, vmsuspend.source);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
603
if ((error = vmm_drv_block_hook(sc, B_TRUE)) != 0) {
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
610
error = vm_reinit(sc->vmm_vm, reinit.flags);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
611
(void) vmm_drv_block_hook(sc, B_FALSE);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
638
error = vmm_stat_copy(sc->vmm_vm, vmstats.cpuid, vmstats.index,
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
656
error = ppt_setup_msi(sc->vmm_vm, pptmsi.vcpu, pptmsi.pptfd,
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
667
error = ppt_setup_msix(sc->vmm_vm, pptmsix.vcpu, pptmsix.pptfd,
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
679
error = ppt_disable_msix(sc->vmm_vm, pptdev.pptfd);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
689
error = ppt_map_mmio(sc->vmm_vm, pptmmio.pptfd, pptmmio.gpa,
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
700
error = ppt_unmap_mmio(sc->vmm_vm, pptmmio.pptfd, pptmmio.gpa,
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
711
error = vm_assign_pptdev(sc->vmm_vm, pptdev.pptfd);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
721
error = vm_unassign_pptdev(sc->vmm_vm, pptdev.pptfd);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
731
error = ppt_get_limits(sc->vmm_vm, pptlimits.pptfd,
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
746
error = vm_inject_exception(sc->vmm_vm, vcpu, vmexc.vector,
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
758
error = vm_inject_nmi(sc->vmm_vm, vmnmi.cpuid);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
768
error = lapic_intr_edge(sc->vmm_vm, vmirq.cpuid, vmirq.vector);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
778
error = lapic_set_local_intr(sc->vmm_vm, vmirq.cpuid,
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
789
error = lapic_intr_msi(sc->vmm_vm, vmmsi.addr, vmmsi.msg);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
800
error = vioapic_assert_irq(sc->vmm_vm, ioapic_irq.irq);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
810
error = vioapic_deassert_irq(sc->vmm_vm, ioapic_irq.irq);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
820
error = vioapic_pulse_irq(sc->vmm_vm, ioapic_irq.irq);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
826
pincount = vioapic_pincount(sc->vmm_vm);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
888
sc->vmm_flags |= VMM_AUTODESTROY;
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
890
sc->vmm_flags &= ~VMM_AUTODESTROY;
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
909
VERIFY0(vmm_destroy_locked(sc, VDO_DEFAULT, &hma_release));
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
932
error = vatpic_assert_irq(sc->vmm_vm, isa_irq.atpic_irq);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
934
error = vioapic_assert_irq(sc->vmm_vm,
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
946
error = vatpic_deassert_irq(sc->vmm_vm, isa_irq.atpic_irq);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
948
error = vioapic_deassert_irq(sc->vmm_vm,
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
960
error = vatpic_pulse_irq(sc->vmm_vm, isa_irq.atpic_irq);
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
962
error = vioapic_pulse_irq(sc->vmm_vm,
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
975
error = vatpic_set_irq_trigger(sc->vmm_vm,
usr/src/uts/intel/io/vmm/vmm_sol_dev.c
987
error = vm_mmap_getnext(sc->vmm_vm, &mm.gpa, &mm.segid,
usr/src/uts/intel/io/vmm/vmm_zsd.c
101
list_remove(&zsd->vz_vmms, sc);
usr/src/uts/intel/io/vmm/vmm_zsd.c
102
sc->vmm_zsd = NULL;
usr/src/uts/intel/io/vmm/vmm_zsd.c
151
vmm_softc_t *sc;
usr/src/uts/intel/io/vmm/vmm_zsd.c
161
for (sc = list_head(&zsd->vz_vmms); sc != NULL;
usr/src/uts/intel/io/vmm/vmm_zsd.c
162
sc = list_next(&zsd->vz_vmms, sc)) {
usr/src/uts/intel/io/vmm/vmm_zsd.c
164
(void) vm_suspend(sc->vmm_vm, VM_SUSPEND_POWEROFF, -1);
usr/src/uts/intel/io/vmm/vmm_zsd.c
176
vmm_softc_t *sc;
usr/src/uts/intel/io/vmm/vmm_zsd.c
185
while ((sc = list_remove_head(&zsd->vz_vmms)) != NULL) {
usr/src/uts/intel/io/vmm/vmm_zsd.c
186
vmm_zone_vm_destroy(sc);
usr/src/uts/intel/io/vmm/vmm_zsd.c
62
vmm_zsd_add_vm(vmm_softc_t *sc)
usr/src/uts/intel/io/vmm/vmm_zsd.c
66
ASSERT(sc->vmm_zone != NULL);
usr/src/uts/intel/io/vmm/vmm_zsd.c
72
if (zsd->vz_zoneid == sc->vmm_zone->zone_id) {
usr/src/uts/intel/io/vmm/vmm_zsd.c
86
sc->vmm_zsd = zsd;
usr/src/uts/intel/io/vmm/vmm_zsd.c
87
list_insert_tail(&zsd->vz_vmms, sc);
usr/src/uts/intel/io/vmm/vmm_zsd.c
95
vmm_zsd_rem_vm(vmm_softc_t *sc)
usr/src/uts/intel/io/vmm/vmm_zsd.c
97
vmm_zsd_t *zsd = sc->vmm_zsd;
usr/src/uts/sun4u/sunfire/io/ac.c
1632
sysc_stat_lk = &list->sc;
usr/src/uts/sun4u/sunfire/io/ac.c
1655
sysc_stat_lk = &list->sc;
usr/src/uts/sun4u/sunfire/io/ac.c
310
list->sc.ac_compid = *softsp->ac_id;
usr/src/uts/sun4u/sunfire/io/ac.c
314
if (list->sc.type == CPU_BOARD || list->sc.type == MEM_BOARD) {
usr/src/uts/sun4u/sunfire/io/ac.c
389
if (list->sc.type == CPU_BOARD || list->sc.type == MEM_BOARD) {
usr/src/uts/sun4u/sunfire/io/ac_add.c
190
add->sc.board, pkt->bank, errs);
usr/src/uts/sun4u/sunfire/io/ac_add.c
212
switch (board->sc.type) {
usr/src/uts/sun4u/sunfire/io/ac_del.c
312
del->sc.board, bank, errs);
usr/src/uts/sun4u/sunfire/io/ac_del.c
491
switch (board->sc.type) {
usr/src/uts/sun4u/sunfire/io/ac_del.c
536
ASSERT(board->sc.type == CPU_BOARD ||
usr/src/uts/sun4u/sunfire/io/ac_del.c
537
board->sc.type == MEM_BOARD);
usr/src/uts/sun4u/sunfire/io/ac_del.c
561
ASSERT(board->sc.type == CPU_BOARD || board->sc.type == MEM_BOARD);
usr/src/uts/sun4u/sunfire/io/ac_stat.c
86
switch (board->sc.type) {
usr/src/uts/sun4u/sunfire/io/ac_test.c
122
switch (board->sc.type) {
usr/src/uts/sun4u/sunfire/io/fhc.c
1000
*(softsp->igr) = (softsp->list->sc.board) << 1;
usr/src/uts/sun4u/sunfire/io/fhc.c
1135
(softsp->list->sc.board << BD_IVINTR_SHFT));
usr/src/uts/sun4u/sunfire/io/fhc.c
1335
(softsp->list->sc.board << BD_IVINTR_SHFT));
usr/src/uts/sun4u/sunfire/io/fhc.c
1444
(softsp->list->sc.board << BD_IVINTR_SHFT));
usr/src/uts/sun4u/sunfire/io/fhc.c
1764
real_temp = calibrate_temp(softsp->list->sc.type, value,
usr/src/uts/sun4u/sunfire/io/fhc.c
1765
softsp->list->sc.ac_compid);
usr/src/uts/sun4u/sunfire/io/fhc.c
1771
temp_state = get_temp_state(softsp->list->sc.type, real_temp,
usr/src/uts/sun4u/sunfire/io/fhc.c
1772
softsp->list->sc.board);
usr/src/uts/sun4u/sunfire/io/fhc.c
1776
int board = softsp->list->sc.board;
usr/src/uts/sun4u/sunfire/io/fhc.c
1777
enum board_type type = softsp->list->sc.type;
usr/src/uts/sun4u/sunfire/io/fhc.c
1913
softsp->list->sc.type,
usr/src/uts/sun4u/sunfire/io/fhc.c
1914
softsp->list->sc.board);
usr/src/uts/sun4u/sunfire/io/fhc.c
1941
enum board_type type = softsp->list->sc.type;
usr/src/uts/sun4u/sunfire/io/fhc.c
1950
int board = softsp->list->sc.board;
usr/src/uts/sun4u/sunfire/io/fhc.c
2331
if ((fhc_ksp = kstat_create("unix", softsp->list->sc.board,
usr/src/uts/sun4u/sunfire/io/fhc.c
3209
ASSERT(fhc_bd_valid(board) && (bd_list->sc.type == CPU_BOARD));
usr/src/uts/sun4u/sunfire/io/fhc.c
3346
ASSERT(bd_list->sc.type == CPU_BOARD);
usr/src/uts/sun4u/sunfire/io/fhc.c
530
want_igr = softsp->list->sc.board << 1;
usr/src/uts/sun4u/sunfire/io/fhc.c
557
ASSERT(softsp->list->sc.board == FHC_BSR_TO_BD(*(softsp->bsr)));
usr/src/uts/sun4u/sunfire/io/fhc.c
558
cent = check_central(softsp->list->sc.board);
usr/src/uts/sun4u/sunfire/io/fhc.c
676
board = softsp->list->sc.board;
usr/src/uts/sun4u/sunfire/io/fhc.c
705
clear_fault(list->sc.board, FT_PROM, FT_BOARD);
usr/src/uts/sun4u/sunfire/io/fhc.c
993
reg_fault(softsp->list->sc.board, FT_PROM, FT_BOARD);
usr/src/uts/sun4u/sunfire/io/fhc_bd.c
1005
sc = &bdp->sc;
usr/src/uts/sun4u/sunfire/io/fhc_bd.c
1007
if (sc->rstate != SYSC_CFGA_RSTATE_DISCONNECTED)
usr/src/uts/sun4u/sunfire/io/fhc_bd.c
1016
if (sc->in_transition)
usr/src/uts/sun4u/sunfire/io/fhc_bd.c
1022
if (jtag_get_board_type(jtm->jtag_cmd, sc) == -1) {
usr/src/uts/sun4u/sunfire/io/fhc_bd.c
1027
fhc_bd_sc_evt(sc, SYSC_EVT_BD_REMOVED);
usr/src/uts/sun4u/sunfire/io/fhc_bd.c
1071
fhc_bd_sc_evt(&bdp->sc, evt);
usr/src/uts/sun4u/sunfire/io/fhc_bd.c
1083
sysc_cfga_stat_t *sc;
usr/src/uts/sun4u/sunfire/io/fhc_bd.c
1089
sc = &bdp->sc;
usr/src/uts/sun4u/sunfire/io/fhc_bd.c
1091
switch (sc->rstate) {
usr/src/uts/sun4u/sunfire/io/fhc_bd.c
1101
sc->type, &fhc_csr, &fhc_bsr, TRUE);
usr/src/uts/sun4u/sunfire/io/fhc_bd.c
1111
fhc_bd_sc_evt(sc, SYSC_EVT_BD_REMOVED);
usr/src/uts/sun4u/sunfire/io/fhc_bd.c
1130
sysc_cfga_stat_t *sc;
usr/src/uts/sun4u/sunfire/io/fhc_bd.c
1137
sc = &bdp->sc;
usr/src/uts/sun4u/sunfire/io/fhc_bd.c
1147
sc->condition = cond;
usr/src/uts/sun4u/sunfire/io/fhc_bd.c
138
j >= lb && a[j]->sc.board > t->sc.board;
usr/src/uts/sun4u/sunfire/io/fhc_bd.c
162
if (in_array[mid]->sc.board < board)
usr/src/uts/sun4u/sunfire/io/fhc_bd.c
168
if (in_array[first]->sc.board == board) {
usr/src/uts/sun4u/sunfire/io/fhc_bd.c
209
return (boards.boards[index]->sc.in_transition);
usr/src/uts/sun4u/sunfire/io/fhc_bd.c
234
if (boards.boards[index]->sc.plus_board)
usr/src/uts/sun4u/sunfire/io/fhc_bd.c
235
return (boards.boards[index]->sc.plus_board);
usr/src/uts/sun4u/sunfire/io/fhc_bd.c
355
bdp->sc.type = type;
usr/src/uts/sun4u/sunfire/io/fhc_bd.c
356
bdp->sc.board = board;
usr/src/uts/sun4u/sunfire/io/fhc_bd.c
357
bdp->sc.plus_board = ISPLUSBRD(*softsp->bsr);
usr/src/uts/sun4u/sunfire/io/fhc_bd.c
405
index = FHC_B_SEARCH(boards, bdp->sc.board);
usr/src/uts/sun4u/sunfire/io/fhc_bd.c
441
return (boards.boards[index]->sc.type);
usr/src/uts/sun4u/sunfire/io/fhc_bd.c
557
sysc_cfga_stat_t *sc;
usr/src/uts/sun4u/sunfire/io/fhc_bd.c
566
sc = &bdp->sc;
usr/src/uts/sun4u/sunfire/io/fhc_bd.c
568
ASSERT(fhc_bd_valid(sc->board));
usr/src/uts/sun4u/sunfire/io/fhc_bd.c
570
uip->board = sc->board;
usr/src/uts/sun4u/sunfire/io/fhc_bd.c
571
uip->type = sc->type;
usr/src/uts/sun4u/sunfire/io/fhc_bd.c
572
uip->fhc_compid = sc->fhc_compid;
usr/src/uts/sun4u/sunfire/io/fhc_bd.c
573
uip->ac_compid = sc->ac_compid;
usr/src/uts/sun4u/sunfire/io/fhc_bd.c
574
bcopy((caddr_t)sc->prom_rev, uip->prom_rev, sizeof (uip->prom_rev));
usr/src/uts/sun4u/sunfire/io/fhc_bd.c
575
bcopy((caddr_t)&sc->bd, &uip->bd, sizeof (union bd_un));
usr/src/uts/sun4u/sunfire/io/fhc_bd.c
577
switch (sc->rstate) {
usr/src/uts/sun4u/sunfire/io/fhc_bd.c
579
switch (sc->condition) {
usr/src/uts/sun4u/sunfire/io/fhc_bd.c
609
bdp->ksp = kstat_create("unix", bdp->sc.board,
usr/src/uts/sun4u/sunfire/io/fhc_bd.c
636
sysc_cfga_stat_t *sc;
usr/src/uts/sun4u/sunfire/io/fhc_bd.c
648
sc = &bdp->sc;
usr/src/uts/sun4u/sunfire/io/fhc_bd.c
652
sc->bd.dsk.disk_pres[0] = 1;
usr/src/uts/sun4u/sunfire/io/fhc_bd.c
653
sc->bd.dsk.disk_id[0] = id;
usr/src/uts/sun4u/sunfire/io/fhc_bd.c
655
sc->bd.dsk.disk_pres[0] = 0;
usr/src/uts/sun4u/sunfire/io/fhc_bd.c
660
sc->bd.dsk.disk_pres[1] = 1;
usr/src/uts/sun4u/sunfire/io/fhc_bd.c
661
sc->bd.dsk.disk_id[1] = id;
usr/src/uts/sun4u/sunfire/io/fhc_bd.c
663
sc->bd.dsk.disk_pres[1] = 0;
usr/src/uts/sun4u/sunfire/io/fhc_bd.c
709
sysc_cfga_stat_t *sc;
usr/src/uts/sun4u/sunfire/io/fhc_bd.c
729
boards.boards[boards.last + 1]->sc.type = UNKNOWN_BOARD;
usr/src/uts/sun4u/sunfire/io/fhc_bd.c
730
boards.boards[boards.last + 1]->sc.board = board;
usr/src/uts/sun4u/sunfire/io/fhc_bd.c
757
sc = &bdp->sc;
usr/src/uts/sun4u/sunfire/io/fhc_bd.c
758
board = sc->board;
usr/src/uts/sun4u/sunfire/io/fhc_bd.c
762
if (sc->type == UNKNOWN_BOARD) {
usr/src/uts/sun4u/sunfire/io/fhc_bd.c
767
type = jtag_get_board_type(jtm->jtag_cmd, sc);
usr/src/uts/sun4u/sunfire/io/fhc_bd.c
770
fhc_bd_sc_evt(sc, SYSC_EVT_BD_EMPTY);
usr/src/uts/sun4u/sunfire/io/fhc_bd.c
778
sc->type = DISK_BOARD;
usr/src/uts/sun4u/sunfire/io/fhc_bd.c
801
sc->type = type;
usr/src/uts/sun4u/sunfire/io/fhc_bd.c
806
fhc_bd_sc_evt(sc, se);
usr/src/uts/sun4u/sunfire/io/fhc_bd.c
856
set_cpu_info(sysc_cfga_stat_t *sc, uint_t fhc_bsr)
usr/src/uts/sun4u/sunfire/io/fhc_bd.c
863
sc->bd.cpu[i].cpu_speed = 0;
usr/src/uts/sun4u/sunfire/io/fhc_bd.c
864
sc->bd.cpu[i].cpu_sram_mode = 0;
usr/src/uts/sun4u/sunfire/io/fhc_bd.c
866
if (!sc->bd.cpu[i].cpu_detected)
usr/src/uts/sun4u/sunfire/io/fhc_bd.c
872
switch (sc->bd.cpu[i].cpu_compid & CID_REV_MASK) {
usr/src/uts/sun4u/sunfire/io/fhc_bd.c
881
"unknown type", sc->board,
usr/src/uts/sun4u/sunfire/io/fhc_bd.c
883
sc->bd.cpu[i].cpu_speed = -1;
usr/src/uts/sun4u/sunfire/io/fhc_bd.c
887
sc->bd.cpu[i].cpu_speed = table[speed_pins].cpu_freq;
usr/src/uts/sun4u/sunfire/io/fhc_bd.c
888
sc->bd.cpu[i].cpu_sram_mode = table[speed_pins].sram_mode;
usr/src/uts/sun4u/sunfire/io/fhc_bd.c
901
sysc_cfga_stat_t *sc;
usr/src/uts/sun4u/sunfire/io/fhc_bd.c
906
sc = &bdp->sc;
usr/src/uts/sun4u/sunfire/io/fhc_bd.c
907
board = sc->board;
usr/src/uts/sun4u/sunfire/io/fhc_bd.c
914
if (sc->in_transition || sc->rstate != rstate)
usr/src/uts/sun4u/sunfire/io/fhc_bd.c
916
else if (sc->rstate == SYSC_CFGA_RSTATE_EMPTY) {
usr/src/uts/sun4u/sunfire/io/fhc_bd.c
917
type = jtag_get_board_type(jtm->jtag_cmd, sc);
usr/src/uts/sun4u/sunfire/io/fhc_bd.c
920
sc->type = type;
usr/src/uts/sun4u/sunfire/io/fhc_bd.c
922
type = sc->type;
usr/src/uts/sun4u/sunfire/io/fhc_bd.c
925
(void) jtag_get_board_info(jtm->jtag_cmd, sc);
usr/src/uts/sun4u/sunfire/io/fhc_bd.c
942
fhc_bd_sc_evt(sc, SYSC_EVT_BD_INS_FAILED);
usr/src/uts/sun4u/sunfire/io/fhc_bd.c
950
set_cpu_info(sc, fhc_bsr);
usr/src/uts/sun4u/sunfire/io/fhc_bd.c
953
fhc_bd_sc_evt(sc, SYSC_EVT_BD_INSERTED);
usr/src/uts/sun4u/sunfire/io/fhc_bd.c
997
sysc_cfga_stat_t *sc;
usr/src/uts/sun4u/sunfire/io/jtag.c
1147
sysc_cfga_stat_t *sc)
usr/src/uts/sun4u/sunfire/io/jtag.c
1158
(FHC_BSR_TO_BD(fhc_data.bsr) == sc->board) &&
usr/src/uts/sun4u/sunfire/io/jtag.c
1160
sc->plus_board = 1;
usr/src/uts/sun4u/sunfire/io/jtag.c
1169
jtag_get_board_type(volatile u_int *jreg, sysc_cfga_stat_t *sc)
usr/src/uts/sun4u/sunfire/io/jtag.c
1185
board = sc->board;
usr/src/uts/sun4u/sunfire/io/jtag.c
1198
&cpu_sysbd_ring_components[9], sc);
usr/src/uts/sun4u/sunfire/io/jtag.c
1210
&io1plus_sysbd_ring_components[9], sc);
usr/src/uts/sun4u/sunfire/io/jtag.c
1215
&io1_sysbd_ring_components[9], sc);
usr/src/uts/sun4u/sunfire/io/jtag.c
1229
&io2plus_sysbd_ring_components[9], sc);
usr/src/uts/sun4u/sunfire/io/jtag.c
1234
&io2_sysbd_ring_components[9], sc);
usr/src/uts/sun4u/sunfire/io/jtag.c
1248
&io3_sysbd_ring_components[9], sc);
usr/src/uts/sun4u/sunfire/io/jtag.c
1289
jtag_get_board_info(volatile u_int *jreg, sysc_cfga_stat_t *sc)
usr/src/uts/sun4u/sunfire/io/jtag.c
1302
ring = sc->board << 4;
usr/src/uts/sun4u/sunfire/io/jtag.c
1308
rd = get_ring_descriptor_bytype(ring, sc->type);
usr/src/uts/sun4u/sunfire/io/jtag.c
1319
sc->ac_compid = jtag_get_comp_id(jreg, rc);
usr/src/uts/sun4u/sunfire/io/jtag.c
1325
sc->fhc_compid = jtag_get_comp_id(jreg, rc);
usr/src/uts/sun4u/sunfire/io/jtag.c
1329
switch (sc->type) {
usr/src/uts/sun4u/sunfire/io/jtag.c
1336
for (i = 0, cpu = &sc->bd.cpu[i]; i < 2; i++, cpu++) {
usr/src/uts/sun4u/sunfire/io/jtag.c
1422
sc->bd.io1.sio0_compid =
usr/src/uts/sun4u/sunfire/io/jtag.c
1428
sc->bd.io1.sio1_compid =
usr/src/uts/sun4u/sunfire/io/jtag.c
1434
sc->bd.io1.hme_compid = jtag_get_comp_id(jreg, rc);
usr/src/uts/sun4u/sunfire/io/jtag.c
1439
sc->bd.io1.soc_compid = jtag_get_comp_id(jreg, rc);
usr/src/uts/sun4u/sunfire/io/jtag.c
1447
sc->bd.io1.sio0_compid =
usr/src/uts/sun4u/sunfire/io/jtag.c
1453
sc->bd.io1.sio1_compid =
usr/src/uts/sun4u/sunfire/io/jtag.c
1459
sc->bd.io1.hme_compid = jtag_get_comp_id(jreg, rc);
usr/src/uts/sun4u/sunfire/io/jtag.c
1464
sc->bd.io1plus.socplus_compid =
usr/src/uts/sun4u/sunfire/io/jtag.c
1473
sc->bd.io2.sio1_compid = jtag_get_comp_id(jreg, rc);
usr/src/uts/sun4u/sunfire/io/jtag.c
1478
sc->bd.io2.hme_compid = jtag_get_comp_id(jreg, rc);
usr/src/uts/sun4u/sunfire/io/jtag.c
1483
sc->bd.io2.soc_compid = jtag_get_comp_id(jreg, rc);
usr/src/uts/sun4u/sunfire/io/jtag.c
1496
sc->bd.io2.ffb_size = FFB_SINGLE;
usr/src/uts/sun4u/sunfire/io/jtag.c
1501
sc->bd.io2.ffb_size = FFB_DOUBLE;
usr/src/uts/sun4u/sunfire/io/jtag.c
1506
sc->bd.io2.ffb_size = FFB_NOT_FOUND;
usr/src/uts/sun4u/sunfire/io/jtag.c
1511
sc->bd.io2.ffb_size = FFB_FAILED;
usr/src/uts/sun4u/sunfire/io/jtag.c
1521
sc->bd.io2.fbc_compid = jtag_get_comp_id(jreg, rc);
usr/src/uts/sun4u/sunfire/io/jtag.c
1528
sc->bd.io2.sio1_compid = jtag_get_comp_id(jreg, rc);
usr/src/uts/sun4u/sunfire/io/jtag.c
1533
sc->bd.io2.hme_compid = jtag_get_comp_id(jreg, rc);
usr/src/uts/sun4u/sunfire/io/jtag.c
1538
sc->bd.io2plus.socplus_compid =
usr/src/uts/sun4u/sunfire/io/jtag.c
1552
sc->bd.io2.ffb_size = FFB_SINGLE;
usr/src/uts/sun4u/sunfire/io/jtag.c
1557
sc->bd.io2.ffb_size = FFB_DOUBLE;
usr/src/uts/sun4u/sunfire/io/jtag.c
1562
sc->bd.io2.ffb_size = FFB_NOT_FOUND;
usr/src/uts/sun4u/sunfire/io/jtag.c
1567
sc->bd.io2.ffb_size = FFB_FAILED;
usr/src/uts/sun4u/sunfire/io/jtag.c
1577
sc->bd.io2.fbc_compid = jtag_get_comp_id(jreg, rc);
usr/src/uts/sun4u/sunfire/io/jtag.c
1584
sc->bd.io3.psyo0_compid =
usr/src/uts/sun4u/sunfire/io/jtag.c
1590
sc->bd.io3.psyo1_compid =
usr/src/uts/sun4u/sunfire/io/jtag.c
1596
sc->bd.io3.cheo_compid = jtag_get_comp_id(jreg, rc);
usr/src/uts/sun4u/sunfire/io/jtag.c
1613
sc->bd.dsk.disk_pres[0] = 1;
usr/src/uts/sun4u/sunfire/io/jtag.c
1614
sc->bd.dsk.disk_id[0] = 0xf & ~bct_data.disk0_id;
usr/src/uts/sun4u/sunfire/io/jtag.c
1616
sc->bd.dsk.disk_pres[0] = 0;
usr/src/uts/sun4u/sunfire/io/jtag.c
1620
sc->bd.dsk.disk_pres[1] = 1;
usr/src/uts/sun4u/sunfire/io/jtag.c
1621
sc->bd.dsk.disk_id[1] = 0xf & ~bct_data.disk1_id;
usr/src/uts/sun4u/sunfire/io/jtag.c
1623
sc->bd.dsk.disk_pres[1] = 0;
usr/src/uts/sun4u/sunfire/io/sysctrl.c
1129
sysc_stat_lk = &list->sc;
usr/src/uts/sun4u/sunfire/io/sysctrl.c
1130
sysc_stat_gk = &glist->sc;
usr/src/uts/sun4u/sunfire/io/sysctrl.c
1157
sysc_stat_lk = &list->sc;
usr/src/uts/sun4u/sunfire/io/sysctrl.c
1231
sysc_cfga_stat_t *sc = NULL;
usr/src/uts/sun4u/sunfire/io/sysctrl.c
1301
sc = &bdp->sc;
usr/src/uts/sun4u/sunfire/io/sysctrl.c
1319
bdp->sc.no_detach = 1;
usr/src/uts/sun4u/sunfire/io/sysctrl.c
1321
bdp->sc.no_detach = 0;
usr/src/uts/sun4u/sunfire/io/sysctrl.c
1322
bcopy((caddr_t)&bdp->sc,
usr/src/uts/sun4u/sunfire/io/sysctrl.c
1340
retval = sysc_policy_connect(softsp, &sysc_pkt, sc);
usr/src/uts/sun4u/sunfire/io/sysctrl.c
1345
retval = sysc_policy_disconnect(softsp, &sysc_pkt, sc);
usr/src/uts/sun4u/sunfire/io/sysctrl.c
1350
retval = sysc_policy_unconfigure(softsp, &sysc_pkt, sc);
usr/src/uts/sun4u/sunfire/io/sysctrl.c
1355
retval = sysc_policy_configure(softsp, &sysc_pkt, sc);
usr/src/uts/sun4u/sunfire/io/sysctrl.c
2203
ASSERT(list->sc.type != CLOCK_BOARD);
usr/src/uts/sun4u/sunfire/io/sysctrl.c
2204
if (list->sc.rstate == SYSC_CFGA_RSTATE_CONNECTED) {
usr/src/uts/sun4u/sunfire/io/sysctrl.c
2905
if (list->sc.in_transition ||
usr/src/uts/sun4u/sunfire/io/sysctrl.c
2906
(list->sc.rstate != SYSC_CFGA_RSTATE_CONNECTED))
usr/src/uts/sun4u/sunfire/io/sysctrl.c
2909
ASSERT(list->sc.type != CLOCK_BOARD);
usr/src/uts/sun4u/sunfire/io/sysctrl.c
2910
ASSERT(list->sc.type != DISK_BOARD);
usr/src/uts/sun4u/sunfire/io/sysctrl.c
2913
if ((list->sc.ostate == SYSC_CFGA_OSTATE_CONFIGURED) &&
usr/src/uts/sun4u/sunfire/io/sysctrl_dr.c
1200
if (bdp->sc.type == CPU_BOARD) {
usr/src/uts/sun4u/sunfire/io/sysctrl_dr.c
1235
if (bdp->sc.type == CPU_BOARD || bdp->sc.type == MEM_BOARD) {
usr/src/uts/sun4u/sunfire/io/sysctrl_dr.c
1278
if (bdp->sc.type == CPU_BOARD) {
usr/src/uts/sun4u/sunfire/io/sysctrl_dr.c
1943
if (curr_bdp->sc.rstate == SYSC_CFGA_RSTATE_CONNECTED) {
usr/src/uts/sun4u/sunfire/io/sysctrl_dr.c
913
sysc_stat = &(list->sc);
usr/src/uts/sun4u/sunfire/sys/ac.h
401
((BD)->sc.rstate == SYSC_CFGA_RSTATE_CONNECTED && \
usr/src/uts/sun4u/sunfire/sys/ac.h
402
(BD)->sc.ostate == SYSC_CFGA_OSTATE_CONFIGURED)
usr/src/uts/sun4u/sunfire/sys/fhc.h
785
sysc_cfga_stat_t sc; /* board info */
usr/src/uts/sun4u/sunfire/sys/sysctrl.h
465
void sysc_policy_update(void *softsp, sysc_cfga_stat_t *sc, sysc_evt_t event);
usr/src/uts/sun4u/sys/pci/pci_sc.h
39
typedef struct sc sc_t;
usr/src/uts/sun4v/ontario/io/tsalarm.c
1017
if (sc->resp_ptr == NULL)
usr/src/uts/sun4v/ontario/io/tsalarm.c
1020
resp_msg_data = (uint8_t *)sc->resp_ptr;
usr/src/uts/sun4v/ontario/io/tsalarm.c
1024
if ((ret = tsal_pcp_io_op(sc, resp_msg_data,
usr/src/uts/sun4v/ontario/io/tsalarm.c
1053
tsal_pcp_io_op(tsalarm_softc_t *sc, void *buf, int byte_cnt, int io_op)
usr/src/uts/sun4v/ontario/io/tsalarm.c
1087
io_sz = MIN((byte_cnt - rv), sc->mtu_size);
usr/src/uts/sun4v/ontario/io/tsalarm.c
1089
while ((n = (*func_ptr)(sc, datap, io_sz)) < 0) {
usr/src/uts/sun4v/ontario/io/tsalarm.c
1119
tsal_pcp_peek(tsalarm_softc_t *sc, uint8_t *buf, int bytes_cnt)
usr/src/uts/sun4v/ontario/io/tsalarm.c
1125
if (bytes_cnt < 0 || bytes_cnt > sc->mtu_size) {
usr/src/uts/sun4v/ontario/io/tsalarm.c
1132
if (sc->peek_area == NULL) {
usr/src/uts/sun4v/ontario/io/tsalarm.c
1139
peek_ctrl.buf = (caddr_t)sc->peek_area;
usr/src/uts/sun4v/ontario/io/tsalarm.c
1140
peek_ctrl.buflen = sc->mtu_size;
usr/src/uts/sun4v/ontario/io/tsalarm.c
1143
if ((ret = ldi_ioctl(sc->lh, GLVC_XPORT_IOCTL_DATA_PEEK,
usr/src/uts/sun4v/ontario/io/tsalarm.c
1157
(void) memcpy(buf, sc->peek_area, m);
usr/src/uts/sun4v/ontario/io/tsalarm.c
1166
tsal_pcp_write(tsalarm_softc_t *sc, uint8_t *buf, int byte_cnt)
usr/src/uts/sun4v/ontario/io/tsalarm.c
1173
if (buf == NULL || byte_cnt < 0 || byte_cnt > sc->mtu_size) {
usr/src/uts/sun4v/ontario/io/tsalarm.c
1186
if ((ret = ldi_write(sc->lh, &uio, kcred)) < 0) {
usr/src/uts/sun4v/ontario/io/tsalarm.c
1201
tsal_pcp_read(tsalarm_softc_t *sc, uint8_t *buf, int byte_cnt)
usr/src/uts/sun4v/ontario/io/tsalarm.c
1209
if (byte_cnt < 0 || byte_cnt > sc->mtu_size) {
usr/src/uts/sun4v/ontario/io/tsalarm.c
1213
read_area_size = 2*sc->mtu_size;
usr/src/uts/sun4v/ontario/io/tsalarm.c
1218
if (sc->read_area == NULL) {
usr/src/uts/sun4v/ontario/io/tsalarm.c
1219
sc->read_area = (uint8_t *)kmem_zalloc(read_area_size,
usr/src/uts/sun4v/ontario/io/tsalarm.c
1221
if (sc->read_area == NULL) {
usr/src/uts/sun4v/ontario/io/tsalarm.c
1224
sc->read_head = sc->read_area;
usr/src/uts/sun4v/ontario/io/tsalarm.c
1225
sc->read_tail = sc->read_area;
usr/src/uts/sun4v/ontario/io/tsalarm.c
1232
if (byte_cnt <= (sc->read_tail - sc->read_head)) {
usr/src/uts/sun4v/ontario/io/tsalarm.c
1233
(void) memcpy(buf, sc->read_head, byte_cnt);
usr/src/uts/sun4v/ontario/io/tsalarm.c
1234
sc->read_head += byte_cnt;
usr/src/uts/sun4v/ontario/io/tsalarm.c
1242
for (i = 0; i < (sc->read_tail - sc->read_head); ++i) {
usr/src/uts/sun4v/ontario/io/tsalarm.c
1243
sc->read_area[i] = sc->read_head[i];
usr/src/uts/sun4v/ontario/io/tsalarm.c
1245
sc->read_head = sc->read_area;
usr/src/uts/sun4v/ontario/io/tsalarm.c
1246
sc->read_tail = sc->read_head + i;
usr/src/uts/sun4v/ontario/io/tsalarm.c
1252
if ((m = tsal_pcp_peek(sc, sc->read_tail, sc->mtu_size)) < 0) {
usr/src/uts/sun4v/ontario/io/tsalarm.c
1258
iov.iov_base = (int8_t *)sc->read_tail;
usr/src/uts/sun4v/ontario/io/tsalarm.c
1266
if ((ret = ldi_read(sc->lh, &uio, kcred)) != 0) {
usr/src/uts/sun4v/ontario/io/tsalarm.c
1270
sc->read_tail += (m - iov.iov_len);
usr/src/uts/sun4v/ontario/io/tsalarm.c
1275
n = MIN(byte_cnt, (sc->read_tail - sc->read_head));
usr/src/uts/sun4v/ontario/io/tsalarm.c
1276
(void) memcpy(buf, sc->read_head, n);
usr/src/uts/sun4v/ontario/io/tsalarm.c
1278
sc->read_head += n;
usr/src/uts/sun4v/ontario/io/tsalarm.c
1290
tsal_pcp_peek_read(tsalarm_softc_t *sc, uint8_t *buf, int byte_cnt)
usr/src/uts/sun4v/ontario/io/tsalarm.c
1296
if (byte_cnt < 0 || byte_cnt > sc->mtu_size) {
usr/src/uts/sun4v/ontario/io/tsalarm.c
1304
if (byte_cnt <= (sc->read_tail - sc->read_head)) {
usr/src/uts/sun4v/ontario/io/tsalarm.c
1305
(void) memcpy(buf, sc->read_head, byte_cnt);
usr/src/uts/sun4v/ontario/io/tsalarm.c
1310
if (sc->peek_read_area == NULL) {
usr/src/uts/sun4v/ontario/io/tsalarm.c
1313
peek_read_head = sc->peek_read_area;
usr/src/uts/sun4v/ontario/io/tsalarm.c
1314
peek_read_tail = sc->peek_read_area;
usr/src/uts/sun4v/ontario/io/tsalarm.c
1321
for (i = 0; i < (sc->read_tail - sc->read_head); ++i) {
usr/src/uts/sun4v/ontario/io/tsalarm.c
1322
sc->peek_read_area[i] = sc->read_head[i];
usr/src/uts/sun4v/ontario/io/tsalarm.c
1324
peek_read_head = sc->peek_read_area;
usr/src/uts/sun4v/ontario/io/tsalarm.c
1331
if ((m = tsal_pcp_peek(sc, peek_read_tail, sc->mtu_size)) < 0) {
usr/src/uts/sun4v/ontario/io/tsalarm.c
1349
tsal_pcp_send_req_msg_hdr(tsalarm_softc_t *sc, tsal_pcp_req_msg_hdr_t *req_hdr)
usr/src/uts/sun4v/ontario/io/tsalarm.c
1372
if ((ret = tsal_pcp_io_op(sc, (char *)hdrp, hdr_sz,
usr/src/uts/sun4v/ontario/io/tsalarm.c
1384
tsal_pcp_recv_resp_msg_hdr(tsalarm_softc_t *sc,
usr/src/uts/sun4v/ontario/io/tsalarm.c
1410
if ((ret = tsal_pcp_frame_error_handle(sc)) != 0) {
usr/src/uts/sun4v/ontario/io/tsalarm.c
1415
if ((ret = tsal_pcp_io_op(sc, &magic_num, sizeof (magic_num),
usr/src/uts/sun4v/ontario/io/tsalarm.c
1427
if ((ret = tsal_pcp_io_op(sc, &proto_ver, sizeof (proto_ver),
usr/src/uts/sun4v/ontario/io/tsalarm.c
1438
if ((ret = tsal_pcp_io_op(sc, &msg_type, sizeof (msg_type),
usr/src/uts/sun4v/ontario/io/tsalarm.c
1444
if ((ret = tsal_pcp_io_op(sc, &sub_type, sizeof (sub_type),
usr/src/uts/sun4v/ontario/io/tsalarm.c
1450
if ((ret = tsal_pcp_io_op(sc, &rsvd_pad, sizeof (rsvd_pad),
usr/src/uts/sun4v/ontario/io/tsalarm.c
1456
if ((ret = tsal_pcp_io_op(sc, &xid, sizeof (xid),
usr/src/uts/sun4v/ontario/io/tsalarm.c
1464
if ((ret = tsal_pcp_io_op(sc, &timeout, sizeof (timeout),
usr/src/uts/sun4v/ontario/io/tsalarm.c
1472
if ((ret = tsal_pcp_io_op(sc, &msg_len, sizeof (msg_len),
usr/src/uts/sun4v/ontario/io/tsalarm.c
1480
if ((ret = tsal_pcp_io_op(sc, &status, sizeof (status),
usr/src/uts/sun4v/ontario/io/tsalarm.c
1488
if ((ret = tsal_pcp_io_op(sc, &msg_cksum, sizeof (msg_cksum),
usr/src/uts/sun4v/ontario/io/tsalarm.c
1496
if ((ret = tsal_pcp_io_op(sc, &hdr_cksum, sizeof (hdr_cksum),
usr/src/uts/sun4v/ontario/io/tsalarm.c
1527
tsal_pcp_get_xid(tsalarm_softc_t *sc)
usr/src/uts/sun4v/ontario/io/tsalarm.c
1542
sc->msg_xid = (uint32_t)gethrtime();
usr/src/uts/sun4v/ontario/io/tsalarm.c
1545
ret = sc->msg_xid++;
usr/src/uts/sun4v/ontario/io/tsalarm.c
1549
ret = sc->msg_xid++;
usr/src/uts/sun4v/ontario/io/tsalarm.c
1562
tsal_pcp_frame_error_handle(tsalarm_softc_t *sc)
usr/src/uts/sun4v/ontario/io/tsalarm.c
1578
if (!check_magic_byte_presence(sc, 4, &magic_num_buf[0],
usr/src/uts/sun4v/ontario/io/tsalarm.c
1582
(void) tsal_pcp_io_op(sc, buf, 1,
usr/src/uts/sun4v/ontario/io/tsalarm.c
1597
check_magic_byte_presence(tsalarm_softc_t *sc,
usr/src/uts/sun4v/ontario/io/tsalarm.c
1603
if ((ret = tsal_pcp_peek_read(sc, buf, byte_cnt)) < 0) {
usr/src/uts/sun4v/ontario/io/tsalarm.c
218
static int tsal_pcp_send_req_msg_hdr(tsalarm_softc_t *sc,
usr/src/uts/sun4v/ontario/io/tsalarm.c
220
static int tsal_pcp_recv_resp_msg_hdr(tsalarm_softc_t *sc,
usr/src/uts/sun4v/ontario/io/tsalarm.c
222
static int tsal_pcp_io_op(tsalarm_softc_t *sc, void *buf,
usr/src/uts/sun4v/ontario/io/tsalarm.c
224
static int tsal_pcp_read(tsalarm_softc_t *sc, uint8_t *buf, int buf_len);
usr/src/uts/sun4v/ontario/io/tsalarm.c
225
static int tsal_pcp_write(tsalarm_softc_t *sc, uint8_t *buf, int buf_len);
usr/src/uts/sun4v/ontario/io/tsalarm.c
226
static int tsal_pcp_peek(tsalarm_softc_t *sc, uint8_t *buf, int buf_len);
usr/src/uts/sun4v/ontario/io/tsalarm.c
227
static int tsal_pcp_peek_read(tsalarm_softc_t *sc, uint8_t *buf, int buf_len);
usr/src/uts/sun4v/ontario/io/tsalarm.c
228
static int tsal_pcp_frame_error_handle(tsalarm_softc_t *sc);
usr/src/uts/sun4v/ontario/io/tsalarm.c
229
static int check_magic_byte_presence(tsalarm_softc_t *sc, int byte_cnt,
usr/src/uts/sun4v/ontario/io/tsalarm.c
231
static int tsal_pcp_send_recv(tsalarm_softc_t *sc, tsal_pcp_msg_t *req_msg,
usr/src/uts/sun4v/ontario/io/tsalarm.c
233
static uint32_t tsal_pcp_get_xid(tsalarm_softc_t *sc);
usr/src/uts/sun4v/ontario/io/tsalarm.c
236
tsalarm_softc_t *sc);
usr/src/uts/sun4v/ontario/io/tsalarm.c
238
tsalarm_softc_t *sc);
usr/src/uts/sun4v/ontario/io/tsalarm.c
731
glvc_alarm_get(int alarm_type, int *alarm_state, tsalarm_softc_t *sc)
usr/src/uts/sun4v/ontario/io/tsalarm.c
742
if (sc->req_ptr == NULL) {
usr/src/uts/sun4v/ontario/io/tsalarm.c
746
req_ptr = sc->req_ptr;
usr/src/uts/sun4v/ontario/io/tsalarm.c
759
if (tsal_pcp_send_recv(sc, &send_msg, &recv_msg,
usr/src/uts/sun4v/ontario/io/tsalarm.c
764
if (tsal_pcp_send_recv(sc, &send_msg, &recv_msg,
usr/src/uts/sun4v/ontario/io/tsalarm.c
799
glvc_alarm_set(int alarm_type, int new_state, tsalarm_softc_t *sc)
usr/src/uts/sun4v/ontario/io/tsalarm.c
810
if (sc->req_ptr == NULL) {
usr/src/uts/sun4v/ontario/io/tsalarm.c
811
if ((sc->req_ptr = (tsal_pcp_alarm_req_t *)kmem_zalloc(
usr/src/uts/sun4v/ontario/io/tsalarm.c
817
req_ptr = sc->req_ptr;
usr/src/uts/sun4v/ontario/io/tsalarm.c
834
if (tsal_pcp_send_recv(sc, &send_msg, &recv_msg,
usr/src/uts/sun4v/ontario/io/tsalarm.c
839
if (tsal_pcp_send_recv(sc, &send_msg, &recv_msg,
usr/src/uts/sun4v/ontario/io/tsalarm.c
895
tsal_pcp_send_recv(tsalarm_softc_t *sc, tsal_pcp_msg_t *req_msg,
usr/src/uts/sun4v/ontario/io/tsalarm.c
918
req_msg_hdr = sc->req_msg_hdr;
usr/src/uts/sun4v/ontario/io/tsalarm.c
936
req_msg_hdr->xid = tsal_pcp_get_xid(sc);
usr/src/uts/sun4v/ontario/io/tsalarm.c
949
if ((ret = tsal_pcp_send_req_msg_hdr(sc, req_msg_hdr))) {
usr/src/uts/sun4v/ontario/io/tsalarm.c
957
if ((ret = tsal_pcp_io_op(sc, datap, req_msg->msg_len,
usr/src/uts/sun4v/ontario/io/tsalarm.c
966
resp_msg_hdr = sc->resp_msg_hdr;
usr/src/uts/sun4v/ontario/io/tsalarm.c
979
if ((ret = tsal_pcp_recv_resp_msg_hdr(sc, resp_msg_hdr))) {