Lines Matching refs:tq

1346 	struct bwn_pio_txqueue *tq;
1360 tq = bwn_pio_select(mac, M_WME_GETAC(m));
1361 if (tq->tq_free == 0 || pktlen > tq->tq_size ||
1362 pktlen > (tq->tq_size - tq->tq_used)) {
1363 tq->tq_stop = 1;
1400 struct bwn_pio_txqueue *tq = bwn_pio_select(mac, M_WME_GETAC(m));
1412 KASSERT(!TAILQ_EMPTY(&tq->tq_pktlist), ("%s: fail", __func__));
1413 tp = TAILQ_FIRST(&tq->tq_pktlist);
1417 error = bwn_set_txhdr(mac, ni, m, &txhdr, BWN_PIO_COOKIE(tq, tp));
1423 TAILQ_REMOVE(&tq->tq_pktlist, tp, tp_list);
1424 tq->tq_used += roundup(m->m_pkthdr.len + BWN_HDRSIZE(mac), 4);
1425 tq->tq_free--;
1444 ctl32 = bwn_pio_write_multi_4(mac, tq,
1445 (BWN_PIO_READ_4(mac, tq, BWN_PIO8_TXCTL) |
1449 ctl32 = bwn_pio_write_multi_4(mac, tq, ctl32,
1451 bwn_pio_write_4(mac, tq, BWN_PIO_TXCTL,
1454 ctl16 = bwn_pio_write_multi_2(mac, tq,
1455 (bwn_pio_read_2(mac, tq, BWN_PIO_TXCTL) |
1458 ctl16 = bwn_pio_write_mbuf_2(mac, tq, ctl16, m);
1459 BWN_PIO_WRITE_2(mac, tq, BWN_PIO_TXCTL,
3532 bwn_pio_set_txqueue(struct bwn_mac *mac, struct bwn_pio_txqueue *tq,
3539 tq->tq_base = bwn_pio_idx2base(mac, index) + BWN_PIO_TXQOFFSET(mac);
3540 tq->tq_index = index;
3542 tq->tq_free = BWN_PIO_MAX_TXPACKETS;
3544 tq->tq_size = 1920;
3546 tq->tq_size = bwn_pio_read_2(mac, tq, BWN_PIO_TXQBUFSIZE);
3547 tq->tq_size -= 80;
3550 TAILQ_INIT(&tq->tq_pktlist);
3551 for (i = 0; i < N(tq->tq_pkts); i++) {
3552 tp = &(tq->tq_pkts[i]);
3554 tp->tp_queue = tq;
3555 TAILQ_INSERT_TAIL(&tq->tq_pktlist, tp, tp_list);
3605 bwn_destroy_pioqueue_tx(struct bwn_pio_txqueue *tq)
3607 if (tq == NULL)
3609 bwn_pio_cancel_tx_packets(tq);
3620 bwn_pio_read_2(struct bwn_mac *mac, struct bwn_pio_txqueue *tq,
3624 return (BWN_READ_2(mac, tq->tq_base + offset));
3684 bwn_pio_cancel_tx_packets(struct bwn_pio_txqueue *tq)
3689 for (i = 0; i < N(tq->tq_pkts); i++) {
3690 tp = &(tq->tq_pkts[i]);
8988 struct bwn_pio_txqueue *tq;
9036 tq = bwn_pio_parse_cookie(mac, status->cookie, &tp);
9037 if (tq == NULL) {
9462 struct bwn_pio_txqueue *tq;
9469 tq = bwn_pio_parse_cookie(mac, status->cookie, &tp);
9470 if (tq == NULL)
9473 tq->tq_used -= roundup(tp->tp_m->m_pkthdr.len + BWN_HDRSIZE(mac), 4);
9474 tq->tq_free++;
9488 TAILQ_INSERT_TAIL(&tq->tq_pktlist, tp, tp_list);
9493 if (tq->tq_stop) {
9495 tq->tq_stop = 0;
9877 bwn_pio_write_multi_4(struct bwn_mac *mac, struct bwn_pio_txqueue *tq,
9886 bwn_pio_write_4(mac, tq, BWN_PIO8_TXCTL, ctl);
9889 tq->tq_base + BWN_PIO8_TXDATA);
9906 bwn_pio_write_4(mac, tq, BWN_PIO8_TXCTL, ctl);
9907 bwn_pio_write_4(mac, tq, BWN_PIO8_TXDATA, value);
9914 bwn_pio_write_4(struct bwn_mac *mac, struct bwn_pio_txqueue *tq,
9918 BWN_WRITE_4(mac, tq->tq_base + offset, value);
9922 bwn_pio_write_multi_2(struct bwn_mac *mac, struct bwn_pio_txqueue *tq,
9929 BWN_PIO_WRITE_2(mac, tq, BWN_PIO_TXCTL, ctl);
9932 tq->tq_base + BWN_PIO_TXDATA);
9935 BWN_PIO_WRITE_2(mac, tq, BWN_PIO_TXCTL, ctl);
9936 BWN_PIO_WRITE_2(mac, tq, BWN_PIO_TXDATA, data[len - 1]);
9943 bwn_pio_write_mbuf_2(struct bwn_mac *mac, struct bwn_pio_txqueue *tq,
9952 BWN_PIO_WRITE_2(mac, tq, BWN_PIO_TXCTL, ctl);
9961 BWN_PIO_WRITE_2(mac, tq, BWN_PIO_TXDATA, data);
9968 BWN_PIO_WRITE_2(mac, tq, BWN_PIO_TXCTL, ctl);
9969 BWN_PIO_WRITE_2(mac, tq, BWN_PIO_TXDATA, data);
10154 struct bwn_pio_txqueue *tq = NULL;
10159 tq = &pio->wme[WME_AC_BK];
10162 tq = &pio->wme[WME_AC_BE];
10165 tq = &pio->wme[WME_AC_VI];
10168 tq = &pio->wme[WME_AC_VO];
10171 tq = &pio->mcast;
10174 KASSERT(tq != NULL, ("%s:%d: fail", __func__, __LINE__));
10175 if (tq == NULL)
10178 KASSERT(index < N(tq->tq_pkts), ("%s:%d: fail", __func__, __LINE__));
10179 if (index >= N(tq->tq_pkts))
10181 *pack = &tq->tq_pkts[index];
10183 return (tq);