Symbol: txq
drivers/bluetooth/btintel_pcie.c
1085
struct txq *txq;
drivers/bluetooth/btintel_pcie.c
1094
txq = &data->txq;
drivers/bluetooth/btintel_pcie.c
1100
urbd0 = &txq->urbd0s[cr_tia];
drivers/bluetooth/btintel_pcie.c
1102
if (urbd0->tfd_index > txq->count)
drivers/bluetooth/btintel_pcie.c
1105
cr_tia = (cr_tia + 1) % txq->count;
drivers/bluetooth/btintel_pcie.c
1813
ci->addr_urbdq0 = data->txq.urbd0s_p_addr;
drivers/bluetooth/btintel_pcie.c
1814
ci->addr_tfdq = data->txq.tfds_p_addr;
drivers/bluetooth/btintel_pcie.c
1815
ci->num_tfdq = data->txq.count;
drivers/bluetooth/btintel_pcie.c
1816
ci->num_urbdq0 = data->txq.count;
drivers/bluetooth/btintel_pcie.c
1834
struct txq *txq)
drivers/bluetooth/btintel_pcie.c
1837
dma_free_coherent(&data->pdev->dev, txq->count * BTINTEL_PCIE_BUFFER_SIZE,
drivers/bluetooth/btintel_pcie.c
1838
txq->buf_v_addr, txq->buf_p_addr);
drivers/bluetooth/btintel_pcie.c
1839
kfree(txq->bufs);
drivers/bluetooth/btintel_pcie.c
1843
struct txq *txq)
drivers/bluetooth/btintel_pcie.c
1849
txq->bufs = kmalloc_objs(*buf, txq->count);
drivers/bluetooth/btintel_pcie.c
1850
if (!txq->bufs)
drivers/bluetooth/btintel_pcie.c
1856
txq->buf_v_addr = dma_alloc_coherent(&data->pdev->dev,
drivers/bluetooth/btintel_pcie.c
1857
txq->count * BTINTEL_PCIE_BUFFER_SIZE,
drivers/bluetooth/btintel_pcie.c
1858
&txq->buf_p_addr,
drivers/bluetooth/btintel_pcie.c
1860
if (!txq->buf_v_addr) {
drivers/bluetooth/btintel_pcie.c
1861
kfree(txq->bufs);
drivers/bluetooth/btintel_pcie.c
1868
for (i = 0; i < txq->count; i++) {
drivers/bluetooth/btintel_pcie.c
1869
buf = &txq->bufs[i];
drivers/bluetooth/btintel_pcie.c
1870
buf->data_p_addr = txq->buf_p_addr + (i * BTINTEL_PCIE_BUFFER_SIZE);
drivers/bluetooth/btintel_pcie.c
1871
buf->data = txq->buf_v_addr + (i * BTINTEL_PCIE_BUFFER_SIZE);
drivers/bluetooth/btintel_pcie.c
1924
btintel_pcie_free_txq_bufs(data, &data->txq);
drivers/bluetooth/btintel_pcie.c
1991
data->txq.count = BTINTEL_PCIE_TX_DESCS_COUNT;
drivers/bluetooth/btintel_pcie.c
1995
data->txq.tfds_p_addr = p_addr;
drivers/bluetooth/btintel_pcie.c
1996
data->txq.tfds = v_addr;
drivers/bluetooth/btintel_pcie.c
2002
data->txq.urbd0s_p_addr = p_addr;
drivers/bluetooth/btintel_pcie.c
2003
data->txq.urbd0s = v_addr;
drivers/bluetooth/btintel_pcie.c
2023
err = btintel_pcie_setup_txq_bufs(data, &data->txq);
drivers/bluetooth/btintel_pcie.c
2071
btintel_pcie_free_txq_bufs(data, &data->txq);
drivers/bluetooth/btintel_pcie.c
280
static void btintel_pcie_prepare_tx(struct txq *txq, u16 tfd_index,
drivers/bluetooth/btintel_pcie.c
286
tfd = &txq->tfds[tfd_index];
drivers/bluetooth/btintel_pcie.c
289
buf = &txq->bufs[tfd_index];
drivers/bluetooth/btintel_pcie.c
400
struct txq *txq = &data->txq;
drivers/bluetooth/btintel_pcie.c
404
if (tfd_index > txq->count)
drivers/bluetooth/btintel_pcie.c
430
btintel_pcie_prepare_tx(txq, tfd_index, skb);
drivers/bluetooth/btintel_pcie.c
432
tfd_index = (tfd_index + 1) % txq->count;
drivers/bluetooth/btintel_pcie.h
529
struct txq txq;
drivers/bluetooth/btmtksdio.c
1265
skb_queue_tail(&bdev->txq, skb);
drivers/bluetooth/btmtksdio.c
1295
skb_queue_purge(&bdev->txq);
drivers/bluetooth/btmtksdio.c
1379
skb_queue_head_init(&bdev->txq);
drivers/bluetooth/btmtksdio.c
150
struct sk_buff_head txq;
drivers/bluetooth/btmtksdio.c
607
skb = skb_dequeue(&bdev->txq);
drivers/bluetooth/btmtksdio.c
612
skb_queue_head(&bdev->txq, skb);
drivers/bluetooth/btmtksdio.c
765
skb_queue_purge(&bdev->txq);
drivers/bluetooth/btmtkuart.c
249
struct sk_buff *skb = skb_dequeue(&bdev->txq);
drivers/bluetooth/btmtkuart.c
261
skb_queue_head(&bdev->txq, skb);
drivers/bluetooth/btmtkuart.c
490
skb_queue_purge(&bdev->txq);
drivers/bluetooth/btmtkuart.c
72
struct sk_buff_head txq;
drivers/bluetooth/btmtkuart.c
754
skb_queue_tail(&bdev->txq, skb);
drivers/bluetooth/btmtkuart.c
852
skb_queue_head_init(&bdev->txq);
drivers/bluetooth/btnxpuart.c
1564
skb_queue_tail(&nxpdev->txq, skb);
drivers/bluetooth/btnxpuart.c
1658
return skb_dequeue(&nxpdev->txq);
drivers/bluetooth/btnxpuart.c
1680
skb_queue_head(&nxpdev->txq, skb);
drivers/bluetooth/btnxpuart.c
1721
skb_queue_purge(&nxpdev->txq);
drivers/bluetooth/btnxpuart.c
1736
skb_queue_purge(&nxpdev->txq);
drivers/bluetooth/btnxpuart.c
1840
skb_queue_head_init(&nxpdev->txq);
drivers/bluetooth/btnxpuart.c
189
struct sk_buff_head txq;
drivers/bluetooth/btsdio.c
102
skb_queue_head(&data->txq, skb);
drivers/bluetooth/btsdio.c
237
skb_queue_purge(&data->txq);
drivers/bluetooth/btsdio.c
265
skb_queue_tail(&data->txq, skb);
drivers/bluetooth/btsdio.c
311
skb_queue_head_init(&data->txq);
drivers/bluetooth/btsdio.c
46
struct sk_buff_head txq;
drivers/bluetooth/btsdio.c
98
while ((skb = skb_dequeue(&data->txq))) {
drivers/bluetooth/hci_ag6xx.c
24
struct sk_buff_head txq;
drivers/bluetooth/hci_ag6xx.c
43
skb_queue_head_init(&ag6xx->txq);
drivers/bluetooth/hci_ag6xx.c
55
skb_queue_purge(&ag6xx->txq);
drivers/bluetooth/hci_ag6xx.c
69
skb_queue_purge(&ag6xx->txq);
drivers/bluetooth/hci_ag6xx.c
78
skb = skb_dequeue(&ag6xx->txq);
drivers/bluetooth/hci_ag6xx.c
91
skb_queue_tail(&ag6xx->txq, skb);
drivers/bluetooth/hci_aml.c
107
struct sk_buff_head txq;
drivers/bluetooth/hci_aml.c
548
skb_queue_head_init(&aml_data->txq);
drivers/bluetooth/hci_aml.c
560
skb_queue_purge(&aml_data->txq);
drivers/bluetooth/hci_aml.c
573
skb_queue_purge(&aml_data->txq);
drivers/bluetooth/hci_aml.c
629
skb_queue_tail(&aml_data->txq, skb);
drivers/bluetooth/hci_aml.c
639
skb = skb_dequeue(&aml_data->txq);
drivers/bluetooth/hci_ath.c
108
skb_queue_head_init(&ath->txq);
drivers/bluetooth/hci_ath.c
124
skb_queue_purge(&ath->txq);
drivers/bluetooth/hci_ath.c
142
skb_queue_purge(&ath->txq);
drivers/bluetooth/hci_ath.c
235
skb_queue_tail(&ath->txq, skb);
drivers/bluetooth/hci_ath.c
247
return skb_dequeue(&ath->txq);
drivers/bluetooth/hci_ath.c
35
struct sk_buff_head txq;
drivers/bluetooth/hci_bcm.c
157
struct sk_buff_head txq;
drivers/bluetooth/hci_bcm.c
434
skb_queue_tail(&bcm->txq, skb);
drivers/bluetooth/hci_bcm.c
455
skb_queue_head_init(&bcm->txq);
drivers/bluetooth/hci_bcm.c
561
skb_queue_purge(&bcm->txq);
drivers/bluetooth/hci_bcm.c
575
skb_queue_purge(&bcm->txq);
drivers/bluetooth/hci_bcm.c
728
skb_queue_tail(&bcm->txq, skb);
drivers/bluetooth/hci_bcm.c
747
skb = skb_dequeue(&bcm->txq);
drivers/bluetooth/hci_h4.c
130
return skb_dequeue(&h4->txq);
drivers/bluetooth/hci_h4.c
37
struct sk_buff_head txq;
drivers/bluetooth/hci_h4.c
51
skb_queue_head_init(&h4->txq);
drivers/bluetooth/hci_h4.c
64
skb_queue_purge(&h4->txq);
drivers/bluetooth/hci_h4.c
76
skb_queue_purge(&h4->txq);
drivers/bluetooth/hci_h4.c
95
skb_queue_tail(&h4->txq, skb);
drivers/bluetooth/hci_intel.c
1008
skb_queue_tail(&intel->txq, skb);
drivers/bluetooth/hci_intel.c
1018
skb = skb_dequeue(&intel->txq);
drivers/bluetooth/hci_intel.c
178
skb_queue_head(&intel->txq, skb);
drivers/bluetooth/hci_intel.c
222
skb_queue_head(&intel->txq, skb);
drivers/bluetooth/hci_intel.c
260
skb_queue_head(&intel->txq, skb);
drivers/bluetooth/hci_intel.c
391
skb_queue_head_init(&intel->txq);
drivers/bluetooth/hci_intel.c
414
skb_queue_purge(&intel->txq);
drivers/bluetooth/hci_intel.c
428
skb_queue_purge(&intel->txq);
drivers/bluetooth/hci_intel.c
507
skb_queue_tail(&intel->txq, skb);
drivers/bluetooth/hci_intel.c
69
struct sk_buff_head txq;
drivers/bluetooth/hci_ll.c
106
skb_queue_tail(&ll->txq, skb);
drivers/bluetooth/hci_ll.c
122
skb_queue_head_init(&ll->txq);
drivers/bluetooth/hci_ll.c
148
skb_queue_purge(&ll->txq);
drivers/bluetooth/hci_ll.c
161
skb_queue_purge(&ll->txq);
drivers/bluetooth/hci_ll.c
192
skb_queue_tail(&ll->txq, skb);
drivers/bluetooth/hci_ll.c
328
skb_queue_tail(&ll->txq, skb);
drivers/bluetooth/hci_ll.c
449
return skb_dequeue(&ll->txq);
drivers/bluetooth/hci_ll.c
76
struct sk_buff_head txq;
drivers/bluetooth/hci_mrvl.c
100
skb_queue_purge(&mrvl->txq);
drivers/bluetooth/hci_mrvl.c
115
skb_queue_purge(&mrvl->txq);
drivers/bluetooth/hci_mrvl.c
126
skb = skb_dequeue(&mrvl->txq);
drivers/bluetooth/hci_mrvl.c
142
skb_queue_tail(&mrvl->txq, skb);
drivers/bluetooth/hci_mrvl.c
159
skb_queue_tail(&mrvl->txq, skb);
drivers/bluetooth/hci_mrvl.c
40
struct sk_buff_head txq;
drivers/bluetooth/hci_mrvl.c
71
skb_queue_head_init(&mrvl->txq);
drivers/bluetooth/hci_nokia.c
130
struct sk_buff_head txq;
drivers/bluetooth/hci_nokia.c
477
skb_queue_purge(&btdev->txq);
drivers/bluetooth/hci_nokia.c
491
skb_queue_purge(&btdev->txq);
drivers/bluetooth/hci_nokia.c
521
skb_queue_tail(&btdev->txq, skb);
drivers/bluetooth/hci_nokia.c
643
struct sk_buff *result = skb_dequeue(&btdev->txq);
drivers/bluetooth/hci_nokia.c
740
skb_queue_head_init(&btdev->txq);
drivers/bluetooth/hci_qca.c
1303
return skb_dequeue(&qca->txq);
drivers/bluetooth/hci_qca.c
1364
skb_queue_tail(&qca->txq, skb);
drivers/bluetooth/hci_qca.c
1369
while (!skb_queue_empty(&qca->txq))
drivers/bluetooth/hci_qca.c
143
struct sk_buff_head txq;
drivers/bluetooth/hci_qca.c
1600
skb_queue_tail(&qca->txq, skb);
drivers/bluetooth/hci_qca.c
382
skb_queue_tail(&qca->txq, skb);
drivers/bluetooth/hci_qca.c
589
skb_queue_head_init(&qca->txq);
drivers/bluetooth/hci_qca.c
711
skb_queue_purge(&qca->txq);
drivers/bluetooth/hci_qca.c
730
skb_queue_purge(&qca->txq);
drivers/bluetooth/hci_qca.c
870
skb_queue_tail(&qca->txq, skb);
drivers/bluetooth/hci_qca.c
921
skb_queue_tail(&qca->txq, skb);
drivers/bluetooth/hci_qca.c
930
skb_queue_tail(&qca->txq, skb);
drivers/crypto/chelsio/chcr_algo.c
551
struct sge_uld_txq *txq;
drivers/crypto/chelsio/chcr_algo.c
555
txq = &txq_info->uldtxq[idx];
drivers/crypto/chelsio/chcr_algo.c
556
spin_lock(&txq->sendq.lock);
drivers/crypto/chelsio/chcr_algo.c
557
if (txq->full)
drivers/crypto/chelsio/chcr_algo.c
559
spin_unlock(&txq->sendq.lock);
drivers/infiniband/hw/hfi1/ipoib.h
62
struct hfi1_ipoib_txq *txq;
drivers/infiniband/hw/hfi1/ipoib_tx.c
107
if (hfi1_ipoib_used(txq) < hfi1_ipoib_ring_lwat(txq) &&
drivers/infiniband/hw/hfi1/ipoib_tx.c
108
atomic_xchg(&txq->tx_ring.ring_full, 0)) {
drivers/infiniband/hw/hfi1/ipoib_tx.c
109
trace_hfi1_txq_xmit_unstopped(txq);
drivers/infiniband/hw/hfi1/ipoib_tx.c
110
hfi1_ipoib_wake_txq(txq);
drivers/infiniband/hw/hfi1/ipoib_tx.c
116
struct hfi1_ipoib_dev_priv *priv = tx->txq->priv;
drivers/infiniband/hw/hfi1/ipoib_tx.c
125
le64_to_cpu(tx->sdma_hdr->pbc), tx->txq->q_idx,
drivers/infiniband/hw/hfi1/ipoib_tx.c
126
tx->txq->sde->this_idx);
drivers/infiniband/hw/hfi1/ipoib_tx.c
134
static void hfi1_ipoib_drain_tx_ring(struct hfi1_ipoib_txq *txq)
drivers/infiniband/hw/hfi1/ipoib_tx.c
136
struct hfi1_ipoib_circ_buf *tx_ring = &txq->tx_ring;
drivers/infiniband/hw/hfi1/ipoib_tx.c
145
sdma_txclean(txq->priv->dd, &tx->txreq);
drivers/infiniband/hw/hfi1/ipoib_tx.c
151
tx_ring->avail = hfi1_ipoib_ring_hwat(txq);
drivers/infiniband/hw/hfi1/ipoib_tx.c
156
struct hfi1_ipoib_txq *txq =
drivers/infiniband/hw/hfi1/ipoib_tx.c
158
struct hfi1_ipoib_circ_buf *tx_ring = &txq->tx_ring;
drivers/infiniband/hw/hfi1/ipoib_tx.c
164
trace_hfi1_txq_poll(txq);
drivers/infiniband/hw/hfi1/ipoib_tx.c
180
hfi1_ipoib_check_queue_stopped(txq);
drivers/infiniband/hw/hfi1/ipoib_tx.c
192
trace_hfi1_txq_complete(tx->txq);
drivers/infiniband/hw/hfi1/ipoib_tx.c
196
napi_schedule_irqoff(&tx->txq->napi);
drivers/infiniband/hw/hfi1/ipoib_tx.c
259
struct hfi1_ipoib_dev_priv *priv = tx->txq->priv;
drivers/infiniband/hw/hfi1/ipoib_tx.c
29
struct hfi1_ipoib_txq *txq;
drivers/infiniband/hw/hfi1/ipoib_tx.c
330
ohdr->bth[2] = cpu_to_be32(mask_psn((u32)txp->txq->tx_ring.sent_txreqs));
drivers/infiniband/hw/hfi1/ipoib_tx.c
353
struct hfi1_ipoib_txq *txq = txp->txq;
drivers/infiniband/hw/hfi1/ipoib_tx.c
355
struct hfi1_ipoib_circ_buf *tx_ring = &txq->tx_ring;
drivers/infiniband/hw/hfi1/ipoib_tx.c
362
if (hfi1_ipoib_used(txq) >= hfi1_ipoib_ring_hwat(txq))
drivers/infiniband/hw/hfi1/ipoib_tx.c
368
min_t(u32, hfi1_ipoib_ring_hwat(txq),
drivers/infiniband/hw/hfi1/ipoib_tx.c
374
trace_hfi1_txq_alloc_tx(txq);
drivers/infiniband/hw/hfi1/ipoib_tx.c
378
tx->txq = txq;
drivers/infiniband/hw/hfi1/ipoib_tx.c
386
if (txq->flow.as_int != txp->flow.as_int) {
drivers/infiniband/hw/hfi1/ipoib_tx.c
387
txq->flow.tx_queue = txp->flow.tx_queue;
drivers/infiniband/hw/hfi1/ipoib_tx.c
388
txq->flow.sc5 = txp->flow.sc5;
drivers/infiniband/hw/hfi1/ipoib_tx.c
389
txq->sde =
drivers/infiniband/hw/hfi1/ipoib_tx.c
393
trace_hfi1_flow_switch(txq);
drivers/infiniband/hw/hfi1/ipoib_tx.c
405
struct hfi1_ipoib_txq *txq)
drivers/infiniband/hw/hfi1/ipoib_tx.c
410
ret = sdma_send_txlist(txq->sde,
drivers/infiniband/hw/hfi1/ipoib_tx.c
411
iowait_get_ib_work(&txq->wait),
drivers/infiniband/hw/hfi1/ipoib_tx.c
412
&txq->tx_list,
drivers/infiniband/hw/hfi1/ipoib_tx.c
417
dd_dev_warn(txq->priv->dd, "cannot send skb tx list, err %d.\n", ret);
drivers/infiniband/hw/hfi1/ipoib_tx.c
423
struct hfi1_ipoib_txq *txq)
drivers/infiniband/hw/hfi1/ipoib_tx.c
427
if (!list_empty(&txq->tx_list)) {
drivers/infiniband/hw/hfi1/ipoib_tx.c
429
ret = hfi1_ipoib_submit_tx_list(dev, txq);
drivers/infiniband/hw/hfi1/ipoib_tx.c
439
static int hfi1_ipoib_submit_tx(struct hfi1_ipoib_txq *txq,
drivers/infiniband/hw/hfi1/ipoib_tx.c
444
ret = sdma_send_txreq(txq->sde,
drivers/infiniband/hw/hfi1/ipoib_tx.c
445
iowait_get_ib_work(&txq->wait),
drivers/infiniband/hw/hfi1/ipoib_tx.c
447
txq->pkts_sent);
drivers/infiniband/hw/hfi1/ipoib_tx.c
449
txq->pkts_sent = true;
drivers/infiniband/hw/hfi1/ipoib_tx.c
450
iowait_starve_clear(txq->pkts_sent, &txq->wait);
drivers/infiniband/hw/hfi1/ipoib_tx.c
460
struct hfi1_ipoib_txq *txq = txp->txq;
drivers/infiniband/hw/hfi1/ipoib_tx.c
47
static u64 hfi1_ipoib_used(struct hfi1_ipoib_txq *txq)
drivers/infiniband/hw/hfi1/ipoib_tx.c
479
tx_ring = &txq->tx_ring;
drivers/infiniband/hw/hfi1/ipoib_tx.c
483
ret = hfi1_ipoib_submit_tx(txq, tx);
drivers/infiniband/hw/hfi1/ipoib_tx.c
486
trace_sdma_output_ibhdr(txq->priv->dd,
drivers/infiniband/hw/hfi1/ipoib_tx.c
489
hfi1_ipoib_check_queue_depth(txq);
drivers/infiniband/hw/hfi1/ipoib_tx.c
49
return hfi1_ipoib_txreqs(txq->tx_ring.sent_txreqs,
drivers/infiniband/hw/hfi1/ipoib_tx.c
493
txq->pkts_sent = false;
drivers/infiniband/hw/hfi1/ipoib_tx.c
50
txq->tx_ring.complete_txreqs);
drivers/infiniband/hw/hfi1/ipoib_tx.c
500
napi_schedule(&tx->txq->napi);
drivers/infiniband/hw/hfi1/ipoib_tx.c
511
struct hfi1_ipoib_txq *txq = txp->txq;
drivers/infiniband/hw/hfi1/ipoib_tx.c
516
if (txq->flow.as_int != txp->flow.as_int) {
drivers/infiniband/hw/hfi1/ipoib_tx.c
519
trace_hfi1_flow_flush(txq);
drivers/infiniband/hw/hfi1/ipoib_tx.c
520
ret = hfi1_ipoib_flush_tx_list(dev, txq);
drivers/infiniband/hw/hfi1/ipoib_tx.c
53
static void hfi1_ipoib_stop_txq(struct hfi1_ipoib_txq *txq)
drivers/infiniband/hw/hfi1/ipoib_tx.c
542
tx_ring = &txq->tx_ring;
drivers/infiniband/hw/hfi1/ipoib_tx.c
546
list_add_tail(&tx->txreq.list, &txq->tx_list);
drivers/infiniband/hw/hfi1/ipoib_tx.c
548
hfi1_ipoib_check_queue_depth(txq);
drivers/infiniband/hw/hfi1/ipoib_tx.c
55
trace_hfi1_txq_stop(txq);
drivers/infiniband/hw/hfi1/ipoib_tx.c
550
trace_sdma_output_ibhdr(txq->priv->dd,
drivers/infiniband/hw/hfi1/ipoib_tx.c
555
(void)hfi1_ipoib_flush_tx_list(dev, txq);
drivers/infiniband/hw/hfi1/ipoib_tx.c
56
if (atomic_inc_return(&txq->tx_ring.stops) == 1)
drivers/infiniband/hw/hfi1/ipoib_tx.c
57
netif_stop_subqueue(txq->priv->netdev, txq->q_idx);
drivers/infiniband/hw/hfi1/ipoib_tx.c
593
txp.txq = &priv->txqs[skb_get_queue_mapping(skb)];
drivers/infiniband/hw/hfi1/ipoib_tx.c
599
if (netdev_xmit_more() || !list_empty(&txp.txq->tx_list))
drivers/infiniband/hw/hfi1/ipoib_tx.c
60
static void hfi1_ipoib_wake_txq(struct hfi1_ipoib_txq *txq)
drivers/infiniband/hw/hfi1/ipoib_tx.c
619
struct hfi1_ipoib_txq *txq =
drivers/infiniband/hw/hfi1/ipoib_tx.c
62
trace_hfi1_txq_wake(txq);
drivers/infiniband/hw/hfi1/ipoib_tx.c
624
if (likely(txq->priv->netdev->reg_state == NETREG_REGISTERED)) {
drivers/infiniband/hw/hfi1/ipoib_tx.c
63
if (atomic_dec_and_test(&txq->tx_ring.stops))
drivers/infiniband/hw/hfi1/ipoib_tx.c
632
list_add_tail(&txreq->list, &txq->tx_list);
drivers/infiniband/hw/hfi1/ipoib_tx.c
633
if (list_empty(&txq->wait.list)) {
drivers/infiniband/hw/hfi1/ipoib_tx.c
636
if (!atomic_xchg(&txq->tx_ring.no_desc, 1)) {
drivers/infiniband/hw/hfi1/ipoib_tx.c
637
trace_hfi1_txq_queued(txq);
drivers/infiniband/hw/hfi1/ipoib_tx.c
638
hfi1_ipoib_stop_txq(txq);
drivers/infiniband/hw/hfi1/ipoib_tx.c
64
netif_wake_subqueue(txq->priv->netdev, txq->q_idx);
drivers/infiniband/hw/hfi1/ipoib_tx.c
660
struct hfi1_ipoib_txq *txq =
drivers/infiniband/hw/hfi1/ipoib_tx.c
663
trace_hfi1_txq_wakeup(txq);
drivers/infiniband/hw/hfi1/ipoib_tx.c
664
if (likely(txq->priv->netdev->reg_state == NETREG_REGISTERED))
drivers/infiniband/hw/hfi1/ipoib_tx.c
67
static uint hfi1_ipoib_ring_hwat(struct hfi1_ipoib_txq *txq)
drivers/infiniband/hw/hfi1/ipoib_tx.c
673
struct hfi1_ipoib_txq *txq =
drivers/infiniband/hw/hfi1/ipoib_tx.c
675
struct net_device *dev = txq->priv->netdev;
drivers/infiniband/hw/hfi1/ipoib_tx.c
678
likely(!hfi1_ipoib_flush_tx_list(dev, txq)))
drivers/infiniband/hw/hfi1/ipoib_tx.c
679
if (atomic_xchg(&txq->tx_ring.no_desc, 0))
drivers/infiniband/hw/hfi1/ipoib_tx.c
680
hfi1_ipoib_wake_txq(txq);
drivers/infiniband/hw/hfi1/ipoib_tx.c
69
return min_t(uint, txq->priv->netdev->tx_queue_len,
drivers/infiniband/hw/hfi1/ipoib_tx.c
70
txq->tx_ring.max_items - 1);
drivers/infiniband/hw/hfi1/ipoib_tx.c
705
struct hfi1_ipoib_txq *txq = &priv->txqs[i];
drivers/infiniband/hw/hfi1/ipoib_tx.c
708
tx_ring = &txq->tx_ring;
drivers/infiniband/hw/hfi1/ipoib_tx.c
709
iowait_init(&txq->wait,
drivers/infiniband/hw/hfi1/ipoib_tx.c
717
txq->priv = priv;
drivers/infiniband/hw/hfi1/ipoib_tx.c
718
txq->sde = NULL;
drivers/infiniband/hw/hfi1/ipoib_tx.c
719
INIT_LIST_HEAD(&txq->tx_list);
drivers/infiniband/hw/hfi1/ipoib_tx.c
720
atomic_set(&txq->tx_ring.stops, 0);
drivers/infiniband/hw/hfi1/ipoib_tx.c
721
atomic_set(&txq->tx_ring.ring_full, 0);
drivers/infiniband/hw/hfi1/ipoib_tx.c
722
atomic_set(&txq->tx_ring.no_desc, 0);
drivers/infiniband/hw/hfi1/ipoib_tx.c
723
txq->q_idx = i;
drivers/infiniband/hw/hfi1/ipoib_tx.c
724
txq->flow.tx_queue = 0xff;
drivers/infiniband/hw/hfi1/ipoib_tx.c
725
txq->flow.sc5 = 0xff;
drivers/infiniband/hw/hfi1/ipoib_tx.c
726
txq->pkts_sent = false;
drivers/infiniband/hw/hfi1/ipoib_tx.c
73
static uint hfi1_ipoib_ring_lwat(struct hfi1_ipoib_txq *txq)
drivers/infiniband/hw/hfi1/ipoib_tx.c
731
txq->tx_ring.items =
drivers/infiniband/hw/hfi1/ipoib_tx.c
734
if (!txq->tx_ring.items)
drivers/infiniband/hw/hfi1/ipoib_tx.c
737
txq->tx_ring.max_items = tx_ring_size;
drivers/infiniband/hw/hfi1/ipoib_tx.c
738
txq->tx_ring.shift = ilog2(tx_item_size);
drivers/infiniband/hw/hfi1/ipoib_tx.c
739
txq->tx_ring.avail = hfi1_ipoib_ring_hwat(txq);
drivers/infiniband/hw/hfi1/ipoib_tx.c
740
tx_ring = &txq->tx_ring;
drivers/infiniband/hw/hfi1/ipoib_tx.c
749
netif_napi_add_tx(dev, &txq->napi, hfi1_ipoib_poll_tx_ring);
drivers/infiniband/hw/hfi1/ipoib_tx.c
75
return min_t(uint, txq->priv->netdev->tx_queue_len,
drivers/infiniband/hw/hfi1/ipoib_tx.c
756
struct hfi1_ipoib_txq *txq = &priv->txqs[i];
drivers/infiniband/hw/hfi1/ipoib_tx.c
758
netif_napi_del(&txq->napi);
drivers/infiniband/hw/hfi1/ipoib_tx.c
759
tx_ring = &txq->tx_ring;
drivers/infiniband/hw/hfi1/ipoib_tx.c
76
txq->tx_ring.max_items) >> 1;
drivers/infiniband/hw/hfi1/ipoib_tx.c
770
static void hfi1_ipoib_drain_tx_list(struct hfi1_ipoib_txq *txq)
drivers/infiniband/hw/hfi1/ipoib_tx.c
775
list_for_each_entry_safe(txreq, txreq_tmp, &txq->tx_list, list) {
drivers/infiniband/hw/hfi1/ipoib_tx.c
780
sdma_txclean(txq->priv->dd, &tx->txreq);
drivers/infiniband/hw/hfi1/ipoib_tx.c
783
txq->tx_ring.complete_txreqs++;
drivers/infiniband/hw/hfi1/ipoib_tx.c
786
if (hfi1_ipoib_used(txq))
drivers/infiniband/hw/hfi1/ipoib_tx.c
787
dd_dev_warn(txq->priv->dd,
drivers/infiniband/hw/hfi1/ipoib_tx.c
789
txq->q_idx,
drivers/infiniband/hw/hfi1/ipoib_tx.c
79
static void hfi1_ipoib_check_queue_depth(struct hfi1_ipoib_txq *txq)
drivers/infiniband/hw/hfi1/ipoib_tx.c
790
hfi1_ipoib_txreqs(txq->tx_ring.sent_txreqs,
drivers/infiniband/hw/hfi1/ipoib_tx.c
791
txq->tx_ring.complete_txreqs));
drivers/infiniband/hw/hfi1/ipoib_tx.c
799
struct hfi1_ipoib_txq *txq = &priv->txqs[i];
drivers/infiniband/hw/hfi1/ipoib_tx.c
800
struct hfi1_ipoib_circ_buf *tx_ring = &txq->tx_ring;
drivers/infiniband/hw/hfi1/ipoib_tx.c
802
iowait_cancel_work(&txq->wait);
drivers/infiniband/hw/hfi1/ipoib_tx.c
803
iowait_sdma_drain(&txq->wait);
drivers/infiniband/hw/hfi1/ipoib_tx.c
804
hfi1_ipoib_drain_tx_list(txq);
drivers/infiniband/hw/hfi1/ipoib_tx.c
805
netif_napi_del(&txq->napi);
drivers/infiniband/hw/hfi1/ipoib_tx.c
806
hfi1_ipoib_drain_tx_ring(txq);
drivers/infiniband/hw/hfi1/ipoib_tx.c
81
++txq->tx_ring.sent_txreqs;
drivers/infiniband/hw/hfi1/ipoib_tx.c
82
if (hfi1_ipoib_used(txq) >= hfi1_ipoib_ring_hwat(txq) &&
drivers/infiniband/hw/hfi1/ipoib_tx.c
822
struct hfi1_ipoib_txq *txq = &priv->txqs[i];
drivers/infiniband/hw/hfi1/ipoib_tx.c
824
napi_enable(&txq->napi);
drivers/infiniband/hw/hfi1/ipoib_tx.c
83
!atomic_xchg(&txq->tx_ring.ring_full, 1)) {
drivers/infiniband/hw/hfi1/ipoib_tx.c
834
struct hfi1_ipoib_txq *txq = &priv->txqs[i];
drivers/infiniband/hw/hfi1/ipoib_tx.c
836
napi_disable(&txq->napi);
drivers/infiniband/hw/hfi1/ipoib_tx.c
837
hfi1_ipoib_drain_tx_ring(txq);
drivers/infiniband/hw/hfi1/ipoib_tx.c
84
trace_hfi1_txq_full(txq);
drivers/infiniband/hw/hfi1/ipoib_tx.c
844
struct hfi1_ipoib_txq *txq = &priv->txqs[q];
drivers/infiniband/hw/hfi1/ipoib_tx.c
847
txq, q,
drivers/infiniband/hw/hfi1/ipoib_tx.c
848
__netif_subqueue_stopped(dev, txq->q_idx),
drivers/infiniband/hw/hfi1/ipoib_tx.c
849
atomic_read(&txq->tx_ring.stops),
drivers/infiniband/hw/hfi1/ipoib_tx.c
85
hfi1_ipoib_stop_txq(txq);
drivers/infiniband/hw/hfi1/ipoib_tx.c
850
atomic_read(&txq->tx_ring.no_desc),
drivers/infiniband/hw/hfi1/ipoib_tx.c
851
atomic_read(&txq->tx_ring.ring_full));
drivers/infiniband/hw/hfi1/ipoib_tx.c
853
txq->sde,
drivers/infiniband/hw/hfi1/ipoib_tx.c
854
txq->sde ? txq->sde->this_idx : 0);
drivers/infiniband/hw/hfi1/ipoib_tx.c
855
dd_dev_info(priv->dd, "flow %x\n", txq->flow.as_int);
drivers/infiniband/hw/hfi1/ipoib_tx.c
857
txq->tx_ring.sent_txreqs, txq->tx_ring.complete_txreqs,
drivers/infiniband/hw/hfi1/ipoib_tx.c
858
hfi1_ipoib_used(txq));
drivers/infiniband/hw/hfi1/ipoib_tx.c
860
dev->tx_queue_len, txq->tx_ring.max_items);
drivers/infiniband/hw/hfi1/ipoib_tx.c
862
txq->tx_ring.head, txq->tx_ring.tail);
drivers/infiniband/hw/hfi1/ipoib_tx.c
864
!list_empty(&txq->wait.list));
drivers/infiniband/hw/hfi1/ipoib_tx.c
866
list_empty(&txq->tx_list));
drivers/infiniband/hw/hfi1/ipoib_tx.c
89
static void hfi1_ipoib_check_queue_stopped(struct hfi1_ipoib_txq *txq)
drivers/infiniband/hw/hfi1/ipoib_tx.c
91
struct net_device *dev = txq->priv->netdev;
drivers/infiniband/hw/hfi1/trace_tx.h
1005
DD_DEV_ENTRY(tx->txq->priv->dd)
drivers/infiniband/hw/hfi1/trace_tx.h
1007
__field(struct hfi1_ipoib_txq *, txq)
drivers/infiniband/hw/hfi1/trace_tx.h
1012
DD_DEV_ASSIGN(tx->txq->priv->dd);
drivers/infiniband/hw/hfi1/trace_tx.h
1015
__entry->txq = tx->txq;
drivers/infiniband/hw/hfi1/trace_tx.h
1022
(unsigned long long)__entry->txq,
drivers/infiniband/hw/hfi1/trace_tx.h
1023
__entry->txq ? __entry->txq->q_idx : 0,
drivers/infiniband/hw/hfi1/trace_tx.h
1043
TP_PROTO(struct hfi1_ipoib_txq *txq),
drivers/infiniband/hw/hfi1/trace_tx.h
1044
TP_ARGS(txq)
drivers/infiniband/hw/hfi1/trace_tx.h
1049
TP_PROTO(struct hfi1_ipoib_txq *txq),
drivers/infiniband/hw/hfi1/trace_tx.h
1050
TP_ARGS(txq)
drivers/infiniband/hw/hfi1/trace_tx.h
1055
TP_PROTO(struct hfi1_ipoib_txq *txq),
drivers/infiniband/hw/hfi1/trace_tx.h
1056
TP_ARGS(txq)
drivers/infiniband/hw/hfi1/trace_tx.h
897
TP_PROTO(struct hfi1_ipoib_txq *txq),
drivers/infiniband/hw/hfi1/trace_tx.h
898
TP_ARGS(txq),
drivers/infiniband/hw/hfi1/trace_tx.h
900
DD_DEV_ENTRY(txq->priv->dd)
drivers/infiniband/hw/hfi1/trace_tx.h
901
__field(struct hfi1_ipoib_txq *, txq)
drivers/infiniband/hw/hfi1/trace_tx.h
913
DD_DEV_ASSIGN(txq->priv->dd);
drivers/infiniband/hw/hfi1/trace_tx.h
914
__entry->txq = txq;
drivers/infiniband/hw/hfi1/trace_tx.h
915
__entry->sde = txq->sde;
drivers/infiniband/hw/hfi1/trace_tx.h
916
__entry->head = txq->tx_ring.head;
drivers/infiniband/hw/hfi1/trace_tx.h
917
__entry->tail = txq->tx_ring.tail;
drivers/infiniband/hw/hfi1/trace_tx.h
918
__entry->idx = txq->q_idx;
drivers/infiniband/hw/hfi1/trace_tx.h
920
txq->tx_ring.sent_txreqs -
drivers/infiniband/hw/hfi1/trace_tx.h
921
txq->tx_ring.complete_txreqs;
drivers/infiniband/hw/hfi1/trace_tx.h
922
__entry->flow = txq->flow.as_int;
drivers/infiniband/hw/hfi1/trace_tx.h
923
__entry->stops = atomic_read(&txq->tx_ring.stops);
drivers/infiniband/hw/hfi1/trace_tx.h
924
__entry->no_desc = atomic_read(&txq->tx_ring.no_desc);
drivers/infiniband/hw/hfi1/trace_tx.h
926
__netif_subqueue_stopped(txq->priv->netdev, txq->q_idx);
drivers/infiniband/hw/hfi1/trace_tx.h
931
(unsigned long long)__entry->txq,
drivers/infiniband/hw/hfi1/trace_tx.h
948
TP_PROTO(struct hfi1_ipoib_txq *txq),
drivers/infiniband/hw/hfi1/trace_tx.h
949
TP_ARGS(txq)
drivers/infiniband/hw/hfi1/trace_tx.h
954
TP_PROTO(struct hfi1_ipoib_txq *txq),
drivers/infiniband/hw/hfi1/trace_tx.h
955
TP_ARGS(txq)
drivers/infiniband/hw/hfi1/trace_tx.h
960
TP_PROTO(struct hfi1_ipoib_txq *txq),
drivers/infiniband/hw/hfi1/trace_tx.h
961
TP_ARGS(txq)
drivers/infiniband/hw/hfi1/trace_tx.h
966
TP_PROTO(struct hfi1_ipoib_txq *txq),
drivers/infiniband/hw/hfi1/trace_tx.h
967
TP_ARGS(txq)
drivers/infiniband/hw/hfi1/trace_tx.h
972
TP_PROTO(struct hfi1_ipoib_txq *txq),
drivers/infiniband/hw/hfi1/trace_tx.h
973
TP_ARGS(txq)
drivers/infiniband/hw/hfi1/trace_tx.h
978
TP_PROTO(struct hfi1_ipoib_txq *txq),
drivers/infiniband/hw/hfi1/trace_tx.h
979
TP_ARGS(txq)
drivers/infiniband/hw/hfi1/trace_tx.h
984
TP_PROTO(struct hfi1_ipoib_txq *txq),
drivers/infiniband/hw/hfi1/trace_tx.h
985
TP_ARGS(txq)
drivers/infiniband/hw/hfi1/trace_tx.h
990
TP_PROTO(struct hfi1_ipoib_txq *txq),
drivers/infiniband/hw/hfi1/trace_tx.h
991
TP_ARGS(txq)
drivers/infiniband/hw/hfi1/trace_tx.h
996
TP_PROTO(struct hfi1_ipoib_txq *txq),
drivers/infiniband/hw/hfi1/trace_tx.h
997
TP_ARGS(txq)
drivers/net/bonding/bond_main.c
5408
u16 txq = skb_rx_queue_recorded(skb) ? skb_get_rx_queue(skb) : 0;
drivers/net/bonding/bond_main.c
5413
if (unlikely(txq >= dev->real_num_tx_queues)) {
drivers/net/bonding/bond_main.c
5415
txq -= dev->real_num_tx_queues;
drivers/net/bonding/bond_main.c
5416
} while (txq >= dev->real_num_tx_queues);
drivers/net/bonding/bond_main.c
5418
return txq;
drivers/net/ethernet/adi/adin1110.c
1001
skb_queue_tail(&port_priv->txq, skb);
drivers/net/ethernet/adi/adin1110.c
144
struct sk_buff_head txq;
drivers/net/ethernet/adi/adin1110.c
1597
skb_queue_head_init(&port_priv->txq);
drivers/net/ethernet/adi/adin1110.c
976
while ((txb = skb_dequeue(&port_priv->txq))) {
drivers/net/ethernet/airoha/airoha_eth.c
1041
struct netdev_queue *txq;
drivers/net/ethernet/airoha/airoha_eth.c
1043
txq = skb_get_tx_queue(skb->dev, skb);
drivers/net/ethernet/airoha/airoha_eth.c
1044
netdev_tx_completed_queue(txq, 1, skb->len);
drivers/net/ethernet/airoha/airoha_eth.c
1216
struct netdev_queue *txq;
drivers/net/ethernet/airoha/airoha_eth.c
1218
txq = skb_get_tx_queue(skb->dev, skb);
drivers/net/ethernet/airoha/airoha_eth.c
1219
netdev_tx_completed_queue(txq, 1, skb->len);
drivers/net/ethernet/airoha/airoha_eth.c
2223
struct netdev_queue *txq;
drivers/net/ethernet/airoha/airoha_eth.c
2272
txq = skb_get_tx_queue(netdev, skb);
drivers/net/ethernet/airoha/airoha_eth.c
2277
netif_tx_stop_queue(txq);
drivers/net/ethernet/airoha/airoha_eth.c
2333
netdev_tx_sent_queue(txq, skb->len);
drivers/net/ethernet/airoha/airoha_eth.c
2335
netif_tx_stop_queue(txq);
drivers/net/ethernet/airoha/airoha_eth.c
2339
if (netif_xmit_stopped(txq) || !netdev_xmit_more())
drivers/net/ethernet/alacritech/slic.h
544
struct slic_tx_queue txq;
drivers/net/ethernet/alacritech/slicoss.c
113
static unsigned int slic_get_free_tx_descs(struct slic_tx_queue *txq)
drivers/net/ethernet/alacritech/slicoss.c
117
return slic_get_free_queue_descs(txq->put_idx, txq->done_idx, txq->len);
drivers/net/ethernet/alacritech/slicoss.c
1410
struct slic_tx_queue *txq = &sdev->txq;
drivers/net/ethernet/alacritech/slicoss.c
1417
if (unlikely(slic_get_free_tx_descs(txq) < SLIC_MAX_REQ_TX_DESCS)) {
drivers/net/ethernet/alacritech/slicoss.c
1419
slic_get_free_tx_descs(txq));
drivers/net/ethernet/alacritech/slicoss.c
1431
buff = &txq->txbuffs[txq->put_idx];
drivers/net/ethernet/alacritech/slicoss.c
1442
txq->put_idx = slic_next_queue_idx(txq->put_idx, txq->len);
drivers/net/ethernet/alacritech/slicoss.c
1450
if (slic_get_free_tx_descs(txq) < SLIC_MAX_REQ_TX_DESCS)
drivers/net/ethernet/alacritech/slicoss.c
344
struct slic_tx_queue *txq = &sdev->txq;
drivers/net/ethernet/alacritech/slicoss.c
359
txq->done_idx = idx;
drivers/net/ethernet/alacritech/slicoss.c
360
buff = &txq->txbuffs[idx];
drivers/net/ethernet/alacritech/slicoss.c
387
(slic_get_free_tx_descs(txq) >= SLIC_MIN_TX_WAKEUP_DESCS))
drivers/net/ethernet/alacritech/slicoss.c
838
struct slic_tx_queue *txq = &sdev->txq;
drivers/net/ethernet/alacritech/slicoss.c
844
txq->len = SLIC_NUM_TX_DESCS;
drivers/net/ethernet/alacritech/slicoss.c
845
txq->put_idx = 0;
drivers/net/ethernet/alacritech/slicoss.c
846
txq->done_idx = 0;
drivers/net/ethernet/alacritech/slicoss.c
848
txq->txbuffs = kzalloc_objs(*buff, txq->len);
drivers/net/ethernet/alacritech/slicoss.c
849
if (!txq->txbuffs)
drivers/net/ethernet/alacritech/slicoss.c
852
txq->dma_pool = dma_pool_create("slic_pool", &sdev->pdev->dev,
drivers/net/ethernet/alacritech/slicoss.c
855
if (!txq->dma_pool) {
drivers/net/ethernet/alacritech/slicoss.c
861
for (i = 0; i < txq->len; i++) {
drivers/net/ethernet/alacritech/slicoss.c
862
buff = &txq->txbuffs[i];
drivers/net/ethernet/alacritech/slicoss.c
863
desc = dma_pool_zalloc(txq->dma_pool, GFP_KERNEL,
drivers/net/ethernet/alacritech/slicoss.c
883
buff = &txq->txbuffs[i];
drivers/net/ethernet/alacritech/slicoss.c
884
dma_pool_free(txq->dma_pool, buff->desc, buff->desc_paddr);
drivers/net/ethernet/alacritech/slicoss.c
886
dma_pool_destroy(txq->dma_pool);
drivers/net/ethernet/alacritech/slicoss.c
889
kfree(txq->txbuffs);
drivers/net/ethernet/alacritech/slicoss.c
896
struct slic_tx_queue *txq = &sdev->txq;
drivers/net/ethernet/alacritech/slicoss.c
900
for (i = 0; i < txq->len; i++) {
drivers/net/ethernet/alacritech/slicoss.c
901
buff = &txq->txbuffs[i];
drivers/net/ethernet/alacritech/slicoss.c
902
dma_pool_free(txq->dma_pool, buff->desc, buff->desc_paddr);
drivers/net/ethernet/alacritech/slicoss.c
911
dma_pool_destroy(txq->dma_pool);
drivers/net/ethernet/alacritech/slicoss.c
913
kfree(txq->txbuffs);
drivers/net/ethernet/alibaba/eea/eea_tx.c
155
struct netdev_queue *txq;
drivers/net/ethernet/alibaba/eea/eea_tx.c
158
txq = netdev_get_tx_queue(enet->netdev, index);
drivers/net/ethernet/alibaba/eea/eea_tx.c
160
__netif_tx_lock(txq, smp_processor_id());
drivers/net/ethernet/alibaba/eea/eea_tx.c
164
if (netif_tx_queue_stopped(txq) &&
drivers/net/ethernet/alibaba/eea/eea_tx.c
166
netif_tx_wake_queue(txq);
drivers/net/ethernet/alibaba/eea/eea_tx.c
168
__netif_tx_unlock(txq);
drivers/net/ethernet/alibaba/eea/eea_tx.c
375
struct netdev_queue *txq)
drivers/net/ethernet/alibaba/eea/eea_tx.c
383
return netif_txq_maybe_stop(txq, tx->ering->num_free, n, n);
drivers/net/ethernet/alibaba/eea/eea_tx.c
391
struct netdev_queue *txq;
drivers/net/ethernet/alibaba/eea/eea_tx.c
394
txq = netdev_get_tx_queue(netdev, qnum);
drivers/net/ethernet/alibaba/eea/eea_tx.c
396
enable = eea_tx_check_free_num(tx, txq);
drivers/net/ethernet/alibaba/eea/eea_tx.c
414
eea_tx_check_free_num(tx, txq);
drivers/net/ethernet/alibaba/eea/eea_tx.c
416
if (!netdev_xmit_more() || netif_xmit_stopped(txq))
drivers/net/ethernet/amazon/ena/ena_netdev.c
2628
struct netdev_queue *txq;
drivers/net/ethernet/amazon/ena/ena_netdev.c
2637
txq = netdev_get_tx_queue(dev, qid);
drivers/net/ethernet/amazon/ena/ena_netdev.c
2673
netdev_tx_sent_queue(txq, skb->len);
drivers/net/ethernet/amazon/ena/ena_netdev.c
2684
netif_tx_stop_queue(txq);
drivers/net/ethernet/amazon/ena/ena_netdev.c
2700
netif_tx_wake_queue(txq);
drivers/net/ethernet/amazon/ena/ena_netdev.c
2708
if (netif_xmit_stopped(txq) || !netdev_xmit_more())
drivers/net/ethernet/amazon/ena/ena_netdev.c
821
struct netdev_queue *txq;
drivers/net/ethernet/amazon/ena/ena_netdev.c
831
txq = netdev_get_tx_queue(tx_ring->netdev, tx_ring->qid);
drivers/net/ethernet/amazon/ena/ena_netdev.c
878
netdev_tx_completed_queue(txq, tx_pkts, tx_bytes);
drivers/net/ethernet/amazon/ena/ena_netdev.c
891
if (unlikely(netif_tx_queue_stopped(txq) && above_thresh)) {
drivers/net/ethernet/amazon/ena/ena_netdev.c
892
__netif_tx_lock(txq, smp_processor_id());
drivers/net/ethernet/amazon/ena/ena_netdev.c
896
if (netif_tx_queue_stopped(txq) && above_thresh &&
drivers/net/ethernet/amazon/ena/ena_netdev.c
898
netif_tx_wake_queue(txq);
drivers/net/ethernet/amazon/ena/ena_netdev.c
902
__netif_tx_unlock(txq);
drivers/net/ethernet/amd/xgbe/xgbe-drv.c
1334
struct netdev_queue *txq;
drivers/net/ethernet/amd/xgbe/xgbe-drv.c
1366
txq = netdev_get_tx_queue(netdev, channel->queue_index);
drivers/net/ethernet/amd/xgbe/xgbe-drv.c
1367
netdev_tx_reset_queue(txq);
drivers/net/ethernet/amd/xgbe/xgbe-drv.c
1704
struct netdev_queue *txq;
drivers/net/ethernet/amd/xgbe/xgbe-drv.c
1710
txq = netdev_get_tx_queue(netdev, channel->queue_index);
drivers/net/ethernet/amd/xgbe/xgbe-drv.c
1749
netdev_tx_sent_queue(txq, packet->tx_bytes);
drivers/net/ethernet/amd/xgbe/xgbe-drv.c
2170
struct netdev_queue *txq;
drivers/net/ethernet/amd/xgbe/xgbe-drv.c
2187
txq = netdev_get_tx_queue(netdev, channel->queue_index);
drivers/net/ethernet/amd/xgbe/xgbe-drv.c
2252
netdev_tx_completed_queue(txq, tx_packets, tx_bytes);
drivers/net/ethernet/amd/xgbe/xgbe-drv.c
2257
netif_tx_wake_queue(txq);
drivers/net/ethernet/apm/xgene/xgene_enet_main.c
867
struct netdev_queue *txq;
drivers/net/ethernet/apm/xgene/xgene_enet_main.c
873
txq = netdev_get_tx_queue(ndev, i);
drivers/net/ethernet/apm/xgene/xgene_enet_main.c
874
txq_trans_cond_update(txq);
drivers/net/ethernet/apm/xgene/xgene_enet_main.c
875
netif_tx_start_queue(txq);
drivers/net/ethernet/atheros/alx/alx.h
97
struct alx_tx_queue *txq;
drivers/net/ethernet/atheros/alx/hw.c
378
u32 rxq, txq, val;
drivers/net/ethernet/atheros/alx/hw.c
383
txq = alx_read_mem32(hw, ALX_TXQ0);
drivers/net/ethernet/atheros/alx/hw.c
384
alx_write_mem32(hw, ALX_TXQ0, txq & ~ALX_TXQ0_EN);
drivers/net/ethernet/atheros/alx/hw.c
609
u32 mac, txq, rxq;
drivers/net/ethernet/atheros/alx/hw.c
613
txq = alx_read_mem32(hw, ALX_TXQ0);
drivers/net/ethernet/atheros/alx/hw.c
614
alx_write_mem32(hw, ALX_TXQ0, txq | ALX_TXQ0_EN);
drivers/net/ethernet/atheros/alx/main.c
1460
static int alx_map_tx_skb(struct alx_tx_queue *txq, struct sk_buff *skb)
drivers/net/ethernet/atheros/alx/main.c
1464
int maplen, f, first_idx = txq->write_idx;
drivers/net/ethernet/atheros/alx/main.c
1466
first_tpd = &txq->tpd[txq->write_idx];
drivers/net/ethernet/atheros/alx/main.c
1470
if (++txq->write_idx == txq->count)
drivers/net/ethernet/atheros/alx/main.c
1471
txq->write_idx = 0;
drivers/net/ethernet/atheros/alx/main.c
1473
tpd = &txq->tpd[txq->write_idx];
drivers/net/ethernet/atheros/alx/main.c
1480
dma = dma_map_single(txq->dev, skb->data, maplen,
drivers/net/ethernet/atheros/alx/main.c
1482
if (dma_mapping_error(txq->dev, dma))
drivers/net/ethernet/atheros/alx/main.c
1485
dma_unmap_len_set(&txq->bufs[txq->write_idx], size, maplen);
drivers/net/ethernet/atheros/alx/main.c
1486
dma_unmap_addr_set(&txq->bufs[txq->write_idx], dma, dma);
drivers/net/ethernet/atheros/alx/main.c
149
return alx->qnapi[r_idx]->txq;
drivers/net/ethernet/atheros/alx/main.c
1494
if (++txq->write_idx == txq->count)
drivers/net/ethernet/atheros/alx/main.c
1495
txq->write_idx = 0;
drivers/net/ethernet/atheros/alx/main.c
1496
tpd = &txq->tpd[txq->write_idx];
drivers/net/ethernet/atheros/alx/main.c
1501
dma = skb_frag_dma_map(txq->dev, frag, 0,
drivers/net/ethernet/atheros/alx/main.c
1503
if (dma_mapping_error(txq->dev, dma))
drivers/net/ethernet/atheros/alx/main.c
1505
dma_unmap_len_set(&txq->bufs[txq->write_idx], size, maplen);
drivers/net/ethernet/atheros/alx/main.c
1506
dma_unmap_addr_set(&txq->bufs[txq->write_idx], dma, dma);
drivers/net/ethernet/atheros/alx/main.c
1514
txq->bufs[txq->write_idx].skb = skb;
drivers/net/ethernet/atheros/alx/main.c
1516
if (++txq->write_idx == txq->count)
drivers/net/ethernet/atheros/alx/main.c
1517
txq->write_idx = 0;
drivers/net/ethernet/atheros/alx/main.c
152
static struct netdev_queue *alx_get_tx_queue(const struct alx_tx_queue *txq)
drivers/net/ethernet/atheros/alx/main.c
1523
while (f != txq->write_idx) {
drivers/net/ethernet/atheros/alx/main.c
1524
alx_free_txbuf(txq, f);
drivers/net/ethernet/atheros/alx/main.c
1525
if (++f == txq->count)
drivers/net/ethernet/atheros/alx/main.c
1532
struct alx_tx_queue *txq)
drivers/net/ethernet/atheros/alx/main.c
1538
alx = netdev_priv(txq->netdev);
drivers/net/ethernet/atheros/alx/main.c
154
return netdev_get_tx_queue(txq->netdev, txq->queue_idx);
drivers/net/ethernet/atheros/alx/main.c
1540
if (alx_tpd_avail(txq) < alx_tpd_req(skb)) {
drivers/net/ethernet/atheros/alx/main.c
1541
netif_tx_stop_queue(alx_get_tx_queue(txq));
drivers/net/ethernet/atheros/alx/main.c
1545
first = &txq->tpd[txq->write_idx];
drivers/net/ethernet/atheros/alx/main.c
1554
if (alx_map_tx_skb(txq, skb) < 0)
drivers/net/ethernet/atheros/alx/main.c
1557
netdev_tx_sent_queue(alx_get_tx_queue(txq), skb->len);
drivers/net/ethernet/atheros/alx/main.c
1561
alx_write_mem16(&alx->hw, txq->p_reg, txq->write_idx);
drivers/net/ethernet/atheros/alx/main.c
1563
if (alx_tpd_avail(txq) < txq->count / 8)
drivers/net/ethernet/atheros/alx/main.c
1564
netif_tx_stop_queue(alx_get_tx_queue(txq));
drivers/net/ethernet/atheros/alx/main.c
157
static inline int alx_tpd_avail(struct alx_tx_queue *txq)
drivers/net/ethernet/atheros/alx/main.c
159
if (txq->write_idx >= txq->read_idx)
drivers/net/ethernet/atheros/alx/main.c
160
return txq->count + txq->read_idx - txq->write_idx - 1;
drivers/net/ethernet/atheros/alx/main.c
161
return txq->read_idx - txq->write_idx - 1;
drivers/net/ethernet/atheros/alx/main.c
164
static bool alx_clean_tx_irq(struct alx_tx_queue *txq)
drivers/net/ethernet/atheros/alx/main.c
172
alx = netdev_priv(txq->netdev);
drivers/net/ethernet/atheros/alx/main.c
173
tx_queue = alx_get_tx_queue(txq);
drivers/net/ethernet/atheros/alx/main.c
175
sw_read_idx = txq->read_idx;
drivers/net/ethernet/atheros/alx/main.c
176
hw_read_idx = alx_read_mem16(&alx->hw, txq->c_reg);
drivers/net/ethernet/atheros/alx/main.c
182
skb = txq->bufs[sw_read_idx].skb;
drivers/net/ethernet/atheros/alx/main.c
189
alx_free_txbuf(txq, sw_read_idx);
drivers/net/ethernet/atheros/alx/main.c
191
if (++sw_read_idx == txq->count)
drivers/net/ethernet/atheros/alx/main.c
194
txq->read_idx = sw_read_idx;
drivers/net/ethernet/atheros/alx/main.c
200
alx_tpd_avail(txq) > txq->count / 4)
drivers/net/ethernet/atheros/alx/main.c
305
if (np->txq)
drivers/net/ethernet/atheros/alx/main.c
306
tx_complete = alx_clean_tx_irq(np->txq);
drivers/net/ethernet/atheros/alx/main.c
459
if (np->txq) {
drivers/net/ethernet/atheros/alx/main.c
460
np->txq->read_idx = 0;
drivers/net/ethernet/atheros/alx/main.c
461
np->txq->write_idx = 0;
drivers/net/ethernet/atheros/alx/main.c
463
txring_header_reg[np->txq->queue_idx],
drivers/net/ethernet/atheros/alx/main.c
464
np->txq->tpd_dma);
drivers/net/ethernet/atheros/alx/main.c
488
static void alx_free_txring_buf(struct alx_tx_queue *txq)
drivers/net/ethernet/atheros/alx/main.c
492
if (!txq->bufs)
drivers/net/ethernet/atheros/alx/main.c
495
for (i = 0; i < txq->count; i++)
drivers/net/ethernet/atheros/alx/main.c
496
alx_free_txbuf(txq, i);
drivers/net/ethernet/atheros/alx/main.c
498
memset(txq->bufs, 0, txq->count * sizeof(struct alx_buffer));
drivers/net/ethernet/atheros/alx/main.c
499
memset(txq->tpd, 0, txq->count * sizeof(struct alx_txd));
drivers/net/ethernet/atheros/alx/main.c
500
txq->write_idx = 0;
drivers/net/ethernet/atheros/alx/main.c
501
txq->read_idx = 0;
drivers/net/ethernet/atheros/alx/main.c
503
netdev_tx_reset_queue(alx_get_tx_queue(txq));
drivers/net/ethernet/atheros/alx/main.c
53
static void alx_free_txbuf(struct alx_tx_queue *txq, int entry)
drivers/net/ethernet/atheros/alx/main.c
538
if (alx->qnapi[i] && alx->qnapi[i]->txq)
drivers/net/ethernet/atheros/alx/main.c
539
alx_free_txring_buf(alx->qnapi[i]->txq);
drivers/net/ethernet/atheros/alx/main.c
55
struct alx_buffer *txb = &txq->bufs[entry];
drivers/net/ethernet/atheros/alx/main.c
58
dma_unmap_single(txq->dev,
drivers/net/ethernet/atheros/alx/main.c
616
static int alx_alloc_tx_ring(struct alx_priv *alx, struct alx_tx_queue *txq,
drivers/net/ethernet/atheros/alx/main.c
619
txq->bufs = kzalloc_objs(struct alx_buffer, txq->count);
drivers/net/ethernet/atheros/alx/main.c
620
if (!txq->bufs)
drivers/net/ethernet/atheros/alx/main.c
623
txq->tpd = alx->descmem.virt + offset;
drivers/net/ethernet/atheros/alx/main.c
624
txq->tpd_dma = alx->descmem.dma + offset;
drivers/net/ethernet/atheros/alx/main.c
625
offset += sizeof(struct alx_txd) * txq->count;
drivers/net/ethernet/atheros/alx/main.c
673
offset = alx_alloc_tx_ring(alx, alx->qnapi[i]->txq, offset);
drivers/net/ethernet/atheros/alx/main.c
696
if (alx->qnapi[i] && alx->qnapi[i]->txq)
drivers/net/ethernet/atheros/alx/main.c
697
kfree(alx->qnapi[i]->txq->bufs);
drivers/net/ethernet/atheros/alx/main.c
720
kfree(np->txq);
drivers/net/ethernet/atheros/alx/main.c
742
struct alx_tx_queue *txq;
drivers/net/ethernet/atheros/alx/main.c
761
txq = kzalloc_obj(*txq);
drivers/net/ethernet/atheros/alx/main.c
762
if (!txq)
drivers/net/ethernet/atheros/alx/main.c
765
np->txq = txq;
drivers/net/ethernet/atheros/alx/main.c
766
txq->p_reg = tx_pidx_reg[i];
drivers/net/ethernet/atheros/alx/main.c
767
txq->c_reg = tx_cidx_reg[i];
drivers/net/ethernet/atheros/alx/main.c
768
txq->queue_idx = i;
drivers/net/ethernet/atheros/alx/main.c
769
txq->count = alx->tx_ringsz;
drivers/net/ethernet/atheros/alx/main.c
770
txq->netdev = alx->dev;
drivers/net/ethernet/atheros/alx/main.c
771
txq->dev = &alx->hw.pdev->dev;
drivers/net/ethernet/atheros/alx/main.c
867
if (np->txq && np->rxq)
drivers/net/ethernet/atheros/alx/main.c
869
np->txq->queue_idx);
drivers/net/ethernet/atheros/alx/main.c
870
else if (np->txq)
drivers/net/ethernet/atheros/alx/main.c
872
np->txq->queue_idx);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
1228
u32 mac, txq, rxq;
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
1234
AT_READ_REG(hw, REG_TXQ_CTRL, &txq);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
1238
txq |= TXQ_CTRL_EN;
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
1252
AT_WRITE_REG(hw, REG_TXQ_CTRL, txq);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
1593
struct netdev_queue *txq =
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
1617
netdev_tx_completed_queue(txq, total_packets, total_bytes);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
1619
if (netif_tx_queue_stopped(txq) && netif_carrier_ok(adapter->netdev))
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
1620
netif_tx_wake_queue(txq);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
2274
struct netdev_queue *txq = netdev_get_tx_queue(netdev, queue);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
2288
netif_tx_stop_queue(txq);
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
2323
if (__netdev_tx_sent_queue(txq, skb->len, more))
drivers/net/ethernet/broadcom/bcmsysport.c
1291
struct netdev_queue *txq;
drivers/net/ethernet/broadcom/bcmsysport.c
1299
txq = netdev_get_tx_queue(dev, queue);
drivers/net/ethernet/broadcom/bcmsysport.c
1305
netif_tx_stop_queue(txq);
drivers/net/ethernet/broadcom/bcmsysport.c
1361
netif_tx_stop_queue(txq);
drivers/net/ethernet/broadcom/bcmsysport.c
2447
u32 txq, rxq;
drivers/net/ethernet/broadcom/bcmsysport.c
2467
if (of_property_read_u32(dn, "systemport,num-txq", &txq))
drivers/net/ethernet/broadcom/bcmsysport.c
2468
txq = TDMA_NUM_RINGS;
drivers/net/ethernet/broadcom/bcmsysport.c
2473
if (!txq || txq > TDMA_NUM_RINGS)
drivers/net/ethernet/broadcom/bcmsysport.c
2476
dev = alloc_etherdev_mqs(sizeof(*priv), txq, rxq);
drivers/net/ethernet/broadcom/bcmsysport.c
2490
priv->tx_rings = devm_kcalloc(&pdev->dev, txq,
drivers/net/ethernet/broadcom/bcmsysport.c
2609
priv->irq0, priv->irq1, txq, rxq);
drivers/net/ethernet/broadcom/bcmsysport.c
934
struct netdev_queue *txq;
drivers/net/ethernet/broadcom/bcmsysport.c
938
txq = netdev_get_tx_queue(priv->netdev, ring->index);
drivers/net/ethernet/broadcom/bcmsysport.c
943
netif_tx_wake_queue(txq);
drivers/net/ethernet/broadcom/bnge/bnge_txrx.c
1047
struct netdev_queue *txq;
drivers/net/ethernet/broadcom/bnge/bnge_txrx.c
1051
txq = netdev_get_tx_queue(bn->netdev, txr->txq_index);
drivers/net/ethernet/broadcom/bnge/bnge_txrx.c
1092
__netif_txq_completed_wake(txq, tx_pkts, tx_bytes,
drivers/net/ethernet/broadcom/bnge/bnge_txrx.c
1468
struct netdev_queue *txq;
drivers/net/ethernet/broadcom/bnge/bnge_txrx.c
1478
txq = netdev_get_tx_queue(dev, i);
drivers/net/ethernet/broadcom/bnge/bnge_txrx.c
1488
if (!netif_txq_try_stop(txq, bnge_tx_avail(bn, txr),
drivers/net/ethernet/broadcom/bnge/bnge_txrx.c
1589
netdev_tx_sent_queue(txq, skb->len);
drivers/net/ethernet/broadcom/bnge/bnge_txrx.c
1594
if (!netdev_xmit_more() || netif_xmit_stopped(txq)) {
drivers/net/ethernet/broadcom/bnge/bnge_txrx.c
1610
netif_txq_try_stop(txq, bnge_tx_avail(bn, txr),
drivers/net/ethernet/broadcom/bnx2.c
2864
struct netdev_queue *txq;
drivers/net/ethernet/broadcom/bnx2.c
2867
txq = netdev_get_tx_queue(bp->dev, index);
drivers/net/ethernet/broadcom/bnx2.c
2929
netdev_tx_completed_queue(txq, tx_pkt, tx_bytes);
drivers/net/ethernet/broadcom/bnx2.c
2940
if (unlikely(netif_tx_queue_stopped(txq)) &&
drivers/net/ethernet/broadcom/bnx2.c
2942
__netif_tx_lock(txq, smp_processor_id());
drivers/net/ethernet/broadcom/bnx2.c
2943
if ((netif_tx_queue_stopped(txq)) &&
drivers/net/ethernet/broadcom/bnx2.c
2945
netif_tx_wake_queue(txq);
drivers/net/ethernet/broadcom/bnx2.c
2946
__netif_tx_unlock(txq);
drivers/net/ethernet/broadcom/bnx2.c
6600
struct netdev_queue *txq;
drivers/net/ethernet/broadcom/bnx2.c
6606
txq = netdev_get_tx_queue(dev, i);
drivers/net/ethernet/broadcom/bnx2.c
6610
netif_tx_stop_queue(txq);
drivers/net/ethernet/broadcom/bnx2.c
6711
netdev_tx_sent_queue(txq, skb->len);
drivers/net/ethernet/broadcom/bnx2.c
6722
netif_tx_stop_queue(txq);
drivers/net/ethernet/broadcom/bnx2.c
6731
netif_tx_wake_queue(txq);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c
275
struct netdev_queue *txq;
drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c
284
txq = netdev_get_tx_queue(bp->dev, txdata->txq_index);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c
306
netdev_tx_completed_queue(txq, pkts_compl, bytes_compl);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c
322
if (unlikely(netif_tx_queue_stopped(txq))) {
drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c
333
__netif_tx_lock(txq, smp_processor_id());
drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c
335
if ((netif_tx_queue_stopped(txq)) &&
drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c
338
netif_tx_wake_queue(txq);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c
340
__netif_tx_unlock(txq);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c
3755
struct netdev_queue *txq;
drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c
3780
txq = netdev_get_tx_queue(dev, txq_index);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c
3808
netif_tx_stop_queue(txq);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c
4172
netdev_tx_sent_queue(txq, skb->len);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c
4195
netif_tx_stop_queue(txq);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c
4204
netif_tx_wake_queue(txq);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_ethtool.c
2512
struct netdev_queue *txq = netdev_get_tx_queue(bp->dev,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_ethtool.c
2579
netdev_tx_sent_queue(txq, skb->len);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_vfpf.c
1564
q->sb_idx = setup_q->txq.vf_sb;
drivers/net/ethernet/broadcom/bnx2x/bnx2x_vfpf.c
1567
init_p->tx.hc_rate = setup_q->txq.hc_rate;
drivers/net/ethernet/broadcom/bnx2x/bnx2x_vfpf.c
1568
init_p->tx.sb_cq_index = setup_q->txq.sb_index;
drivers/net/ethernet/broadcom/bnx2x/bnx2x_vfpf.c
1570
bnx2x_vf_mbx_set_q_flags(bp, setup_q->txq.flags,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_vfpf.c
1574
bnx2x_vf_mbx_set_q_flags(bp, setup_q->txq.flags,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_vfpf.c
1580
txq_params->dscr_map = setup_q->txq.txq_addr;
drivers/net/ethernet/broadcom/bnx2x/bnx2x_vfpf.c
1581
txq_params->sb_cq_index = setup_q->txq.sb_index;
drivers/net/ethernet/broadcom/bnx2x/bnx2x_vfpf.c
1582
txq_params->traffic_type = setup_q->txq.traffic_type;
drivers/net/ethernet/broadcom/bnx2x/bnx2x_vfpf.c
656
req->txq.txq_addr = fp->txdata_ptr[FIRST_TX_COS_INDEX]->tx_desc_mapping;
drivers/net/ethernet/broadcom/bnx2x/bnx2x_vfpf.c
657
req->txq.vf_sb = fp_idx;
drivers/net/ethernet/broadcom/bnx2x/bnx2x_vfpf.c
658
req->txq.sb_index = HC_INDEX_ETH_TX_CQ_CONS_COS0;
drivers/net/ethernet/broadcom/bnx2x/bnx2x_vfpf.c
659
req->txq.hc_rate = bp->tx_ticks ? 1000000/bp->tx_ticks : 0;
drivers/net/ethernet/broadcom/bnx2x/bnx2x_vfpf.c
660
req->txq.flags = flags;
drivers/net/ethernet/broadcom/bnx2x/bnx2x_vfpf.c
661
req->txq.traffic_type = LLFC_TRAFFIC_TYPE_NW;
drivers/net/ethernet/broadcom/bnx2x/bnx2x_vfpf.h
288
} txq;
drivers/net/ethernet/broadcom/bnxt/bnxt.c
11699
struct netdev_queue *txq;
drivers/net/ethernet/broadcom/bnxt/bnxt.c
11709
txq = netdev_get_tx_queue(bp->dev, txr->txq_index);
drivers/net/ethernet/broadcom/bnxt/bnxt.c
11710
if (txq) {
drivers/net/ethernet/broadcom/bnxt/bnxt.c
11711
__netif_tx_lock_bh(txq);
drivers/net/ethernet/broadcom/bnxt/bnxt.c
11712
netif_tx_stop_queue(txq);
drivers/net/ethernet/broadcom/bnxt/bnxt.c
11713
__netif_tx_unlock_bh(txq);
drivers/net/ethernet/broadcom/bnxt/bnxt.c
11730
struct netdev_queue *txq;
drivers/net/ethernet/broadcom/bnxt/bnxt.c
11760
txq = netdev_get_tx_queue(bp->dev, txr->txq_index);
drivers/net/ethernet/broadcom/bnxt/bnxt.c
11761
if (txq)
drivers/net/ethernet/broadcom/bnxt/bnxt.c
11762
netif_tx_start_queue(txq);
drivers/net/ethernet/broadcom/bnxt/bnxt.c
476
struct netdev_queue *txq;
drivers/net/ethernet/broadcom/bnxt/bnxt.c
496
txq = netdev_get_tx_queue(dev, i);
drivers/net/ethernet/broadcom/bnxt/bnxt.c
514
return bnxt_sw_udp_gso_xmit(bp, txr, txq, skb);
drivers/net/ethernet/broadcom/bnxt/bnxt.c
522
if (!netif_txq_try_stop(txq, bnxt_tx_avail(bp, txr),
drivers/net/ethernet/broadcom/bnxt/bnxt.c
636
netdev_tx_sent_queue(txq, skb->len);
drivers/net/ethernet/broadcom/bnxt/bnxt.c
744
netdev_tx_sent_queue(txq, skb->len);
drivers/net/ethernet/broadcom/bnxt/bnxt.c
751
if (!netdev_xmit_more() || netif_xmit_stopped(txq)) {
drivers/net/ethernet/broadcom/bnxt/bnxt.c
769
netif_txq_try_stop(txq, bnxt_tx_avail(bp, txr),
drivers/net/ethernet/broadcom/bnxt/bnxt.c
816
struct netdev_queue *txq = netdev_get_tx_queue(bp->dev, txr->txq_index);
drivers/net/ethernet/broadcom/bnxt/bnxt.c
912
__netif_txq_completed_wake(txq, tx_pkts, tx_bytes,
drivers/net/ethernet/broadcom/bnxt/bnxt_gso.c
223
netdev_tx_sent_queue(txq, skb->len);
drivers/net/ethernet/broadcom/bnxt/bnxt_gso.c
231
netif_txq_try_stop(txq, bnxt_tx_avail(bp, txr),
drivers/net/ethernet/broadcom/bnxt/bnxt_gso.c
36
struct netdev_queue *txq,
drivers/net/ethernet/broadcom/bnxt/bnxt_gso.c
70
netif_txq_try_stop(txq, bnxt_tx_avail(bp, txr),
drivers/net/ethernet/broadcom/bnxt/bnxt_gso.c
78
if (!netif_txq_maybe_stop(txq, bnxt_inline_avail(txr),
drivers/net/ethernet/broadcom/bnxt/bnxt_gso.h
43
struct netdev_queue *txq,
drivers/net/ethernet/broadcom/genet/bcmgenet.c
2012
struct netdev_queue *txq;
drivers/net/ethernet/broadcom/genet/bcmgenet.c
2017
txq = netdev_get_tx_queue(ring->priv->dev, ring->index);
drivers/net/ethernet/broadcom/genet/bcmgenet.c
2018
netif_tx_wake_queue(txq);
drivers/net/ethernet/broadcom/genet/bcmgenet.c
2118
struct netdev_queue *txq;
drivers/net/ethernet/broadcom/genet/bcmgenet.c
2129
txq = netdev_get_tx_queue(dev, index);
drivers/net/ethernet/broadcom/genet/bcmgenet.c
2135
if (!netif_tx_queue_stopped(txq))
drivers/net/ethernet/broadcom/genet/bcmgenet.c
2136
netif_tx_stop_queue(txq);
drivers/net/ethernet/broadcom/genet/bcmgenet.c
2213
netdev_tx_sent_queue(txq, GENET_CB(skb)->bytes_sent);
drivers/net/ethernet/broadcom/genet/bcmgenet.c
2216
netif_tx_stop_queue(txq);
drivers/net/ethernet/broadcom/genet/bcmgenet.c
2218
if (!netdev_xmit_more() || netif_xmit_stopped(txq))
drivers/net/ethernet/broadcom/genet/bcmgenet.c
3071
struct netdev_queue *txq;
drivers/net/ethernet/broadcom/genet/bcmgenet.c
3078
txq = netdev_get_tx_queue(priv->dev, i);
drivers/net/ethernet/broadcom/genet/bcmgenet.c
3079
netdev_tx_reset_queue(txq);
drivers/net/ethernet/broadcom/genet/bcmgenet.c
3490
struct netdev_queue *txq;
drivers/net/ethernet/broadcom/genet/bcmgenet.c
3497
txq = netdev_get_tx_queue(priv->dev, ring->index);
drivers/net/ethernet/broadcom/genet/bcmgenet.c
3504
txq_stopped = netif_tx_queue_stopped(txq);
drivers/net/ethernet/broadcom/genet/bcmgenet.c
3529
struct netdev_queue *txq = netdev_get_tx_queue(dev, txqueue);
drivers/net/ethernet/broadcom/genet/bcmgenet.c
3540
txq_trans_cond_update(txq);
drivers/net/ethernet/broadcom/genet/bcmgenet.c
3544
netif_tx_wake_queue(txq);
drivers/net/ethernet/broadcom/tg3.c
6556
struct netdev_queue *txq;
drivers/net/ethernet/broadcom/tg3.c
6563
txq = netdev_get_tx_queue(tp->dev, index);
drivers/net/ethernet/broadcom/tg3.c
6637
netdev_tx_completed_queue(txq, pkts_compl, bytes_compl);
drivers/net/ethernet/broadcom/tg3.c
6648
if (unlikely(netif_tx_queue_stopped(txq) &&
drivers/net/ethernet/broadcom/tg3.c
6650
__netif_tx_lock(txq, smp_processor_id());
drivers/net/ethernet/broadcom/tg3.c
6651
if (netif_tx_queue_stopped(txq) &&
drivers/net/ethernet/broadcom/tg3.c
6653
netif_tx_wake_queue(txq);
drivers/net/ethernet/broadcom/tg3.c
6654
__netif_tx_unlock(txq);
drivers/net/ethernet/broadcom/tg3.c
7923
struct netdev_queue *txq, struct sk_buff *skb)
drivers/net/ethernet/broadcom/tg3.c
7930
netif_tx_stop_queue(txq);
drivers/net/ethernet/broadcom/tg3.c
7941
netif_tx_wake_queue(txq);
drivers/net/ethernet/broadcom/tg3.c
7971
struct netdev_queue *txq;
drivers/net/ethernet/broadcom/tg3.c
7978
txq = netdev_get_tx_queue(dev, skb_get_queue_mapping(skb));
drivers/net/ethernet/broadcom/tg3.c
7991
if (!netif_tx_queue_stopped(txq)) {
drivers/net/ethernet/broadcom/tg3.c
7992
netif_tx_stop_queue(txq);
drivers/net/ethernet/broadcom/tg3.c
8022
return tg3_tso_bug(tp, tnapi, txq, skb);
drivers/net/ethernet/broadcom/tg3.c
8030
return tg3_tso_bug(tp, tnapi, txq, skb);
drivers/net/ethernet/broadcom/tg3.c
8179
return tg3_tso_bug(tp, tnapi, txq, skb);
drivers/net/ethernet/broadcom/tg3.c
8193
netdev_tx_sent_queue(txq, skb->len);
drivers/net/ethernet/broadcom/tg3.c
8200
netif_tx_stop_queue(txq);
drivers/net/ethernet/broadcom/tg3.c
8209
netif_tx_wake_queue(txq);
drivers/net/ethernet/broadcom/tg3.c
8226
struct netdev_queue *txq;
drivers/net/ethernet/broadcom/tg3.c
8231
txq = netdev_get_tx_queue(dev, skb_queue_mapping);
drivers/net/ethernet/broadcom/tg3.c
8244
if (!netdev_xmit_more() || netif_xmit_stopped(txq)) {
drivers/net/ethernet/brocade/bna/bna_tx_rx.c
2870
struct bna_txq *txq;
drivers/net/ethernet/brocade/bna/bna_tx_rx.c
2873
list_for_each_entry(txq, &tx->txq_q, qe) {
drivers/net/ethernet/brocade/bna/bna_tx_rx.c
2874
txq->tcb->priority = txq->priority;
drivers/net/ethernet/brocade/bna/bna_tx_rx.c
2876
bna_ib_start(tx->bna, &txq->ib, is_regular);
drivers/net/ethernet/brocade/bna/bna_tx_rx.c
3089
struct bna_txq *txq = NULL;
drivers/net/ethernet/brocade/bna/bna_tx_rx.c
3099
txq = txq ? list_next_entry(txq, qe)
drivers/net/ethernet/brocade/bna/bna_tx_rx.c
3101
bfi_enet_datapath_q_init(&cfg_req->q_cfg[i].q.q, &txq->qpt);
drivers/net/ethernet/brocade/bna/bna_tx_rx.c
3102
cfg_req->q_cfg[i].q.priority = txq->priority;
drivers/net/ethernet/brocade/bna/bna_tx_rx.c
3105
txq->ib.ib_seg_host_addr.lsb;
drivers/net/ethernet/brocade/bna/bna_tx_rx.c
3107
txq->ib.ib_seg_host_addr.msb;
drivers/net/ethernet/brocade/bna/bna_tx_rx.c
3109
htons((u16)txq->ib.intr_vector);
drivers/net/ethernet/brocade/bna/bna_tx_rx.c
3116
cfg_req->ib_cfg.msix = (txq->ib.intr_type == BNA_INTR_T_MSIX)
drivers/net/ethernet/brocade/bna/bna_tx_rx.c
3119
htonl((u32)txq->ib.coalescing_timeo);
drivers/net/ethernet/brocade/bna/bna_tx_rx.c
3121
htonl((u32)txq->ib.interpkt_timeo);
drivers/net/ethernet/brocade/bna/bna_tx_rx.c
3122
cfg_req->ib_cfg.inter_pkt_count = (u8)txq->ib.interpkt_count;
drivers/net/ethernet/brocade/bna/bna_tx_rx.c
3151
struct bna_txq *txq;
drivers/net/ethernet/brocade/bna/bna_tx_rx.c
3154
list_for_each_entry(txq, &tx->txq_q, qe)
drivers/net/ethernet/brocade/bna/bna_tx_rx.c
3155
bna_ib_stop(tx->bna, &txq->ib);
drivers/net/ethernet/brocade/bna/bna_tx_rx.c
3161
bna_txq_qpt_setup(struct bna_txq *txq, int page_count, int page_size,
drivers/net/ethernet/brocade/bna/bna_tx_rx.c
3171
txq->qpt.hw_qpt_ptr.lsb = qpt_mem->dma.lsb;
drivers/net/ethernet/brocade/bna/bna_tx_rx.c
3172
txq->qpt.hw_qpt_ptr.msb = qpt_mem->dma.msb;
drivers/net/ethernet/brocade/bna/bna_tx_rx.c
3173
txq->qpt.kv_qpt_ptr = qpt_mem->kva;
drivers/net/ethernet/brocade/bna/bna_tx_rx.c
3174
txq->qpt.page_count = page_count;
drivers/net/ethernet/brocade/bna/bna_tx_rx.c
3175
txq->qpt.page_size = page_size;
drivers/net/ethernet/brocade/bna/bna_tx_rx.c
3177
txq->tcb->sw_qpt = (void **) swqpt_mem->kva;
drivers/net/ethernet/brocade/bna/bna_tx_rx.c
3178
txq->tcb->sw_q = page_mem->kva;
drivers/net/ethernet/brocade/bna/bna_tx_rx.c
3184
txq->tcb->sw_qpt[i] = kva;
drivers/net/ethernet/brocade/bna/bna_tx_rx.c
3188
((struct bna_dma_addr *)txq->qpt.kv_qpt_ptr)[i].lsb =
drivers/net/ethernet/brocade/bna/bna_tx_rx.c
3190
((struct bna_dma_addr *)txq->qpt.kv_qpt_ptr)[i].msb =
drivers/net/ethernet/brocade/bna/bna_tx_rx.c
3217
struct bna_txq *txq;
drivers/net/ethernet/brocade/bna/bna_tx_rx.c
3221
txq = list_first_entry(&tx->txq_q, struct bna_txq, qe);
drivers/net/ethernet/brocade/bna/bna_tx_rx.c
3222
txq->tcb = NULL;
drivers/net/ethernet/brocade/bna/bna_tx_rx.c
3223
txq->tx = NULL;
drivers/net/ethernet/brocade/bna/bna_tx_rx.c
3224
list_move_tail(&txq->qe, &tx_mod->txq_free_q);
drivers/net/ethernet/brocade/bna/bna_tx_rx.c
3273
struct bna_txq *txq = NULL;
drivers/net/ethernet/brocade/bna/bna_tx_rx.c
3281
for (i = 0, txq = list_first_entry(&tx->txq_q, struct bna_txq, qe);
drivers/net/ethernet/brocade/bna/bna_tx_rx.c
3282
i < tx->num_txq; i++, txq = list_next_entry(txq, qe)) {
drivers/net/ethernet/brocade/bna/bna_tx_rx.c
3284
txq->tcb->i_dbell->doorbell_addr =
drivers/net/ethernet/brocade/bna/bna_tx_rx.c
3287
txq->tcb->q_dbell =
drivers/net/ethernet/brocade/bna/bna_tx_rx.c
3290
txq->hw_id = cfg_rsp->q_handles[i].hw_qid;
drivers/net/ethernet/brocade/bna/bna_tx_rx.c
3293
(*txq->tcb->hw_consumer_index) = 0;
drivers/net/ethernet/brocade/bna/bna_tx_rx.c
3294
txq->tcb->producer_index = txq->tcb->consumer_index = 0;
drivers/net/ethernet/brocade/bna/bna_tx_rx.c
3371
struct bna_txq *txq;
drivers/net/ethernet/brocade/bna/bna_tx_rx.c
3401
txq = list_first_entry(&tx_mod->txq_free_q, struct bna_txq, qe);
drivers/net/ethernet/brocade/bna/bna_tx_rx.c
3402
list_move_tail(&txq->qe, &tx->txq_q);
drivers/net/ethernet/brocade/bna/bna_tx_rx.c
3403
txq->tx = tx;
drivers/net/ethernet/brocade/bna/bna_tx_rx.c
3441
list_for_each_entry(txq, &tx->txq_q, qe) {
drivers/net/ethernet/brocade/bna/bna_tx_rx.c
3442
txq->tcb = (struct bna_tcb *)
drivers/net/ethernet/brocade/bna/bna_tx_rx.c
3444
txq->tx_packets = 0;
drivers/net/ethernet/brocade/bna/bna_tx_rx.c
3445
txq->tx_bytes = 0;
drivers/net/ethernet/brocade/bna/bna_tx_rx.c
3448
txq->ib.ib_seg_host_addr.lsb =
drivers/net/ethernet/brocade/bna/bna_tx_rx.c
3450
txq->ib.ib_seg_host_addr.msb =
drivers/net/ethernet/brocade/bna/bna_tx_rx.c
3452
txq->ib.ib_seg_host_addr_kva =
drivers/net/ethernet/brocade/bna/bna_tx_rx.c
3454
txq->ib.intr_type = intr_info->intr_type;
drivers/net/ethernet/brocade/bna/bna_tx_rx.c
3455
txq->ib.intr_vector = (intr_info->num == 1) ?
drivers/net/ethernet/brocade/bna/bna_tx_rx.c
3459
txq->ib.intr_vector = BIT(txq->ib.intr_vector);
drivers/net/ethernet/brocade/bna/bna_tx_rx.c
3460
txq->ib.coalescing_timeo = tx_cfg->coalescing_timeo;
drivers/net/ethernet/brocade/bna/bna_tx_rx.c
3461
txq->ib.interpkt_timeo = BFI_TX_INTERPKT_TIMEO;
drivers/net/ethernet/brocade/bna/bna_tx_rx.c
3462
txq->ib.interpkt_count = BFI_TX_INTERPKT_COUNT;
drivers/net/ethernet/brocade/bna/bna_tx_rx.c
3466
txq->tcb->q_depth = tx_cfg->txq_depth;
drivers/net/ethernet/brocade/bna/bna_tx_rx.c
3467
txq->tcb->unmap_q = (void *)
drivers/net/ethernet/brocade/bna/bna_tx_rx.c
3469
txq->tcb->hw_consumer_index =
drivers/net/ethernet/brocade/bna/bna_tx_rx.c
3470
(u32 *)txq->ib.ib_seg_host_addr_kva;
drivers/net/ethernet/brocade/bna/bna_tx_rx.c
3471
txq->tcb->i_dbell = &txq->ib.door_bell;
drivers/net/ethernet/brocade/bna/bna_tx_rx.c
3472
txq->tcb->intr_type = txq->ib.intr_type;
drivers/net/ethernet/brocade/bna/bna_tx_rx.c
3473
txq->tcb->intr_vector = txq->ib.intr_vector;
drivers/net/ethernet/brocade/bna/bna_tx_rx.c
3474
txq->tcb->txq = txq;
drivers/net/ethernet/brocade/bna/bna_tx_rx.c
3475
txq->tcb->bnad = bnad;
drivers/net/ethernet/brocade/bna/bna_tx_rx.c
3476
txq->tcb->id = i;
drivers/net/ethernet/brocade/bna/bna_tx_rx.c
3479
bna_txq_qpt_setup(txq, page_count, PAGE_SIZE,
drivers/net/ethernet/brocade/bna/bna_tx_rx.c
3487
(tx->tcb_setup_cbfn)(bna->bnad, txq->tcb);
drivers/net/ethernet/brocade/bna/bna_tx_rx.c
3490
txq->priority = txq->tcb->id;
drivers/net/ethernet/brocade/bna/bna_tx_rx.c
3492
txq->priority = tx_mod->default_prio;
drivers/net/ethernet/brocade/bna/bna_tx_rx.c
3513
struct bna_txq *txq;
drivers/net/ethernet/brocade/bna/bna_tx_rx.c
3515
list_for_each_entry(txq, &tx->txq_q, qe)
drivers/net/ethernet/brocade/bna/bna_tx_rx.c
3517
(tx->tcb_destroy_cbfn)(tx->bna->bnad, txq->tcb);
drivers/net/ethernet/brocade/bna/bna_tx_rx.c
3587
tx_mod->txq = (struct bna_txq *)
drivers/net/ethernet/brocade/bna/bna_tx_rx.c
3598
list_add_tail(&tx_mod->txq[i].qe, &tx_mod->txq_free_q);
drivers/net/ethernet/brocade/bna/bna_tx_rx.c
3663
struct bna_txq *txq;
drivers/net/ethernet/brocade/bna/bna_tx_rx.c
3665
list_for_each_entry(txq, &tx->txq_q, qe)
drivers/net/ethernet/brocade/bna/bna_tx_rx.c
3666
bna_ib_coalescing_timeo_set(&txq->ib, coalescing_timeo);
drivers/net/ethernet/brocade/bna/bna_types.h
432
struct bna_txq *txq;
drivers/net/ethernet/brocade/bna/bna_types.h
524
struct bna_txq *txq; /* BFI_MAX_TXQ entries */
drivers/net/ethernet/brocade/bna/bnad.c
1003
(struct bnad_tx_info *)tcb->txq->tx->priv;
drivers/net/ethernet/brocade/bna/bnad.c
1013
(struct bnad_tx_info *)tcb->txq->tx->priv;
drivers/net/ethernet/brocade/bna/bnad.c
198
tcb->txq->tx_packets += sent_packets;
drivers/net/ethernet/brocade/bna/bnad.c
199
tcb->txq->tx_bytes += sent_bytes;
drivers/net/ethernet/brocade/bna/bnad.c
2413
bnad->tx_info[i].tcb[j]->txq->tx_packets;
drivers/net/ethernet/brocade/bna/bnad.c
2415
bnad->tx_info[i].tcb[j]->txq->tx_bytes;
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
778
bnad->tx_info[i].tcb[j]->txq) {
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
780
buf[bi++] = tcb->txq->tx_packets;
drivers/net/ethernet/brocade/bna/bnad_ethtool.c
781
buf[bi++] = tcb->txq->tx_bytes;
drivers/net/ethernet/cavium/liquidio/lio_core.c
189
void octeon_report_tx_completion_to_bql(void *txq, unsigned int pkts_compl,
drivers/net/ethernet/cavium/liquidio/lio_core.c
192
struct netdev_queue *netdev_queue = txq;
drivers/net/ethernet/cavium/liquidio/lio_core.c
231
struct netdev_queue *txq;
drivers/net/ethernet/cavium/liquidio/lio_core.c
250
txq = netdev_get_tx_queue(skb->dev, skb_get_queue_mapping(skb));
drivers/net/ethernet/cavium/liquidio/lio_core.c
251
netdev_tx_sent_queue(txq, skb->len);
drivers/net/ethernet/cavium/liquidio/lio_core.c
253
return netif_xmit_stopped(txq);
drivers/net/ethernet/cavium/liquidio/lio_ethtool.c
1074
lio->txq = lio->linfo.txpciq[0].s.q_no;
drivers/net/ethernet/cavium/liquidio/lio_main.c
3632
lio->txq = lio->linfo.txpciq[0].s.q_no;
drivers/net/ethernet/cavium/liquidio/lio_main.c
3643
lio->tx_qsize = octeon_get_tx_qsize(octeon_dev, lio->txq);
drivers/net/ethernet/cavium/liquidio/lio_vf_main.c
2150
lio->txq = lio->linfo.txpciq[0].s.q_no;
drivers/net/ethernet/cavium/liquidio/lio_vf_main.c
2153
lio->tx_qsize = octeon_get_tx_qsize(octeon_dev, lio->txq);
drivers/net/ethernet/cavium/liquidio/lio_vf_rep.c
385
if (octnet_iq_is_full(vf_rep->oct, parent_lio->txq)) {
drivers/net/ethernet/cavium/liquidio/lio_vf_rep.c
416
sc->iq_no = parent_lio->txq;
drivers/net/ethernet/cavium/liquidio/octeon_main.h
71
void octeon_report_tx_completion_to_bql(void *txq, unsigned int pkts_compl,
drivers/net/ethernet/cavium/liquidio/octeon_network.h
105
int txq;
drivers/net/ethernet/cavium/thunder/nicvf_main.c
1255
struct netdev_queue *txq = netdev_get_tx_queue(netdev, qid);
drivers/net/ethernet/cavium/thunder/nicvf_main.c
1289
if (!netif_tx_queue_stopped(txq) &&
drivers/net/ethernet/cavium/thunder/nicvf_main.c
1291
netif_tx_stop_queue(txq);
drivers/net/ethernet/cavium/thunder/nicvf_main.c
1298
netif_tx_wake_queue(txq);
drivers/net/ethernet/cavium/thunder/nicvf_main.c
855
struct netdev_queue *txq;
drivers/net/ethernet/cavium/thunder/nicvf_main.c
936
txq = netdev_get_tx_queue(netdev, txq_idx);
drivers/net/ethernet/cavium/thunder/nicvf_main.c
938
netdev_tx_completed_queue(txq, tx_pkts, tx_bytes);
drivers/net/ethernet/cavium/thunder/nicvf_main.c
942
if (netif_tx_queue_stopped(txq) && netif_carrier_ok(netdev)) {
drivers/net/ethernet/cavium/thunder/nicvf_main.c
943
netif_tx_wake_queue(txq);
drivers/net/ethernet/cavium/thunder/nicvf_queues.c
1465
struct netdev_queue *txq;
drivers/net/ethernet/cavium/thunder/nicvf_queues.c
1467
txq = netdev_get_tx_queue(nic->pnicvf->netdev,
drivers/net/ethernet/cavium/thunder/nicvf_queues.c
1470
netdev_tx_sent_queue(txq, skb->len);
drivers/net/ethernet/chelsio/cxgb3/adapter.h
204
struct sge_txq txq[SGE_TXQ_PER_SET];
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
599
t3_write_reg(adap, A_SG_KDOORBELL, F_SELEGRCNTX | V_EGRCNTX(qs->txq[j].cntxt_id));
drivers/net/ethernet/chelsio/cxgb3/sge.c
1245
static inline void t3_stop_tx_queue(struct netdev_queue *txq,
drivers/net/ethernet/chelsio/cxgb3/sge.c
1248
netif_tx_stop_queue(txq);
drivers/net/ethernet/chelsio/cxgb3/sge.c
1266
struct netdev_queue *txq;
drivers/net/ethernet/chelsio/cxgb3/sge.c
1282
q = &qs->txq[TXQ_ETH];
drivers/net/ethernet/chelsio/cxgb3/sge.c
1283
txq = netdev_get_tx_queue(dev, qidx);
drivers/net/ethernet/chelsio/cxgb3/sge.c
1291
t3_stop_tx_queue(txq, qs, q);
drivers/net/ethernet/chelsio/cxgb3/sge.c
1308
t3_stop_tx_queue(txq, qs, q);
drivers/net/ethernet/chelsio/cxgb3/sge.c
1313
netif_tx_start_queue(txq);
drivers/net/ethernet/chelsio/cxgb3/sge.c
1524
txq[TXQ_CTRL].qresume_task);
drivers/net/ethernet/chelsio/cxgb3/sge.c
1525
struct sge_txq *q = &qs->txq[TXQ_CTRL];
drivers/net/ethernet/chelsio/cxgb3/sge.c
1565
ret = ctrl_xmit(adap, &adap->sge.qs[0].txq[TXQ_CTRL], skb);
drivers/net/ethernet/chelsio/cxgb3/sge.c
1744
txq[TXQ_OFLD].qresume_task);
drivers/net/ethernet/chelsio/cxgb3/sge.c
1745
struct sge_txq *q = &qs->txq[TXQ_OFLD];
drivers/net/ethernet/chelsio/cxgb3/sge.c
176
return container_of(q, struct sge_qset, txq[qidx]);
drivers/net/ethernet/chelsio/cxgb3/sge.c
1839
return ctrl_xmit(adap, &qs->txq[TXQ_CTRL], skb);
drivers/net/ethernet/chelsio/cxgb3/sge.c
1841
return ofld_xmit(adap, &qs->txq[TXQ_OFLD], skb);
drivers/net/ethernet/chelsio/cxgb3/sge.c
1988
should_restart_tx(&qs->txq[TXQ_ETH]) &&
drivers/net/ethernet/chelsio/cxgb3/sge.c
1990
qs->txq[TXQ_ETH].restarts++;
drivers/net/ethernet/chelsio/cxgb3/sge.c
1996
should_restart_tx(&qs->txq[TXQ_OFLD]) &&
drivers/net/ethernet/chelsio/cxgb3/sge.c
1998
qs->txq[TXQ_OFLD].restarts++;
drivers/net/ethernet/chelsio/cxgb3/sge.c
2001
queue_work(cxgb3_wq, &qs->txq[TXQ_OFLD].qresume_task);
drivers/net/ethernet/chelsio/cxgb3/sge.c
2004
should_restart_tx(&qs->txq[TXQ_CTRL]) &&
drivers/net/ethernet/chelsio/cxgb3/sge.c
2006
qs->txq[TXQ_CTRL].restarts++;
drivers/net/ethernet/chelsio/cxgb3/sge.c
2009
queue_work(cxgb3_wq, &qs->txq[TXQ_CTRL].qresume_task);
drivers/net/ethernet/chelsio/cxgb3/sge.c
2222
clear_bit(TXQ_RUNNING, &qs->txq[TXQ_ETH].flags);
drivers/net/ethernet/chelsio/cxgb3/sge.c
2227
qs->txq[TXQ_ETH].processed += credits;
drivers/net/ethernet/chelsio/cxgb3/sge.c
2231
qs->txq[TXQ_CTRL].processed += credits;
drivers/net/ethernet/chelsio/cxgb3/sge.c
2235
clear_bit(TXQ_RUNNING, &qs->txq[TXQ_OFLD].flags);
drivers/net/ethernet/chelsio/cxgb3/sge.c
2239
qs->txq[TXQ_OFLD].processed += credits;
drivers/net/ethernet/chelsio/cxgb3/sge.c
2256
struct sge_txq *txq = &qs->txq[TXQ_ETH];
drivers/net/ethernet/chelsio/cxgb3/sge.c
2258
if (txq->cleaned + txq->in_use != txq->processed &&
drivers/net/ethernet/chelsio/cxgb3/sge.c
2259
!test_and_set_bit(TXQ_LAST_PKT_DB, &txq->flags)) {
drivers/net/ethernet/chelsio/cxgb3/sge.c
2260
set_bit(TXQ_RUNNING, &txq->flags);
drivers/net/ethernet/chelsio/cxgb3/sge.c
2262
V_EGRCNTX(txq->cntxt_id));
drivers/net/ethernet/chelsio/cxgb3/sge.c
2267
struct sge_txq *txq = &qs->txq[TXQ_OFLD];
drivers/net/ethernet/chelsio/cxgb3/sge.c
2269
if (txq->cleaned + txq->in_use != txq->processed &&
drivers/net/ethernet/chelsio/cxgb3/sge.c
2270
!test_and_set_bit(TXQ_LAST_PKT_DB, &txq->flags)) {
drivers/net/ethernet/chelsio/cxgb3/sge.c
2271
set_bit(TXQ_RUNNING, &txq->flags);
drivers/net/ethernet/chelsio/cxgb3/sge.c
2273
V_EGRCNTX(txq->cntxt_id));
drivers/net/ethernet/chelsio/cxgb3/sge.c
2916
tbd[TXQ_ETH] = reclaim_completed_tx(adap, &qs->txq[TXQ_ETH],
drivers/net/ethernet/chelsio/cxgb3/sge.c
2921
if (spin_trylock(&qs->txq[TXQ_OFLD].lock)) {
drivers/net/ethernet/chelsio/cxgb3/sge.c
2922
tbd[TXQ_OFLD] = reclaim_completed_tx(adap, &qs->txq[TXQ_OFLD],
drivers/net/ethernet/chelsio/cxgb3/sge.c
2924
spin_unlock(&qs->txq[TXQ_OFLD].lock);
drivers/net/ethernet/chelsio/cxgb3/sge.c
3060
q->txq[i].desc = alloc_ring(adapter->pdev, p->txq_size[i],
drivers/net/ethernet/chelsio/cxgb3/sge.c
3062
&q->txq[i].phys_addr,
drivers/net/ethernet/chelsio/cxgb3/sge.c
3063
&q->txq[i].sdesc);
drivers/net/ethernet/chelsio/cxgb3/sge.c
3064
if (!q->txq[i].desc)
drivers/net/ethernet/chelsio/cxgb3/sge.c
3067
q->txq[i].gen = 1;
drivers/net/ethernet/chelsio/cxgb3/sge.c
3068
q->txq[i].size = p->txq_size[i];
drivers/net/ethernet/chelsio/cxgb3/sge.c
3069
spin_lock_init(&q->txq[i].lock);
drivers/net/ethernet/chelsio/cxgb3/sge.c
3070
skb_queue_head_init(&q->txq[i].sendq);
drivers/net/ethernet/chelsio/cxgb3/sge.c
3073
INIT_WORK(&q->txq[TXQ_OFLD].qresume_task, restart_offloadq);
drivers/net/ethernet/chelsio/cxgb3/sge.c
3074
INIT_WORK(&q->txq[TXQ_CTRL].qresume_task, restart_ctrlq);
drivers/net/ethernet/chelsio/cxgb3/sge.c
3085
q->txq[TXQ_ETH].stop_thres = nports *
drivers/net/ethernet/chelsio/cxgb3/sge.c
3126
ret = t3_sge_init_ecntxt(adapter, q->txq[TXQ_ETH].cntxt_id, USE_GTS,
drivers/net/ethernet/chelsio/cxgb3/sge.c
3127
SGE_CNTXT_ETH, id, q->txq[TXQ_ETH].phys_addr,
drivers/net/ethernet/chelsio/cxgb3/sge.c
3128
q->txq[TXQ_ETH].size, q->txq[TXQ_ETH].token,
drivers/net/ethernet/chelsio/cxgb3/sge.c
3134
ret = t3_sge_init_ecntxt(adapter, q->txq[TXQ_OFLD].cntxt_id,
drivers/net/ethernet/chelsio/cxgb3/sge.c
3136
q->txq[TXQ_OFLD].phys_addr,
drivers/net/ethernet/chelsio/cxgb3/sge.c
3137
q->txq[TXQ_OFLD].size, 0, 1, 0);
drivers/net/ethernet/chelsio/cxgb3/sge.c
3143
ret = t3_sge_init_ecntxt(adapter, q->txq[TXQ_CTRL].cntxt_id, 0,
drivers/net/ethernet/chelsio/cxgb3/sge.c
3145
q->txq[TXQ_CTRL].phys_addr,
drivers/net/ethernet/chelsio/cxgb3/sge.c
3146
q->txq[TXQ_CTRL].size,
drivers/net/ethernet/chelsio/cxgb3/sge.c
3147
q->txq[TXQ_CTRL].token, 1, 0);
drivers/net/ethernet/chelsio/cxgb3/sge.c
3294
cancel_work_sync(&qs->txq[TXQ_OFLD].qresume_task);
drivers/net/ethernet/chelsio/cxgb3/sge.c
3295
cancel_work_sync(&qs->txq[TXQ_CTRL].qresume_task);
drivers/net/ethernet/chelsio/cxgb3/sge.c
654
memset(q->txq, 0, sizeof(struct sge_txq) * SGE_TXQ_PER_SET);
drivers/net/ethernet/chelsio/cxgb3/sge.c
691
if (q->txq[i].desc) {
drivers/net/ethernet/chelsio/cxgb3/sge.c
693
t3_sge_enable_ecntxt(adapter, q->txq[i].cntxt_id, 0);
drivers/net/ethernet/chelsio/cxgb3/sge.c
695
if (q->txq[i].sdesc) {
drivers/net/ethernet/chelsio/cxgb3/sge.c
696
free_tx_desc(adapter, &q->txq[i],
drivers/net/ethernet/chelsio/cxgb3/sge.c
697
q->txq[i].in_use);
drivers/net/ethernet/chelsio/cxgb3/sge.c
698
kfree(q->txq[i].sdesc);
drivers/net/ethernet/chelsio/cxgb3/sge.c
701
q->txq[i].size *
drivers/net/ethernet/chelsio/cxgb3/sge.c
703
q->txq[i].desc, q->txq[i].phys_addr);
drivers/net/ethernet/chelsio/cxgb3/sge.c
704
__skb_queue_purge(&q->txq[i].sendq);
drivers/net/ethernet/chelsio/cxgb3/sge.c
731
qs->txq[TXQ_ETH].cntxt_id = FW_TUNNEL_SGEEC_START + id;
drivers/net/ethernet/chelsio/cxgb3/sge.c
732
qs->txq[TXQ_ETH].token = FW_TUNNEL_TID_START + id;
drivers/net/ethernet/chelsio/cxgb3/sge.c
733
qs->txq[TXQ_OFLD].cntxt_id = FW_OFLD_SGEEC_START + id;
drivers/net/ethernet/chelsio/cxgb3/sge.c
734
qs->txq[TXQ_CTRL].cntxt_id = FW_CTRL_SGEEC_START + id;
drivers/net/ethernet/chelsio/cxgb3/sge.c
735
qs->txq[TXQ_CTRL].token = FW_CTRL_TID_START + id;
drivers/net/ethernet/chelsio/cxgb4/cudbg_lib.c
3408
struct sge_txq *txq = (struct sge_txq *)q; \
drivers/net/ethernet/chelsio/cxgb4/cudbg_lib.c
3409
QDESC_GET(txq, txq->desc, type, label); \
drivers/net/ethernet/chelsio/cxgb4/cudbg_lib.h
241
static inline void cudbg_fill_qdesc_txq(const struct sge_txq *txq,
drivers/net/ethernet/chelsio/cxgb4/cudbg_lib.h
246
entry->qid = txq->cntxt_id;
drivers/net/ethernet/chelsio/cxgb4/cudbg_lib.h
248
entry->num_desc = txq->size;
drivers/net/ethernet/chelsio/cxgb4/cudbg_lib.h
249
entry->data_size = txq->size * sizeof(struct tx_desc);
drivers/net/ethernet/chelsio/cxgb4/cudbg_lib.h
250
memcpy(entry->data, txq->desc, entry->data_size);
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1623
int t4_sge_alloc_eth_txq(struct adapter *adap, struct sge_eth_txq *txq,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1626
int t4_sge_alloc_ctrl_txq(struct adapter *adap, struct sge_ctrl_txq *txq,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1631
int t4_sge_alloc_uld_txq(struct adapter *adap, struct sge_uld_txq *txq,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1634
int t4_sge_alloc_ethofld_txq(struct adapter *adap, struct sge_eohw_txq *txq,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1636
void t4_sge_free_ethofld_txq(struct adapter *adap, struct sge_eohw_txq *txq);
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1986
unsigned int vf, unsigned int txq, unsigned int txq_eth_ctrl,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
2102
void cxgb4_eosw_txq_free_desc(struct adapter *adap, struct sge_eosw_txq *txq,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
866
struct netdev_queue *txq; /* associated netdev TX queue */
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
1005
struct sge_eth_txq *txq;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
1007
txq = &adap->sge.ethtxq[pi->first_qset];
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
1013
return adap->sge.dbqtimer_val[txq->dbqtimerix];
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
1063
struct sge_eth_txq *txq;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
1089
txq = &s->ethtxq[pi->first_qset];
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
1090
if (txq->dbqtimerix == min_timerix)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
1093
for (qix = 0; qix < pi->nqsets; qix++, txq++) {
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
1098
FW_PARAMS_PARAM_YZ_V(txq->q.cntxt_id));
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
1105
txq->dbqtimerix = min_timerix;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
1137
int txq;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
1154
txq = 0;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
1156
txq = (vlan_tci & VLAN_PRIO_MASK) >> VLAN_PRIO_SHIFT;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
1159
txq = skb->priority & 0x7;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
1162
return txq;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
1175
txq = netdev_pick_tx(dev, skb, sb_dev);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
1180
txq = txq % pi->nqsets;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
1182
return txq;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
1186
txq = (skb_rx_queue_recorded(skb)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
1190
while (unlikely(txq >= dev->real_num_tx_queues))
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
1191
txq -= dev->real_num_tx_queues;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
1193
return txq;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
238
struct sge_eth_txq *txq = &adap->sge.ethtxq[pi->first_qset];
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
244
for (i = 0; i < pi->nqsets; i++, txq++) {
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
2452
struct sge_uld_txq *txq = &txq_info->uldtxq[i];
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
2454
disable_txq_db(&txq->q);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
2474
struct sge_uld_txq *txq = &txq_info->uldtxq[i];
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
2476
enable_txq_db(adap, &txq->q);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
251
FW_PARAMS_PARAM_YZ_V(txq->q.cntxt_id));
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
2555
struct sge_uld_txq *txq = &txq_info->uldtxq[i];
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
2557
sync_txq_pidx(adap, &txq->q);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
267
txq->dcb_prio = enable ? value : 0;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
579
struct sge_txq *txq;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
581
txq = q->adap->sge.egr_map[qid - q->adap->sge.egr_start];
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
582
txq->restarts++;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
583
if (txq->q_type == CXGB4_TXQ_ETH) {
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
586
eq = container_of(txq, struct sge_eth_txq, q);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
591
oq = container_of(txq, struct sge_uld_txq, q);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_uld.c
406
struct sge_uld_txq *txq = &txq_info->uldtxq[i];
drivers/net/ethernet/chelsio/cxgb4/cxgb4_uld.c
408
if (txq->q.desc) {
drivers/net/ethernet/chelsio/cxgb4/cxgb4_uld.c
409
tasklet_kill(&txq->qresume_tsk);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_uld.c
411
txq->q.cntxt_id);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_uld.c
412
free_tx_desc(adap, &txq->q, txq->q.in_use, false);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_uld.c
413
kfree(txq->q.sdesc);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_uld.c
414
__skb_queue_purge(&txq->sendq);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_uld.c
415
free_txq(adap, &txq->q);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_uld.c
430
struct sge_uld_txq *txq = &txq_info->uldtxq[i];
drivers/net/ethernet/chelsio/cxgb4/cxgb4_uld.c
432
txq->q.size = 1024;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_uld.c
433
err = t4_sge_alloc_uld_txq(adap, txq, adap->port[i / j],
drivers/net/ethernet/chelsio/cxgb4/sched.c
175
struct sge_eth_txq *txq;
drivers/net/ethernet/chelsio/cxgb4/sched.c
180
txq = &adap->sge.ethtxq[pi->first_qset + p->queue];
drivers/net/ethernet/chelsio/cxgb4/sched.c
181
qe = t4_sched_entry_lookup(pi, SCHED_QUEUE, txq->q.cntxt_id);
drivers/net/ethernet/chelsio/cxgb4/sched.c
189
struct sge_eth_txq *txq;
drivers/net/ethernet/chelsio/cxgb4/sched.c
196
txq = &adap->sge.ethtxq[pi->first_qset + p->queue];
drivers/net/ethernet/chelsio/cxgb4/sched.c
199
qe = t4_sched_entry_lookup(pi, SCHED_QUEUE, txq->q.cntxt_id);
drivers/net/ethernet/chelsio/cxgb4/sched.c
220
struct sge_eth_txq *txq;
drivers/net/ethernet/chelsio/cxgb4/sched.c
232
txq = &adap->sge.ethtxq[pi->first_qset + p->queue];
drivers/net/ethernet/chelsio/cxgb4/sched.c
233
qid = txq->q.cntxt_id;
drivers/net/ethernet/chelsio/cxgb4/sge.c
1220
netif_tx_stop_queue(q->txq);
drivers/net/ethernet/chelsio/cxgb4/sge.c
1411
if (!q->in_use || !__netif_tx_trylock(eq->txq))
drivers/net/ethernet/chelsio/cxgb4/sge.c
1427
if (netif_tx_queue_stopped(eq->txq) && hw_in_use < (q->size / 2)) {
drivers/net/ethernet/chelsio/cxgb4/sge.c
1428
netif_tx_wake_queue(eq->txq);
drivers/net/ethernet/chelsio/cxgb4/sge.c
1432
__netif_tx_unlock(eq->txq);
drivers/net/ethernet/chelsio/cxgb4/sge.c
1819
struct sge_eth_txq *txq;
drivers/net/ethernet/chelsio/cxgb4/sge.c
1845
txq = &adapter->sge.ethtxq[pi->first_qset + qidx];
drivers/net/ethernet/chelsio/cxgb4/sge.c
1850
reclaim_completed_tx(adapter, &txq->q, -1, true);
drivers/net/ethernet/chelsio/cxgb4/sge.c
1858
credits = txq_avail(&txq->q) - ndesc;
drivers/net/ethernet/chelsio/cxgb4/sge.c
1866
eth_txq_stop(txq);
drivers/net/ethernet/chelsio/cxgb4/sge.c
1873
last_desc = txq->q.pidx + ndesc - 1;
drivers/net/ethernet/chelsio/cxgb4/sge.c
1874
if (last_desc >= txq->q.size)
drivers/net/ethernet/chelsio/cxgb4/sge.c
1875
last_desc -= txq->q.size;
drivers/net/ethernet/chelsio/cxgb4/sge.c
1876
sgl_sdesc = &txq->q.sdesc[last_desc];
drivers/net/ethernet/chelsio/cxgb4/sge.c
1886
txq->mapping_err++;
drivers/net/ethernet/chelsio/cxgb4/sge.c
1901
eth_txq_stop(txq);
drivers/net/ethernet/chelsio/cxgb4/sge.c
1912
wr = (void *)&txq->q.desc[txq->q.pidx];
drivers/net/ethernet/chelsio/cxgb4/sge.c
1964
txq->tso++;
drivers/net/ethernet/chelsio/cxgb4/sge.c
1965
txq->tx_cso += ssi->gso_segs;
drivers/net/ethernet/chelsio/cxgb4/sge.c
1983
txq->tx_cso++;
drivers/net/ethernet/chelsio/cxgb4/sge.c
1993
txq->vlan_ins++;
drivers/net/ethernet/chelsio/cxgb4/sge.c
2012
cxgb4_inline_tx_skb(skb, &txq->q, cpl + 1);
drivers/net/ethernet/chelsio/cxgb4/sge.c
2052
struct sge_txq *tq = &txq->q;
drivers/net/ethernet/chelsio/cxgb4/sge.c
2074
txq_advance(&txq->q, ndesc);
drivers/net/ethernet/chelsio/cxgb4/sge.c
2076
cxgb4_ring_tx_db(adapter, &txq->q, ndesc);
drivers/net/ethernet/chelsio/cxgb4/sge.c
2674
__netif_tx_lock_bh(q->txq);
drivers/net/ethernet/chelsio/cxgb4/sge.c
2679
__netif_tx_unlock_bh(q->txq);
drivers/net/ethernet/chelsio/cxgb4/sge.c
2714
__netif_tx_unlock_bh(q->txq);
drivers/net/ethernet/chelsio/cxgb4/sge.c
2941
struct sge_txq *txq;
drivers/net/ethernet/chelsio/cxgb4/sge.c
2991
txq = &q->q;
drivers/net/ethernet/chelsio/cxgb4/sge.c
2996
left = (u8 *)end - (u8 *)txq->stat;
drivers/net/ethernet/chelsio/cxgb4/sge.c
2997
end = (void *)txq->desc + left;
drivers/net/ethernet/chelsio/cxgb4/sge.c
3004
if (pos == (u64 *)txq->stat) {
drivers/net/ethernet/chelsio/cxgb4/sge.c
3005
left = (u8 *)end - (u8 *)txq->stat;
drivers/net/ethernet/chelsio/cxgb4/sge.c
3006
end = (void *)txq->desc + left;
drivers/net/ethernet/chelsio/cxgb4/sge.c
3007
pos = (void *)txq->desc;
drivers/net/ethernet/chelsio/cxgb4/sge.c
3121
struct sge_uld_txq *txq;
drivers/net/ethernet/chelsio/cxgb4/sge.c
3138
txq = &txq_info->uldtxq[idx];
drivers/net/ethernet/chelsio/cxgb4/sge.c
3139
return ofld_xmit(txq, skb);
drivers/net/ethernet/chelsio/cxgb4/sge.c
3251
struct sge_uld_txq *txq;
drivers/net/ethernet/chelsio/cxgb4/sge.c
3264
txq = &txq_info->uldtxq[idx];
drivers/net/ethernet/chelsio/cxgb4/sge.c
3266
ret = ofld_xmit_direct(txq, src, len);
drivers/net/ethernet/chelsio/cxgb4/sge.c
3585
struct sge_eth_txq *txq;
drivers/net/ethernet/chelsio/cxgb4/sge.c
3606
txq = &s->ethtxq[pi->first_qset + rspq->idx];
drivers/net/ethernet/chelsio/cxgb4/sge.c
3623
WRITE_ONCE(txq->q.stat->cidx, egr->cidx);
drivers/net/ethernet/chelsio/cxgb4/sge.c
3626
t4_sge_eth_txq_egress_update(adapter, txq, -1);
drivers/net/ethernet/chelsio/cxgb4/sge.c
4280
struct sge_uld_txq *txq = s->egr_map[id];
drivers/net/ethernet/chelsio/cxgb4/sge.c
4283
tasklet_schedule(&txq->qresume_tsk);
drivers/net/ethernet/chelsio/cxgb4/sge.c
4577
int t4_sge_alloc_eth_txq(struct adapter *adap, struct sge_eth_txq *txq,
drivers/net/ethernet/chelsio/cxgb4/sge.c
4588
nentries = txq->q.size + s->stat_len / sizeof(struct tx_desc);
drivers/net/ethernet/chelsio/cxgb4/sge.c
4590
txq->q.desc = alloc_ring(adap->pdev_dev, txq->q.size,
drivers/net/ethernet/chelsio/cxgb4/sge.c
4592
&txq->q.phys_addr, &txq->q.sdesc, s->stat_len,
drivers/net/ethernet/chelsio/cxgb4/sge.c
4594
if (!txq->q.desc)
drivers/net/ethernet/chelsio/cxgb4/sge.c
4633
c.eqaddr = cpu_to_be64(txq->q.phys_addr);
drivers/net/ethernet/chelsio/cxgb4/sge.c
4644
FW_EQ_ETH_CMD_TIMERIX_V(txq->dbqtimerix));
drivers/net/ethernet/chelsio/cxgb4/sge.c
4648
kfree(txq->q.sdesc);
drivers/net/ethernet/chelsio/cxgb4/sge.c
4649
txq->q.sdesc = NULL;
drivers/net/ethernet/chelsio/cxgb4/sge.c
4652
txq->q.desc, txq->q.phys_addr);
drivers/net/ethernet/chelsio/cxgb4/sge.c
4653
txq->q.desc = NULL;
drivers/net/ethernet/chelsio/cxgb4/sge.c
4657
txq->q.q_type = CXGB4_TXQ_ETH;
drivers/net/ethernet/chelsio/cxgb4/sge.c
4658
init_txq(adap, &txq->q, FW_EQ_ETH_CMD_EQID_G(ntohl(c.eqid_pkd)));
drivers/net/ethernet/chelsio/cxgb4/sge.c
4659
txq->txq = netdevq;
drivers/net/ethernet/chelsio/cxgb4/sge.c
4660
txq->tso = 0;
drivers/net/ethernet/chelsio/cxgb4/sge.c
4661
txq->uso = 0;
drivers/net/ethernet/chelsio/cxgb4/sge.c
4662
txq->tx_cso = 0;
drivers/net/ethernet/chelsio/cxgb4/sge.c
4663
txq->vlan_ins = 0;
drivers/net/ethernet/chelsio/cxgb4/sge.c
4664
txq->mapping_err = 0;
drivers/net/ethernet/chelsio/cxgb4/sge.c
4665
txq->dbqt = dbqt;
drivers/net/ethernet/chelsio/cxgb4/sge.c
4670
int t4_sge_alloc_ctrl_txq(struct adapter *adap, struct sge_ctrl_txq *txq,
drivers/net/ethernet/chelsio/cxgb4/sge.c
4681
nentries = txq->q.size + s->stat_len / sizeof(struct tx_desc);
drivers/net/ethernet/chelsio/cxgb4/sge.c
4683
txq->q.desc = alloc_ring(adap->pdev_dev, nentries,
drivers/net/ethernet/chelsio/cxgb4/sge.c
4684
sizeof(struct tx_desc), 0, &txq->q.phys_addr,
drivers/net/ethernet/chelsio/cxgb4/sge.c
4686
if (!txq->q.desc)
drivers/net/ethernet/chelsio/cxgb4/sge.c
4708
c.eqaddr = cpu_to_be64(txq->q.phys_addr);
drivers/net/ethernet/chelsio/cxgb4/sge.c
4714
txq->q.desc, txq->q.phys_addr);
drivers/net/ethernet/chelsio/cxgb4/sge.c
4715
txq->q.desc = NULL;
drivers/net/ethernet/chelsio/cxgb4/sge.c
4719
txq->q.q_type = CXGB4_TXQ_CTRL;
drivers/net/ethernet/chelsio/cxgb4/sge.c
4720
init_txq(adap, &txq->q, FW_EQ_CTRL_CMD_EQID_G(ntohl(c.cmpliqid_eqid)));
drivers/net/ethernet/chelsio/cxgb4/sge.c
4721
txq->adap = adap;
drivers/net/ethernet/chelsio/cxgb4/sge.c
4722
skb_queue_head_init(&txq->sendq);
drivers/net/ethernet/chelsio/cxgb4/sge.c
4723
tasklet_setup(&txq->qresume_tsk, restart_ctrlq);
drivers/net/ethernet/chelsio/cxgb4/sge.c
4724
txq->full = 0;
drivers/net/ethernet/chelsio/cxgb4/sge.c
4796
int t4_sge_alloc_uld_txq(struct adapter *adap, struct sge_uld_txq *txq,
drivers/net/ethernet/chelsio/cxgb4/sge.c
4806
ret = t4_sge_alloc_ofld_txq(adap, &txq->q, dev, cmd, iqid);
drivers/net/ethernet/chelsio/cxgb4/sge.c
4810
txq->q.q_type = CXGB4_TXQ_ULD;
drivers/net/ethernet/chelsio/cxgb4/sge.c
4811
txq->adap = adap;
drivers/net/ethernet/chelsio/cxgb4/sge.c
4812
skb_queue_head_init(&txq->sendq);
drivers/net/ethernet/chelsio/cxgb4/sge.c
4813
tasklet_setup(&txq->qresume_tsk, restart_ofldq);
drivers/net/ethernet/chelsio/cxgb4/sge.c
4814
txq->full = 0;
drivers/net/ethernet/chelsio/cxgb4/sge.c
4815
txq->mapping_err = 0;
drivers/net/ethernet/chelsio/cxgb4/sge.c
4819
int t4_sge_alloc_ethofld_txq(struct adapter *adap, struct sge_eohw_txq *txq,
drivers/net/ethernet/chelsio/cxgb4/sge.c
4824
ret = t4_sge_alloc_ofld_txq(adap, &txq->q, dev, FW_EQ_OFLD_CMD, iqid);
drivers/net/ethernet/chelsio/cxgb4/sge.c
4828
txq->q.q_type = CXGB4_TXQ_ULD;
drivers/net/ethernet/chelsio/cxgb4/sge.c
4829
spin_lock_init(&txq->lock);
drivers/net/ethernet/chelsio/cxgb4/sge.c
4830
txq->adap = adap;
drivers/net/ethernet/chelsio/cxgb4/sge.c
4831
txq->tso = 0;
drivers/net/ethernet/chelsio/cxgb4/sge.c
4832
txq->uso = 0;
drivers/net/ethernet/chelsio/cxgb4/sge.c
4833
txq->tx_cso = 0;
drivers/net/ethernet/chelsio/cxgb4/sge.c
4834
txq->vlan_ins = 0;
drivers/net/ethernet/chelsio/cxgb4/sge.c
4835
txq->mapping_err = 0;
drivers/net/ethernet/chelsio/cxgb4/sge.c
4878
void t4_sge_free_ethofld_txq(struct adapter *adap, struct sge_eohw_txq *txq)
drivers/net/ethernet/chelsio/cxgb4/sge.c
4880
if (txq->q.desc) {
drivers/net/ethernet/chelsio/cxgb4/sge.c
4882
txq->q.cntxt_id);
drivers/net/ethernet/chelsio/cxgb4/sge.c
4883
free_tx_desc(adap, &txq->q, txq->q.in_use, false);
drivers/net/ethernet/chelsio/cxgb4/sge.c
4884
kfree(txq->q.sdesc);
drivers/net/ethernet/chelsio/cxgb4/sge.c
4885
free_txq(adap, &txq->q);
drivers/net/ethernet/chelsio/cxgb4/sge.c
4927
__netif_tx_lock_bh(etq->txq);
drivers/net/ethernet/chelsio/cxgb4/sge.c
4929
__netif_tx_unlock_bh(etq->txq);
drivers/net/ethernet/chelsio/cxgb4/sge.c
5009
struct sge_uld_txq *txq = txq_info->uldtxq;
drivers/net/ethernet/chelsio/cxgb4/sge.c
5012
if (txq->q.desc)
drivers/net/ethernet/chelsio/cxgb4/sge.c
5013
tasklet_kill(&txq->qresume_tsk);
drivers/net/ethernet/chelsio/cxgb4/sge.c
5023
struct sge_uld_txq *txq = txq_info->uldtxq;
drivers/net/ethernet/chelsio/cxgb4/sge.c
5026
if (txq->q.desc)
drivers/net/ethernet/chelsio/cxgb4/sge.c
5027
tasklet_kill(&txq->qresume_tsk);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
7567
unsigned int vf, unsigned int txq, unsigned int txq_eth_ctrl,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
7583
FW_PFVF_CMD_NEQ_V(txq));
drivers/net/ethernet/chelsio/cxgb4vf/adapter.h
261
struct netdev_queue *txq; /* associated netdev TX queue */
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
1809
const struct sge_eth_txq *txq = &adapter->sge.ethtxq[pi->first_qset];
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
1814
for (qs = 0; qs < pi->nqsets; qs++, rxq++, txq++) {
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
1815
stats->tso += txq->tso;
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
1816
stats->tx_csum += txq->tx_cso;
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
1819
stats->vlan_ins += txq->vlan_ins;
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
2058
#define T(s, v) S3("u", s, txq[qs].v)
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
2063
const struct sge_eth_txq *txq = &adapter->sge.ethtxq[r * QPL];
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
2195
#define T3(fmt, s, v) S3(fmt, s, txq[qs].v)
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
2203
const struct sge_eth_txq *txq = &adapter->sge.ethtxq[r * QPL];
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
2730
struct sge_eth_txq *txq = &s->ethtxq[qs];
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
2734
txq->q.size = 1024;
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
536
struct sge_eth_txq *txq;
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
558
txq = container_of(tq, struct sge_eth_txq, q);
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
570
txq->q.restarts++;
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
571
netif_tx_wake_queue(txq->txq);
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
633
struct sge_eth_txq *txq = &s->ethtxq[pi->first_qset];
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
636
for (qs = 0; qs < pi->nqsets; qs++, rxq++, txq++) {
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
643
err = t4vf_sge_alloc_eth_txq(adapter, txq, dev,
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
664
struct sge_eth_txq *txq = &s->ethtxq[pi->first_qset];
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
667
for (qs = 0; qs < pi->nqsets; qs++, rxq++, txq++) {
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
669
EQ_MAP(s, txq->q.abs_id) = &txq->q;
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
1133
static void txq_stop(struct sge_eth_txq *txq)
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
1135
netif_tx_stop_queue(txq->txq);
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
1136
txq->q.stops++;
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
1164
struct sge_eth_txq *txq;
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
1195
txq = &adapter->sge.ethtxq[pi->first_qset + qidx];
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
1205
reclaim_completed_tx(adapter, &txq->q, true);
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
1214
credits = txq_avail(&txq->q) - ndesc;
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
1223
txq_stop(txq);
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
1237
txq->mapping_err++;
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
1252
txq_stop(txq);
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
1263
wr = (void *)&txq->q.desc[txq->q.pidx];
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
1319
txq->tso++;
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
1320
txq->tx_cso += ssi->gso_segs;
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
1337
txq->tx_cso++;
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
1347
txq->vlan_ins++;
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
1362
T4_TRACE5(adapter->tb[txq->q.cntxt_id & 7],
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
1364
ndesc, credits, txq->q.pidx, skb->len, ssi->nr_frags);
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
1376
inline_tx_skb(skb, &txq->q, cpl + 1);
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
1417
struct sge_txq *tq = &txq->q;
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
1446
txq_advance(&txq->q, ndesc);
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
1448
ring_tx_db(adapter, &txq->q, ndesc);
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
2131
struct sge_eth_txq *txq = &s->ethtxq[i];
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
2133
if (reclaimable(&txq->q) && __netif_tx_trylock(txq->txq)) {
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
2134
int avail = reclaimable(&txq->q);
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
2139
free_tx_desc(adapter, &txq->q, avail, true);
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
2140
txq->q.in_use -= avail;
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
2141
__netif_tx_unlock(txq->txq);
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
2410
int t4vf_sge_alloc_eth_txq(struct adapter *adapter, struct sge_eth_txq *txq,
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
2424
nentries = txq->q.size + s->stat_len / sizeof(struct tx_desc);
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
2430
txq->q.desc = alloc_ring(adapter->pdev_dev, txq->q.size,
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
2433
&txq->q.phys_addr, &txq->q.sdesc, s->stat_len);
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
2434
if (!txq->q.desc)
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
2466
cmd.eqaddr = cpu_to_be64(txq->q.phys_addr);
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
2478
kfree(txq->q.sdesc);
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
2479
txq->q.sdesc = NULL;
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
2482
txq->q.desc, txq->q.phys_addr);
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
2483
txq->q.desc = NULL;
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
2487
txq->q.in_use = 0;
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
2488
txq->q.cidx = 0;
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
2489
txq->q.pidx = 0;
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
2490
txq->q.stat = (void *)&txq->q.desc[txq->q.size];
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
2491
txq->q.cntxt_id = FW_EQ_ETH_CMD_EQID_G(be32_to_cpu(rpl.eqid_pkd));
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
2492
txq->q.bar2_addr = bar2_address(adapter,
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
2493
txq->q.cntxt_id,
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
2495
&txq->q.bar2_qid);
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
2496
txq->q.abs_id =
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
2498
txq->txq = devq;
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
2499
txq->tso = 0;
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
2500
txq->tx_cso = 0;
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
2501
txq->vlan_ins = 0;
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
2502
txq->q.stops = 0;
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
2503
txq->q.restarts = 0;
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
2504
txq->mapping_err = 0;
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
2565
struct sge_eth_txq *txq = s->ethtxq;
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
2570
for (qs = 0; qs < adapter->sge.ethqsets; qs++, rxq++, txq++) {
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
2573
if (txq->q.desc) {
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
2574
t4vf_eth_eq_free(adapter, txq->q.cntxt_id);
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
2575
free_tx_desc(adapter, &txq->q, txq->q.in_use, true);
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
2576
kfree(txq->q.sdesc);
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
2577
free_txq(adapter, &txq->q);
drivers/net/ethernet/chelsio/inline_crypto/ch_ipsec/chcr_ipsec.c
599
netif_tx_stop_queue(q->txq);
drivers/net/ethernet/chelsio/inline_crypto/ch_ipsec/chcr_ipsec.c
688
netif_tx_stop_queue(q->txq);
drivers/net/ethernet/chelsio/inline_crypto/ch_ktls/chcr_common.h
96
netif_tx_stop_queue(q->txq);
drivers/net/ethernet/cisco/enic/enic_main.c
843
struct netdev_queue *txq;
drivers/net/ethernet/cisco/enic/enic_main.c
854
txq = netdev_get_tx_queue(netdev, txq_map);
drivers/net/ethernet/cisco/enic/enic_main.c
873
netif_tx_stop_queue(txq);
drivers/net/ethernet/cisco/enic/enic_main.c
885
netif_tx_stop_queue(txq);
drivers/net/ethernet/cisco/enic/enic_main.c
889
if (!netdev_xmit_more() || netif_xmit_stopped(txq))
drivers/net/ethernet/cortina/gemini.c
1105
unsigned int txq, int en)
drivers/net/ethernet/cortina/gemini.c
1116
mask = GMAC0_IRQ0_TXQ0_INTS << (6 * netdev->dev_id + txq);
drivers/net/ethernet/cortina/gemini.c
1137
struct gmac_txq *txq, unsigned short *desc)
drivers/net/ethernet/cortina/gemini.c
1239
txq->skb[w] = skb;
drivers/net/ethernet/cortina/gemini.c
1247
txd = txq->ring + w;
drivers/net/ethernet/cortina/gemini.c
1267
dma_unmap_page(geth->dev, txq->ring[w].word2.buf_adr,
drivers/net/ethernet/cortina/gemini.c
1268
txq->ring[w].word0.bits.buffer_size,
drivers/net/ethernet/cortina/gemini.c
1282
struct gmac_txq *txq;
drivers/net/ethernet/cortina/gemini.c
129
struct gmac_txq txq[TX_QUEUE_NUM];
drivers/net/ethernet/cortina/gemini.c
1291
txq = &port->txq[txq_num];
drivers/net/ethernet/cortina/gemini.c
1299
d = txq->cptr - w - 1;
drivers/net/ethernet/cortina/gemini.c
1303
gmac_clean_txq(netdev, txq, r);
drivers/net/ethernet/cortina/gemini.c
1304
d = txq->cptr - w - 1;
drivers/net/ethernet/cortina/gemini.c
1310
d = txq->cptr + nfrags + 16;
drivers/net/ethernet/cortina/gemini.c
1312
txq->ring[d].word3.bits.eofie = 1;
drivers/net/ethernet/cortina/gemini.c
1322
if (gmac_map_tx_bufs(netdev, skb, txq, &w)) {
drivers/net/ethernet/cortina/gemini.c
1330
if (gmac_map_tx_bufs(netdev, skb, txq, &w))
drivers/net/ethernet/cortina/gemini.c
1336
gmac_clean_txq(netdev, txq, r);
drivers/net/ethernet/cortina/gemini.c
550
struct gmac_txq *txq = port->txq;
drivers/net/ethernet/cortina/gemini.c
584
txq->ring = desc_ring;
drivers/net/ethernet/cortina/gemini.c
585
txq->skb = skb_tab;
drivers/net/ethernet/cortina/gemini.c
586
txq->noirq_packets = 0;
drivers/net/ethernet/cortina/gemini.c
592
txq->cptr = r;
drivers/net/ethernet/cortina/gemini.c
594
txq++;
drivers/net/ethernet/cortina/gemini.c
602
static void gmac_clean_txq(struct net_device *netdev, struct gmac_txq *txq,
drivers/net/ethernet/cortina/gemini.c
608
unsigned int c = txq->cptr;
drivers/net/ethernet/cortina/gemini.c
624
txd = txq->ring + c;
drivers/net/ethernet/cortina/gemini.c
634
dev_kfree_skb(txq->skb[c]);
drivers/net/ethernet/cortina/gemini.c
671
txq->cptr = c;
drivers/net/ethernet/cortina/gemini.c
690
gmac_clean_txq(netdev, port->txq + i, r);
drivers/net/ethernet/cortina/gemini.c
694
kfree(port->txq->skb);
drivers/net/ethernet/cortina/gemini.c
696
n_txq * sizeof(*port->txq->ring) << port->txq_order,
drivers/net/ethernet/cortina/gemini.c
697
port->txq->ring, port->txq_dma_base);
drivers/net/ethernet/davicom/dm9051.c
1009
skb_queue_purge(&db->txq);
drivers/net/ethernet/davicom/dm9051.c
1020
skb_queue_tail(&db->txq, skb);
drivers/net/ethernet/davicom/dm9051.c
1021
if (skb_queue_len(&db->txq) > DM9051_TX_QUE_HI_WATER)
drivers/net/ethernet/davicom/dm9051.c
104
struct sk_buff_head txq;
drivers/net/ethernet/davicom/dm9051.c
1214
skb_queue_head_init(&db->txq);
drivers/net/ethernet/davicom/dm9051.c
845
while (!skb_queue_empty(&db->txq)) {
drivers/net/ethernet/davicom/dm9051.c
849
skb = skb_dequeue(&db->txq);
drivers/net/ethernet/davicom/dm9051.c
864
(skb_queue_len(&db->txq) < DM9051_TX_QUE_LO_WATER))
drivers/net/ethernet/emulex/benet/be_cmds.c
1364
struct be_queue_info *txq = &txo->q;
drivers/net/ethernet/emulex/benet/be_cmds.c
1366
struct be_dma_mem *q_mem = &txq->dma_mem;
drivers/net/ethernet/emulex/benet/be_cmds.c
1388
req->queue_size = be_encoded_q_len(txq->len);
drivers/net/ethernet/emulex/benet/be_cmds.c
1396
txq->id = le16_to_cpu(resp->cid);
drivers/net/ethernet/emulex/benet/be_cmds.c
1401
txq->created = true;
drivers/net/ethernet/emulex/benet/be_main.c
1226
struct be_queue_info *txq = &txo->q;
drivers/net/ethernet/emulex/benet/be_main.c
1227
struct be_eth_hdr_wrb *hdr = queue_index_node(txq, txo->last_req_hdr);
drivers/net/ethernet/emulex/benet/be_main.c
1235
wrb_fill_dummy(queue_head_node(txq));
drivers/net/ethernet/emulex/benet/be_main.c
1236
queue_head_inc(txq);
drivers/net/ethernet/emulex/benet/be_main.c
1237
atomic_inc(&txq->used);
drivers/net/ethernet/emulex/benet/be_main.c
2756
struct be_queue_info *txq = &txo->q;
drivers/net/ethernet/emulex/benet/be_main.c
2764
if (sent_skbs[txq->tail]) {
drivers/net/ethernet/emulex/benet/be_main.c
2768
skb = sent_skbs[txq->tail];
drivers/net/ethernet/emulex/benet/be_main.c
2769
sent_skbs[txq->tail] = NULL;
drivers/net/ethernet/emulex/benet/be_main.c
2770
queue_tail_inc(txq); /* skip hdr wrb */
drivers/net/ethernet/emulex/benet/be_main.c
2774
wrb = queue_tail_node(txq);
drivers/net/ethernet/emulex/benet/be_main.c
2775
frag_index = txq->tail;
drivers/net/ethernet/emulex/benet/be_main.c
2779
queue_tail_inc(txq);
drivers/net/ethernet/emulex/benet/be_main.c
2876
struct be_queue_info *txq;
drivers/net/ethernet/emulex/benet/be_main.c
2888
txq = &txo->q;
drivers/net/ethernet/emulex/benet/be_main.c
2897
atomic_sub(num_wrbs, &txq->used);
drivers/net/ethernet/emulex/benet/be_main.c
2913
txq = &txo->q;
drivers/net/ethernet/emulex/benet/be_main.c
2915
if (atomic_read(&txq->used)) {
drivers/net/ethernet/emulex/benet/be_main.c
2917
i, atomic_read(&txq->used));
drivers/net/ethernet/emulex/benet/be_main.c
2918
notified_idx = txq->tail;
drivers/net/ethernet/emulex/benet/be_main.c
2919
end_idx = txq->tail;
drivers/net/ethernet/emulex/benet/be_main.c
2920
index_adv(&end_idx, atomic_read(&txq->used) - 1,
drivers/net/ethernet/emulex/benet/be_main.c
2921
txq->len);
drivers/net/ethernet/emulex/benet/be_main.c
2926
atomic_sub(num_wrbs, &txq->used);
drivers/net/ethernet/emulex/benet/be_main.c
2927
BUG_ON(atomic_read(&txq->used));
drivers/net/ethernet/emulex/benet/be_main.c
2932
txq->head = notified_idx;
drivers/net/ethernet/emulex/benet/be_main.c
2933
txq->tail = notified_idx;
drivers/net/ethernet/emulex/benet/be_main.c
932
struct be_queue_info *txq = &txo->q;
drivers/net/ethernet/emulex/benet/be_main.c
933
struct be_eth_hdr_wrb *hdr = queue_index_node(txq, head);
drivers/net/ethernet/emulex/benet/be_main.c
941
atomic_add(num_frags, &txq->used);
drivers/net/ethernet/emulex/benet/be_main.c
951
struct be_queue_info *txq = &txo->q;
drivers/net/ethernet/emulex/benet/be_main.c
953
wrb = queue_head_node(txq);
drivers/net/ethernet/emulex/benet/be_main.c
955
queue_head_inc(txq);
drivers/net/ethernet/emulex/benet/be_main.c
968
struct be_queue_info *txq = &txo->q;
drivers/net/ethernet/emulex/benet/be_main.c
971
txq->head = head;
drivers/net/ethernet/emulex/benet/be_main.c
974
queue_head_inc(txq);
drivers/net/ethernet/emulex/benet/be_main.c
976
wrb = queue_head_node(txq);
drivers/net/ethernet/emulex/benet/be_main.c
980
queue_head_inc(txq);
drivers/net/ethernet/emulex/benet/be_main.c
983
txq->head = head;
drivers/net/ethernet/faraday/ftgmac100.c
725
struct netdev_queue *txq;
drivers/net/ethernet/faraday/ftgmac100.c
727
txq = netdev_get_tx_queue(netdev, 0);
drivers/net/ethernet/faraday/ftgmac100.c
728
__netif_tx_lock(txq, smp_processor_id());
drivers/net/ethernet/faraday/ftgmac100.c
732
__netif_tx_unlock(txq);
drivers/net/ethernet/freescale/dpaa/dpaa_eth.c
2298
struct netdev_queue *txq;
drivers/net/ethernet/freescale/dpaa/dpaa_eth.c
2364
txq = netdev_get_tx_queue(net_dev, queue_mapping);
drivers/net/ethernet/freescale/dpaa/dpaa_eth.c
2367
txq_trans_cond_update(txq);
drivers/net/ethernet/freescale/dpaa/dpaa_eth.c
2524
struct netdev_queue *txq;
drivers/net/ethernet/freescale/dpaa/dpaa_eth.c
2572
txq = netdev_get_tx_queue(net_dev, smp_processor_id());
drivers/net/ethernet/freescale/dpaa/dpaa_eth.c
2573
txq_trans_cond_update(txq);
drivers/net/ethernet/freescale/fec_main.c
1013
txq = fep->tx_queue[q];
drivers/net/ethernet/freescale/fec_main.c
1014
bdp = txq->bd.base;
drivers/net/ethernet/freescale/fec_main.c
1015
txq->bd.cur = bdp;
drivers/net/ethernet/freescale/fec_main.c
1017
for (i = 0; i < txq->bd.ring_size; i++) {
drivers/net/ethernet/freescale/fec_main.c
1023
switch (txq->tx_buf[i].type) {
drivers/net/ethernet/freescale/fec_main.c
1026
!IS_TSO_HEADER(txq, fec32_to_cpu(bdp->cbd_bufaddr)))
drivers/net/ethernet/freescale/fec_main.c
1031
dev_kfree_skb_any(txq->tx_buf[i].buf_p);
drivers/net/ethernet/freescale/fec_main.c
1038
xdp_return_frame(txq->tx_buf[i].buf_p);
drivers/net/ethernet/freescale/fec_main.c
1041
page = txq->tx_buf[i].buf_p;
drivers/net/ethernet/freescale/fec_main.c
1046
xsk_buff_free(txq->tx_buf[i].buf_p);
drivers/net/ethernet/freescale/fec_main.c
1052
txq->tx_buf[i].buf_p = NULL;
drivers/net/ethernet/freescale/fec_main.c
1054
txq->tx_buf[i].type = FEC_TXBUF_T_SKB;
drivers/net/ethernet/freescale/fec_main.c
1056
bdp = fec_enet_get_nextdesc(bdp, &txq->bd);
drivers/net/ethernet/freescale/fec_main.c
1060
bdp = fec_enet_get_prevdesc(bdp, &txq->bd);
drivers/net/ethernet/freescale/fec_main.c
1062
txq->dirty_tx = bdp;
drivers/net/ethernet/freescale/fec_main.c
1078
struct fec_enet_priv_tx_q *txq;
drivers/net/ethernet/freescale/fec_main.c
1094
txq = fep->tx_queue[i];
drivers/net/ethernet/freescale/fec_main.c
1095
writel(txq->bd.dma, fep->hwp + FEC_X_DES_START(i));
drivers/net/ethernet/freescale/fec_main.c
1486
struct fec_enet_priv_tx_q *txq = fep->tx_queue[queue];
drivers/net/ethernet/freescale/fec_main.c
1501
free_bds = fec_enet_get_free_txdesc_num(txq);
drivers/net/ethernet/freescale/fec_main.c
1510
bdp = txq->bd.cur;
drivers/net/ethernet/freescale/fec_main.c
1515
j = fec_enet_get_bd_index(bdp, &txq->bd);
drivers/net/ethernet/freescale/fec_main.c
1516
txq->tx_buf[j].type = FEC_TXBUF_T_XSK_XMIT;
drivers/net/ethernet/freescale/fec_main.c
1517
txq->tx_buf[j].buf_p = NULL;
drivers/net/ethernet/freescale/fec_main.c
1530
estatus |= FEC_TX_BD_FTYPE(txq->bd.qid);
drivers/net/ethernet/freescale/fec_main.c
1548
bdp = fec_enet_get_nextdesc(bdp, &txq->bd);
drivers/net/ethernet/freescale/fec_main.c
1549
txq->bd.cur = bdp;
drivers/net/ethernet/freescale/fec_main.c
1553
fec_txq_trigger_xmit(fep, txq);
drivers/net/ethernet/freescale/fec_main.c
1569
struct fec_enet_priv_tx_q *txq = fep->tx_queue[queue];
drivers/net/ethernet/freescale/fec_main.c
1571
struct bufdesc *bdp = txq->dirty_tx;
drivers/net/ethernet/freescale/fec_main.c
1580
bdp = fec_enet_get_nextdesc(bdp, &txq->bd);
drivers/net/ethernet/freescale/fec_main.c
1582
while (bdp != READ_ONCE(txq->bd.cur)) {
drivers/net/ethernet/freescale/fec_main.c
1589
index = fec_enet_get_bd_index(bdp, &txq->bd);
drivers/net/ethernet/freescale/fec_main.c
1590
tx_buf = &txq->tx_buf[index];
drivers/net/ethernet/freescale/fec_main.c
1596
!IS_TSO_HEADER(txq, fec32_to_cpu(bdp->cbd_bufaddr)))
drivers/net/ethernet/freescale/fec_main.c
1698
txq->dirty_tx = bdp;
drivers/net/ethernet/freescale/fec_main.c
1701
bdp = fec_enet_get_nextdesc(bdp, &txq->bd);
drivers/net/ethernet/freescale/fec_main.c
1706
entries_free = fec_enet_get_free_txdesc_num(txq);
drivers/net/ethernet/freescale/fec_main.c
1707
if (entries_free >= txq->tx_wake_threshold)
drivers/net/ethernet/freescale/fec_main.c
1715
if (bdp != txq->bd.cur &&
drivers/net/ethernet/freescale/fec_main.c
1716
readl(txq->bd.reg_desc_active) == 0)
drivers/net/ethernet/freescale/fec_main.c
1717
writel(0, txq->bd.reg_desc_active);
drivers/net/ethernet/freescale/fec_main.c
1719
if (txq->xsk_pool) {
drivers/net/ethernet/freescale/fec_main.c
1720
struct xsk_buff_pool *pool = txq->xsk_pool;
drivers/net/ethernet/freescale/fec_main.c
2207
struct fec_enet_priv_tx_q *txq = fep->tx_queue[queue];
drivers/net/ethernet/freescale/fec_main.c
2209
u32 headroom = txq->xsk_pool->headroom;
drivers/net/ethernet/freescale/fec_main.c
2220
if (!fec_enet_get_free_txdesc_num(txq)) {
drivers/net/ethernet/freescale/fec_main.c
2227
bdp = txq->bd.cur;
drivers/net/ethernet/freescale/fec_main.c
2231
index = fec_enet_get_bd_index(bdp, &txq->bd);
drivers/net/ethernet/freescale/fec_main.c
2234
xsk_buff_raw_dma_sync_for_device(txq->xsk_pool, dma, len);
drivers/net/ethernet/freescale/fec_main.c
2236
txq->tx_buf[index].buf_p = xsk;
drivers/net/ethernet/freescale/fec_main.c
2237
txq->tx_buf[index].type = FEC_TXBUF_T_XSK_TX;
drivers/net/ethernet/freescale/fec_main.c
2250
estatus |= FEC_TX_BD_FTYPE(txq->bd.qid);
drivers/net/ethernet/freescale/fec_main.c
2261
bdp = fec_enet_get_nextdesc(bdp, &txq->bd);
drivers/net/ethernet/freescale/fec_main.c
2262
txq->bd.cur = bdp;
drivers/net/ethernet/freescale/fec_main.c
311
#define IS_TSO_HEADER(txq, addr) \
drivers/net/ethernet/freescale/fec_main.c
312
((addr >= txq->tso_hdrs_dma) && \
drivers/net/ethernet/freescale/fec_main.c
313
(addr < txq->tso_hdrs_dma + txq->bd.ring_size * TSO_HEADER_SIZE))
drivers/net/ethernet/freescale/fec_main.c
337
static int fec_enet_get_free_txdesc_num(struct fec_enet_priv_tx_q *txq)
drivers/net/ethernet/freescale/fec_main.c
341
entries = (((const char *)txq->dirty_tx -
drivers/net/ethernet/freescale/fec_main.c
342
(const char *)txq->bd.cur) >> txq->bd.dsize_log2) - 1;
drivers/net/ethernet/freescale/fec_main.c
344
return entries >= 0 ? entries : entries + txq->bd.ring_size;
drivers/net/ethernet/freescale/fec_main.c
360
struct fec_enet_priv_tx_q *txq;
drivers/net/ethernet/freescale/fec_main.c
366
txq = fep->tx_queue[0];
drivers/net/ethernet/freescale/fec_main.c
367
bdp = txq->bd.base;
drivers/net/ethernet/freescale/fec_main.c
372
bdp == txq->bd.cur ? 'S' : ' ',
drivers/net/ethernet/freescale/fec_main.c
373
bdp == txq->dirty_tx ? 'H' : ' ',
drivers/net/ethernet/freescale/fec_main.c
377
txq->tx_buf[index].buf_p);
drivers/net/ethernet/freescale/fec_main.c
378
bdp = fec_enet_get_nextdesc(bdp, &txq->bd);
drivers/net/ethernet/freescale/fec_main.c
380
} while (bdp != txq->bd.base);
drivers/net/ethernet/freescale/fec_main.c
3881
struct fec_enet_priv_tx_q *txq;
drivers/net/ethernet/freescale/fec_main.c
3897
txq = fep->tx_queue[q];
drivers/net/ethernet/freescale/fec_main.c
3898
for (i = 0; i < txq->bd.ring_size; i++) {
drivers/net/ethernet/freescale/fec_main.c
3899
kfree(txq->tx_bounce[i]);
drivers/net/ethernet/freescale/fec_main.c
3900
txq->tx_bounce[i] = NULL;
drivers/net/ethernet/freescale/fec_main.c
3902
switch (txq->tx_buf[i].type) {
drivers/net/ethernet/freescale/fec_main.c
3904
dev_kfree_skb(txq->tx_buf[i].buf_p);
drivers/net/ethernet/freescale/fec_main.c
3907
xdp_return_frame(txq->tx_buf[i].buf_p);
drivers/net/ethernet/freescale/fec_main.c
3910
page = txq->tx_buf[i].buf_p;
drivers/net/ethernet/freescale/fec_main.c
3915
xsk_buff_free(txq->tx_buf[i].buf_p);
drivers/net/ethernet/freescale/fec_main.c
3921
txq->tx_buf[i].buf_p = NULL;
drivers/net/ethernet/freescale/fec_main.c
3922
txq->tx_buf[i].type = FEC_TXBUF_T_SKB;
drivers/net/ethernet/freescale/fec_main.c
3931
struct fec_enet_priv_tx_q *txq;
drivers/net/ethernet/freescale/fec_main.c
3935
txq = fep->tx_queue[i];
drivers/net/ethernet/freescale/fec_main.c
3937
txq->bd.ring_size * TSO_HEADER_SIZE,
drivers/net/ethernet/freescale/fec_main.c
3938
txq->tso_hdrs, txq->tso_hdrs_dma);
drivers/net/ethernet/freescale/fec_main.c
3952
struct fec_enet_priv_tx_q *txq;
drivers/net/ethernet/freescale/fec_main.c
3955
txq = kzalloc_obj(*txq);
drivers/net/ethernet/freescale/fec_main.c
3956
if (!txq) {
drivers/net/ethernet/freescale/fec_main.c
3961
fep->tx_queue[i] = txq;
drivers/net/ethernet/freescale/fec_main.c
3962
txq->bd.ring_size = TX_RING_SIZE;
drivers/net/ethernet/freescale/fec_main.c
3965
txq->tx_stop_threshold = FEC_MAX_SKB_DESCS;
drivers/net/ethernet/freescale/fec_main.c
3966
txq->tx_wake_threshold = FEC_MAX_SKB_DESCS + 2 * MAX_SKB_FRAGS;
drivers/net/ethernet/freescale/fec_main.c
3968
txq->tso_hdrs = fec_dma_alloc(&fep->pdev->dev,
drivers/net/ethernet/freescale/fec_main.c
3969
txq->bd.ring_size * TSO_HEADER_SIZE,
drivers/net/ethernet/freescale/fec_main.c
3970
&txq->tso_hdrs_dma, GFP_KERNEL);
drivers/net/ethernet/freescale/fec_main.c
3971
if (!txq->tso_hdrs) {
drivers/net/ethernet/freescale/fec_main.c
4107
struct fec_enet_priv_tx_q *txq;
drivers/net/ethernet/freescale/fec_main.c
4109
txq = fep->tx_queue[queue];
drivers/net/ethernet/freescale/fec_main.c
4110
bdp = txq->bd.base;
drivers/net/ethernet/freescale/fec_main.c
4111
for (i = 0; i < txq->bd.ring_size; i++) {
drivers/net/ethernet/freescale/fec_main.c
4112
txq->tx_bounce[i] = kmalloc(FEC_ENET_TX_FRSIZE, GFP_KERNEL);
drivers/net/ethernet/freescale/fec_main.c
4113
if (!txq->tx_bounce[i])
drivers/net/ethernet/freescale/fec_main.c
4124
bdp = fec_enet_get_nextdesc(bdp, &txq->bd);
drivers/net/ethernet/freescale/fec_main.c
4128
bdp = fec_enet_get_prevdesc(bdp, &txq->bd);
drivers/net/ethernet/freescale/fec_main.c
4526
struct fec_enet_priv_tx_q *txq = fep->tx_queue[queue];
drivers/net/ethernet/freescale/fec_main.c
4546
txq->xsk_pool = pool;
drivers/net/ethernet/freescale/fec_main.c
4575
struct fec_enet_priv_tx_q *txq = fep->tx_queue[queue];
drivers/net/ethernet/freescale/fec_main.c
4578
txq->xsk_pool = pool;
drivers/net/ethernet/freescale/fec_main.c
4595
struct fec_enet_priv_tx_q *txq = fep->tx_queue[queue];
drivers/net/ethernet/freescale/fec_main.c
4596
struct xsk_buff_pool *old_pool = txq->xsk_pool;
drivers/net/ethernet/freescale/fec_main.c
4604
txq->xsk_pool = NULL;
drivers/net/ethernet/freescale/fec_main.c
4675
struct fec_enet_priv_tx_q *txq,
drivers/net/ethernet/freescale/fec_main.c
4685
entries_free = fec_enet_get_free_txdesc_num(txq);
drivers/net/ethernet/freescale/fec_main.c
4692
bdp = txq->bd.cur;
drivers/net/ethernet/freescale/fec_main.c
4696
index = fec_enet_get_bd_index(bdp, &txq->bd);
drivers/net/ethernet/freescale/fec_main.c
4707
txq->tx_buf[index].buf_p = xdpf;
drivers/net/ethernet/freescale/fec_main.c
4708
txq->tx_buf[index].type = FEC_TXBUF_T_XDP_NDO;
drivers/net/ethernet/freescale/fec_main.c
4719
txq->tx_buf[index].buf_p = page;
drivers/net/ethernet/freescale/fec_main.c
4720
txq->tx_buf[index].type = FEC_TXBUF_T_XDP_TX;
drivers/net/ethernet/freescale/fec_main.c
4734
estatus |= FEC_TX_BD_FTYPE(txq->bd.qid);
drivers/net/ethernet/freescale/fec_main.c
4752
bdp = fec_enet_get_nextdesc(bdp, &txq->bd);
drivers/net/ethernet/freescale/fec_main.c
4757
txq->bd.cur = bdp;
drivers/net/ethernet/freescale/fec_main.c
4767
struct fec_enet_priv_tx_q *txq = fep->tx_queue[queue];
drivers/net/ethernet/freescale/fec_main.c
4774
ret = fec_enet_txq_xmit_frame(fep, txq, xdp, dma_sync_len, false);
drivers/net/ethernet/freescale/fec_main.c
4787
struct fec_enet_priv_tx_q *txq;
drivers/net/ethernet/freescale/fec_main.c
4795
txq = fep->tx_queue[queue];
drivers/net/ethernet/freescale/fec_main.c
4803
if (fec_enet_txq_xmit_frame(fep, txq, frames[i], 0, true) < 0)
drivers/net/ethernet/freescale/fec_main.c
4809
fec_txq_trigger_xmit(fep, txq);
drivers/net/ethernet/freescale/fec_main.c
497
struct fec_enet_priv_tx_q *txq)
drivers/net/ethernet/freescale/fec_main.c
4985
struct fec_enet_priv_tx_q *txq = fep->tx_queue[i];
drivers/net/ethernet/freescale/fec_main.c
4986
unsigned size = dsize * txq->bd.ring_size;
drivers/net/ethernet/freescale/fec_main.c
4988
txq->bd.qid = i;
drivers/net/ethernet/freescale/fec_main.c
4989
txq->bd.base = cbd_base;
drivers/net/ethernet/freescale/fec_main.c
4990
txq->bd.cur = cbd_base;
drivers/net/ethernet/freescale/fec_main.c
4991
txq->bd.dma = bd_dma;
drivers/net/ethernet/freescale/fec_main.c
4992
txq->bd.dsize = dsize;
drivers/net/ethernet/freescale/fec_main.c
4993
txq->bd.dsize_log2 = dsize_log2;
drivers/net/ethernet/freescale/fec_main.c
4994
txq->bd.reg_desc_active = fep->hwp + offset_des_active_txq[i];
drivers/net/ethernet/freescale/fec_main.c
4997
txq->bd.last = (struct bufdesc *)(((void *)cbd_base) - dsize);
drivers/net/ethernet/freescale/fec_main.c
500
!readl(txq->bd.reg_desc_active) ||
drivers/net/ethernet/freescale/fec_main.c
501
!readl(txq->bd.reg_desc_active) ||
drivers/net/ethernet/freescale/fec_main.c
502
!readl(txq->bd.reg_desc_active) ||
drivers/net/ethernet/freescale/fec_main.c
503
!readl(txq->bd.reg_desc_active))
drivers/net/ethernet/freescale/fec_main.c
504
writel(0, txq->bd.reg_desc_active);
drivers/net/ethernet/freescale/fec_main.c
508
fec_enet_txq_submit_frag_skb(struct fec_enet_priv_tx_q *txq,
drivers/net/ethernet/freescale/fec_main.c
513
struct bufdesc *bdp = txq->bd.cur;
drivers/net/ethernet/freescale/fec_main.c
527
bdp = fec_enet_get_nextdesc(bdp, &txq->bd);
drivers/net/ethernet/freescale/fec_main.c
548
estatus |= FEC_TX_BD_FTYPE(txq->bd.qid);
drivers/net/ethernet/freescale/fec_main.c
558
index = fec_enet_get_bd_index(bdp, &txq->bd);
drivers/net/ethernet/freescale/fec_main.c
561
memcpy(txq->tx_bounce[index], bufaddr, frag_len);
drivers/net/ethernet/freescale/fec_main.c
562
bufaddr = txq->tx_bounce[index];
drivers/net/ethernet/freescale/fec_main.c
587
bdp = txq->bd.cur;
drivers/net/ethernet/freescale/fec_main.c
589
bdp = fec_enet_get_nextdesc(bdp, &txq->bd);
drivers/net/ethernet/freescale/fec_main.c
596
static int fec_enet_txq_submit_skb(struct fec_enet_priv_tx_q *txq,
drivers/net/ethernet/freescale/fec_main.c
610
entries_free = fec_enet_get_free_txdesc_num(txq);
drivers/net/ethernet/freescale/fec_main.c
625
bdp = txq->bd.cur;
drivers/net/ethernet/freescale/fec_main.c
634
index = fec_enet_get_bd_index(bdp, &txq->bd);
drivers/net/ethernet/freescale/fec_main.c
637
memcpy(txq->tx_bounce[index], skb->data, buflen);
drivers/net/ethernet/freescale/fec_main.c
638
bufaddr = txq->tx_bounce[index];
drivers/net/ethernet/freescale/fec_main.c
654
last_bdp = fec_enet_txq_submit_frag_skb(txq, skb, ndev);
drivers/net/ethernet/freescale/fec_main.c
682
estatus |= FEC_TX_BD_FTYPE(txq->bd.qid);
drivers/net/ethernet/freescale/fec_main.c
691
index = fec_enet_get_bd_index(last_bdp, &txq->bd);
drivers/net/ethernet/freescale/fec_main.c
693
txq->tx_buf[index].buf_p = skb;
drivers/net/ethernet/freescale/fec_main.c
707
bdp = fec_enet_get_nextdesc(last_bdp, &txq->bd);
drivers/net/ethernet/freescale/fec_main.c
713
txq->bd.cur = bdp;
drivers/net/ethernet/freescale/fec_main.c
716
fec_txq_trigger_xmit(fep, txq);
drivers/net/ethernet/freescale/fec_main.c
722
fec_enet_txq_put_data_tso(struct fec_enet_priv_tx_q *txq, struct sk_buff *skb,
drivers/net/ethernet/freescale/fec_main.c
740
memcpy(txq->tx_bounce[index], data, size);
drivers/net/ethernet/freescale/fec_main.c
741
data = txq->tx_bounce[index];
drivers/net/ethernet/freescale/fec_main.c
760
estatus |= FEC_TX_BD_FTYPE(txq->bd.qid);
drivers/net/ethernet/freescale/fec_main.c
782
fec_enet_txq_put_hdr_tso(struct fec_enet_priv_tx_q *txq,
drivers/net/ethernet/freescale/fec_main.c
798
bufaddr = txq->tso_hdrs + index * TSO_HEADER_SIZE;
drivers/net/ethernet/freescale/fec_main.c
799
dmabuf = txq->tso_hdrs_dma + index * TSO_HEADER_SIZE;
drivers/net/ethernet/freescale/fec_main.c
802
memcpy(txq->tx_bounce[index], skb->data, hdr_len);
drivers/net/ethernet/freescale/fec_main.c
803
bufaddr = txq->tx_bounce[index];
drivers/net/ethernet/freescale/fec_main.c
823
estatus |= FEC_TX_BD_FTYPE(txq->bd.qid);
drivers/net/ethernet/freescale/fec_main.c
835
static int fec_enet_txq_submit_tso(struct fec_enet_priv_tx_q *txq,
drivers/net/ethernet/freescale/fec_main.c
841
struct bufdesc *bdp = txq->bd.cur;
drivers/net/ethernet/freescale/fec_main.c
848
if (tso_count_descs(skb) >= fec_enet_get_free_txdesc_num(txq)) {
drivers/net/ethernet/freescale/fec_main.c
868
index = fec_enet_get_bd_index(bdp, &txq->bd);
drivers/net/ethernet/freescale/fec_main.c
873
hdr = txq->tso_hdrs + index * TSO_HEADER_SIZE;
drivers/net/ethernet/freescale/fec_main.c
875
ret = fec_enet_txq_put_hdr_tso(txq, skb, ndev, bdp, index);
drivers/net/ethernet/freescale/fec_main.c
883
bdp = fec_enet_get_nextdesc(bdp, &txq->bd);
drivers/net/ethernet/freescale/fec_main.c
884
index = fec_enet_get_bd_index(bdp, &txq->bd);
drivers/net/ethernet/freescale/fec_main.c
885
ret = fec_enet_txq_put_data_tso(txq, skb, ndev,
drivers/net/ethernet/freescale/fec_main.c
897
bdp = fec_enet_get_nextdesc(bdp, &txq->bd);
drivers/net/ethernet/freescale/fec_main.c
901
txq->tx_buf[index].buf_p = skb;
drivers/net/ethernet/freescale/fec_main.c
904
txq->bd.cur = bdp;
drivers/net/ethernet/freescale/fec_main.c
907
fec_txq_trigger_xmit(fep, txq);
drivers/net/ethernet/freescale/fec_main.c
913
tmp_bdp = txq->bd.cur;
drivers/net/ethernet/freescale/fec_main.c
918
!IS_TSO_HEADER(txq, fec32_to_cpu(tmp_bdp->cbd_bufaddr)))
drivers/net/ethernet/freescale/fec_main.c
935
tmp_bdp = fec_enet_get_nextdesc(tmp_bdp, &txq->bd);
drivers/net/ethernet/freescale/fec_main.c
949
struct fec_enet_priv_tx_q *txq;
drivers/net/ethernet/freescale/fec_main.c
954
txq = fep->tx_queue[queue];
drivers/net/ethernet/freescale/fec_main.c
958
ret = fec_enet_txq_submit_tso(txq, skb, ndev);
drivers/net/ethernet/freescale/fec_main.c
960
ret = fec_enet_txq_submit_skb(txq, skb, ndev);
drivers/net/ethernet/freescale/fec_main.c
964
entries_free = fec_enet_get_free_txdesc_num(txq);
drivers/net/ethernet/freescale/fec_main.c
965
if (entries_free <= txq->tx_stop_threshold)
drivers/net/ethernet/freescale/fec_main.c
976
struct fec_enet_priv_tx_q *txq;
drivers/net/ethernet/freescale/gianfar.c
1128
struct netdev_queue *txq;
drivers/net/ethernet/freescale/gianfar.c
1131
txq = netdev_get_tx_queue(tx_queue->dev, tx_queue->qindex);
drivers/net/ethernet/freescale/gianfar.c
1134
netdev_tx_reset_queue(txq);
drivers/net/ethernet/freescale/gianfar.c
1757
struct netdev_queue *txq;
drivers/net/ethernet/freescale/gianfar.c
1770
txq = netdev_get_tx_queue(dev, rq);
drivers/net/ethernet/freescale/gianfar.c
1807
netif_tx_stop_queue(txq);
drivers/net/ethernet/freescale/gianfar.c
1932
netdev_tx_sent_queue(txq, bytes_sent);
drivers/net/ethernet/freescale/gianfar.c
1964
netif_tx_stop_queue(txq);
drivers/net/ethernet/freescale/gianfar.c
2112
struct netdev_queue *txq;
drivers/net/ethernet/freescale/gianfar.c
2128
txq = netdev_get_tx_queue(dev, tqi);
drivers/net/ethernet/freescale/gianfar.c
2209
netif_tx_queue_stopped(txq) &&
drivers/net/ethernet/freescale/gianfar.c
2217
netdev_tx_completed_queue(txq, howmany, bytes_sent);
drivers/net/ethernet/fungible/funeth/funeth_main.c
300
if (irq->txq || irq->rxq) /* skip those in use */
drivers/net/ethernet/fungible/funeth/funeth_main.c
675
if (p->txq) {
drivers/net/ethernet/fungible/funeth/funeth_main.c
677
qidx = p->txq->qidx;
drivers/net/ethernet/fungible/funeth/funeth_trace.h
15
TP_PROTO(const struct funeth_txq *txq,
drivers/net/ethernet/fungible/funeth/funeth_trace.h
20
TP_ARGS(txq, len, sqe_idx, ngle),
drivers/net/ethernet/fungible/funeth/funeth_trace.h
27
__string(devname, txq->netdev->name)
drivers/net/ethernet/fungible/funeth/funeth_trace.h
31
__entry->qidx = txq->qidx;
drivers/net/ethernet/fungible/funeth/funeth_trace.h
45
TP_PROTO(const struct funeth_txq *txq,
drivers/net/ethernet/fungible/funeth/funeth_trace.h
50
TP_ARGS(txq, sqe_idx, num_sqes, hw_head),
drivers/net/ethernet/fungible/funeth/funeth_trace.h
57
__string(devname, txq->netdev->name)
drivers/net/ethernet/fungible/funeth/funeth_trace.h
61
__entry->qidx = txq->qidx;
drivers/net/ethernet/fungible/funeth/funeth_tx.c
471
struct funeth_txq *q = irq->txq;
drivers/net/ethernet/fungible/funeth/funeth_tx.c
708
irq->txq = q;
drivers/net/ethernet/fungible/funeth/funeth_tx.c
747
q->irq->txq = NULL;
drivers/net/ethernet/fungible/funeth/funeth_txrx.h
218
struct funeth_txq *txq;
drivers/net/ethernet/hisilicon/hisi_femac.c
120
struct hisi_femac_queue txq;
drivers/net/ethernet/hisilicon/hisi_femac.c
147
dma_addr = priv->txq.dma_phys[pos];
drivers/net/ethernet/hisilicon/hisi_femac.c
155
struct hisi_femac_queue *txq = &priv->txq;
drivers/net/ethernet/hisilicon/hisi_femac.c
163
skb = txq->skb[txq->tail];
drivers/net/ethernet/hisilicon/hisi_femac.c
169
hisi_femac_tx_dma_unmap(priv, skb, txq->tail);
drivers/net/ethernet/hisilicon/hisi_femac.c
177
txq->skb[txq->tail] = NULL;
drivers/net/ethernet/hisilicon/hisi_femac.c
178
txq->tail = (txq->tail + 1) % txq->num;
drivers/net/ethernet/hisilicon/hisi_femac.c
372
ret = hisi_femac_init_queue(priv->dev, &priv->txq, TXQ_NUM);
drivers/net/ethernet/hisilicon/hisi_femac.c
387
struct hisi_femac_queue *txq = &priv->txq;
drivers/net/ethernet/hisilicon/hisi_femac.c
412
pos = txq->tail;
drivers/net/ethernet/hisilicon/hisi_femac.c
413
while (pos != txq->head) {
drivers/net/ethernet/hisilicon/hisi_femac.c
414
skb = txq->skb[pos];
drivers/net/ethernet/hisilicon/hisi_femac.c
417
pos, txq->head);
drivers/net/ethernet/hisilicon/hisi_femac.c
422
txq->skb[pos] = NULL;
drivers/net/ethernet/hisilicon/hisi_femac.c
423
pos = (pos + 1) % txq->num;
drivers/net/ethernet/hisilicon/hisi_femac.c
425
txq->tail = pos;
drivers/net/ethernet/hisilicon/hisi_femac.c
503
struct hisi_femac_queue *txq = &priv->txq;
drivers/net/ethernet/hisilicon/hisi_femac.c
517
if (unlikely(!CIRC_SPACE(txq->head, txq->tail,
drivers/net/ethernet/hisilicon/hisi_femac.c
518
txq->num))) {
drivers/net/ethernet/hisilicon/hisi_femac.c
533
txq->dma_phys[txq->head] = addr;
drivers/net/ethernet/hisilicon/hisi_femac.c
535
txq->skb[txq->head] = skb;
drivers/net/ethernet/hisilicon/hisi_femac.c
536
txq->head = (txq->head + 1) % txq->num;
drivers/net/ethernet/huawei/hinic/hinic_main.c
100
hinic_txq_get_stats(txq, &tx_stats);
drivers/net/ethernet/huawei/hinic/hinic_main.c
96
static void gather_tx_stats(struct hinic_txq_stats *nic_tx_stats, struct hinic_txq *txq)
drivers/net/ethernet/huawei/hinic/hinic_tx.c
116
static void txq_stats_init(struct hinic_txq *txq)
drivers/net/ethernet/huawei/hinic/hinic_tx.c
118
struct hinic_txq_stats *txq_stats = &txq->txq_stats;
drivers/net/ethernet/huawei/hinic/hinic_tx.c
121
hinic_txq_clean_stats(txq);
drivers/net/ethernet/huawei/hinic/hinic_tx.c
499
struct hinic_txq *txq;
drivers/net/ethernet/huawei/hinic/hinic_tx.c
502
txq = &nic_dev->txqs[q_id];
drivers/net/ethernet/huawei/hinic/hinic_tx.c
503
qp = container_of(txq->sq, struct hinic_qp, sq);
drivers/net/ethernet/huawei/hinic/hinic_tx.c
506
err = tx_map_skb(nic_dev, skb, txq->sges);
drivers/net/ethernet/huawei/hinic/hinic_tx.c
512
sq_wqe = hinic_sq_get_wqe(txq->sq, wqe_size, &prod_idx);
drivers/net/ethernet/huawei/hinic/hinic_tx.c
516
sq_wqe = hinic_sq_get_wqe(txq->sq, wqe_size, &prod_idx);
drivers/net/ethernet/huawei/hinic/hinic_tx.c
522
tx_unmap_skb(nic_dev, skb, txq->sges);
drivers/net/ethernet/huawei/hinic/hinic_tx.c
524
u64_stats_update_begin(&txq->txq_stats.syncp);
drivers/net/ethernet/huawei/hinic/hinic_tx.c
525
txq->txq_stats.tx_busy++;
drivers/net/ethernet/huawei/hinic/hinic_tx.c
526
u64_stats_update_end(&txq->txq_stats.syncp);
drivers/net/ethernet/huawei/hinic/hinic_tx.c
533
hinic_sq_prepare_wqe(txq->sq, sq_wqe, txq->sges, nr_sges);
drivers/net/ethernet/huawei/hinic/hinic_tx.c
534
hinic_sq_write_wqe(txq->sq, prod_idx, sq_wqe, skb, wqe_size);
drivers/net/ethernet/huawei/hinic/hinic_tx.c
539
hinic_sq_write_db(txq->sq, prod_idx, wqe_size, 0);
drivers/net/ethernet/huawei/hinic/hinic_tx.c
545
u64_stats_update_begin(&txq->txq_stats.syncp);
drivers/net/ethernet/huawei/hinic/hinic_tx.c
546
txq->txq_stats.tx_dropped++;
drivers/net/ethernet/huawei/hinic/hinic_tx.c
547
u64_stats_update_end(&txq->txq_stats.syncp);
drivers/net/ethernet/huawei/hinic/hinic_tx.c
560
struct hinic_txq *txq;
drivers/net/ethernet/huawei/hinic/hinic_tx.c
563
txq = &nic_dev->txqs[q_id];
drivers/net/ethernet/huawei/hinic/hinic_tx.c
564
qp = container_of(txq->sq, struct hinic_qp, sq);
drivers/net/ethernet/huawei/hinic/hinic_tx.c
577
u64_stats_update_begin(&txq->txq_stats.syncp);
drivers/net/ethernet/huawei/hinic/hinic_tx.c
578
txq->txq_stats.big_frags_pkts++;
drivers/net/ethernet/huawei/hinic/hinic_tx.c
579
u64_stats_update_end(&txq->txq_stats.syncp);
drivers/net/ethernet/huawei/hinic/hinic_tx.c
582
if (nr_sges > txq->max_sges) {
drivers/net/ethernet/huawei/hinic/hinic_tx.c
587
err = tx_map_skb(nic_dev, skb, txq->sges);
drivers/net/ethernet/huawei/hinic/hinic_tx.c
593
sq_wqe = hinic_sq_get_wqe(txq->sq, wqe_size, &prod_idx);
drivers/net/ethernet/huawei/hinic/hinic_tx.c
600
sq_wqe = hinic_sq_get_wqe(txq->sq, wqe_size, &prod_idx);
drivers/net/ethernet/huawei/hinic/hinic_tx.c
606
tx_unmap_skb(nic_dev, skb, txq->sges);
drivers/net/ethernet/huawei/hinic/hinic_tx.c
608
u64_stats_update_begin(&txq->txq_stats.syncp);
drivers/net/ethernet/huawei/hinic/hinic_tx.c
609
txq->txq_stats.tx_busy++;
drivers/net/ethernet/huawei/hinic/hinic_tx.c
610
u64_stats_update_end(&txq->txq_stats.syncp);
drivers/net/ethernet/huawei/hinic/hinic_tx.c
617
hinic_sq_prepare_wqe(txq->sq, sq_wqe, txq->sges, nr_sges);
drivers/net/ethernet/huawei/hinic/hinic_tx.c
623
hinic_sq_write_wqe(txq->sq, prod_idx, sq_wqe, skb, wqe_size);
drivers/net/ethernet/huawei/hinic/hinic_tx.c
628
hinic_sq_write_db(txq->sq, prod_idx, wqe_size, 0);
drivers/net/ethernet/huawei/hinic/hinic_tx.c
633
hinic_sq_return_wqe(txq->sq, wqe_size);
drivers/net/ethernet/huawei/hinic/hinic_tx.c
634
tx_unmap_skb(nic_dev, skb, txq->sges);
drivers/net/ethernet/huawei/hinic/hinic_tx.c
640
u64_stats_update_begin(&txq->txq_stats.syncp);
drivers/net/ethernet/huawei/hinic/hinic_tx.c
641
txq->txq_stats.tx_dropped++;
drivers/net/ethernet/huawei/hinic/hinic_tx.c
642
u64_stats_update_end(&txq->txq_stats.syncp);
drivers/net/ethernet/huawei/hinic/hinic_tx.c
665
static void free_all_tx_skbs(struct hinic_txq *txq)
drivers/net/ethernet/huawei/hinic/hinic_tx.c
667
struct hinic_dev *nic_dev = netdev_priv(txq->netdev);
drivers/net/ethernet/huawei/hinic/hinic_tx.c
668
struct hinic_sq *sq = txq->sq;
drivers/net/ethernet/huawei/hinic/hinic_tx.c
682
hinic_sq_get_sges(sq_wqe, txq->free_sges, nr_sges);
drivers/net/ethernet/huawei/hinic/hinic_tx.c
686
tx_free_skb(nic_dev, skb, txq->free_sges);
drivers/net/ethernet/huawei/hinic/hinic_tx.c
699
struct hinic_txq *txq = container_of(napi, struct hinic_txq, napi);
drivers/net/ethernet/huawei/hinic/hinic_tx.c
700
struct hinic_qp *qp = container_of(txq->sq, struct hinic_qp, sq);
drivers/net/ethernet/huawei/hinic/hinic_tx.c
701
struct hinic_dev *nic_dev = netdev_priv(txq->netdev);
drivers/net/ethernet/huawei/hinic/hinic_tx.c
703
struct hinic_sq *sq = txq->sq;
drivers/net/ethernet/huawei/hinic/hinic_tx.c
737
hinic_sq_get_sges(sq_wqe, txq->free_sges, nr_sges);
drivers/net/ethernet/huawei/hinic/hinic_tx.c
741
tx_free_skb(nic_dev, skb, txq->free_sges);
drivers/net/ethernet/huawei/hinic/hinic_tx.c
746
netdev_txq = netdev_get_tx_queue(txq->netdev, qp->q_id);
drivers/net/ethernet/huawei/hinic/hinic_tx.c
754
u64_stats_update_begin(&txq->txq_stats.syncp);
drivers/net/ethernet/huawei/hinic/hinic_tx.c
755
txq->txq_stats.tx_wake++;
drivers/net/ethernet/huawei/hinic/hinic_tx.c
756
u64_stats_update_end(&txq->txq_stats.syncp);
drivers/net/ethernet/huawei/hinic/hinic_tx.c
759
u64_stats_update_begin(&txq->txq_stats.syncp);
drivers/net/ethernet/huawei/hinic/hinic_tx.c
760
txq->txq_stats.bytes += tx_bytes;
drivers/net/ethernet/huawei/hinic/hinic_tx.c
761
txq->txq_stats.pkts += pkts;
drivers/net/ethernet/huawei/hinic/hinic_tx.c
762
u64_stats_update_end(&txq->txq_stats.syncp);
drivers/net/ethernet/huawei/hinic/hinic_tx.c
77
static void hinic_txq_clean_stats(struct hinic_txq *txq)
drivers/net/ethernet/huawei/hinic/hinic_tx.c
779
struct hinic_txq *txq = data;
drivers/net/ethernet/huawei/hinic/hinic_tx.c
782
nic_dev = netdev_priv(txq->netdev);
drivers/net/ethernet/huawei/hinic/hinic_tx.c
787
txq->sq->msix_entry,
drivers/net/ethernet/huawei/hinic/hinic_tx.c
79
struct hinic_txq_stats *txq_stats = &txq->txq_stats;
drivers/net/ethernet/huawei/hinic/hinic_tx.c
790
hinic_hwdev_msix_cnt_set(nic_dev->hwdev, txq->sq->msix_entry);
drivers/net/ethernet/huawei/hinic/hinic_tx.c
792
napi_schedule(&txq->napi);
drivers/net/ethernet/huawei/hinic/hinic_tx.c
796
static int tx_request_irq(struct hinic_txq *txq)
drivers/net/ethernet/huawei/hinic/hinic_tx.c
798
struct hinic_dev *nic_dev = netdev_priv(txq->netdev);
drivers/net/ethernet/huawei/hinic/hinic_tx.c
804
struct hinic_sq *sq = txq->sq;
drivers/net/ethernet/huawei/hinic/hinic_tx.c
810
netif_napi_add_weight(txq->netdev, &txq->napi, free_tx_poll,
drivers/net/ethernet/huawei/hinic/hinic_tx.c
826
netif_err(nic_dev, drv, txq->netdev,
drivers/net/ethernet/huawei/hinic/hinic_tx.c
828
netif_napi_del(&txq->napi);
drivers/net/ethernet/huawei/hinic/hinic_tx.c
832
err = request_irq(sq->irq, tx_irq, 0, txq->irq_name, txq);
drivers/net/ethernet/huawei/hinic/hinic_tx.c
835
netif_napi_del(&txq->napi);
drivers/net/ethernet/huawei/hinic/hinic_tx.c
842
static void tx_free_irq(struct hinic_txq *txq)
drivers/net/ethernet/huawei/hinic/hinic_tx.c
844
struct hinic_sq *sq = txq->sq;
drivers/net/ethernet/huawei/hinic/hinic_tx.c
846
free_irq(sq->irq, txq);
drivers/net/ethernet/huawei/hinic/hinic_tx.c
847
netif_napi_del(&txq->napi);
drivers/net/ethernet/huawei/hinic/hinic_tx.c
858
int hinic_init_txq(struct hinic_txq *txq, struct hinic_sq *sq,
drivers/net/ethernet/huawei/hinic/hinic_tx.c
866
txq->netdev = netdev;
drivers/net/ethernet/huawei/hinic/hinic_tx.c
867
txq->sq = sq;
drivers/net/ethernet/huawei/hinic/hinic_tx.c
869
txq_stats_init(txq);
drivers/net/ethernet/huawei/hinic/hinic_tx.c
871
txq->max_sges = HINIC_MAX_SQ_BUFDESCS;
drivers/net/ethernet/huawei/hinic/hinic_tx.c
873
txq->sges = devm_kcalloc(&netdev->dev, txq->max_sges,
drivers/net/ethernet/huawei/hinic/hinic_tx.c
874
sizeof(*txq->sges), GFP_KERNEL);
drivers/net/ethernet/huawei/hinic/hinic_tx.c
875
if (!txq->sges)
drivers/net/ethernet/huawei/hinic/hinic_tx.c
878
txq->free_sges = devm_kcalloc(&netdev->dev, txq->max_sges,
drivers/net/ethernet/huawei/hinic/hinic_tx.c
879
sizeof(*txq->free_sges), GFP_KERNEL);
drivers/net/ethernet/huawei/hinic/hinic_tx.c
880
if (!txq->free_sges) {
drivers/net/ethernet/huawei/hinic/hinic_tx.c
885
txq->irq_name = devm_kasprintf(&netdev->dev, GFP_KERNEL, "%s_txq%d",
drivers/net/ethernet/huawei/hinic/hinic_tx.c
887
if (!txq->irq_name) {
drivers/net/ethernet/huawei/hinic/hinic_tx.c
897
err = tx_request_irq(txq);
drivers/net/ethernet/huawei/hinic/hinic_tx.c
907
devm_kfree(&netdev->dev, txq->irq_name);
drivers/net/ethernet/huawei/hinic/hinic_tx.c
910
devm_kfree(&netdev->dev, txq->free_sges);
drivers/net/ethernet/huawei/hinic/hinic_tx.c
913
devm_kfree(&netdev->dev, txq->sges);
drivers/net/ethernet/huawei/hinic/hinic_tx.c
921
void hinic_clean_txq(struct hinic_txq *txq)
drivers/net/ethernet/huawei/hinic/hinic_tx.c
923
struct net_device *netdev = txq->netdev;
drivers/net/ethernet/huawei/hinic/hinic_tx.c
925
tx_free_irq(txq);
drivers/net/ethernet/huawei/hinic/hinic_tx.c
927
free_all_tx_skbs(txq);
drivers/net/ethernet/huawei/hinic/hinic_tx.c
929
devm_kfree(&netdev->dev, txq->irq_name);
drivers/net/ethernet/huawei/hinic/hinic_tx.c
930
devm_kfree(&netdev->dev, txq->free_sges);
drivers/net/ethernet/huawei/hinic/hinic_tx.c
931
devm_kfree(&netdev->dev, txq->sges);
drivers/net/ethernet/huawei/hinic/hinic_tx.c
96
void hinic_txq_get_stats(struct hinic_txq *txq, struct hinic_txq_stats *stats)
drivers/net/ethernet/huawei/hinic/hinic_tx.c
98
struct hinic_txq_stats *txq_stats = &txq->txq_stats;
drivers/net/ethernet/huawei/hinic/hinic_tx.h
43
void hinic_txq_get_stats(struct hinic_txq *txq, struct hinic_txq_stats *stats);
drivers/net/ethernet/huawei/hinic/hinic_tx.h
49
int hinic_init_txq(struct hinic_txq *txq, struct hinic_sq *sq,
drivers/net/ethernet/huawei/hinic/hinic_tx.h
52
void hinic_clean_txq(struct hinic_txq *txq);
drivers/net/ethernet/huawei/hinic3/hinic3_irq.c
215
irq_cfg->txq = &nic_dev->txqs[q_id];
drivers/net/ethernet/huawei/hinic3/hinic3_irq.c
41
busy |= hinic3_tx_poll(irq_cfg->txq, budget);
drivers/net/ethernet/huawei/hinic3/hinic3_netdev_ops.c
789
struct hinic3_txq *txq;
drivers/net/ethernet/huawei/hinic3/hinic3_netdev_ops.c
801
txq = &nic_dev->txqs[i];
drivers/net/ethernet/huawei/hinic3/hinic3_netdev_ops.c
802
txq_stats = &txq->txq_stats;
drivers/net/ethernet/huawei/hinic3/hinic3_nic_dev.h
74
struct hinic3_txq *txq;
drivers/net/ethernet/huawei/hinic3/hinic3_tx.c
229
static int hinic3_tx_csum(struct hinic3_txq *txq, struct hinic3_sq_task *task,
drivers/net/ethernet/huawei/hinic3/hinic3_tx.c
36
static void hinic3_txq_stats_init(struct hinic3_txq *txq)
drivers/net/ethernet/huawei/hinic3/hinic3_tx.c
38
struct hinic3_txq_stats *txq_stats = &txq->txq_stats;
drivers/net/ethernet/huawei/hinic3/hinic3_tx.c
397
__le32 *queue_info, struct hinic3_txq *txq)
drivers/net/ethernet/huawei/hinic3/hinic3_tx.c
414
tso_cs_en = hinic3_tx_csum(txq, task, skb);
drivers/net/ethernet/huawei/hinic3/hinic3_tx.c
423
txq->q_id % VLAN_INSERT_MODE_MAX);
drivers/net/ethernet/huawei/hinic3/hinic3_tx.c
447
static u16 hinic3_set_wqe_combo(struct hinic3_txq *txq,
drivers/net/ethernet/huawei/hinic3/hinic3_tx.c
454
wqe_combo->ctrl_bd0 = hinic3_wq_get_one_wqebb(&txq->sq->wq, curr_pi);
drivers/net/ethernet/huawei/hinic3/hinic3_tx.c
457
return hinic3_get_and_update_sq_owner(txq->sq, *curr_pi, 1);
drivers/net/ethernet/huawei/hinic3/hinic3_tx.c
463
wqe_combo->task = hinic3_wq_get_one_wqebb(&txq->sq->wq,
drivers/net/ethernet/huawei/hinic3/hinic3_tx.c
474
hinic3_wq_get_multi_wqebbs(&txq->sq->wq, num_sge - 1, &tmp_pi,
drivers/net/ethernet/huawei/hinic3/hinic3_tx.c
483
return hinic3_get_and_update_sq_owner(txq->sq, *curr_pi,
drivers/net/ethernet/huawei/hinic3/hinic3_tx.c
49
struct hinic3_txq *txq;
drivers/net/ethernet/huawei/hinic3/hinic3_tx.c
528
struct hinic3_txq *txq)
drivers/net/ethernet/huawei/hinic3/hinic3_tx.c
552
if (unlikely(hinic3_wq_free_wqebbs(&txq->sq->wq) < wqebb_cnt)) {
drivers/net/ethernet/huawei/hinic3/hinic3_tx.c
553
if (likely(wqebb_cnt > txq->tx_stop_thrs))
drivers/net/ethernet/huawei/hinic3/hinic3_tx.c
554
txq->tx_stop_thrs = min(wqebb_cnt, txq->tx_start_thrs);
drivers/net/ethernet/huawei/hinic3/hinic3_tx.c
556
netif_subqueue_try_stop(netdev, txq->sq->q_id,
drivers/net/ethernet/huawei/hinic3/hinic3_tx.c
557
hinic3_wq_free_wqebbs(&txq->sq->wq),
drivers/net/ethernet/huawei/hinic3/hinic3_tx.c
558
txq->tx_start_thrs);
drivers/net/ethernet/huawei/hinic3/hinic3_tx.c
56
txq = &nic_dev->txqs[q_id];
drivers/net/ethernet/huawei/hinic3/hinic3_tx.c
563
offload = hinic3_tx_offload(skb, &task, &queue_info, txq);
drivers/net/ethernet/huawei/hinic3/hinic3_tx.c
57
txq->netdev = netdev;
drivers/net/ethernet/huawei/hinic3/hinic3_tx.c
573
saved_wq_prod_idx = txq->sq->wq.prod_idx;
drivers/net/ethernet/huawei/hinic3/hinic3_tx.c
574
saved_sq_owner = txq->sq->owner;
drivers/net/ethernet/huawei/hinic3/hinic3_tx.c
576
owner = hinic3_set_wqe_combo(txq, &wqe_combo, offload, num_sge, &pi);
drivers/net/ethernet/huawei/hinic3/hinic3_tx.c
58
txq->q_id = q_id;
drivers/net/ethernet/huawei/hinic3/hinic3_tx.c
580
tx_info = &txq->tx_info[pi];
drivers/net/ethernet/huawei/hinic3/hinic3_tx.c
584
err = hinic3_tx_map_skb(netdev, skb, txq, tx_info, &wqe_combo);
drivers/net/ethernet/huawei/hinic3/hinic3_tx.c
587
txq->sq->wq.prod_idx = saved_wq_prod_idx;
drivers/net/ethernet/huawei/hinic3/hinic3_tx.c
588
txq->sq->owner = saved_sq_owner;
drivers/net/ethernet/huawei/hinic3/hinic3_tx.c
59
txq->q_depth = nic_dev->q_params.sq_depth;
drivers/net/ethernet/huawei/hinic3/hinic3_tx.c
592
netif_subqueue_sent(netdev, txq->sq->q_id, skb->len);
drivers/net/ethernet/huawei/hinic3/hinic3_tx.c
593
netif_subqueue_maybe_stop(netdev, txq->sq->q_id,
drivers/net/ethernet/huawei/hinic3/hinic3_tx.c
594
hinic3_wq_free_wqebbs(&txq->sq->wq),
drivers/net/ethernet/huawei/hinic3/hinic3_tx.c
595
txq->tx_stop_thrs,
drivers/net/ethernet/huawei/hinic3/hinic3_tx.c
596
txq->tx_start_thrs);
drivers/net/ethernet/huawei/hinic3/hinic3_tx.c
599
hinic3_write_db(txq->sq, 0, DB_CFLAG_DP_SQ,
drivers/net/ethernet/huawei/hinic3/hinic3_tx.c
60
txq->q_mask = nic_dev->q_params.sq_depth - 1;
drivers/net/ethernet/huawei/hinic3/hinic3_tx.c
600
hinic3_get_sq_local_pi(txq->sq));
drivers/net/ethernet/huawei/hinic3/hinic3_tx.c
61
txq->dev = &pdev->dev;
drivers/net/ethernet/huawei/hinic3/hinic3_tx.c
63
hinic3_txq_stats_init(txq);
drivers/net/ethernet/huawei/hinic3/hinic3_tx.c
641
static int hinic3_stop_sq(struct hinic3_txq *txq)
drivers/net/ethernet/huawei/hinic3/hinic3_tx.c
643
struct hinic3_nic_dev *nic_dev = netdev_priv(txq->netdev);
drivers/net/ethernet/huawei/hinic3/hinic3_tx.c
647
is_hw_complete_sq_process(txq->sq) || rc,
drivers/net/ethernet/huawei/hinic3/hinic3_tx.c
730
struct hinic3_txq *txq;
drivers/net/ethernet/huawei/hinic3/hinic3_tx.c
735
txq = &nic_dev->txqs[q_id];
drivers/net/ethernet/huawei/hinic3/hinic3_tx.c
738
txq->q_depth = sq_depth;
drivers/net/ethernet/huawei/hinic3/hinic3_tx.c
739
txq->q_mask = sq_depth - 1;
drivers/net/ethernet/huawei/hinic3/hinic3_tx.c
741
txq->tx_stop_thrs = min(HINIC3_DEFAULT_STOP_THRS,
drivers/net/ethernet/huawei/hinic3/hinic3_tx.c
743
txq->tx_start_thrs = min(HINIC3_DEFAULT_START_THRS,
drivers/net/ethernet/huawei/hinic3/hinic3_tx.c
746
txq->tx_info = tqres->tx_info;
drivers/net/ethernet/huawei/hinic3/hinic3_tx.c
748
txq->tx_info[idx].dma_info =
drivers/net/ethernet/huawei/hinic3/hinic3_tx.c
751
txq->sq = &nic_dev->nic_io->sq[q_id];
drivers/net/ethernet/huawei/hinic3/hinic3_tx.c
757
bool hinic3_tx_poll(struct hinic3_txq *txq, int budget)
drivers/net/ethernet/huawei/hinic3/hinic3_tx.c
759
struct net_device *netdev = txq->netdev;
drivers/net/ethernet/huawei/hinic3/hinic3_tx.c
760
u16 hw_ci, sw_ci, q_id = txq->sq->q_id;
drivers/net/ethernet/huawei/hinic3/hinic3_tx.c
766
hw_ci = hinic3_get_sq_hw_ci(txq->sq);
drivers/net/ethernet/huawei/hinic3/hinic3_tx.c
768
sw_ci = hinic3_get_sq_local_ci(txq->sq);
drivers/net/ethernet/huawei/hinic3/hinic3_tx.c
771
tx_info = &txq->tx_info[sw_ci];
drivers/net/ethernet/huawei/hinic3/hinic3_tx.c
775
((hw_ci - sw_ci) & txq->q_mask) < tx_info->wqebb_cnt)
drivers/net/ethernet/huawei/hinic3/hinic3_tx.c
778
sw_ci = (sw_ci + tx_info->wqebb_cnt) & txq->q_mask;
drivers/net/ethernet/huawei/hinic3/hinic3_tx.c
779
net_prefetch(&txq->tx_info[sw_ci]);
drivers/net/ethernet/huawei/hinic3/hinic3_tx.c
790
hinic3_wq_put_wqebbs(&txq->sq->wq, wqebb_cnt);
drivers/net/ethernet/huawei/hinic3/hinic3_tx.c
793
hinic3_wq_free_wqebbs(&txq->sq->wq),
drivers/net/ethernet/huawei/hinic3/hinic3_tx.c
794
txq->tx_start_thrs);
drivers/net/ethernet/huawei/hinic3/hinic3_tx.c
85
struct hinic3_txq *txq,
drivers/net/ethernet/huawei/hinic3/hinic3_tx.h
160
bool hinic3_tx_poll(struct hinic3_txq *txq, int budget);
drivers/net/ethernet/ibm/ehea/ehea_main.c
2022
struct netdev_queue *txq;
drivers/net/ethernet/ibm/ehea/ehea_main.c
2025
txq = netdev_get_tx_queue(dev, skb_get_queue_mapping(skb));
drivers/net/ethernet/ibm/ehea/ehea_main.c
2075
netif_tx_stop_queue(txq);
drivers/net/ethernet/ibm/ehea/ehea_main.c
2083
netif_tx_stop_queue(txq);
drivers/net/ethernet/ibm/ehea/ehea_main.c
810
struct netdev_queue *txq = netdev_get_tx_queue(pr->port->netdev,
drivers/net/ethernet/ibm/ehea/ehea_main.c
861
if (unlikely(netif_tx_queue_stopped(txq) &&
drivers/net/ethernet/ibm/ehea/ehea_main.c
863
__netif_tx_lock(txq, smp_processor_id());
drivers/net/ethernet/ibm/ehea/ehea_main.c
864
if (netif_tx_queue_stopped(txq) &&
drivers/net/ethernet/ibm/ehea/ehea_main.c
866
netif_tx_wake_queue(txq);
drivers/net/ethernet/ibm/ehea/ehea_main.c
867
__netif_tx_unlock(txq);
drivers/net/ethernet/ibm/ibmvnic.c
2431
struct netdev_queue *txq;
drivers/net/ethernet/ibm/ibmvnic.c
2457
txq = netdev_get_tx_queue(netdev, queue_num);
drivers/net/ethernet/ibm/ibmvnic.c
2597
netdev_tx_sent_queue(txq, skb->len);
drivers/net/ethernet/ibm/ibmvnic.c
2624
if (__netdev_tx_sent_queue(txq, skb->len,
drivers/net/ethernet/ibm/ibmvnic.c
2642
txq_trans_cond_update(txq);
drivers/net/ethernet/ibm/ibmvnic.c
4248
struct netdev_queue *txq;
drivers/net/ethernet/ibm/ibmvnic.c
4315
txq = netdev_get_tx_queue(adapter->netdev, scrq->pool_index);
drivers/net/ethernet/ibm/ibmvnic.c
4316
netdev_tx_completed_queue(txq, num_packets, total_bytes);
drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c
2387
qpi->txq.queue_id)) {
drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c
2392
vsi_queue_id = qpi->txq.queue_id;
drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c
2394
if (qpi->txq.vsi_id != qci->vsi_id ||
drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c
2413
&qpi->txq)) {
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
408
vqpi->txq.vsi_id = vqci->vsi_id;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
409
vqpi->txq.queue_id = i;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
410
vqpi->txq.ring_len = adapter->tx_rings[i].count;
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
411
vqpi->txq.dma_ring_addr = adapter->tx_rings[i].dma;
drivers/net/ethernet/intel/ice/ice_base.c
1044
struct ice_aqc_add_txqs_perq *txq;
drivers/net/ethernet/intel/ice/ice_base.c
1100
txq = &qg_buf->txqs[0];
drivers/net/ethernet/intel/ice/ice_base.c
1101
if (pf_q == le16_to_cpu(txq->txq_id))
drivers/net/ethernet/intel/ice/ice_base.c
1102
ring->txq_teid = le32_to_cpu(txq->q_teid);
drivers/net/ethernet/intel/ice/ice_base.c
1238
ice_cfg_txq_interrupt(struct ice_vsi *vsi, u16 txq, u16 msix_idx, u16 itr_idx)
drivers/net/ethernet/intel/ice/ice_base.c
1249
wr32(hw, QINT_TQCTL(vsi->txq_map[txq]), val);
drivers/net/ethernet/intel/ice/ice_base.c
1251
u32 xdp_txq = txq + vsi->num_xdp_txq;
drivers/net/ethernet/intel/ice/ice_base.h
24
ice_cfg_txq_interrupt(struct ice_vsi *vsi, u16 txq, u16 msix_idx, u16 itr_idx);
drivers/net/ethernet/intel/ice/ice_lib.c
1919
u16 txq = 0, rxq = 0;
drivers/net/ethernet/intel/ice/ice_lib.c
1940
ice_cfg_txq_interrupt(vsi, txq, reg_idx,
drivers/net/ethernet/intel/ice/ice_lib.c
1942
txq++;
drivers/net/ethernet/intel/ice/ice_lib.c
2605
u32 txq = 0;
drivers/net/ethernet/intel/ice/ice_lib.c
2615
wr32(hw, QINT_TQCTL(vsi->txq_map[txq]), 0);
drivers/net/ethernet/intel/ice/ice_lib.c
2617
u32 xdp_txq = txq + vsi->num_xdp_txq;
drivers/net/ethernet/intel/ice/ice_lib.c
2621
txq++;
drivers/net/ethernet/intel/ice/virt/queues.c
812
if (qpi->txq.vsi_id != qci->vsi_id ||
drivers/net/ethernet/intel/ice/virt/queues.c
814
qpi->rxq.queue_id != qpi->txq.queue_id ||
drivers/net/ethernet/intel/ice/virt/queues.c
815
qpi->txq.headwb_enabled ||
drivers/net/ethernet/intel/ice/virt/queues.c
816
!ice_vc_isvalid_ring_len(qpi->txq.ring_len) ||
drivers/net/ethernet/intel/ice/virt/queues.c
818
!ice_vc_isvalid_q_id(vsi, qpi->txq.queue_id)) {
drivers/net/ethernet/intel/ice/virt/queues.c
832
if (qpi->txq.ring_len > 0) {
drivers/net/ethernet/intel/ice/virt/queues.c
833
vsi->tx_rings[q_idx]->dma = qpi->txq.dma_ring_addr;
drivers/net/ethernet/intel/ice/virt/queues.c
834
vsi->tx_rings[q_idx]->count = qpi->txq.ring_len;
drivers/net/ethernet/intel/idpf/idpf_ethtool.c
1169
struct idpf_tx_queue *txq = txq_grp->txqs[j];
drivers/net/ethernet/intel/idpf/idpf_ethtool.c
1173
if (!txq)
drivers/net/ethernet/intel/idpf/idpf_ethtool.c
1177
start = u64_stats_fetch_begin(&txq->stats_sync);
drivers/net/ethernet/intel/idpf/idpf_ethtool.c
1179
stats = &txq->q_stats;
drivers/net/ethernet/intel/idpf/idpf_ethtool.c
1184
} while (u64_stats_fetch_retry(&txq->stats_sync, start));
drivers/net/ethernet/intel/idpf/idpf_ethtool.c
1237
struct idpf_tx_queue *txq = txq_grp->txqs[j];
drivers/net/ethernet/intel/idpf/idpf_ethtool.c
1239
if (!txq)
drivers/net/ethernet/intel/idpf/idpf_ethtool.c
1242
idpf_add_queue_stats(&data, txq, qtype);
drivers/net/ethernet/intel/idpf/idpf_ethtool.c
1778
struct idpf_tx_queue *txq = txq_grp->txqs[j];
drivers/net/ethernet/intel/idpf/idpf_ethtool.c
1782
if (!txq)
drivers/net/ethernet/intel/idpf/idpf_ethtool.c
1785
stats = &txq->q_stats;
drivers/net/ethernet/intel/idpf/idpf_ethtool.c
1787
start = u64_stats_fetch_begin(&txq->stats_sync);
drivers/net/ethernet/intel/idpf/idpf_ethtool.c
1790
} while (u64_stats_fetch_retry(&txq->stats_sync,
drivers/net/ethernet/intel/idpf/idpf_lib.c
1434
int err, txq = vport->dflt_qv_rsrc.num_txq - vport->num_xdp_txq;
drivers/net/ethernet/intel/idpf/idpf_lib.c
1441
return netif_set_real_num_tx_queues(vport->netdev, txq);
drivers/net/ethernet/intel/idpf/idpf_ptp.c
909
bool idpf_ptp_get_txq_tstamp_capability(struct idpf_tx_queue *txq)
drivers/net/ethernet/intel/idpf/idpf_ptp.c
911
if (!txq || !txq->cached_tstamp_caps)
drivers/net/ethernet/intel/idpf/idpf_ptp.c
913
else if (txq->cached_tstamp_caps->access)
drivers/net/ethernet/intel/idpf/idpf_ptp.h
272
bool idpf_ptp_get_txq_tstamp_capability(struct idpf_tx_queue *txq);
drivers/net/ethernet/intel/idpf/idpf_ptp.h
306
idpf_ptp_get_txq_tstamp_capability(struct idpf_tx_queue *txq)
drivers/net/ethernet/intel/idpf/idpf_singleq_txrx.c
188
static void idpf_tx_singleq_dma_map_error(struct idpf_tx_queue *txq,
drivers/net/ethernet/intel/idpf/idpf_singleq_txrx.c
194
.dev = txq->dev,
drivers/net/ethernet/intel/idpf/idpf_singleq_txrx.c
198
u64_stats_update_begin(&txq->stats_sync);
drivers/net/ethernet/intel/idpf/idpf_singleq_txrx.c
199
u64_stats_inc(&txq->q_stats.dma_map_errs);
drivers/net/ethernet/intel/idpf/idpf_singleq_txrx.c
200
u64_stats_update_end(&txq->stats_sync);
drivers/net/ethernet/intel/idpf/idpf_singleq_txrx.c
206
tx_buf = &txq->tx_buf[idx];
drivers/net/ethernet/intel/idpf/idpf_singleq_txrx.c
211
idx = txq->desc_count;
drivers/net/ethernet/intel/idpf/idpf_singleq_txrx.c
222
tx_desc = &txq->flex_tx[idx];
drivers/net/ethernet/intel/idpf/idpf_singleq_txrx.c
225
idx = txq->desc_count;
drivers/net/ethernet/intel/idpf/idpf_singleq_txrx.c
230
idpf_tx_buf_hw_update(txq, idx, false);
drivers/net/ethernet/intel/idpf/idpf_singleq_txrx.c
361
idpf_tx_singleq_get_ctx_desc(struct idpf_tx_queue *txq)
drivers/net/ethernet/intel/idpf/idpf_singleq_txrx.c
364
int ntu = txq->next_to_use;
drivers/net/ethernet/intel/idpf/idpf_singleq_txrx.c
366
txq->tx_buf[ntu].type = LIBETH_SQE_CTX;
drivers/net/ethernet/intel/idpf/idpf_singleq_txrx.c
368
ctx_desc = &txq->base_ctx[ntu];
drivers/net/ethernet/intel/idpf/idpf_singleq_txrx.c
370
IDPF_SINGLEQ_BUMP_RING_IDX(txq, ntu);
drivers/net/ethernet/intel/idpf/idpf_singleq_txrx.c
371
txq->next_to_use = ntu;
drivers/net/ethernet/intel/idpf/idpf_singleq_txrx.c
381
static void idpf_tx_singleq_build_ctx_desc(struct idpf_tx_queue *txq,
drivers/net/ethernet/intel/idpf/idpf_singleq_txrx.c
384
struct idpf_base_tx_ctx_desc *desc = idpf_tx_singleq_get_ctx_desc(txq);
drivers/net/ethernet/intel/idpf/idpf_singleq_txrx.c
393
u64_stats_update_begin(&txq->stats_sync);
drivers/net/ethernet/intel/idpf/idpf_singleq_txrx.c
394
u64_stats_inc(&txq->q_stats.lso_pkts);
drivers/net/ethernet/intel/idpf/idpf_singleq_txrx.c
395
u64_stats_update_end(&txq->stats_sync);
drivers/net/ethernet/intel/idpf/idpf_txrx.c
1021
err = idpf_tx_desc_alloc(vport, q->txq);
drivers/net/ethernet/intel/idpf/idpf_txrx.c
103
static void idpf_tx_desc_rel(struct idpf_tx_queue *txq)
drivers/net/ethernet/intel/idpf/idpf_txrx.c
105
bool xdp = idpf_queue_has(XDP, txq);
drivers/net/ethernet/intel/idpf/idpf_txrx.c
1053
idpf_tx_desc_rel(q->txq);
drivers/net/ethernet/intel/idpf/idpf_txrx.c
1055
if (idpf_queue_has(XDP, q->txq)) {
drivers/net/ethernet/intel/idpf/idpf_txrx.c
1056
q->txq->pending = 0;
drivers/net/ethernet/intel/idpf/idpf_txrx.c
1057
q->txq->xdp_tx = 0;
drivers/net/ethernet/intel/idpf/idpf_txrx.c
1059
q->txq->txq_grp->num_completions_pending = 0;
drivers/net/ethernet/intel/idpf/idpf_txrx.c
1062
writel(q->txq->next_to_use, q->txq->tail);
drivers/net/ethernet/intel/idpf/idpf_txrx.c
108
libeth_xdpsq_deinit_timer(txq->timer);
drivers/net/ethernet/intel/idpf/idpf_txrx.c
110
idpf_tx_buf_rel_all(txq);
drivers/net/ethernet/intel/idpf/idpf_txrx.c
113
netdev_tx_reset_subqueue(txq->netdev, txq->idx);
drivers/net/ethernet/intel/idpf/idpf_txrx.c
1147
qs->qs[num++].txq = qv->tx[i];
drivers/net/ethernet/intel/idpf/idpf_txrx.c
115
idpf_xsk_clear_queue(txq, VIRTCHNL2_QUEUE_TYPE_TX);
drivers/net/ethernet/intel/idpf/idpf_txrx.c
1163
qs->qs[num++].txq = vport->txqs[idx];
drivers/net/ethernet/intel/idpf/idpf_txrx.c
117
if (!txq->desc_ring)
drivers/net/ethernet/intel/idpf/idpf_txrx.c
1171
qs->qs[num++].txq = qv->xsksq[i];
drivers/net/ethernet/intel/idpf/idpf_txrx.c
120
if (!xdp && txq->refillq)
drivers/net/ethernet/intel/idpf/idpf_txrx.c
121
kfree(txq->refillq->ring);
drivers/net/ethernet/intel/idpf/idpf_txrx.c
1217
if (!idpf_queue_has(XSK, q->txq))
drivers/net/ethernet/intel/idpf/idpf_txrx.c
1222
q->txq->q_vector = q_vector;
drivers/net/ethernet/intel/idpf/idpf_txrx.c
1223
q_vector->xsksq[q_vector->num_xsksq++] = q->txq;
drivers/net/ethernet/intel/idpf/idpf_txrx.c
123
dmam_free_coherent(txq->dev, txq->size, txq->desc_ring, txq->dma);
drivers/net/ethernet/intel/idpf/idpf_txrx.c
124
txq->desc_ring = NULL;
drivers/net/ethernet/intel/idpf/idpf_txrx.c
125
txq->next_to_use = 0;
drivers/net/ethernet/intel/idpf/idpf_txrx.c
126
txq->next_to_clean = 0;
drivers/net/ethernet/intel/idpf/idpf_txrx.c
2006
static void idpf_tx_read_tstamp(struct idpf_tx_queue *txq, struct sk_buff *skb)
drivers/net/ethernet/intel/idpf/idpf_txrx.c
2011
tx_tstamp_caps = txq->cached_tstamp_caps;
drivers/net/ethernet/intel/idpf/idpf_txrx.c
2025
queue_work(system_dfl_wq, txq->tstamp_task);
drivers/net/ethernet/intel/idpf/idpf_txrx.c
2032
#define idpf_tx_splitq_clean_bump_ntc(txq, ntc, desc, buf) \
drivers/net/ethernet/intel/idpf/idpf_txrx.c
2034
if (unlikely(++(ntc) == (txq)->desc_count)) { \
drivers/net/ethernet/intel/idpf/idpf_txrx.c
2036
buf = (txq)->tx_buf; \
drivers/net/ethernet/intel/idpf/idpf_txrx.c
2037
desc = &(txq)->flex_tx[0]; \
drivers/net/ethernet/intel/idpf/idpf_txrx.c
2127
static void idpf_tx_clean_bufs(struct idpf_tx_queue *txq, u32 buf_id,
drivers/net/ethernet/intel/idpf/idpf_txrx.c
2133
.dev = txq->dev,
drivers/net/ethernet/intel/idpf/idpf_txrx.c
2138
tx_buf = &txq->tx_buf[buf_id];
drivers/net/ethernet/intel/idpf/idpf_txrx.c
2141
idpf_tx_read_tstamp(txq, tx_buf->skb);
drivers/net/ethernet/intel/idpf/idpf_txrx.c
2144
idpf_post_buf_refill(txq->refillq, buf_id);
drivers/net/ethernet/intel/idpf/idpf_txrx.c
2150
tx_buf = &txq->tx_buf[buf_id];
drivers/net/ethernet/intel/idpf/idpf_txrx.c
2152
idpf_post_buf_refill(txq->refillq, buf_id);
drivers/net/ethernet/intel/idpf/idpf_txrx.c
2167
static void idpf_tx_handle_rs_completion(struct idpf_tx_queue *txq,
drivers/net/ethernet/intel/idpf/idpf_txrx.c
2177
if (!idpf_queue_has(FLOW_SCH_EN, txq)) {
drivers/net/ethernet/intel/idpf/idpf_txrx.c
2178
idpf_tx_splitq_clean(txq, rs_compl_val, budget, cleaned, false);
drivers/net/ethernet/intel/idpf/idpf_txrx.c
2182
idpf_tx_clean_bufs(txq, rs_compl_val, cleaned, budget);
drivers/net/ethernet/intel/idpf/idpf_txrx.c
2325
void idpf_wait_for_sw_marker_completion(const struct idpf_tx_queue *txq)
drivers/net/ethernet/intel/idpf/idpf_txrx.c
2332
if (!idpf_queue_has(SW_MARKER, txq))
drivers/net/ethernet/intel/idpf/idpf_txrx.c
2335
complq = idpf_queue_has(XDP, txq) ? txq->complq : txq->txq_grp->complq;
drivers/net/ethernet/intel/idpf/idpf_txrx.c
2371
if (target == txq)
drivers/net/ethernet/intel/idpf/idpf_txrx.c
2502
unsigned int idpf_tx_res_count_required(struct idpf_tx_queue *txq,
drivers/net/ethernet/intel/idpf/idpf_txrx.c
2531
if (idpf_chk_linearize(skb, txq->tx_max_bufs, count)) {
drivers/net/ethernet/intel/idpf/idpf_txrx.c
2536
u64_stats_update_begin(&txq->stats_sync);
drivers/net/ethernet/intel/idpf/idpf_txrx.c
2537
u64_stats_inc(&txq->q_stats.linearize);
drivers/net/ethernet/intel/idpf/idpf_txrx.c
2538
u64_stats_update_end(&txq->stats_sync);
drivers/net/ethernet/intel/idpf/idpf_txrx.c
2551
static unsigned int idpf_tx_splitq_bump_ntu(struct idpf_tx_queue *txq, u16 ntu)
drivers/net/ethernet/intel/idpf/idpf_txrx.c
2555
if (ntu == txq->desc_count)
drivers/net/ethernet/intel/idpf/idpf_txrx.c
2598
static void idpf_tx_splitq_pkt_err_unmap(struct idpf_tx_queue *txq,
drivers/net/ethernet/intel/idpf/idpf_txrx.c
2602
struct idpf_sw_queue *refillq = txq->refillq;
drivers/net/ethernet/intel/idpf/idpf_txrx.c
2606
.dev = txq->dev,
drivers/net/ethernet/intel/idpf/idpf_txrx.c
2610
u64_stats_update_begin(&txq->stats_sync);
drivers/net/ethernet/intel/idpf/idpf_txrx.c
2611
u64_stats_inc(&txq->q_stats.dma_map_errs);
drivers/net/ethernet/intel/idpf/idpf_txrx.c
2612
u64_stats_update_end(&txq->stats_sync);
drivers/net/ethernet/intel/idpf/idpf_txrx.c
2616
tx_buf = &txq->tx_buf[idpf_tx_buf_next(tx_buf)];
drivers/net/ethernet/intel/idpf/idpf_txrx.c
2621
idpf_tx_buf_hw_update(txq, params->prev_ntu, false);
drivers/net/ethernet/intel/idpf/idpf_txrx.c
2900
idpf_tx_splitq_get_ctx_desc(struct idpf_tx_queue *txq)
drivers/net/ethernet/intel/idpf/idpf_txrx.c
2903
int i = txq->next_to_use;
drivers/net/ethernet/intel/idpf/idpf_txrx.c
2906
desc = &txq->flex_ctx[i];
drivers/net/ethernet/intel/idpf/idpf_txrx.c
2907
txq->next_to_use = idpf_tx_splitq_bump_ntu(txq, i);
drivers/net/ethernet/intel/idpf/idpf_txrx.c
312
struct idpf_tx_queue *txq = rsrc->txq_grps[i].txqs[j];
drivers/net/ethernet/intel/idpf/idpf_txrx.c
314
err = idpf_tx_desc_alloc(vport, txq);
drivers/net/ethernet/intel/idpf/idpf_txrx.c
3971
struct idpf_tx_queue *txq = q_vector->tx[i];
drivers/net/ethernet/intel/idpf/idpf_txrx.c
3975
start = u64_stats_fetch_begin(&txq->stats_sync);
drivers/net/ethernet/intel/idpf/idpf_txrx.c
3976
pkts = u64_stats_read(&txq->q_stats.packets);
drivers/net/ethernet/intel/idpf/idpf_txrx.c
3977
bts = u64_stats_read(&txq->q_stats.bytes);
drivers/net/ethernet/intel/idpf/idpf_txrx.c
3978
} while (u64_stats_fetch_retry(&txq->stats_sync, start));
drivers/net/ethernet/intel/idpf/idpf_txrx.c
59
static void idpf_tx_buf_clean(struct idpf_tx_queue *txq)
drivers/net/ethernet/intel/idpf/idpf_txrx.c
64
.dev = txq->dev,
drivers/net/ethernet/intel/idpf/idpf_txrx.c
72
for (u32 i = 0; i < txq->buf_pool_size; i++)
drivers/net/ethernet/intel/idpf/idpf_txrx.c
73
libeth_tx_complete_any(&txq->tx_buf[i], &cp);
drivers/net/ethernet/intel/idpf/idpf_txrx.c
82
static void idpf_tx_buf_rel_all(struct idpf_tx_queue *txq)
drivers/net/ethernet/intel/idpf/idpf_txrx.c
85
if (!txq->tx_buf)
drivers/net/ethernet/intel/idpf/idpf_txrx.c
88
if (idpf_queue_has(XSK, txq))
drivers/net/ethernet/intel/idpf/idpf_txrx.c
89
idpf_xsksq_clean(txq);
drivers/net/ethernet/intel/idpf/idpf_txrx.c
91
idpf_tx_buf_clean(txq);
drivers/net/ethernet/intel/idpf/idpf_txrx.c
93
kfree(txq->tx_buf);
drivers/net/ethernet/intel/idpf/idpf_txrx.c
94
txq->tx_buf = NULL;
drivers/net/ethernet/intel/idpf/idpf_txrx.h
1119
unsigned int idpf_tx_res_count_required(struct idpf_tx_queue *txq,
drivers/net/ethernet/intel/idpf/idpf_txrx.h
1132
void idpf_wait_for_sw_marker_completion(const struct idpf_tx_queue *txq);
drivers/net/ethernet/intel/idpf/idpf_txrx.h
122
#define IDPF_DESC_UNUSED(txq) \
drivers/net/ethernet/intel/idpf/idpf_txrx.h
123
((((txq)->next_to_clean > (txq)->next_to_use) ? 0 : (txq)->desc_count) + \
drivers/net/ethernet/intel/idpf/idpf_txrx.h
124
(txq)->next_to_clean - (txq)->next_to_use - 1)
drivers/net/ethernet/intel/idpf/idpf_txrx.h
130
#define IDPF_TX_COMPLQ_PENDING(txq) \
drivers/net/ethernet/intel/idpf/idpf_txrx.h
131
(((txq)->num_completions_pending >= (txq)->complq->num_completions ? \
drivers/net/ethernet/intel/idpf/idpf_txrx.h
133
(txq)->num_completions_pending - (txq)->complq->num_completions)
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
1857
idpf_fill_txq_config_chunk(qs->qv_rsrc, qs->qs[i].txq,
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
1894
qs->qs[k++].txq = tx_qgrp->txqs[j];
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
2183
qid = q->txq->q_id;
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
2233
qs->qs[k++].txq = tx_qgrp->txqs[j];
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
2365
qid = q->txq->q_id;
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
2367
if (idpf_queue_has(NOIRQ, q->txq))
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
2369
else if (idpf_queue_has(XDP, q->txq))
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
2370
vec = q->txq->complq->q_vector;
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
2372
vec = q->txq->txq_grp->complq->q_vector;
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
2374
vec = q->txq->q_vector;
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
2423
qs->qs[k++].txq = tx_qgrp->txqs[j];
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
824
struct idpf_tx_queue *txq;
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
830
txq = qs->qs[i].txq;
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
832
netdev = txq->netdev;
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
834
idpf_queue_set(SW_MARKER, txq);
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
835
idpf_wait_for_sw_marker_completion(txq);
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
836
markers_rcvd &= !idpf_queue_has(SW_MARKER, txq);
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
869
qs->qs[i].txq = vport->txqs[i];
drivers/net/ethernet/intel/idpf/idpf_virtchnl.h
135
struct idpf_tx_queue *txq;
drivers/net/ethernet/intel/idpf/xsk.c
129
struct idpf_tx_queue *txq;
drivers/net/ethernet/intel/idpf/xsk.c
147
txq = q;
drivers/net/ethernet/intel/idpf/xsk.c
148
if (!idpf_queue_has_clear(XSK, txq))
drivers/net/ethernet/intel/idpf/xsk.c
151
idpf_queue_set(NOIRQ, txq);
drivers/net/ethernet/intel/idpf/xsk.c
152
txq->dev = txq->netdev->dev.parent;
drivers/net/ethernet/intel/idpf/xsk.c
55
struct idpf_tx_queue *txq)
drivers/net/ethernet/intel/idpf/xsk.c
60
idpf_queue_clear(XSK, txq);
drivers/net/ethernet/intel/idpf/xsk.c
62
if (!idpf_queue_has(XDP, txq))
drivers/net/ethernet/intel/idpf/xsk.c
65
qid = txq->idx - vport->dflt_qv_rsrc.xdp_txq_offset;
drivers/net/ethernet/intel/idpf/xsk.c
71
txq->pool = pool;
drivers/net/ethernet/intel/idpf/xsk.c
72
libeth_xdpsq_init_timer(txq->timer, txq, &txq->xdp_lock,
drivers/net/ethernet/intel/idpf/xsk.c
75
idpf_queue_assign(NOIRQ, txq, xsk_uses_need_wakeup(pool));
drivers/net/ethernet/intel/idpf/xsk.c
76
idpf_queue_set(XSK, txq);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
1358
struct netdev_queue *txq;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
1470
txq = netdev_get_tx_queue(tx_ring->netdev, tx_ring->queue_index);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
1471
if (!__netif_txq_completed_wake(txq, total_packets, total_bytes,
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
9271
int txq;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
9277
txq = vdev->tc_to_txq[tc].offset;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
9278
txq += reciprocal_scale(skb_get_hash(skb),
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
9281
return txq;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
9302
txq = skb_rx_queue_recorded(skb) ? skb_get_rx_queue(skb) :
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
9305
while (txq >= f->indices)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
9306
txq -= f->indices;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
9308
return txq + f->offset;
drivers/net/ethernet/lantiq_etop.c
176
struct netdev_queue *txq =
drivers/net/ethernet/lantiq_etop.c
192
if (netif_tx_queue_stopped(txq))
drivers/net/ethernet/lantiq_etop.c
193
netif_tx_start_queue(txq);
drivers/net/ethernet/lantiq_etop.c
475
struct netdev_queue *txq = netdev_get_tx_queue(dev, queue);
drivers/net/ethernet/lantiq_etop.c
489
netif_tx_stop_queue(txq);
drivers/net/ethernet/lantiq_etop.c
511
netif_tx_stop_queue(txq);
drivers/net/ethernet/marvell/mv643xx_eth.c
1001
txq = mp->txq + queue;
drivers/net/ethernet/marvell/mv643xx_eth.c
1013
ret = txq_submit_tso(txq, skb, dev);
drivers/net/ethernet/marvell/mv643xx_eth.c
1015
ret = txq_submit_skb(txq, skb, dev);
drivers/net/ethernet/marvell/mv643xx_eth.c
1017
txq->tx_bytes += length;
drivers/net/ethernet/marvell/mv643xx_eth.c
1018
txq->tx_packets++;
drivers/net/ethernet/marvell/mv643xx_eth.c
1020
if (txq->tx_desc_count >= txq->tx_stop_threshold)
drivers/net/ethernet/marvell/mv643xx_eth.c
1023
txq->tx_dropped++;
drivers/net/ethernet/marvell/mv643xx_eth.c
1032
static void txq_kick(struct tx_queue *txq)
drivers/net/ethernet/marvell/mv643xx_eth.c
1034
struct mv643xx_eth_private *mp = txq_to_mp(txq);
drivers/net/ethernet/marvell/mv643xx_eth.c
1035
struct netdev_queue *nq = netdev_get_tx_queue(mp->dev, txq->index);
drivers/net/ethernet/marvell/mv643xx_eth.c
1041
if (rdlp(mp, TXQ_COMMAND) & (1 << txq->index))
drivers/net/ethernet/marvell/mv643xx_eth.c
1044
hw_desc_ptr = rdlp(mp, TXQ_CURRENT_DESC_PTR(txq->index));
drivers/net/ethernet/marvell/mv643xx_eth.c
1045
expected_ptr = (u32)txq->tx_desc_dma +
drivers/net/ethernet/marvell/mv643xx_eth.c
1046
txq->tx_curr_desc * sizeof(struct tx_desc);
drivers/net/ethernet/marvell/mv643xx_eth.c
1049
txq_enable(txq);
drivers/net/ethernet/marvell/mv643xx_eth.c
1054
mp->work_tx_end &= ~(1 << txq->index);
drivers/net/ethernet/marvell/mv643xx_eth.c
1057
static int txq_reclaim(struct tx_queue *txq, int budget, int force)
drivers/net/ethernet/marvell/mv643xx_eth.c
1059
struct mv643xx_eth_private *mp = txq_to_mp(txq);
drivers/net/ethernet/marvell/mv643xx_eth.c
1060
struct netdev_queue *nq = netdev_get_tx_queue(mp->dev, txq->index);
drivers/net/ethernet/marvell/mv643xx_eth.c
1066
while (reclaimed < budget && txq->tx_desc_count > 0) {
drivers/net/ethernet/marvell/mv643xx_eth.c
1072
tx_index = txq->tx_used_desc;
drivers/net/ethernet/marvell/mv643xx_eth.c
1073
desc = &txq->tx_desc_area[tx_index];
drivers/net/ethernet/marvell/mv643xx_eth.c
1074
desc_dma_map = txq->tx_desc_mapping[tx_index];
drivers/net/ethernet/marvell/mv643xx_eth.c
1084
txq->tx_used_desc = tx_index + 1;
drivers/net/ethernet/marvell/mv643xx_eth.c
1085
if (txq->tx_used_desc == txq->tx_ring_size)
drivers/net/ethernet/marvell/mv643xx_eth.c
1086
txq->tx_used_desc = 0;
drivers/net/ethernet/marvell/mv643xx_eth.c
1089
txq->tx_desc_count--;
drivers/net/ethernet/marvell/mv643xx_eth.c
1091
if (!IS_TSO_HEADER(txq, desc->buf_ptr)) {
drivers/net/ethernet/marvell/mv643xx_eth.c
1106
struct sk_buff *skb = __skb_dequeue(&txq->tx_skb);
drivers/net/ethernet/marvell/mv643xx_eth.c
1122
mp->work_tx &= ~(1 << txq->index);
drivers/net/ethernet/marvell/mv643xx_eth.c
1165
static void txq_set_rate(struct tx_queue *txq, int rate, int burst)
drivers/net/ethernet/marvell/mv643xx_eth.c
1167
struct mv643xx_eth_private *mp = txq_to_mp(txq);
drivers/net/ethernet/marvell/mv643xx_eth.c
1179
wrlp(mp, TXQ_BW_TOKENS(txq->index), token_rate << 14);
drivers/net/ethernet/marvell/mv643xx_eth.c
1180
wrlp(mp, TXQ_BW_CONF(txq->index), (bucket_size << 10) | token_rate);
drivers/net/ethernet/marvell/mv643xx_eth.c
1183
static void txq_set_fixed_prio_mode(struct tx_queue *txq)
drivers/net/ethernet/marvell/mv643xx_eth.c
1185
struct mv643xx_eth_private *mp = txq_to_mp(txq);
drivers/net/ethernet/marvell/mv643xx_eth.c
1204
val |= 1 << txq->index;
drivers/net/ethernet/marvell/mv643xx_eth.c
1262
struct tx_queue *txq = mp->txq + i;
drivers/net/ethernet/marvell/mv643xx_eth.c
1264
tx_packets += txq->tx_packets;
drivers/net/ethernet/marvell/mv643xx_eth.c
1265
tx_bytes += txq->tx_bytes;
drivers/net/ethernet/marvell/mv643xx_eth.c
1266
tx_dropped += txq->tx_dropped;
drivers/net/ethernet/marvell/mv643xx_eth.c
179
#define IS_TSO_HEADER(txq, addr) \
drivers/net/ethernet/marvell/mv643xx_eth.c
180
((addr >= txq->tso_hdrs_dma) && \
drivers/net/ethernet/marvell/mv643xx_eth.c
181
(addr < txq->tso_hdrs_dma + txq->tx_ring_size * TSO_HEADER_SIZE))
drivers/net/ethernet/marvell/mv643xx_eth.c
2032
struct tx_queue *txq = mp->txq + index;
drivers/net/ethernet/marvell/mv643xx_eth.c
2038
txq->index = index;
drivers/net/ethernet/marvell/mv643xx_eth.c
2040
txq->tx_ring_size = mp->tx_ring_size;
drivers/net/ethernet/marvell/mv643xx_eth.c
2046
txq->tx_stop_threshold = txq->tx_ring_size - MV643XX_MAX_SKB_DESCS;
drivers/net/ethernet/marvell/mv643xx_eth.c
2047
txq->tx_wake_threshold = txq->tx_stop_threshold / 2;
drivers/net/ethernet/marvell/mv643xx_eth.c
2049
txq->tx_desc_count = 0;
drivers/net/ethernet/marvell/mv643xx_eth.c
2050
txq->tx_curr_desc = 0;
drivers/net/ethernet/marvell/mv643xx_eth.c
2051
txq->tx_used_desc = 0;
drivers/net/ethernet/marvell/mv643xx_eth.c
2053
size = txq->tx_ring_size * sizeof(struct tx_desc);
drivers/net/ethernet/marvell/mv643xx_eth.c
2056
txq->tx_desc_area = ioremap(mp->tx_desc_sram_addr,
drivers/net/ethernet/marvell/mv643xx_eth.c
2058
txq->tx_desc_dma = mp->tx_desc_sram_addr;
drivers/net/ethernet/marvell/mv643xx_eth.c
2060
txq->tx_desc_area = dma_alloc_coherent(mp->dev->dev.parent,
drivers/net/ethernet/marvell/mv643xx_eth.c
2061
size, &txq->tx_desc_dma,
drivers/net/ethernet/marvell/mv643xx_eth.c
2065
if (txq->tx_desc_area == NULL) {
drivers/net/ethernet/marvell/mv643xx_eth.c
2070
memset(txq->tx_desc_area, 0, size);
drivers/net/ethernet/marvell/mv643xx_eth.c
2072
txq->tx_desc_area_size = size;
drivers/net/ethernet/marvell/mv643xx_eth.c
2074
tx_desc = txq->tx_desc_area;
drivers/net/ethernet/marvell/mv643xx_eth.c
2075
for (i = 0; i < txq->tx_ring_size; i++) {
drivers/net/ethernet/marvell/mv643xx_eth.c
2080
if (nexti == txq->tx_ring_size)
drivers/net/ethernet/marvell/mv643xx_eth.c
2084
txd->next_desc_ptr = txq->tx_desc_dma +
drivers/net/ethernet/marvell/mv643xx_eth.c
2088
txq->tx_desc_mapping = kcalloc(txq->tx_ring_size, sizeof(char),
drivers/net/ethernet/marvell/mv643xx_eth.c
2090
if (!txq->tx_desc_mapping) {
drivers/net/ethernet/marvell/mv643xx_eth.c
2096
txq->tso_hdrs = dma_alloc_coherent(mp->dev->dev.parent,
drivers/net/ethernet/marvell/mv643xx_eth.c
2097
txq->tx_ring_size * TSO_HEADER_SIZE,
drivers/net/ethernet/marvell/mv643xx_eth.c
2098
&txq->tso_hdrs_dma, GFP_KERNEL);
drivers/net/ethernet/marvell/mv643xx_eth.c
2099
if (txq->tso_hdrs == NULL) {
drivers/net/ethernet/marvell/mv643xx_eth.c
2103
skb_queue_head_init(&txq->tx_skb);
drivers/net/ethernet/marvell/mv643xx_eth.c
2108
kfree(txq->tx_desc_mapping);
drivers/net/ethernet/marvell/mv643xx_eth.c
2111
iounmap(txq->tx_desc_area);
drivers/net/ethernet/marvell/mv643xx_eth.c
2113
dma_free_coherent(mp->dev->dev.parent, txq->tx_desc_area_size,
drivers/net/ethernet/marvell/mv643xx_eth.c
2114
txq->tx_desc_area, txq->tx_desc_dma);
drivers/net/ethernet/marvell/mv643xx_eth.c
2118
static void txq_deinit(struct tx_queue *txq)
drivers/net/ethernet/marvell/mv643xx_eth.c
2120
struct mv643xx_eth_private *mp = txq_to_mp(txq);
drivers/net/ethernet/marvell/mv643xx_eth.c
2122
txq_disable(txq);
drivers/net/ethernet/marvell/mv643xx_eth.c
2123
txq_reclaim(txq, txq->tx_ring_size, 1);
drivers/net/ethernet/marvell/mv643xx_eth.c
2125
BUG_ON(txq->tx_used_desc != txq->tx_curr_desc);
drivers/net/ethernet/marvell/mv643xx_eth.c
2127
if (txq->index == 0 &&
drivers/net/ethernet/marvell/mv643xx_eth.c
2128
txq->tx_desc_area_size <= mp->tx_desc_sram_size)
drivers/net/ethernet/marvell/mv643xx_eth.c
2129
iounmap(txq->tx_desc_area);
drivers/net/ethernet/marvell/mv643xx_eth.c
2131
dma_free_coherent(mp->dev->dev.parent, txq->tx_desc_area_size,
drivers/net/ethernet/marvell/mv643xx_eth.c
2132
txq->tx_desc_area, txq->tx_desc_dma);
drivers/net/ethernet/marvell/mv643xx_eth.c
2133
kfree(txq->tx_desc_mapping);
drivers/net/ethernet/marvell/mv643xx_eth.c
2135
if (txq->tso_hdrs)
drivers/net/ethernet/marvell/mv643xx_eth.c
2137
txq->tx_ring_size * TSO_HEADER_SIZE,
drivers/net/ethernet/marvell/mv643xx_eth.c
2138
txq->tso_hdrs, txq->tso_hdrs_dma);
drivers/net/ethernet/marvell/mv643xx_eth.c
2208
struct tx_queue *txq = mp->txq + i;
drivers/net/ethernet/marvell/mv643xx_eth.c
2210
txq_reclaim(txq, txq->tx_ring_size, 1);
drivers/net/ethernet/marvell/mv643xx_eth.c
2211
txq_reset_hw_ptr(txq);
drivers/net/ethernet/marvell/mv643xx_eth.c
2284
txq_kick(mp->txq + queue);
drivers/net/ethernet/marvell/mv643xx_eth.c
2286
work_done += txq_reclaim(mp->txq + queue, work_tbd, 0);
drivers/net/ethernet/marvell/mv643xx_eth.c
2287
txq_maybe_wake(mp->txq + queue);
drivers/net/ethernet/marvell/mv643xx_eth.c
2351
struct tx_queue *txq = mp->txq + i;
drivers/net/ethernet/marvell/mv643xx_eth.c
2353
txq_reset_hw_ptr(txq);
drivers/net/ethernet/marvell/mv643xx_eth.c
2354
txq_set_rate(txq, 1000000000, 16777216);
drivers/net/ethernet/marvell/mv643xx_eth.c
2355
txq_set_fixed_prio_mode(txq);
drivers/net/ethernet/marvell/mv643xx_eth.c
2462
txq_deinit(mp->txq + i);
drivers/net/ethernet/marvell/mv643xx_eth.c
2495
txq_disable(mp->txq + i);
drivers/net/ethernet/marvell/mv643xx_eth.c
2539
txq_deinit(mp->txq + i);
drivers/net/ethernet/marvell/mv643xx_eth.c
408
struct tx_queue txq[8];
drivers/net/ethernet/marvell/mv643xx_eth.c
446
static struct mv643xx_eth_private *txq_to_mp(struct tx_queue *txq)
drivers/net/ethernet/marvell/mv643xx_eth.c
448
return container_of(txq, struct mv643xx_eth_private, txq[txq->index]);
drivers/net/ethernet/marvell/mv643xx_eth.c
467
static void txq_reset_hw_ptr(struct tx_queue *txq)
drivers/net/ethernet/marvell/mv643xx_eth.c
469
struct mv643xx_eth_private *mp = txq_to_mp(txq);
drivers/net/ethernet/marvell/mv643xx_eth.c
472
addr = (u32)txq->tx_desc_dma;
drivers/net/ethernet/marvell/mv643xx_eth.c
473
addr += txq->tx_curr_desc * sizeof(struct tx_desc);
drivers/net/ethernet/marvell/mv643xx_eth.c
474
wrlp(mp, TXQ_CURRENT_DESC_PTR(txq->index), addr);
drivers/net/ethernet/marvell/mv643xx_eth.c
477
static void txq_enable(struct tx_queue *txq)
drivers/net/ethernet/marvell/mv643xx_eth.c
479
struct mv643xx_eth_private *mp = txq_to_mp(txq);
drivers/net/ethernet/marvell/mv643xx_eth.c
480
wrlp(mp, TXQ_COMMAND, 1 << txq->index);
drivers/net/ethernet/marvell/mv643xx_eth.c
483
static void txq_disable(struct tx_queue *txq)
drivers/net/ethernet/marvell/mv643xx_eth.c
485
struct mv643xx_eth_private *mp = txq_to_mp(txq);
drivers/net/ethernet/marvell/mv643xx_eth.c
486
u8 mask = 1 << txq->index;
drivers/net/ethernet/marvell/mv643xx_eth.c
493
static void txq_maybe_wake(struct tx_queue *txq)
drivers/net/ethernet/marvell/mv643xx_eth.c
495
struct mv643xx_eth_private *mp = txq_to_mp(txq);
drivers/net/ethernet/marvell/mv643xx_eth.c
496
struct netdev_queue *nq = netdev_get_tx_queue(mp->dev, txq->index);
drivers/net/ethernet/marvell/mv643xx_eth.c
500
if (txq->tx_desc_count <= txq->tx_wake_threshold)
drivers/net/ethernet/marvell/mv643xx_eth.c
727
txq_put_data_tso(struct net_device *dev, struct tx_queue *txq,
drivers/net/ethernet/marvell/mv643xx_eth.c
735
tx_index = txq->tx_curr_desc++;
drivers/net/ethernet/marvell/mv643xx_eth.c
736
if (txq->tx_curr_desc == txq->tx_ring_size)
drivers/net/ethernet/marvell/mv643xx_eth.c
737
txq->tx_curr_desc = 0;
drivers/net/ethernet/marvell/mv643xx_eth.c
738
desc = &txq->tx_desc_area[tx_index];
drivers/net/ethernet/marvell/mv643xx_eth.c
739
txq->tx_desc_mapping[tx_index] = DESC_DMA_MAP_SINGLE;
drivers/net/ethernet/marvell/mv643xx_eth.c
746
memcpy(txq->tso_hdrs + tx_index * TSO_HEADER_SIZE,
drivers/net/ethernet/marvell/mv643xx_eth.c
748
desc->buf_ptr = txq->tso_hdrs_dma
drivers/net/ethernet/marvell/mv643xx_eth.c
752
txq->tx_desc_mapping[tx_index] = DESC_DMA_MAP_SINGLE;
drivers/net/ethernet/marvell/mv643xx_eth.c
775
txq_put_hdr_tso(struct sk_buff *skb, struct tx_queue *txq, int length,
drivers/net/ethernet/marvell/mv643xx_eth.c
778
struct mv643xx_eth_private *mp = txq_to_mp(txq);
drivers/net/ethernet/marvell/mv643xx_eth.c
787
tx_index = txq->tx_curr_desc;
drivers/net/ethernet/marvell/mv643xx_eth.c
788
desc = &txq->tx_desc_area[tx_index];
drivers/net/ethernet/marvell/mv643xx_eth.c
800
desc->buf_ptr = txq->tso_hdrs_dma +
drivers/net/ethernet/marvell/mv643xx_eth.c
801
txq->tx_curr_desc * TSO_HEADER_SIZE;
drivers/net/ethernet/marvell/mv643xx_eth.c
813
txq->tx_curr_desc++;
drivers/net/ethernet/marvell/mv643xx_eth.c
814
if (txq->tx_curr_desc == txq->tx_ring_size)
drivers/net/ethernet/marvell/mv643xx_eth.c
815
txq->tx_curr_desc = 0;
drivers/net/ethernet/marvell/mv643xx_eth.c
818
static int txq_submit_tso(struct tx_queue *txq, struct sk_buff *skb,
drivers/net/ethernet/marvell/mv643xx_eth.c
821
struct mv643xx_eth_private *mp = txq_to_mp(txq);
drivers/net/ethernet/marvell/mv643xx_eth.c
829
if ((txq->tx_desc_count + tso_count_descs(skb)) >= txq->tx_ring_size) {
drivers/net/ethernet/marvell/mv643xx_eth.c
834
first_tx_desc = &txq->tx_desc_area[txq->tx_curr_desc];
drivers/net/ethernet/marvell/mv643xx_eth.c
849
hdr = txq->tso_hdrs + txq->tx_curr_desc * TSO_HEADER_SIZE;
drivers/net/ethernet/marvell/mv643xx_eth.c
851
txq_put_hdr_tso(skb, txq, data_left, &first_cmd_sts,
drivers/net/ethernet/marvell/mv643xx_eth.c
859
ret = txq_put_data_tso(dev, txq, skb, tso.data, size,
drivers/net/ethernet/marvell/mv643xx_eth.c
869
__skb_queue_tail(&txq->tx_skb, skb);
drivers/net/ethernet/marvell/mv643xx_eth.c
877
mp->work_tx_end &= ~(1 << txq->index);
drivers/net/ethernet/marvell/mv643xx_eth.c
881
txq_enable(txq);
drivers/net/ethernet/marvell/mv643xx_eth.c
882
txq->tx_desc_count += desc_count;
drivers/net/ethernet/marvell/mv643xx_eth.c
891
static void txq_submit_frag_skb(struct tx_queue *txq, struct sk_buff *skb)
drivers/net/ethernet/marvell/mv643xx_eth.c
893
struct mv643xx_eth_private *mp = txq_to_mp(txq);
drivers/net/ethernet/marvell/mv643xx_eth.c
903
tx_index = txq->tx_curr_desc++;
drivers/net/ethernet/marvell/mv643xx_eth.c
904
if (txq->tx_curr_desc == txq->tx_ring_size)
drivers/net/ethernet/marvell/mv643xx_eth.c
905
txq->tx_curr_desc = 0;
drivers/net/ethernet/marvell/mv643xx_eth.c
906
desc = &txq->tx_desc_area[tx_index];
drivers/net/ethernet/marvell/mv643xx_eth.c
907
txq->tx_desc_mapping[tx_index] = DESC_DMA_MAP_PAGE;
drivers/net/ethernet/marvell/mv643xx_eth.c
929
static int txq_submit_skb(struct tx_queue *txq, struct sk_buff *skb,
drivers/net/ethernet/marvell/mv643xx_eth.c
932
struct mv643xx_eth_private *mp = txq_to_mp(txq);
drivers/net/ethernet/marvell/mv643xx_eth.c
943
if (txq->tx_ring_size - txq->tx_desc_count < MAX_SKB_FRAGS + 1) {
drivers/net/ethernet/marvell/mv643xx_eth.c
954
tx_index = txq->tx_curr_desc++;
drivers/net/ethernet/marvell/mv643xx_eth.c
955
if (txq->tx_curr_desc == txq->tx_ring_size)
drivers/net/ethernet/marvell/mv643xx_eth.c
956
txq->tx_curr_desc = 0;
drivers/net/ethernet/marvell/mv643xx_eth.c
957
desc = &txq->tx_desc_area[tx_index];
drivers/net/ethernet/marvell/mv643xx_eth.c
958
txq->tx_desc_mapping[tx_index] = DESC_DMA_MAP_SINGLE;
drivers/net/ethernet/marvell/mv643xx_eth.c
961
txq_submit_frag_skb(txq, skb);
drivers/net/ethernet/marvell/mv643xx_eth.c
973
__skb_queue_tail(&txq->tx_skb, skb);
drivers/net/ethernet/marvell/mv643xx_eth.c
982
mp->work_tx_end &= ~(1 << txq->index);
drivers/net/ethernet/marvell/mv643xx_eth.c
986
txq_enable(txq);
drivers/net/ethernet/marvell/mv643xx_eth.c
988
txq->tx_desc_count += nr_frags + 1;
drivers/net/ethernet/marvell/mv643xx_eth.c
997
struct tx_queue *txq;
drivers/net/ethernet/marvell/mvneta.c
1260
struct mvneta_tx_queue *txq = &pp->txqs[queue];
drivers/net/ethernet/marvell/mvneta.c
1261
if (txq->descs)
drivers/net/ethernet/marvell/mvneta.c
135
#define MVNETA_CPU_TXQ_ACCESS(txq) BIT(txq + 8)
drivers/net/ethernet/marvell/mvneta.c
1498
int rxq, txq;
drivers/net/ethernet/marvell/mvneta.c
1504
for (txq = 0; txq < txq_number; txq++)
drivers/net/ethernet/marvell/mvneta.c
1505
if ((txq % max_cpu) == cpu)
drivers/net/ethernet/marvell/mvneta.c
1506
txq_map |= MVNETA_CPU_TXQ_ACCESS(txq);
drivers/net/ethernet/marvell/mvneta.c
1709
struct mvneta_tx_queue *txq, u32 value)
drivers/net/ethernet/marvell/mvneta.c
1713
val = mvreg_read(pp, MVNETA_TXQ_SIZE_REG(txq->id));
drivers/net/ethernet/marvell/mvneta.c
1718
mvreg_write(pp, MVNETA_TXQ_SIZE_REG(txq->id), val);
drivers/net/ethernet/marvell/mvneta.c
1735
struct mvneta_tx_queue *txq,
drivers/net/ethernet/marvell/mvneta.c
1743
mvreg_write(pp, MVNETA_TXQ_UPDATE_REG(txq->id), val);
drivers/net/ethernet/marvell/mvneta.c
1748
mvreg_write(pp, MVNETA_TXQ_UPDATE_REG(txq->id), val);
drivers/net/ethernet/marvell/mvneta.c
1753
struct mvneta_tx_queue *txq)
drivers/net/ethernet/marvell/mvneta.c
1758
val = mvreg_read(pp, MVNETA_TXQ_STATUS_REG(txq->id));
drivers/net/ethernet/marvell/mvneta.c
1769
struct mvneta_tx_queue *txq)
drivers/net/ethernet/marvell/mvneta.c
1774
sent_desc = mvneta_txq_sent_desc_num_get(pp, txq);
drivers/net/ethernet/marvell/mvneta.c
1778
mvneta_txq_sent_desc_dec(pp, txq, sent_desc);
drivers/net/ethernet/marvell/mvneta.c
1869
struct mvneta_tx_queue *txq, int num,
drivers/net/ethernet/marvell/mvneta.c
1881
struct mvneta_tx_buf *buf = &txq->buf[txq->txq_get_index];
drivers/net/ethernet/marvell/mvneta.c
1882
struct mvneta_tx_desc *tx_desc = txq->descs +
drivers/net/ethernet/marvell/mvneta.c
1883
txq->txq_get_index;
drivers/net/ethernet/marvell/mvneta.c
1885
mvneta_txq_inc_get(txq);
drivers/net/ethernet/marvell/mvneta.c
1914
struct mvneta_tx_queue *txq)
drivers/net/ethernet/marvell/mvneta.c
1916
struct netdev_queue *nq = netdev_get_tx_queue(pp->dev, txq->id);
drivers/net/ethernet/marvell/mvneta.c
1919
tx_done = mvneta_txq_sent_desc_proc(pp, txq);
drivers/net/ethernet/marvell/mvneta.c
1923
mvneta_txq_bufs_free(pp, txq, tx_done, nq, true);
drivers/net/ethernet/marvell/mvneta.c
1925
txq->count -= tx_done;
drivers/net/ethernet/marvell/mvneta.c
1928
if (txq->count <= txq->tx_wake_threshold)
drivers/net/ethernet/marvell/mvneta.c
2091
mvneta_xdp_submit_frame(struct mvneta_port *pp, struct mvneta_tx_queue *txq,
drivers/net/ethernet/marvell/mvneta.c
2103
if (txq->count + num_frames >= txq->size)
drivers/net/ethernet/marvell/mvneta.c
2107
struct mvneta_tx_buf *buf = &txq->buf[txq->txq_put_index];
drivers/net/ethernet/marvell/mvneta.c
2117
tx_desc = mvneta_txq_next_desc_get(txq);
drivers/net/ethernet/marvell/mvneta.c
2127
mvneta_txq_desc_put(txq);
drivers/net/ethernet/marvell/mvneta.c
2151
mvneta_txq_inc_put(txq);
drivers/net/ethernet/marvell/mvneta.c
2156
txq->pending += num_frames;
drivers/net/ethernet/marvell/mvneta.c
2157
txq->count += num_frames;
drivers/net/ethernet/marvell/mvneta.c
2163
mvneta_txq_desc_put(txq);
drivers/net/ethernet/marvell/mvneta.c
2164
tx_desc = txq->descs + txq->next_desc_to_proc;
drivers/net/ethernet/marvell/mvneta.c
2177
struct mvneta_tx_queue *txq;
drivers/net/ethernet/marvell/mvneta.c
2188
txq = &pp->txqs[cpu % txq_number];
drivers/net/ethernet/marvell/mvneta.c
2189
nq = netdev_get_tx_queue(pp->dev, txq->id);
drivers/net/ethernet/marvell/mvneta.c
2192
ret = mvneta_xdp_submit_frame(pp, txq, xdpf, &nxmit_byte, false);
drivers/net/ethernet/marvell/mvneta.c
2200
mvneta_txq_pend_desc_add(pp, txq, 0);
drivers/net/ethernet/marvell/mvneta.c
2219
struct mvneta_tx_queue *txq;
drivers/net/ethernet/marvell/mvneta.c
2229
txq = &pp->txqs[cpu % txq_number];
drivers/net/ethernet/marvell/mvneta.c
2230
nq = netdev_get_tx_queue(pp->dev, txq->id);
drivers/net/ethernet/marvell/mvneta.c
2234
ret = mvneta_xdp_submit_frame(pp, txq, frames[i], &nxmit_byte,
drivers/net/ethernet/marvell/mvneta.c
2243
mvneta_txq_pend_desc_add(pp, txq, 0);
drivers/net/ethernet/marvell/mvneta.c
2673
struct mvneta_tx_queue *txq)
drivers/net/ethernet/marvell/mvneta.c
2679
if (txq->tso_hdrs[i]) {
drivers/net/ethernet/marvell/mvneta.c
2681
txq->tso_hdrs[i],
drivers/net/ethernet/marvell/mvneta.c
2682
txq->tso_hdrs_phys[i]);
drivers/net/ethernet/marvell/mvneta.c
2683
txq->tso_hdrs[i] = NULL;
drivers/net/ethernet/marvell/mvneta.c
2689
struct mvneta_tx_queue *txq)
drivers/net/ethernet/marvell/mvneta.c
2694
num = DIV_ROUND_UP(txq->size, MVNETA_TSO_PER_PAGE);
drivers/net/ethernet/marvell/mvneta.c
2696
txq->tso_hdrs[i] = dma_alloc_coherent(dev, MVNETA_TSO_PAGE_SIZE,
drivers/net/ethernet/marvell/mvneta.c
2697
&txq->tso_hdrs_phys[i],
drivers/net/ethernet/marvell/mvneta.c
2699
if (!txq->tso_hdrs[i]) {
drivers/net/ethernet/marvell/mvneta.c
2700
mvneta_free_tso_hdrs(pp, txq);
drivers/net/ethernet/marvell/mvneta.c
2708
static char *mvneta_get_tso_hdr(struct mvneta_tx_queue *txq, dma_addr_t *dma)
drivers/net/ethernet/marvell/mvneta.c
2712
index = txq->txq_put_index / MVNETA_TSO_PER_PAGE;
drivers/net/ethernet/marvell/mvneta.c
2713
offset = (txq->txq_put_index % MVNETA_TSO_PER_PAGE) * TSO_HEADER_SIZE;
drivers/net/ethernet/marvell/mvneta.c
2715
*dma = txq->tso_hdrs_phys[index] + offset;
drivers/net/ethernet/marvell/mvneta.c
2717
return txq->tso_hdrs[index] + offset;
drivers/net/ethernet/marvell/mvneta.c
2720
static void mvneta_tso_put_hdr(struct sk_buff *skb, struct mvneta_tx_queue *txq,
drivers/net/ethernet/marvell/mvneta.c
2723
struct mvneta_tx_buf *buf = &txq->buf[txq->txq_put_index];
drivers/net/ethernet/marvell/mvneta.c
2729
hdr = mvneta_get_tso_hdr(txq, &hdr_phys);
drivers/net/ethernet/marvell/mvneta.c
2732
tx_desc = mvneta_txq_next_desc_get(txq);
drivers/net/ethernet/marvell/mvneta.c
2740
mvneta_txq_inc_put(txq);
drivers/net/ethernet/marvell/mvneta.c
2744
mvneta_tso_put_data(struct net_device *dev, struct mvneta_tx_queue *txq,
drivers/net/ethernet/marvell/mvneta.c
2748
struct mvneta_tx_buf *buf = &txq->buf[txq->txq_put_index];
drivers/net/ethernet/marvell/mvneta.c
2751
tx_desc = mvneta_txq_next_desc_get(txq);
drivers/net/ethernet/marvell/mvneta.c
2757
mvneta_txq_desc_put(txq);
drivers/net/ethernet/marvell/mvneta.c
2773
mvneta_txq_inc_put(txq);
drivers/net/ethernet/marvell/mvneta.c
2778
struct mvneta_tx_queue *txq,
drivers/net/ethernet/marvell/mvneta.c
2784
if (desc_idx >= txq->size)
drivers/net/ethernet/marvell/mvneta.c
2785
desc_idx -= txq->size;
drivers/net/ethernet/marvell/mvneta.c
2788
struct mvneta_tx_desc *tx_desc = txq->descs + desc_idx;
drivers/net/ethernet/marvell/mvneta.c
2789
struct mvneta_tx_buf *buf = &txq->buf[desc_idx];
drivers/net/ethernet/marvell/mvneta.c
2797
mvneta_txq_desc_put(txq);
drivers/net/ethernet/marvell/mvneta.c
2800
desc_idx = txq->size;
drivers/net/ethernet/marvell/mvneta.c
2806
struct mvneta_tx_queue *txq)
drivers/net/ethernet/marvell/mvneta.c
2814
if ((txq->count + tso_count_descs(skb)) >= txq->size)
drivers/net/ethernet/marvell/mvneta.c
2822
first_desc = txq->txq_put_index;
drivers/net/ethernet/marvell/mvneta.c
2834
mvneta_tso_put_hdr(skb, txq, &tso, data_left, total_len == 0);
drivers/net/ethernet/marvell/mvneta.c
2842
if (mvneta_tso_put_data(dev, txq, skb,
drivers/net/ethernet/marvell/mvneta.c
2859
mvneta_release_descs(pp, txq, first_desc, desc_count - 1);
drivers/net/ethernet/marvell/mvneta.c
2865
struct mvneta_tx_queue *txq)
drivers/net/ethernet/marvell/mvneta.c
2869
int first_desc = txq->txq_put_index;
drivers/net/ethernet/marvell/mvneta.c
2872
struct mvneta_tx_buf *buf = &txq->buf[txq->txq_put_index];
drivers/net/ethernet/marvell/mvneta.c
2876
tx_desc = mvneta_txq_next_desc_get(txq);
drivers/net/ethernet/marvell/mvneta.c
2885
mvneta_txq_desc_put(txq);
drivers/net/ethernet/marvell/mvneta.c
2899
mvneta_txq_inc_put(txq);
drivers/net/ethernet/marvell/mvneta.c
2908
mvneta_release_descs(pp, txq, first_desc, i - 1);
drivers/net/ethernet/marvell/mvneta.c
2917
struct mvneta_tx_queue *txq = &pp->txqs[txq_id];
drivers/net/ethernet/marvell/mvneta.c
2918
struct mvneta_tx_buf *buf = &txq->buf[txq->txq_put_index];
drivers/net/ethernet/marvell/mvneta.c
2928
frags = mvneta_tx_tso(skb, dev, txq);
drivers/net/ethernet/marvell/mvneta.c
2935
tx_desc = mvneta_txq_next_desc_get(txq);
drivers/net/ethernet/marvell/mvneta.c
2946
mvneta_txq_desc_put(txq);
drivers/net/ethernet/marvell/mvneta.c
2957
mvneta_txq_inc_put(txq);
drivers/net/ethernet/marvell/mvneta.c
2962
mvneta_txq_inc_put(txq);
drivers/net/ethernet/marvell/mvneta.c
2965
if (mvneta_tx_frag_process(pp, skb, txq)) {
drivers/net/ethernet/marvell/mvneta.c
2970
mvneta_txq_desc_put(txq);
drivers/net/ethernet/marvell/mvneta.c
2983
txq->count += frags;
drivers/net/ethernet/marvell/mvneta.c
2984
if (txq->count >= txq->tx_stop_threshold)
drivers/net/ethernet/marvell/mvneta.c
2995
txq->pending + frags > MVNETA_TXQ_DEC_SENT_MASK)
drivers/net/ethernet/marvell/mvneta.c
2996
mvneta_txq_pend_desc_add(pp, txq, frags);
drivers/net/ethernet/marvell/mvneta.c
2998
txq->pending += frags;
drivers/net/ethernet/marvell/mvneta.c
3015
struct mvneta_tx_queue *txq)
drivers/net/ethernet/marvell/mvneta.c
3018
struct netdev_queue *nq = netdev_get_tx_queue(pp->dev, txq->id);
drivers/net/ethernet/marvell/mvneta.c
3019
int tx_done = txq->count;
drivers/net/ethernet/marvell/mvneta.c
3021
mvneta_txq_bufs_free(pp, txq, tx_done, nq, false);
drivers/net/ethernet/marvell/mvneta.c
3024
txq->count = 0;
drivers/net/ethernet/marvell/mvneta.c
3025
txq->txq_put_index = 0;
drivers/net/ethernet/marvell/mvneta.c
3026
txq->txq_get_index = 0;
drivers/net/ethernet/marvell/mvneta.c
3034
struct mvneta_tx_queue *txq;
drivers/net/ethernet/marvell/mvneta.c
3039
txq = mvneta_tx_done_policy(pp, cause_tx_done);
drivers/net/ethernet/marvell/mvneta.c
3041
nq = netdev_get_tx_queue(pp->dev, txq->id);
drivers/net/ethernet/marvell/mvneta.c
3044
if (txq->count)
drivers/net/ethernet/marvell/mvneta.c
3045
mvneta_txq_done(pp, txq);
drivers/net/ethernet/marvell/mvneta.c
3048
cause_tx_done &= ~((1 << txq->id));
drivers/net/ethernet/marvell/mvneta.c
3535
struct mvneta_tx_queue *txq)
drivers/net/ethernet/marvell/mvneta.c
3539
txq->size = pp->tx_ring_size;
drivers/net/ethernet/marvell/mvneta.c
3545
txq->tx_stop_threshold = txq->size - MVNETA_MAX_SKB_DESCS;
drivers/net/ethernet/marvell/mvneta.c
3546
txq->tx_wake_threshold = txq->tx_stop_threshold / 2;
drivers/net/ethernet/marvell/mvneta.c
3549
txq->descs = dma_alloc_coherent(pp->dev->dev.parent,
drivers/net/ethernet/marvell/mvneta.c
3550
txq->size * MVNETA_DESC_ALIGNED_SIZE,
drivers/net/ethernet/marvell/mvneta.c
3551
&txq->descs_phys, GFP_KERNEL);
drivers/net/ethernet/marvell/mvneta.c
3552
if (!txq->descs)
drivers/net/ethernet/marvell/mvneta.c
3555
txq->last_desc = txq->size - 1;
drivers/net/ethernet/marvell/mvneta.c
3557
txq->buf = kmalloc_objs(*txq->buf, txq->size);
drivers/net/ethernet/marvell/mvneta.c
3558
if (!txq->buf)
drivers/net/ethernet/marvell/mvneta.c
3562
err = mvneta_alloc_tso_hdrs(pp, txq);
drivers/net/ethernet/marvell/mvneta.c
3570
cpu = txq->id % num_present_cpus();
drivers/net/ethernet/marvell/mvneta.c
3573
cpumask_set_cpu(cpu, &txq->affinity_mask);
drivers/net/ethernet/marvell/mvneta.c
3574
netif_set_xps_queue(pp->dev, &txq->affinity_mask, txq->id);
drivers/net/ethernet/marvell/mvneta.c
3580
struct mvneta_tx_queue *txq)
drivers/net/ethernet/marvell/mvneta.c
3583
mvreg_write(pp, MVETH_TXQ_TOKEN_CFG_REG(txq->id), 0x03ffffff);
drivers/net/ethernet/marvell/mvneta.c
3584
mvreg_write(pp, MVETH_TXQ_TOKEN_COUNT_REG(txq->id), 0x3fffffff);
drivers/net/ethernet/marvell/mvneta.c
3587
mvreg_write(pp, MVNETA_TXQ_BASE_ADDR_REG(txq->id), txq->descs_phys);
drivers/net/ethernet/marvell/mvneta.c
3588
mvreg_write(pp, MVNETA_TXQ_SIZE_REG(txq->id), txq->size);
drivers/net/ethernet/marvell/mvneta.c
3590
mvneta_tx_done_pkts_coal_set(pp, txq, txq->done_pkts_coal);
drivers/net/ethernet/marvell/mvneta.c
3595
struct mvneta_tx_queue *txq)
drivers/net/ethernet/marvell/mvneta.c
3599
ret = mvneta_txq_sw_init(pp, txq);
drivers/net/ethernet/marvell/mvneta.c
3603
mvneta_txq_hw_init(pp, txq);
drivers/net/ethernet/marvell/mvneta.c
3610
struct mvneta_tx_queue *txq)
drivers/net/ethernet/marvell/mvneta.c
3612
struct netdev_queue *nq = netdev_get_tx_queue(pp->dev, txq->id);
drivers/net/ethernet/marvell/mvneta.c
3614
kfree(txq->buf);
drivers/net/ethernet/marvell/mvneta.c
3616
mvneta_free_tso_hdrs(pp, txq);
drivers/net/ethernet/marvell/mvneta.c
3617
if (txq->descs)
drivers/net/ethernet/marvell/mvneta.c
3619
txq->size * MVNETA_DESC_ALIGNED_SIZE,
drivers/net/ethernet/marvell/mvneta.c
3620
txq->descs, txq->descs_phys);
drivers/net/ethernet/marvell/mvneta.c
3624
txq->buf = NULL;
drivers/net/ethernet/marvell/mvneta.c
3625
txq->descs = NULL;
drivers/net/ethernet/marvell/mvneta.c
3626
txq->last_desc = 0;
drivers/net/ethernet/marvell/mvneta.c
3627
txq->next_desc_to_proc = 0;
drivers/net/ethernet/marvell/mvneta.c
3628
txq->descs_phys = 0;
drivers/net/ethernet/marvell/mvneta.c
3632
struct mvneta_tx_queue *txq)
drivers/net/ethernet/marvell/mvneta.c
3635
mvreg_write(pp, MVETH_TXQ_TOKEN_CFG_REG(txq->id), 0);
drivers/net/ethernet/marvell/mvneta.c
3636
mvreg_write(pp, MVETH_TXQ_TOKEN_COUNT_REG(txq->id), 0);
drivers/net/ethernet/marvell/mvneta.c
3639
mvreg_write(pp, MVNETA_TXQ_BASE_ADDR_REG(txq->id), 0);
drivers/net/ethernet/marvell/mvneta.c
3640
mvreg_write(pp, MVNETA_TXQ_SIZE_REG(txq->id), 0);
drivers/net/ethernet/marvell/mvneta.c
3644
struct mvneta_tx_queue *txq)
drivers/net/ethernet/marvell/mvneta.c
3646
mvneta_txq_sw_deinit(pp, txq);
drivers/net/ethernet/marvell/mvneta.c
3647
mvneta_txq_hw_deinit(pp, txq);
drivers/net/ethernet/marvell/mvneta.c
4744
struct mvneta_tx_queue *txq = &pp->txqs[queue];
drivers/net/ethernet/marvell/mvneta.c
4745
txq->done_pkts_coal = c->tx_max_coalesced_frames;
drivers/net/ethernet/marvell/mvneta.c
4746
mvneta_tx_done_pkts_coal_set(pp, txq, txq->done_pkts_coal);
drivers/net/ethernet/marvell/mvneta.c
5244
int rxq, txq, tc, ret;
drivers/net/ethernet/marvell/mvneta.c
5292
for (txq = mqprio->qopt.offset[tc];
drivers/net/ethernet/marvell/mvneta.c
5293
txq < mqprio->qopt.count[tc] + mqprio->qopt.offset[tc];
drivers/net/ethernet/marvell/mvneta.c
5294
txq++) {
drivers/net/ethernet/marvell/mvneta.c
5295
if (txq >= txq_number)
drivers/net/ethernet/marvell/mvneta.c
5298
ret = mvneta_setup_queue_rates(pp, txq,
drivers/net/ethernet/marvell/mvneta.c
5380
struct mvneta_tx_queue *txq = &pp->txqs[queue];
drivers/net/ethernet/marvell/mvneta.c
5381
txq->id = queue;
drivers/net/ethernet/marvell/mvneta.c
5382
txq->size = pp->tx_ring_size;
drivers/net/ethernet/marvell/mvneta.c
5383
txq->done_pkts_coal = MVNETA_TXDONE_COAL_PKTS;
drivers/net/ethernet/marvell/mvneta.c
5829
struct mvneta_tx_queue *txq = &pp->txqs[queue];
drivers/net/ethernet/marvell/mvneta.c
5831
mvneta_txq_hw_deinit(pp, txq);
drivers/net/ethernet/marvell/mvneta.c
5882
struct mvneta_tx_queue *txq = &pp->txqs[queue];
drivers/net/ethernet/marvell/mvneta.c
5884
txq->next_desc_to_proc = 0;
drivers/net/ethernet/marvell/mvneta.c
5885
mvneta_txq_hw_init(pp, txq);
drivers/net/ethernet/marvell/mvneta.c
774
static void mvneta_txq_inc_get(struct mvneta_tx_queue *txq)
drivers/net/ethernet/marvell/mvneta.c
776
txq->txq_get_index++;
drivers/net/ethernet/marvell/mvneta.c
777
if (txq->txq_get_index == txq->size)
drivers/net/ethernet/marvell/mvneta.c
778
txq->txq_get_index = 0;
drivers/net/ethernet/marvell/mvneta.c
782
static void mvneta_txq_inc_put(struct mvneta_tx_queue *txq)
drivers/net/ethernet/marvell/mvneta.c
784
txq->txq_put_index++;
drivers/net/ethernet/marvell/mvneta.c
785
if (txq->txq_put_index == txq->size)
drivers/net/ethernet/marvell/mvneta.c
786
txq->txq_put_index = 0;
drivers/net/ethernet/marvell/mvneta.c
964
struct mvneta_tx_queue *txq,
drivers/net/ethernet/marvell/mvneta.c
969
pend_desc += txq->pending;
drivers/net/ethernet/marvell/mvneta.c
974
mvreg_write(pp, MVNETA_TXQ_UPDATE_REG(txq->id), val);
drivers/net/ethernet/marvell/mvneta.c
977
txq->pending = 0;
drivers/net/ethernet/marvell/mvneta.c
982
mvneta_txq_next_desc_get(struct mvneta_tx_queue *txq)
drivers/net/ethernet/marvell/mvneta.c
984
int tx_desc = txq->next_desc_to_proc;
drivers/net/ethernet/marvell/mvneta.c
986
txq->next_desc_to_proc = MVNETA_QUEUE_NEXT_DESC(txq, tx_desc);
drivers/net/ethernet/marvell/mvneta.c
987
return txq->descs + tx_desc;
drivers/net/ethernet/marvell/mvneta.c
993
static void mvneta_txq_desc_put(struct mvneta_tx_queue *txq)
drivers/net/ethernet/marvell/mvneta.c
995
if (txq->next_desc_to_proc == 0)
drivers/net/ethernet/marvell/mvneta.c
996
txq->next_desc_to_proc = txq->last_desc - 1;
drivers/net/ethernet/marvell/mvneta.c
998
txq->next_desc_to_proc--;
drivers/net/ethernet/marvell/mvpp2/mvpp2.h
206
#define MVPP2_TXQ_SENT_REG(txq) (0x3c00 + 4 * (txq))
drivers/net/ethernet/marvell/mvpp2/mvpp2.h
365
#define MVPP22_CTRS_TX_CTR(port, txq) ((txq) | ((port) << 3) | BIT(7))
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
234
unsigned int txq)
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
2355
struct mvpp2_tx_queue *txq = port->txqs[queue];
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
2357
if (txq->descs)
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
237
tx_desc->pp21.phys_txq = txq;
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
239
tx_desc->pp22.phys_txq = txq;
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
2461
mvpp2_txq_next_desc_get(struct mvpp2_tx_queue *txq)
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
2463
int tx_desc = txq->next_desc_to_proc;
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
2465
txq->next_desc_to_proc = MVPP2_QUEUE_NEXT_DESC(txq, tx_desc);
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
2466
return txq->descs + tx_desc;
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
2513
struct mvpp2_tx_queue *txq, int num)
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
2519
val = (txq->id << MVPP2_TXQ_RSVD_REQ_Q_OFFSET) | num;
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
2531
struct mvpp2_tx_queue *txq,
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
2550
txq_pcpu_aux = per_cpu_ptr(txq->pcpu, thread);
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
2559
(txq->size - (MVPP2_MAX_THREADS * MVPP2_CPU_DESC_CHUNK)))
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
2562
txq_pcpu->reserved_num += mvpp2_txq_alloc_reserved_desc(port, txq, req);
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
2573
static void mvpp2_txq_desc_put(struct mvpp2_tx_queue *txq)
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
2575
if (txq->next_desc_to_proc == 0)
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
2576
txq->next_desc_to_proc = txq->last_desc - 1;
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
2578
txq->next_desc_to_proc--;
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
2623
struct mvpp2_tx_queue *txq)
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
2630
MVPP2_TXQ_SENT_REG(txq->id));
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
2661
int txq, tx_port_num;
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
2690
for (txq = 0; txq < port->ntxqs; txq++) {
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
2692
MVPP2_TXQ_SCHED_TOKEN_SIZE_REG(txq));
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
2700
MVPP2_TXQ_SCHED_TOKEN_SIZE_REG(txq),
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
2740
struct mvpp2_tx_queue *txq)
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
2745
if (txq->done_pkts_coal > MVPP2_TXQ_THRESH_MASK)
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
2746
txq->done_pkts_coal = MVPP2_TXQ_THRESH_MASK;
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
2748
val = (txq->done_pkts_coal << MVPP2_TXQ_THRESH_OFFSET);
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
2751
mvpp2_thread_write(port->priv, thread, MVPP2_TXQ_NUM_REG, txq->id);
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
2810
struct mvpp2_tx_queue *txq,
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
2858
static void mvpp2_txq_done(struct mvpp2_port *port, struct mvpp2_tx_queue *txq,
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
2861
struct netdev_queue *nq = netdev_get_tx_queue(port->dev, txq->log_id);
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
2867
tx_done = mvpp2_txq_sent_desc_proc(port, txq);
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
2870
mvpp2_txq_bufs_free(port, txq, txq_pcpu, tx_done);
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
2882
struct mvpp2_tx_queue *txq;
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
2887
txq = mvpp2_get_tx_queue(port, cause);
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
2888
if (!txq)
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
2891
txq_pcpu = per_cpu_ptr(txq->pcpu, thread);
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
2894
mvpp2_txq_done(port, txq, txq_pcpu);
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
2898
cause &= ~(1 << txq->log_id);
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
3091
struct mvpp2_tx_queue *txq)
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
3098
txq->size = port->tx_ring_size;
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
3101
txq->descs = dma_alloc_coherent(port->dev->dev.parent,
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
3102
txq->size * MVPP2_DESC_ALIGNED_SIZE,
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
3103
&txq->descs_dma, GFP_KERNEL);
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
3104
if (!txq->descs)
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
3107
txq->last_desc = txq->size - 1;
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
3111
mvpp2_thread_write(port->priv, thread, MVPP2_TXQ_NUM_REG, txq->id);
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
3113
txq->descs_dma);
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
3115
txq->size & MVPP2_TXQ_DESC_SIZE_MASK);
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
3118
txq->id << MVPP2_TXQ_RSVD_CLR_OFFSET);
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
3130
(txq->log_id * desc_per_txq);
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
3141
val = mvpp2_read(port->priv, MVPP2_TXQ_SCHED_REFILL_REG(txq->log_id));
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
3145
mvpp2_write(port->priv, MVPP2_TXQ_SCHED_REFILL_REG(txq->log_id), val);
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
3148
mvpp2_write(port->priv, MVPP2_TXQ_SCHED_TOKEN_SIZE_REG(txq->log_id),
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
3152
txq_pcpu = per_cpu_ptr(txq->pcpu, thread);
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
3153
txq_pcpu->size = txq->size;
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
3164
txq_pcpu->stop_threshold = txq->size - MVPP2_MAX_SKB_DESCS;
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
3181
struct mvpp2_tx_queue *txq)
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
3187
txq_pcpu = per_cpu_ptr(txq->pcpu, thread);
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
3199
if (txq->descs)
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
3201
txq->size * MVPP2_DESC_ALIGNED_SIZE,
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
3202
txq->descs, txq->descs_dma);
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
3204
txq->descs = NULL;
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
3205
txq->last_desc = 0;
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
3206
txq->next_desc_to_proc = 0;
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
3207
txq->descs_dma = 0;
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
3210
mvpp2_write(port->priv, MVPP2_TXQ_SCHED_TOKEN_CNTR_REG(txq->log_id), 0);
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
3214
mvpp2_thread_write(port->priv, thread, MVPP2_TXQ_NUM_REG, txq->id);
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
3221
static void mvpp2_txq_clean(struct mvpp2_port *port, struct mvpp2_tx_queue *txq)
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
3228
mvpp2_thread_write(port->priv, thread, MVPP2_TXQ_NUM_REG, txq->id);
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
3241
port->id, txq->log_id);
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
3257
txq_pcpu = per_cpu_ptr(txq->pcpu, thread);
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
3260
mvpp2_txq_bufs_free(port, txq, txq_pcpu, txq_pcpu->count);
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
3272
struct mvpp2_tx_queue *txq;
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
3283
txq = port->txqs[queue];
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
3284
mvpp2_txq_clean(port, txq);
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
3285
mvpp2_txq_deinit(port, txq);
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
3330
struct mvpp2_tx_queue *txq;
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
3334
txq = port->txqs[queue];
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
3335
err = mvpp2_txq_init(port, txq);
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
3347
txq = port->txqs[queue];
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
3348
mvpp2_tx_pkts_coal_set(port, txq);
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
354
static inline int mvpp2_txq_phys(int port, int txq)
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
356
return (MVPP2_MAX_TCONT + port) * MVPP2_MAX_TXQ + txq;
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
3642
struct mvpp2_tx_queue *txq;
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
3645
txq = port->txqs[txq_id];
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
3646
txq_pcpu = per_cpu_ptr(txq->pcpu, thread);
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
3662
if (!port->has_tx_irqs && txq_pcpu->count >= txq->done_pkts_coal)
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
3663
mvpp2_txq_done(port, txq, txq_pcpu);
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
3677
struct mvpp2_tx_queue *txq;
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
3681
txq = port->txqs[txq_id];
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
3682
txq_pcpu = per_cpu_ptr(txq->pcpu, thread);
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
3687
mvpp2_txq_reserved_desc_num_proc(port, txq, txq_pcpu, 1)) {
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
3694
mvpp2_txdesc_txq_set(port, tx_desc, txq->id);
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
3703
mvpp2_txq_desc_put(txq);
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
4098
tx_desc_unmap_put(struct mvpp2_port *port, struct mvpp2_tx_queue *txq,
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
4102
struct mvpp2_txq_pcpu *txq_pcpu = per_cpu_ptr(txq->pcpu, thread);
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
4111
mvpp2_txq_desc_put(txq);
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
4205
struct mvpp2_tx_queue *txq)
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
4208
struct mvpp2_txq_pcpu *txq_pcpu = per_cpu_ptr(txq->pcpu, thread);
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
4219
mvpp2_txdesc_txq_set(port, tx_desc, txq->id);
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
4226
mvpp2_txq_desc_put(txq);
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
4250
tx_desc = txq->descs + i;
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
4251
tx_desc_unmap_put(port, txq, tx_desc);
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
4259
struct mvpp2_tx_queue *txq,
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
4269
mvpp2_txdesc_txq_set(port, tx_desc, txq->id);
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
4284
struct mvpp2_tx_queue *txq,
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
4294
mvpp2_txdesc_txq_set(port, tx_desc, txq->id);
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
4300
mvpp2_txq_desc_put(txq);
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
4321
struct mvpp2_tx_queue *txq,
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
4331
mvpp2_txq_reserved_desc_num_proc(port, txq, txq_pcpu,
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
4347
mvpp2_tso_put_hdr(skb, dev, txq, aggr_txq, txq_pcpu, hdr_sz);
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
4354
if (mvpp2_tso_put_data(skb, dev, &tso, txq, aggr_txq,
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
4365
struct mvpp2_tx_desc *tx_desc = txq->descs + i;
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
4366
tx_desc_unmap_put(port, txq, tx_desc);
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
4375
struct mvpp2_tx_queue *txq, *aggr_txq;
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
4388
txq = port->txqs[txq_id];
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
4389
txq_pcpu = per_cpu_ptr(txq->pcpu, thread);
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
4396
frags = mvpp2_tx_tso(skb, dev, txq, aggr_txq, txq_pcpu);
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
4403
mvpp2_txq_reserved_desc_num_proc(port, txq, txq_pcpu, frags)) {
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
4413
mvpp2_txdesc_txq_set(port, tx_desc, txq->id);
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
4419
mvpp2_txq_desc_put(txq);
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
4440
if (mvpp2_tx_frag_process(port, skb, aggr_txq, txq)) {
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
4441
tx_desc_unmap_put(port, txq, tx_desc);
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
4474
if (!port->has_tx_irqs && txq_pcpu->count >= txq->done_pkts_coal)
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
4475
mvpp2_txq_done(port, txq, txq_pcpu);
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
5437
struct mvpp2_tx_queue *txq = port->txqs[queue];
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
5439
txq->done_pkts_coal = c->tx_max_coalesced_frames;
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
5442
mvpp2_tx_pkts_coal_set(port, txq);
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
6042
struct mvpp2_tx_queue *txq;
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
6044
txq = devm_kzalloc(dev, sizeof(*txq), GFP_KERNEL);
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
6045
if (!txq) {
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
6050
txq->pcpu = alloc_percpu(struct mvpp2_txq_pcpu);
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
6051
if (!txq->pcpu) {
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
6056
txq->id = queue_phy_id;
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
6057
txq->log_id = queue;
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
6058
txq->done_pkts_coal = MVPP2_TXDONE_COAL_PKTS_THRESH;
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
6060
txq_pcpu = per_cpu_ptr(txq->pcpu, thread);
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
6064
port->txqs[queue] = txq;
drivers/net/ethernet/marvell/octeontx2/nic/cn10k_ipsec.c
1032
netdev_tx_sent_queue(txq, skb->len);
drivers/net/ethernet/marvell/octeontx2/nic/cn10k_ipsec.c
931
bool cn10k_ipsec_transmit(struct otx2_nic *pf, struct netdev_queue *txq,
drivers/net/ethernet/marvell/octeontx2/nic/cn10k_ipsec.h
231
bool cn10k_ipsec_transmit(struct otx2_nic *pf, struct netdev_queue *txq,
drivers/net/ethernet/marvell/octeontx2/nic/cn10k_ipsec.h
258
cn10k_ipsec_transmit(struct otx2_nic *pf, struct netdev_queue *txq,
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c
594
void otx2_tx_timeout(struct net_device *netdev, unsigned int txq)
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.h
1037
void otx2_tx_timeout(struct net_device *netdev, unsigned int txq);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
2219
struct netdev_queue *txq;
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
2237
txq = netdev_get_tx_queue(netdev, qidx);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
2239
if (!otx2_sq_append_skb(pf, txq, sq, skb, qidx)) {
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
2240
netif_tx_stop_queue(txq);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
2246
netif_tx_wake_queue(txq);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
2278
int txq;
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
2288
txq = otx2_qos_select_htb_queue(pf, skb, htb_maj_id);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
2289
if (txq > 0)
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
2290
return txq;
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
2309
txq = netdev_pick_tx(netdev, skb, NULL);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
2311
return txq % pf->hw.tx_queues;
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
2313
return txq;
drivers/net/ethernet/marvell/octeontx2/nic/otx2_txrx.c
1189
bool otx2_sq_append_skb(void *dev, struct netdev_queue *txq,
drivers/net/ethernet/marvell/octeontx2/nic/otx2_txrx.c
1265
return cn10k_ipsec_transmit(pfvf, txq, sq, skb, num_segs,
drivers/net/ethernet/marvell/octeontx2/nic/otx2_txrx.c
1268
netdev_tx_sent_queue(txq, skb->len);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_txrx.c
1324
struct netdev_queue *txq;
drivers/net/ethernet/marvell/octeontx2/nic/otx2_txrx.c
1356
txq = netdev_get_tx_queue(pfvf->netdev, qidx);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_txrx.c
1357
netdev_tx_completed_queue(txq, tx_pkts, tx_bytes);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_txrx.c
1390
struct netdev_queue *txq;
drivers/net/ethernet/marvell/octeontx2/nic/otx2_txrx.c
1410
txq = netdev_get_tx_queue(pfvf->netdev, sq_idx);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_txrx.c
1411
netdev_tx_completed_queue(txq, tx_pkts, tx_bytes);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_txrx.c
523
struct netdev_queue *txq;
drivers/net/ethernet/marvell/octeontx2/nic/otx2_txrx.c
531
txq = netdev_get_tx_queue(ndev, qidx);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_txrx.c
532
netdev_tx_completed_queue(txq, tx_pkts, tx_bytes);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_txrx.c
535
if (netif_tx_queue_stopped(txq) &&
drivers/net/ethernet/marvell/octeontx2/nic/otx2_txrx.c
537
netif_tx_wake_queue(txq);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_txrx.c
931
struct netdev_queue *txq = netdev_get_tx_queue(pfvf->netdev, qidx);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_txrx.c
948
netdev_tx_sent_queue(txq, skb->len);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_txrx.h
182
bool otx2_sq_append_skb(void *dev, struct netdev_queue *txq,
drivers/net/ethernet/marvell/octeontx2/nic/otx2_vf.c
420
struct netdev_queue *txq;
drivers/net/ethernet/marvell/octeontx2/nic/otx2_vf.c
432
txq = netdev_get_tx_queue(netdev, qidx);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_vf.c
434
if (!otx2_sq_append_skb(vf, txq, sq, skb, qidx)) {
drivers/net/ethernet/marvell/octeontx2/nic/otx2_vf.c
435
netif_tx_stop_queue(txq);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_vf.c
441
netif_tx_wake_queue(txq);
drivers/net/ethernet/marvell/octeontx2/nic/rep.c
421
struct netdev_queue *txq;
drivers/net/ethernet/marvell/octeontx2/nic/rep.c
434
txq = netdev_get_tx_queue(dev, 0);
drivers/net/ethernet/marvell/octeontx2/nic/rep.c
436
if (!otx2_sq_append_skb(pf, txq, sq, skb, rep->rep_id)) {
drivers/net/ethernet/marvell/octeontx2/nic/rep.c
437
netif_tx_stop_queue(txq);
drivers/net/ethernet/marvell/octeontx2/nic/rep.c
443
netif_tx_wake_queue(txq);
drivers/net/ethernet/mediatek/mtk_eth_soc.c
1595
struct netdev_queue *txq;
drivers/net/ethernet/mediatek/mtk_eth_soc.c
1606
txq = netdev_get_tx_queue(dev, queue);
drivers/net/ethernet/mediatek/mtk_eth_soc.c
1692
netdev_tx_sent_queue(txq, skb->len);
drivers/net/ethernet/mediatek/mtk_eth_soc.c
1704
if (netif_xmit_stopped(txq) || !netdev_xmit_more())
drivers/net/ethernet/mediatek/mtk_eth_soc.c
2432
struct netdev_queue *txq;
drivers/net/ethernet/mediatek/mtk_eth_soc.c
2442
struct netdev_queue *txq;
drivers/net/ethernet/mediatek/mtk_eth_soc.c
2454
txq = netdev_get_tx_queue(dev, skb_get_queue_mapping(skb));
drivers/net/ethernet/mediatek/mtk_eth_soc.c
2455
if (state->txq == txq) {
drivers/net/ethernet/mediatek/mtk_eth_soc.c
2461
if (state->txq)
drivers/net/ethernet/mediatek/mtk_eth_soc.c
2462
netdev_tx_completed_queue(state->txq, state->done, state->bytes);
drivers/net/ethernet/mediatek/mtk_eth_soc.c
2464
state->txq = txq;
drivers/net/ethernet/mediatek/mtk_eth_soc.c
2568
if (state.txq)
drivers/net/ethernet/mediatek/mtk_eth_soc.c
2569
netdev_tx_completed_queue(state.txq, state.done, state.bytes);
drivers/net/ethernet/mediatek/mtk_ppe.c
428
int wdma_idx, int txq, int bss, int wcid,
drivers/net/ethernet/mediatek/mtk_ppe.c
437
*ib2 |= FIELD_PREP(MTK_FOE_IB2_RX_IDX, txq) |
drivers/net/ethernet/mediatek/mtk_ppe.c
445
*ib2 |= FIELD_PREP(MTK_FOE_IB2_RX_IDX, txq) |
drivers/net/ethernet/mediatek/mtk_ppe.c
457
FIELD_PREP(MTK_FOE_VLAN2_WINFO_RING, txq);
drivers/net/ethernet/mediatek/mtk_ppe.h
396
int wdma_idx, int txq, int bss, int wcid,
drivers/net/ethernet/mellanox/mlx5/core/en.h
1174
void mlx5e_tx_disable_queue(struct netdev_queue *txq);
drivers/net/ethernet/mellanox/mlx5/core/en.h
447
struct netdev_queue *txq;
drivers/net/ethernet/mellanox/mlx5/core/en/htb.c
448
struct netdev_queue *txq;
drivers/net/ethernet/mellanox/mlx5/core/en/htb.c
464
txq = netdev_get_tx_queue(htb->netdev,
drivers/net/ethernet/mellanox/mlx5/core/en/htb.c
482
mlx5e_reactivate_qos_sq(priv, qid, txq);
drivers/net/ethernet/mellanox/mlx5/core/en/htb.c
492
mlx5e_reactivate_qos_sq(priv, qid, txq);
drivers/net/ethernet/mellanox/mlx5/core/en/htb.c
508
txq = netdev_get_tx_queue(htb->netdev,
drivers/net/ethernet/mellanox/mlx5/core/en/htb.c
533
mlx5e_reactivate_qos_sq(priv, moved_qid, txq);
drivers/net/ethernet/mellanox/mlx5/core/en/qos.c
367
void mlx5e_reactivate_qos_sq(struct mlx5e_priv *priv, u16 qid, struct netdev_queue *txq)
drivers/net/ethernet/mellanox/mlx5/core/en/qos.c
370
netdev_tx_reset_queue(txq);
drivers/net/ethernet/mellanox/mlx5/core/en/qos.c
371
netif_tx_start_queue(txq);
drivers/net/ethernet/mellanox/mlx5/core/en/qos.h
26
void mlx5e_reactivate_qos_sq(struct mlx5e_priv *priv, u16 qid, struct netdev_queue *txq);
drivers/net/ethernet/mellanox/mlx5/core/en/reporter_tx.c
105
mlx5e_tx_disable_queue(sq->txq);
drivers/net/ethernet/mellanox/mlx5/core/en/reporter_tx.c
266
bool stopped = netif_xmit_stopped(sq->txq);
drivers/net/ethernet/mellanox/mlx5/core/en/reporter_tx.c
561
jiffies_to_usecs(jiffies - READ_ONCE(sq->txq->trans_start)));
drivers/net/ethernet/mellanox/mlx5/core/en/selq.h
30
static inline u16 mlx5e_txq_to_ch_ix(u16 txq, u16 num_channels)
drivers/net/ethernet/mellanox/mlx5/core/en/selq.h
32
while (unlikely(txq >= num_channels))
drivers/net/ethernet/mellanox/mlx5/core/en/selq.h
33
txq -= num_channels;
drivers/net/ethernet/mellanox/mlx5/core/en/selq.h
34
return txq;
drivers/net/ethernet/mellanox/mlx5/core/en/selq.h
37
static inline u16 mlx5e_txq_to_ch_ix_htb(u16 txq, u16 num_channels)
drivers/net/ethernet/mellanox/mlx5/core/en/selq.h
39
if (unlikely(txq >= num_channels)) {
drivers/net/ethernet/mellanox/mlx5/core/en/selq.h
40
if (unlikely(txq >= num_channels << 3))
drivers/net/ethernet/mellanox/mlx5/core/en/selq.h
41
txq %= num_channels;
drivers/net/ethernet/mellanox/mlx5/core/en/selq.h
44
txq -= num_channels;
drivers/net/ethernet/mellanox/mlx5/core/en/selq.h
45
while (txq >= num_channels);
drivers/net/ethernet/mellanox/mlx5/core/en/selq.h
47
return txq;
drivers/net/ethernet/mellanox/mlx5/core/en_main.c
1941
sq->txq = netdev_get_tx_queue(sq->netdev, sq->txq_ix);
drivers/net/ethernet/mellanox/mlx5/core/en_main.c
1943
netdev_tx_reset_queue(sq->txq);
drivers/net/ethernet/mellanox/mlx5/core/en_main.c
1944
netif_tx_start_queue(sq->txq);
drivers/net/ethernet/mellanox/mlx5/core/en_main.c
1948
void mlx5e_tx_disable_queue(struct netdev_queue *txq)
drivers/net/ethernet/mellanox/mlx5/core/en_main.c
1950
__netif_tx_lock_bh(txq);
drivers/net/ethernet/mellanox/mlx5/core/en_main.c
1951
netif_tx_stop_queue(txq);
drivers/net/ethernet/mellanox/mlx5/core/en_main.c
1952
__netif_tx_unlock_bh(txq);
drivers/net/ethernet/mellanox/mlx5/core/en_main.c
1963
mlx5e_tx_disable_queue(sq->txq);
drivers/net/ethernet/mellanox/mlx5/core/en_main.c
2408
static int mlx5e_mqprio_txq_to_tc(struct netdev_tc_txq *tc_to_txq, unsigned int txq)
drivers/net/ethernet/mellanox/mlx5/core/en_main.c
2413
if (txq - tc_to_txq[tc].offset < tc_to_txq[tc].count)
drivers/net/ethernet/mellanox/mlx5/core/en_main.c
2416
WARN(1, "Unexpected TCs configuration. No match found for txq %u", txq);
drivers/net/ethernet/mellanox/mlx5/core/en_tx.c
346
netif_tx_stop_queue(sq->txq);
drivers/net/ethernet/mellanox/mlx5/core/en_tx.c
410
if (!netif_tx_queue_stopped(sq->txq) &&
drivers/net/ethernet/mellanox/mlx5/core/en_tx.c
412
netif_tx_stop_queue(sq->txq);
drivers/net/ethernet/mellanox/mlx5/core/en_tx.c
418
send_doorbell = __netdev_tx_sent_queue(sq->txq, attr->num_bytes, xmit_more);
drivers/net/ethernet/mellanox/mlx5/core/en_tx.c
603
if (__netdev_tx_sent_queue(sq->txq, txd.len, xmit_more))
drivers/net/ethernet/mellanox/mlx5/core/en_tx.c
605
} else if (__netdev_tx_sent_queue(sq->txq, txd.len, xmit_more)) {
drivers/net/ethernet/mellanox/mlx5/core/en_tx.c
751
if (netif_tx_queue_stopped(sq->txq) &&
drivers/net/ethernet/mellanox/mlx5/core/en_tx.c
755
netif_tx_wake_queue(sq->txq);
drivers/net/ethernet/mellanox/mlx5/core/en_tx.c
857
netdev_tx_completed_queue(sq->txq, npkts, nbytes);
drivers/net/ethernet/mellanox/mlx5/core/en_tx.c
915
netdev_tx_completed_queue(sq->txq, npkts, nbytes);
drivers/net/ethernet/meta/fbnic/fbnic_txrx.c
125
struct netdev_queue *txq = txring_txq(dev, ring);
drivers/net/ethernet/meta/fbnic/fbnic_txrx.c
128
res = netif_txq_maybe_stop(txq, fbnic_desc_unused(ring), size,
drivers/net/ethernet/meta/fbnic/fbnic_txrx.c
551
struct netdev_queue *txq;
drivers/net/ethernet/meta/fbnic/fbnic_txrx.c
607
txq = txring_txq(nv->napi.dev, ring);
drivers/net/ethernet/meta/fbnic/fbnic_txrx.c
615
netdev_tx_completed_queue(txq, total_packets, total_bytes);
drivers/net/ethernet/meta/fbnic/fbnic_txrx.c
624
if (!netif_txq_completed_wake(txq, total_packets, total_bytes,
drivers/net/ethernet/micrel/ks8851.h
402
struct sk_buff_head txq;
drivers/net/ethernet/micrel/ks8851_common.c
1155
skb_queue_head_init(&ks->txq);
drivers/net/ethernet/micrel/ks8851_common.c
514
while (!skb_queue_empty(&ks->txq)) {
drivers/net/ethernet/micrel/ks8851_common.c
515
struct sk_buff *txb = skb_dequeue(&ks->txq);
drivers/net/ethernet/micrel/ks8851_spi.c
315
last = skb_queue_empty(&ks->txq);
drivers/net/ethernet/micrel/ks8851_spi.c
320
txb = skb_dequeue(&ks->txq);
drivers/net/ethernet/micrel/ks8851_spi.c
321
last = skb_queue_empty(&ks->txq);
drivers/net/ethernet/micrel/ks8851_spi.c
390
skb_queue_tail(&ks->txq, skb);
drivers/net/ethernet/microchip/lan743x_main.c
2003
struct netdev_queue *txq;
drivers/net/ethernet/microchip/lan743x_main.c
2019
txq = netdev_get_tx_queue(tx->adapter->netdev,
drivers/net/ethernet/microchip/lan743x_main.c
2021
netif_tx_stop_queue(txq);
drivers/net/ethernet/microchip/lan743x_main.c
2088
struct netdev_queue *txq;
drivers/net/ethernet/microchip/lan743x_main.c
2099
txq = netdev_get_tx_queue(adapter->netdev, tx->channel_number);
drivers/net/ethernet/microchip/lan743x_main.c
2100
if (netif_tx_queue_stopped(txq)) {
drivers/net/ethernet/microchip/lan743x_main.c
2105
netif_tx_wake_queue(txq);
drivers/net/ethernet/microchip/lan743x_main.c
2108
netif_tx_wake_queue(txq);
drivers/net/ethernet/microsoft/mana/hw_channel.c
145
hwc->txq->gdma_wq->id = val;
drivers/net/ethernet/microsoft/mana/hw_channel.c
170
hwc->txq->msg_buf->gpa_mkey = val;
drivers/net/ethernet/microsoft/mana/hw_channel.c
299
struct hwc_wq *hwc_txq = hwc->txq;
drivers/net/ethernet/microsoft/mana/hw_channel.c
674
struct gdma_queue *sq = hwc->txq->gdma_wq;
drivers/net/ethernet/microsoft/mana/hw_channel.c
739
hwc->cq, &hwc->txq);
drivers/net/ethernet/microsoft/mana/hw_channel.c
826
if (hwc->txq)
drivers/net/ethernet/microsoft/mana/hw_channel.c
827
mana_hwc_destroy_wq(hwc, hwc->txq);
drivers/net/ethernet/microsoft/mana/hw_channel.c
860
struct hwc_wq *txq = hwc->txq;
drivers/net/ethernet/microsoft/mana/hw_channel.c
871
tx_wr = &txq->msg_buf->reqs[msg_id];
drivers/net/ethernet/microsoft/mana/hw_channel.c
898
err = mana_hwc_post_tx_wqe(txq, tx_wr, dest_vrq, dest_vrcq, false);
drivers/net/ethernet/microsoft/mana/mana_bpf.c
71
tx_stats = &apc->tx_qp[q_idx]->txq.stats;
drivers/net/ethernet/microsoft/mana/mana_en.c
1859
struct mana_txq *txq = cq->txq;
drivers/net/ethernet/microsoft/mana/mana_en.c
1870
ndev = txq->ndev;
drivers/net/ethernet/microsoft/mana/mana_en.c
1928
if (WARN_ON_ONCE(txq->gdma_txq_id != completions[i].wq_num))
drivers/net/ethernet/microsoft/mana/mana_en.c
1931
skb = skb_dequeue(&txq->pending_skbs);
drivers/net/ethernet/microsoft/mana/mana_en.c
1948
mana_move_wq_tail(txq->gdma_sq, wqe_unit_cnt);
drivers/net/ethernet/microsoft/mana/mana_en.c
1950
gdma_wq = txq->gdma_sq;
drivers/net/ethernet/microsoft/mana/mana_en.c
1956
net_txq = txq->net_txq;
drivers/net/ethernet/microsoft/mana/mana_en.c
1967
if (atomic_sub_return(pkt_transmitted, &txq->pending_sends) < 0)
drivers/net/ethernet/microsoft/mana/mana_en.c
2418
static void mana_deinit_txq(struct mana_port_context *apc, struct mana_txq *txq)
drivers/net/ethernet/microsoft/mana/mana_en.c
2422
if (!txq->gdma_sq)
drivers/net/ethernet/microsoft/mana/mana_en.c
2425
mana_gd_destroy_queue(gd->gdma_context, txq->gdma_sq);
drivers/net/ethernet/microsoft/mana/mana_en.c
2444
if (apc->tx_qp[i]->txq.napi_initialized) {
drivers/net/ethernet/microsoft/mana/mana_en.c
2448
apc->tx_qp[i]->txq.napi_initialized = false;
drivers/net/ethernet/microsoft/mana/mana_en.c
2456
mana_deinit_txq(apc, &apc->tx_qp[i]->txq);
drivers/net/ethernet/microsoft/mana/mana_en.c
2473
&tx_qp->txq.gdma_sq->head);
drivers/net/ethernet/microsoft/mana/mana_en.c
2475
&tx_qp->txq.gdma_sq->tail);
drivers/net/ethernet/microsoft/mana/mana_en.c
2477
&tx_qp->txq.pending_skbs.qlen);
drivers/net/ethernet/microsoft/mana/mana_en.c
2485
tx_qp->txq.gdma_sq, &mana_dbg_q_fops);
drivers/net/ethernet/microsoft/mana/mana_en.c
2499
struct mana_txq *txq;
drivers/net/ethernet/microsoft/mana/mana_en.c
2535
txq = &apc->tx_qp[i]->txq;
drivers/net/ethernet/microsoft/mana/mana_en.c
2537
u64_stats_init(&txq->stats.syncp);
drivers/net/ethernet/microsoft/mana/mana_en.c
2538
txq->ndev = net;
drivers/net/ethernet/microsoft/mana/mana_en.c
2539
txq->net_txq = netdev_get_tx_queue(net, i);
drivers/net/ethernet/microsoft/mana/mana_en.c
2540
txq->vp_offset = apc->tx_vp_offset;
drivers/net/ethernet/microsoft/mana/mana_en.c
2541
txq->napi_initialized = false;
drivers/net/ethernet/microsoft/mana/mana_en.c
2542
skb_queue_head_init(&txq->pending_skbs);
drivers/net/ethernet/microsoft/mana/mana_en.c
2548
err = mana_gd_create_mana_wq_cq(gd, &spec, &txq->gdma_sq);
drivers/net/ethernet/microsoft/mana/mana_en.c
2556
cq->txq = txq;
drivers/net/ethernet/microsoft/mana/mana_en.c
2572
wq_spec.gdma_region = txq->gdma_sq->mem_info.dma_region_handle;
drivers/net/ethernet/microsoft/mana/mana_en.c
2573
wq_spec.queue_size = txq->gdma_sq->queue_size;
drivers/net/ethernet/microsoft/mana/mana_en.c
2587
txq->gdma_sq->id = wq_spec.queue_index;
drivers/net/ethernet/microsoft/mana/mana_en.c
2590
txq->gdma_sq->mem_info.dma_region_handle =
drivers/net/ethernet/microsoft/mana/mana_en.c
2595
txq->gdma_txq_id = txq->gdma_sq->id;
drivers/net/ethernet/microsoft/mana/mana_en.c
2611
txq->napi_initialized = true;
drivers/net/ethernet/microsoft/mana/mana_en.c
3443
struct mana_txq *txq;
drivers/net/ethernet/microsoft/mana/mana_en.c
3472
txq = &apc->tx_qp[i]->txq;
drivers/net/ethernet/microsoft/mana/mana_en.c
3474
while (atomic_read(&txq->pending_sends) > 0 &&
drivers/net/ethernet/microsoft/mana/mana_en.c
3479
if (atomic_read(&txq->pending_sends)) {
drivers/net/ethernet/microsoft/mana/mana_en.c
3485
atomic_read(&txq->pending_sends),
drivers/net/ethernet/microsoft/mana/mana_en.c
3486
txq->gdma_txq_id);
drivers/net/ethernet/microsoft/mana/mana_en.c
3493
txq = &apc->tx_qp[i]->txq;
drivers/net/ethernet/microsoft/mana/mana_en.c
3494
while ((skb = skb_dequeue(&txq->pending_skbs))) {
drivers/net/ethernet/microsoft/mana/mana_en.c
3498
atomic_set(&txq->pending_sends, 0);
drivers/net/ethernet/microsoft/mana/mana_en.c
360
struct mana_txq *txq;
drivers/net/ethernet/microsoft/mana/mana_en.c
369
txq = &apc->tx_qp[txq_idx]->txq;
drivers/net/ethernet/microsoft/mana/mana_en.c
370
gdma_sq = txq->gdma_sq;
drivers/net/ethernet/microsoft/mana/mana_en.c
372
tx_stats = &txq->stats;
drivers/net/ethernet/microsoft/mana/mana_en.c
390
pkg.tx_oob.s_oob.vsq_frame = txq->vsq_frame;
drivers/net/ethernet/microsoft/mana/mana_en.c
392
if (txq->vp_offset > MANA_SHORT_VPORT_OFFSET_MAX) {
drivers/net/ethernet/microsoft/mana/mana_en.c
393
pkg.tx_oob.l_oob.long_vp_offset = txq->vp_offset;
drivers/net/ethernet/microsoft/mana/mana_en.c
396
pkg.tx_oob.s_oob.short_vp_offset = txq->vp_offset;
drivers/net/ethernet/microsoft/mana/mana_en.c
520
skb_queue_tail(&txq->pending_skbs, skb);
drivers/net/ethernet/microsoft/mana/mana_en.c
534
(void)skb_dequeue_tail(&txq->pending_skbs);
drivers/net/ethernet/microsoft/mana/mana_en.c
541
atomic_inc(&txq->pending_sends);
drivers/net/ethernet/microsoft/mana/mana_en.c
551
tx_stats = &txq->stats;
drivers/net/ethernet/microsoft/mana/mana_en.c
628
tx_stats = &apc->tx_qp[q]->txq.stats;
drivers/net/ethernet/microsoft/mana/mana_en.c
647
int txq;
drivers/net/ethernet/microsoft/mana/mana_en.c
649
txq = apc->indir_table[hash & (apc->indir_table_sz - 1)];
drivers/net/ethernet/microsoft/mana/mana_en.c
651
if (txq != old_q && sk && sk_fullsock(sk) &&
drivers/net/ethernet/microsoft/mana/mana_en.c
653
sk_tx_queue_set(sk, txq);
drivers/net/ethernet/microsoft/mana/mana_en.c
655
return txq;
drivers/net/ethernet/microsoft/mana/mana_en.c
661
int txq;
drivers/net/ethernet/microsoft/mana/mana_en.c
666
txq = sk_tx_queue_get(skb->sk);
drivers/net/ethernet/microsoft/mana/mana_en.c
668
if (txq < 0 || skb->ooo_okay || txq >= ndev->real_num_tx_queues) {
drivers/net/ethernet/microsoft/mana/mana_en.c
670
txq = skb_get_rx_queue(skb);
drivers/net/ethernet/microsoft/mana/mana_en.c
672
txq = mana_get_tx_queue(ndev, skb, txq);
drivers/net/ethernet/microsoft/mana/mana_en.c
675
return txq;
drivers/net/ethernet/microsoft/mana/mana_ethtool.c
263
tx_stats = &apc->tx_qp[q]->txq.stats;
drivers/net/ethernet/netronome/nfp/nfp_net_repr.c
303
struct netdev_queue *txq,
drivers/net/ethernet/netronome/nfp/nfp_net_repr.c
306
lockdep_set_class(&txq->_xmit_lock, &nfp_repr_netdev_xmit_lock_key);
drivers/net/ethernet/nxp/lpc_eth.c
971
struct netdev_queue *txq = netdev_get_tx_queue(ndev, 0);
drivers/net/ethernet/nxp/lpc_eth.c
973
__netif_tx_lock(txq, smp_processor_id());
drivers/net/ethernet/nxp/lpc_eth.c
975
__netif_tx_unlock(txq);
drivers/net/ethernet/pensando/ionic/ionic_dev.h
259
struct ionic_txq_desc *txq;
drivers/net/ethernet/pensando/ionic/ionic_if.h
3360
union ionic_q_identity txq;
drivers/net/ethernet/pensando/ionic/ionic_lif.c
1003
lif->kern_pid, NULL, &txq);
drivers/net/ethernet/pensando/ionic/ionic_lif.c
1007
txq->q.features = features;
drivers/net/ethernet/pensando/ionic/ionic_lif.c
1009
ionic_link_qcq_interrupts(lif->adminqcq, txq);
drivers/net/ethernet/pensando/ionic/ionic_lif.c
1010
ionic_debugfs_add_qcq(lif, txq);
drivers/net/ethernet/pensando/ionic/ionic_lif.c
1012
lif->hwstamp_txq = txq;
drivers/net/ethernet/pensando/ionic/ionic_lif.c
1015
err = ionic_lif_txq_init(lif, txq);
drivers/net/ethernet/pensando/ionic/ionic_lif.c
1020
err = ionic_qcq_enable(txq);
drivers/net/ethernet/pensando/ionic/ionic_lif.c
1029
ionic_lif_qcq_deinit(lif, txq);
drivers/net/ethernet/pensando/ionic/ionic_lif.c
1032
ionic_debugfs_del_qcq(txq);
drivers/net/ethernet/pensando/ionic/ionic_lif.c
1033
ionic_qcq_free(lif, txq);
drivers/net/ethernet/pensando/ionic/ionic_lif.c
1034
devm_kfree(lif->ionic->dev, txq);
drivers/net/ethernet/pensando/ionic/ionic_lif.c
978
struct ionic_qcq *txq;
drivers/net/ethernet/pensando/ionic/ionic_txrx.c
1512
desc = &q->txq[q->head_idx];
drivers/net/ethernet/pensando/ionic/ionic_txrx.c
1551
struct ionic_txq_desc *desc = &q->txq[q->head_idx];
drivers/net/ethernet/pensando/ionic/ionic_txrx.c
1590
struct ionic_txq_desc *desc = &q->txq[q->head_idx];
drivers/net/ethernet/pensando/ionic/ionic_txrx.c
317
desc = &q->txq[q->head_idx];
drivers/net/ethernet/pensando/ionic/ionic_txrx.c
401
struct ionic_queue *txq;
drivers/net/ethernet/pensando/ionic/ionic_txrx.c
422
txq = &lif->txqcqs[qi]->q;
drivers/net/ethernet/pensando/ionic/ionic_txrx.c
423
nq = netdev_get_tx_queue(netdev, txq->index);
drivers/net/ethernet/pensando/ionic/ionic_txrx.c
428
!netif_txq_maybe_stop(q_to_ndq(netdev, txq),
drivers/net/ethernet/pensando/ionic/ionic_txrx.c
429
ionic_q_space_avail(txq),
drivers/net/ethernet/pensando/ionic/ionic_txrx.c
435
space = min_t(int, n, ionic_q_space_avail(txq));
drivers/net/ethernet/pensando/ionic/ionic_txrx.c
437
if (ionic_xdp_post_frame(txq, xdp_frames[nxmit],
drivers/net/ethernet/pensando/ionic/ionic_txrx.c
447
ionic_dbell_ring(lif->kern_dbpage, txq->hw_type,
drivers/net/ethernet/pensando/ionic/ionic_txrx.c
448
txq->dbval | txq->head_idx);
drivers/net/ethernet/pensando/ionic/ionic_txrx.c
450
netif_txq_maybe_stop(q_to_ndq(netdev, txq),
drivers/net/ethernet/pensando/ionic/ionic_txrx.c
451
ionic_q_space_avail(txq),
drivers/net/ethernet/pensando/ionic/ionic_txrx.c
479
struct ionic_queue *txq;
drivers/net/ethernet/pensando/ionic/ionic_txrx.c
554
txq = rxq->partner;
drivers/net/ethernet/pensando/ionic/ionic_txrx.c
555
nq = netdev_get_tx_queue(netdev, txq->index);
drivers/net/ethernet/pensando/ionic/ionic_txrx.c
560
!netif_txq_maybe_stop(q_to_ndq(netdev, txq),
drivers/net/ethernet/pensando/ionic/ionic_txrx.c
561
ionic_q_space_avail(txq),
drivers/net/ethernet/pensando/ionic/ionic_txrx.c
568
err = ionic_xdp_post_frame(txq, xdpf, XDP_TX,
drivers/net/ethernet/qlogic/netxen/netxen_nic.h
648
struct netdev_queue *txq;
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
563
__netif_tx_lock_bh(tx_ring->txq);
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
568
netif_tx_stop_queue(tx_ring->txq);
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
572
netif_tx_wake_queue(tx_ring->txq);
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
574
__netif_tx_unlock_bh(tx_ring->txq);
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
596
__netif_tx_unlock_bh(tx_ring->txq);
drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
195
tx_ring->txq = netdev_get_tx_queue(netdev, 0);
drivers/net/ethernet/qlogic/qede/qede.h
414
#define QEDE_TXQ_XDP_TO_IDX(edev, txq) ((txq)->index - \
drivers/net/ethernet/qlogic/qede/qede.h
420
#define QEDE_TXQ_TO_NDEV_TXQ_ID(edev, txq) ((QEDE_TSS_COUNT(edev) * \
drivers/net/ethernet/qlogic/qede/qede.h
421
(txq)->cos) + (txq)->index)
drivers/net/ethernet/qlogic/qede/qede.h
423
(&((edev)->fp_array[QEDE_NDEV_TXQ_ID_TO_FP_ID(edev, idx)].txq \
drivers/net/ethernet/qlogic/qede/qede.h
425
#define QEDE_FP_TC0_TXQ(fp) (&((fp)->txq[0]))
drivers/net/ethernet/qlogic/qede/qede.h
471
struct qede_tx_queue *txq;
drivers/net/ethernet/qlogic/qede/qede.h
537
struct qede_tx_queue *txq, int *len);
drivers/net/ethernet/qlogic/qede/qede.h
575
int qede_txq_has_work(struct qede_tx_queue *txq);
drivers/net/ethernet/qlogic/qede/qede_ethtool.c
1472
struct qede_tx_queue *txq = NULL;
drivers/net/ethernet/qlogic/qede/qede_ethtool.c
1482
txq = QEDE_FP_TC0_TXQ(fp);
drivers/net/ethernet/qlogic/qede/qede_ethtool.c
1487
if (!txq) {
drivers/net/ethernet/qlogic/qede/qede_ethtool.c
1493
idx = txq->sw_tx_prod;
drivers/net/ethernet/qlogic/qede/qede_ethtool.c
1494
txq->sw_tx_ring.skbs[idx].skb = skb;
drivers/net/ethernet/qlogic/qede/qede_ethtool.c
1495
first_bd = qed_chain_produce(&txq->tx_pbl);
drivers/net/ethernet/qlogic/qede/qede_ethtool.c
1514
txq->sw_tx_prod = (txq->sw_tx_prod + 1) % txq->num_tx_buffers;
drivers/net/ethernet/qlogic/qede/qede_ethtool.c
1516
val = qed_chain_get_prod_idx(&txq->tx_pbl);
drivers/net/ethernet/qlogic/qede/qede_ethtool.c
1517
txq->tx_db.data.bd_prod = cpu_to_le16(val);
drivers/net/ethernet/qlogic/qede/qede_ethtool.c
1524
writel(txq->tx_db.raw, txq->doorbell_addr);
drivers/net/ethernet/qlogic/qede/qede_ethtool.c
1527
if (qede_txq_has_work(txq))
drivers/net/ethernet/qlogic/qede/qede_ethtool.c
1532
if (!qede_txq_has_work(txq)) {
drivers/net/ethernet/qlogic/qede/qede_ethtool.c
1537
first_bd = (struct eth_tx_1st_bd *)qed_chain_consume(&txq->tx_pbl);
drivers/net/ethernet/qlogic/qede/qede_ethtool.c
1540
txq->sw_tx_cons = (txq->sw_tx_cons + 1) % txq->num_tx_buffers;
drivers/net/ethernet/qlogic/qede/qede_ethtool.c
1541
txq->sw_tx_ring.skbs[idx].skb = NULL;
drivers/net/ethernet/qlogic/qede/qede_ethtool.c
2196
fp->txq->handle);
drivers/net/ethernet/qlogic/qede/qede_ethtool.c
2252
tx_handle = fp->txq->handle;
drivers/net/ethernet/qlogic/qede/qede_ethtool.c
271
struct qede_tx_queue *txq, u8 **buf)
drivers/net/ethernet/qlogic/qede/qede_ethtool.c
276
if (txq->is_xdp)
drivers/net/ethernet/qlogic/qede/qede_ethtool.c
278
QEDE_TXQ_XDP_TO_IDX(edev, txq),
drivers/net/ethernet/qlogic/qede/qede_ethtool.c
281
ethtool_sprintf(buf, "%d_%d: %s", txq->index, txq->cos,
drivers/net/ethernet/qlogic/qede/qede_ethtool.c
322
&fp->txq[cos], &buf);
drivers/net/ethernet/qlogic/qede/qede_ethtool.c
357
static void qede_get_ethtool_stats_txq(struct qede_tx_queue *txq, u64 **buf)
drivers/net/ethernet/qlogic/qede/qede_ethtool.c
362
**buf = *((u64 *)(((void *)txq) + qede_tqstats_arr[i].offset));
drivers/net/ethernet/qlogic/qede/qede_ethtool.c
402
qede_get_ethtool_stats_txq(&fp->txq[cos], &buf);
drivers/net/ethernet/qlogic/qede/qede_ethtool.c
785
struct qede_tx_queue *txq;
drivers/net/ethernet/qlogic/qede/qede_ethtool.c
794
txq = QEDE_FP_TC0_TXQ(fp);
drivers/net/ethernet/qlogic/qede/qede_ethtool.c
795
tx_handle = txq->handle;
drivers/net/ethernet/qlogic/qede/qede_ethtool.c
870
struct qede_tx_queue *txq;
drivers/net/ethernet/qlogic/qede/qede_ethtool.c
876
txq = QEDE_FP_TC0_TXQ(fp);
drivers/net/ethernet/qlogic/qede/qede_ethtool.c
880
txq->handle);
drivers/net/ethernet/qlogic/qede/qede_fp.c
105
qed_chain_consume(&txq->tx_pbl);
drivers/net/ethernet/qlogic/qede/qede_fp.c
115
qed_chain_consume(&txq->tx_pbl);
drivers/net/ethernet/qlogic/qede/qede_fp.c
121
qed_chain_consume(&txq->tx_pbl);
drivers/net/ethernet/qlogic/qede/qede_fp.c
125
txq->sw_tx_ring.skbs[idx].skb = NULL;
drivers/net/ethernet/qlogic/qede/qede_fp.c
126
txq->sw_tx_ring.skbs[idx].flags = 0;
drivers/net/ethernet/qlogic/qede/qede_fp.c
132
static void qede_free_failed_tx_pkt(struct qede_tx_queue *txq,
drivers/net/ethernet/qlogic/qede/qede_fp.c
136
u16 idx = txq->sw_tx_prod;
drivers/net/ethernet/qlogic/qede/qede_fp.c
137
struct sk_buff *skb = txq->sw_tx_ring.skbs[idx].skb;
drivers/net/ethernet/qlogic/qede/qede_fp.c
1411
if (qede_txq_has_work(&fp->txq[cos]))
drivers/net/ethernet/qlogic/qede/qede_fp.c
142
qed_chain_set_prod(&txq->tx_pbl,
drivers/net/ethernet/qlogic/qede/qede_fp.c
143
le16_to_cpu(txq->tx_db.data.bd_prod), first_bd);
drivers/net/ethernet/qlogic/qede/qede_fp.c
1436
if (qede_txq_has_work(&fp->txq[cos]))
drivers/net/ethernet/qlogic/qede/qede_fp.c
1437
qede_tx_int(edev, &fp->txq[cos]);
drivers/net/ethernet/qlogic/qede/qede_fp.c
145
first_bd = (struct eth_tx_1st_bd *)qed_chain_produce(&txq->tx_pbl);
drivers/net/ethernet/qlogic/qede/qede_fp.c
1488
struct qede_tx_queue *txq;
drivers/net/ethernet/qlogic/qede/qede_fp.c
149
qed_chain_produce(&txq->tx_pbl);
drivers/net/ethernet/qlogic/qede/qede_fp.c
1505
txq = QEDE_NDEV_TXQ_ID_TO_TXQ(edev, txq_index);
drivers/net/ethernet/qlogic/qede/qede_fp.c
1508
WARN_ON(qed_chain_get_elem_left(&txq->tx_pbl) < (MAX_SKB_FRAGS + 1));
drivers/net/ethernet/qlogic/qede/qede_fp.c
1515
txq->tx_mem_alloc_err++;
drivers/net/ethernet/qlogic/qede/qede_fp.c
1524
idx = txq->sw_tx_prod;
drivers/net/ethernet/qlogic/qede/qede_fp.c
1525
txq->sw_tx_ring.skbs[idx].skb = skb;
drivers/net/ethernet/qlogic/qede/qede_fp.c
1527
qed_chain_produce(&txq->tx_pbl);
drivers/net/ethernet/qlogic/qede/qede_fp.c
1536
mapping = dma_map_single(txq->dev, skb->data,
drivers/net/ethernet/qlogic/qede/qede_fp.c
1538
if (unlikely(dma_mapping_error(txq->dev, mapping))) {
drivers/net/ethernet/qlogic/qede/qede_fp.c
154
dma_unmap_single(txq->dev, BD_UNMAP_ADDR(first_bd),
drivers/net/ethernet/qlogic/qede/qede_fp.c
1540
qede_free_failed_tx_pkt(txq, first_bd, 0, false);
drivers/net/ethernet/qlogic/qede/qede_fp.c
1541
qede_update_tx_producer(txq);
drivers/net/ethernet/qlogic/qede/qede_fp.c
1552
qed_chain_produce(&txq->tx_pbl);
drivers/net/ethernet/qlogic/qede/qede_fp.c
1557
qed_chain_produce(&txq->tx_pbl);
drivers/net/ethernet/qlogic/qede/qede_fp.c
1590
if (unlikely(txq->is_legacy))
drivers/net/ethernet/qlogic/qede/qede_fp.c
160
qed_chain_produce(&txq->tx_pbl);
drivers/net/ethernet/qlogic/qede/qede_fp.c
162
dma_unmap_page(txq->dev,
drivers/net/ethernet/qlogic/qede/qede_fp.c
1647
txq->sw_tx_ring.skbs[idx].flags |= QEDE_TSO_SPLIT_BD;
drivers/net/ethernet/qlogic/qede/qede_fp.c
1657
qede_free_failed_tx_pkt(txq, first_bd, 0, false);
drivers/net/ethernet/qlogic/qede/qede_fp.c
1658
qede_update_tx_producer(txq);
drivers/net/ethernet/qlogic/qede/qede_fp.c
1671
rc = map_frag_to_bd(txq,
drivers/net/ethernet/qlogic/qede/qede_fp.c
1675
qede_free_failed_tx_pkt(txq, first_bd, nbd, data_split);
drivers/net/ethernet/qlogic/qede/qede_fp.c
1676
qede_update_tx_producer(txq);
drivers/net/ethernet/qlogic/qede/qede_fp.c
168
qed_chain_set_prod(&txq->tx_pbl,
drivers/net/ethernet/qlogic/qede/qede_fp.c
169
le16_to_cpu(txq->tx_db.data.bd_prod), first_bd);
drivers/net/ethernet/qlogic/qede/qede_fp.c
1691
qed_chain_produce(&txq->tx_pbl);
drivers/net/ethernet/qlogic/qede/qede_fp.c
1695
rc = map_frag_to_bd(txq,
drivers/net/ethernet/qlogic/qede/qede_fp.c
1699
qede_free_failed_tx_pkt(txq, first_bd, nbd, data_split);
drivers/net/ethernet/qlogic/qede/qede_fp.c
1700
qede_update_tx_producer(txq);
drivers/net/ethernet/qlogic/qede/qede_fp.c
1715
txq->sw_tx_prod = (txq->sw_tx_prod + 1) % txq->num_tx_buffers;
drivers/net/ethernet/qlogic/qede/qede_fp.c
1718
txq->tx_db.data.bd_prod =
drivers/net/ethernet/qlogic/qede/qede_fp.c
1719
cpu_to_le16(qed_chain_get_prod_idx(&txq->tx_pbl));
drivers/net/ethernet/qlogic/qede/qede_fp.c
1722
qede_update_tx_producer(txq);
drivers/net/ethernet/qlogic/qede/qede_fp.c
1724
if (unlikely(qed_chain_get_elem_left(&txq->tx_pbl)
drivers/net/ethernet/qlogic/qede/qede_fp.c
1727
qede_update_tx_producer(txq);
drivers/net/ethernet/qlogic/qede/qede_fp.c
173
txq->sw_tx_ring.skbs[idx].skb = NULL;
drivers/net/ethernet/qlogic/qede/qede_fp.c
1730
txq->stopped_cnt++;
drivers/net/ethernet/qlogic/qede/qede_fp.c
1739
if ((qed_chain_get_elem_left(&txq->tx_pbl) >=
drivers/net/ethernet/qlogic/qede/qede_fp.c
174
txq->sw_tx_ring.skbs[idx].flags = 0;
drivers/net/ethernet/qlogic/qede/qede_fp.c
244
static int map_frag_to_bd(struct qede_tx_queue *txq,
drivers/net/ethernet/qlogic/qede/qede_fp.c
250
mapping = skb_frag_dma_map(txq->dev, frag, 0,
drivers/net/ethernet/qlogic/qede/qede_fp.c
252
if (unlikely(dma_mapping_error(txq->dev, mapping)))
drivers/net/ethernet/qlogic/qede/qede_fp.c
289
static inline void qede_update_tx_producer(struct qede_tx_queue *txq)
drivers/net/ethernet/qlogic/qede/qede_fp.c
296
writel(txq->tx_db.raw, txq->doorbell_addr);
drivers/net/ethernet/qlogic/qede/qede_fp.c
305
static int qede_xdp_xmit(struct qede_tx_queue *txq, dma_addr_t dma, u16 pad,
drivers/net/ethernet/qlogic/qede/qede_fp.c
312
if (unlikely(qed_chain_get_elem_used(&txq->tx_pbl) >=
drivers/net/ethernet/qlogic/qede/qede_fp.c
313
txq->num_tx_buffers)) {
drivers/net/ethernet/qlogic/qede/qede_fp.c
314
txq->stopped_cnt++;
drivers/net/ethernet/qlogic/qede/qede_fp.c
318
bd = qed_chain_produce(&txq->tx_pbl);
drivers/net/ethernet/qlogic/qede/qede_fp.c
330
xdp = txq->sw_tx_ring.xdp + txq->sw_tx_prod;
drivers/net/ethernet/qlogic/qede/qede_fp.c
335
txq->sw_tx_prod = (txq->sw_tx_prod + 1) % txq->num_tx_buffers;
drivers/net/ethernet/qlogic/qede/qede_fp.c
388
int qede_txq_has_work(struct qede_tx_queue *txq)
drivers/net/ethernet/qlogic/qede/qede_fp.c
394
hw_bd_cons = le16_to_cpu(*txq->hw_cons_ptr);
drivers/net/ethernet/qlogic/qede/qede_fp.c
395
if (qed_chain_get_cons_idx(&txq->tx_pbl) == hw_bd_cons + 1)
drivers/net/ethernet/qlogic/qede/qede_fp.c
398
return hw_bd_cons != qed_chain_get_cons_idx(&txq->tx_pbl);
drivers/net/ethernet/qlogic/qede/qede_fp.c
401
static void qede_xdp_tx_int(struct qede_dev *edev, struct qede_tx_queue *txq)
drivers/net/ethernet/qlogic/qede/qede_fp.c
403
struct sw_tx_xdp *xdp_info, *xdp_arr = txq->sw_tx_ring.xdp;
drivers/net/ethernet/qlogic/qede/qede_fp.c
408
hw_bd_cons = le16_to_cpu(*txq->hw_cons_ptr);
drivers/net/ethernet/qlogic/qede/qede_fp.c
411
while (hw_bd_cons != qed_chain_get_cons_idx(&txq->tx_pbl)) {
drivers/net/ethernet/qlogic/qede/qede_fp.c
412
xdp_info = xdp_arr + txq->sw_tx_cons;
drivers/net/ethernet/qlogic/qede/qede_fp.c
427
qed_chain_consume(&txq->tx_pbl);
drivers/net/ethernet/qlogic/qede/qede_fp.c
428
txq->sw_tx_cons = (txq->sw_tx_cons + 1) % txq->num_tx_buffers;
drivers/net/ethernet/qlogic/qede/qede_fp.c
429
txq->xmit_pkts++;
drivers/net/ethernet/qlogic/qede/qede_fp.c
433
static int qede_tx_int(struct qede_dev *edev, struct qede_tx_queue *txq)
drivers/net/ethernet/qlogic/qede/qede_fp.c
440
netdev_txq = netdev_get_tx_queue(edev->ndev, txq->ndev_txq_id);
drivers/net/ethernet/qlogic/qede/qede_fp.c
442
hw_bd_cons = le16_to_cpu(*txq->hw_cons_ptr);
drivers/net/ethernet/qlogic/qede/qede_fp.c
445
while (hw_bd_cons != qed_chain_get_cons_idx(&txq->tx_pbl)) {
drivers/net/ethernet/qlogic/qede/qede_fp.c
448
rc = qede_free_tx_pkt(edev, txq, &len);
drivers/net/ethernet/qlogic/qede/qede_fp.c
452
qed_chain_get_cons_idx(&txq->tx_pbl));
drivers/net/ethernet/qlogic/qede/qede_fp.c
458
txq->sw_tx_cons = (txq->sw_tx_cons + 1) % txq->num_tx_buffers;
drivers/net/ethernet/qlogic/qede/qede_fp.c
459
txq->xmit_pkts++;
drivers/net/ethernet/qlogic/qede/qede_fp.c
490
(qed_chain_get_elem_left(&txq->tx_pbl)
drivers/net/ethernet/qlogic/qede/qede_fp.c
77
int qede_free_tx_pkt(struct qede_dev *edev, struct qede_tx_queue *txq, int *len)
drivers/net/ethernet/qlogic/qede/qede_fp.c
79
u16 idx = txq->sw_tx_cons;
drivers/net/ethernet/qlogic/qede/qede_fp.c
80
struct sk_buff *skb = txq->sw_tx_ring.skbs[idx].skb;
drivers/net/ethernet/qlogic/qede/qede_fp.c
85
bool data_split = txq->sw_tx_ring.skbs[idx].flags & QEDE_TSO_SPLIT_BD;
drivers/net/ethernet/qlogic/qede/qede_fp.c
91
idx, txq->sw_tx_cons, txq->sw_tx_prod);
drivers/net/ethernet/qlogic/qede/qede_fp.c
97
first_bd = (struct eth_tx_1st_bd *)qed_chain_consume(&txq->tx_pbl);
drivers/net/ethernet/qlogic/qede/qede_main.c
1008
fp->txq = kzalloc_objs(*fp->txq, edev->dev_info.num_tc);
drivers/net/ethernet/qlogic/qede/qede_main.c
1009
if (!fp->txq)
drivers/net/ethernet/qlogic/qede/qede_main.c
1622
static void qede_free_mem_txq(struct qede_dev *edev, struct qede_tx_queue *txq)
drivers/net/ethernet/qlogic/qede/qede_main.c
1625
if (txq->is_xdp)
drivers/net/ethernet/qlogic/qede/qede_main.c
1626
kfree(txq->sw_tx_ring.xdp);
drivers/net/ethernet/qlogic/qede/qede_main.c
1628
kfree(txq->sw_tx_ring.skbs);
drivers/net/ethernet/qlogic/qede/qede_main.c
1631
edev->ops->common->chain_free(edev->cdev, &txq->tx_pbl);
drivers/net/ethernet/qlogic/qede/qede_main.c
1635
static int qede_alloc_mem_txq(struct qede_dev *edev, struct qede_tx_queue *txq)
drivers/net/ethernet/qlogic/qede/qede_main.c
1646
txq->num_tx_buffers = edev->q_num_tx_buffers;
drivers/net/ethernet/qlogic/qede/qede_main.c
1649
if (txq->is_xdp) {
drivers/net/ethernet/qlogic/qede/qede_main.c
1650
size = sizeof(*txq->sw_tx_ring.xdp) * txq->num_tx_buffers;
drivers/net/ethernet/qlogic/qede/qede_main.c
1651
txq->sw_tx_ring.xdp = kzalloc(size, GFP_KERNEL);
drivers/net/ethernet/qlogic/qede/qede_main.c
1652
if (!txq->sw_tx_ring.xdp)
drivers/net/ethernet/qlogic/qede/qede_main.c
1655
size = sizeof(*txq->sw_tx_ring.skbs) * txq->num_tx_buffers;
drivers/net/ethernet/qlogic/qede/qede_main.c
1656
txq->sw_tx_ring.skbs = kzalloc(size, GFP_KERNEL);
drivers/net/ethernet/qlogic/qede/qede_main.c
1657
if (!txq->sw_tx_ring.skbs)
drivers/net/ethernet/qlogic/qede/qede_main.c
1661
rc = edev->ops->common->chain_alloc(edev->cdev, &txq->tx_pbl, &params);
drivers/net/ethernet/qlogic/qede/qede_main.c
1668
qede_free_mem_txq(edev, txq);
drivers/net/ethernet/qlogic/qede/qede_main.c
1687
qede_free_mem_txq(edev, &fp->txq[cos]);
drivers/net/ethernet/qlogic/qede/qede_main.c
1718
rc = qede_alloc_mem_txq(edev, &fp->txq[cos]);
drivers/net/ethernet/qlogic/qede/qede_main.c
1761
struct qede_tx_queue *txq)
drivers/net/ethernet/qlogic/qede/qede_main.c
1767
netdev_txq = netdev_get_tx_queue(edev->ndev, txq->ndev_txq_id);
drivers/net/ethernet/qlogic/qede/qede_main.c
1769
while (qed_chain_get_cons_idx(&txq->tx_pbl) !=
drivers/net/ethernet/qlogic/qede/qede_main.c
1770
qed_chain_get_prod_idx(&txq->tx_pbl)) {
drivers/net/ethernet/qlogic/qede/qede_main.c
1773
txq->index, qed_chain_get_cons_idx(&txq->tx_pbl),
drivers/net/ethernet/qlogic/qede/qede_main.c
1774
qed_chain_get_prod_idx(&txq->tx_pbl));
drivers/net/ethernet/qlogic/qede/qede_main.c
1776
rc = qede_free_tx_pkt(edev, txq, &len);
drivers/net/ethernet/qlogic/qede/qede_main.c
1780
txq->index,
drivers/net/ethernet/qlogic/qede/qede_main.c
1781
qed_chain_get_cons_idx(&txq->tx_pbl),
drivers/net/ethernet/qlogic/qede/qede_main.c
1782
qed_chain_get_prod_idx(&txq->tx_pbl));
drivers/net/ethernet/qlogic/qede/qede_main.c
1788
txq->sw_tx_cons++;
drivers/net/ethernet/qlogic/qede/qede_main.c
1807
&fp->txq[cos]);
drivers/net/ethernet/qlogic/qede/qede_main.c
1860
struct qede_tx_queue *txq = &fp->txq[cos];
drivers/net/ethernet/qlogic/qede/qede_main.c
1863
txq->cos = cos;
drivers/net/ethernet/qlogic/qede/qede_main.c
1864
txq->index = txq_index;
drivers/net/ethernet/qlogic/qede/qede_main.c
1865
ndev_tx_id = QEDE_TXQ_TO_NDEV_TXQ_ID(edev, txq);
drivers/net/ethernet/qlogic/qede/qede_main.c
1866
txq->ndev_txq_id = ndev_tx_id;
drivers/net/ethernet/qlogic/qede/qede_main.c
1869
txq->is_legacy = true;
drivers/net/ethernet/qlogic/qede/qede_main.c
1870
txq->dev = &edev->pdev->dev;
drivers/net/ethernet/qlogic/qede/qede_main.c
2031
struct qede_tx_queue *txq, bool allow_drain)
drivers/net/ethernet/qlogic/qede/qede_main.c
2035
while (txq->sw_tx_cons != txq->sw_tx_prod) {
drivers/net/ethernet/qlogic/qede/qede_main.c
2040
txq->index);
drivers/net/ethernet/qlogic/qede/qede_main.c
2044
return qede_drain_txq(edev, txq, false);
drivers/net/ethernet/qlogic/qede/qede_main.c
2048
txq->index, txq->sw_tx_prod,
drivers/net/ethernet/qlogic/qede/qede_main.c
2049
txq->sw_tx_cons);
drivers/net/ethernet/qlogic/qede/qede_main.c
2064
struct qede_tx_queue *txq, int rss_id)
drivers/net/ethernet/qlogic/qede/qede_main.c
2067
edev->ops->common->db_recovery_del(edev->cdev, txq->doorbell_addr,
drivers/net/ethernet/qlogic/qede/qede_main.c
2068
&txq->tx_db);
drivers/net/ethernet/qlogic/qede/qede_main.c
2070
return edev->ops->q_tx_stop(edev->cdev, rss_id, txq->handle);
drivers/net/ethernet/qlogic/qede/qede_main.c
2106
rc = qede_drain_txq(edev, &fp->txq[cos], true);
drivers/net/ethernet/qlogic/qede/qede_main.c
2128
rc = qede_stop_txq(edev, &fp->txq[cos], i);
drivers/net/ethernet/qlogic/qede/qede_main.c
2163
struct qede_tx_queue *txq, u8 rss_id, u16 sb_idx)
drivers/net/ethernet/qlogic/qede/qede_main.c
2165
dma_addr_t phys_table = qed_chain_get_pbl_phys(&txq->tx_pbl);
drivers/net/ethernet/qlogic/qede/qede_main.c
2166
u32 page_cnt = qed_chain_get_page_cnt(&txq->tx_pbl);
drivers/net/ethernet/qlogic/qede/qede_main.c
2177
if (txq->is_xdp)
drivers/net/ethernet/qlogic/qede/qede_main.c
2178
params.queue_id = QEDE_TXQ_XDP_TO_IDX(edev, txq);
drivers/net/ethernet/qlogic/qede/qede_main.c
2180
params.queue_id = txq->index;
drivers/net/ethernet/qlogic/qede/qede_main.c
2184
params.tc = txq->cos;
drivers/net/ethernet/qlogic/qede/qede_main.c
2189
DP_ERR(edev, "Start TXQ #%d failed %d\n", txq->index, rc);
drivers/net/ethernet/qlogic/qede/qede_main.c
2193
txq->doorbell_addr = ret_params.p_doorbell;
drivers/net/ethernet/qlogic/qede/qede_main.c
2194
txq->handle = ret_params.p_handle;
drivers/net/ethernet/qlogic/qede/qede_main.c
2197
txq->hw_cons_ptr = &fp->sb_info->sb_virt->pi_array[sb_idx];
drivers/net/ethernet/qlogic/qede/qede_main.c
2200
SET_FIELD(txq->tx_db.data.params, ETH_DB_DATA_DEST, DB_DEST_XCM);
drivers/net/ethernet/qlogic/qede/qede_main.c
2201
SET_FIELD(txq->tx_db.data.params, ETH_DB_DATA_AGG_CMD, DB_AGG_CMD_SET);
drivers/net/ethernet/qlogic/qede/qede_main.c
2202
SET_FIELD(txq->tx_db.data.params, ETH_DB_DATA_AGG_VAL_SEL,
drivers/net/ethernet/qlogic/qede/qede_main.c
2204
txq->tx_db.data.agg_flags = DQ_XCM_ETH_DQ_CF_CMD;
drivers/net/ethernet/qlogic/qede/qede_main.c
2207
rc = edev->ops->common->db_recovery_add(edev->cdev, txq->doorbell_addr,
drivers/net/ethernet/qlogic/qede/qede_main.c
2208
&txq->tx_db, DB_REC_WIDTH_32B,
drivers/net/ethernet/qlogic/qede/qede_main.c
2308
rc = qede_start_txq(edev, fp, &fp->txq[cos], i,
drivers/net/ethernet/qlogic/qede/qede_main.c
2785
static bool qede_is_txq_full(struct qede_dev *edev, struct qede_tx_queue *txq)
drivers/net/ethernet/qlogic/qede/qede_main.c
2789
netdev_txq = netdev_get_tx_queue(edev->ndev, txq->ndev_txq_id);
drivers/net/ethernet/qlogic/qede/qede_main.c
2854
struct qede_tx_queue *txq = QEDE_FP_TC0_TXQ(fp);
drivers/net/ethernet/qlogic/qede/qede_main.c
2856
if (txq->sw_tx_cons != txq->sw_tx_prod)
drivers/net/ethernet/qlogic/qede/qede_main.c
2858
if (qede_is_txq_full(edev, txq))
drivers/net/ethernet/qlogic/qede/qede_main.c
525
struct qede_fastpath *fp, struct qede_tx_queue *txq)
drivers/net/ethernet/qlogic/qede/qede_main.c
527
struct qed_chain *p_chain = &txq->tx_pbl;
drivers/net/ethernet/qlogic/qede/qede_main.c
532
fp->id, fp->sb_info->igu_sb_id, txq->index, txq->ndev_txq_id, txq->cos,
drivers/net/ethernet/qlogic/qede/qede_main.c
538
le16_to_cpu(*txq->hw_cons_ptr), txq->sw_tx_prod, txq->sw_tx_cons,
drivers/net/ethernet/qlogic/qede/qede_main.c
543
qede_tx_log_print(struct qede_dev *edev, struct qede_fastpath *fp, struct qede_tx_queue *txq)
drivers/net/ethernet/qlogic/qede/qede_main.c
555
sb_dbg.igu_prod, sb_dbg.igu_cons, sb_dbg.pi[TX_PI(txq->cos)]);
drivers/net/ethernet/qlogic/qede/qede_main.c
560
txq->index, le16_to_cpu(*txq->hw_cons_ptr),
drivers/net/ethernet/qlogic/qede/qede_main.c
561
qed_chain_get_cons_idx(&txq->tx_pbl),
drivers/net/ethernet/qlogic/qede/qede_main.c
562
qed_chain_get_prod_idx(&txq->tx_pbl), jiffies);
drivers/net/ethernet/qlogic/qede/qede_main.c
566
txq->index, fp->sb_info->igu_sb_id,
drivers/net/ethernet/qlogic/qede/qede_main.c
568
sb_dbg.pi[TX_PI(txq->cos)]);
drivers/net/ethernet/qlogic/qede/qede_main.c
580
struct qede_tx_queue *txq;
drivers/net/ethernet/qlogic/qede/qede_main.c
589
txq = &fp->txq[cos];
drivers/net/ethernet/qlogic/qede/qede_main.c
592
qede_txq_fp_log_metadata(edev, fp, txq);
drivers/net/ethernet/qlogic/qede/qede_main.c
594
if (qed_chain_get_cons_idx(&txq->tx_pbl) !=
drivers/net/ethernet/qlogic/qede/qede_main.c
595
qed_chain_get_prod_idx(&txq->tx_pbl))
drivers/net/ethernet/qlogic/qede/qede_main.c
596
qede_tx_log_print(edev, fp, txq);
drivers/net/ethernet/qlogic/qede/qede_main.c
950
kfree(fp->txq);
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
635
struct netdev_queue *txq;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
395
__netif_tx_lock_bh(tx_ring->txq);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
400
netif_tx_stop_queue(tx_ring->txq);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
404
netif_tx_wake_queue(tx_ring->txq);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
407
__netif_tx_unlock_bh(tx_ring->txq);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
431
__netif_tx_unlock_bh(tx_ring->txq);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
692
netif_tx_stop_queue(tx_ring->txq);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
694
netif_tx_start_queue(tx_ring->txq);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
929
if (netif_tx_queue_stopped(tx_ring->txq) &&
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
932
netif_tx_wake_queue(tx_ring->txq);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
2363
tx_ring->txq = netdev_get_tx_queue(netdev, ring);
drivers/net/ethernet/samsung/sxgbe/sxgbe_common.h
454
struct sxgbe_tx_queue *txq[SXGBE_TX_QUEUES];
drivers/net/ethernet/samsung/sxgbe/sxgbe_main.c
1030
struct sxgbe_tx_queue *p = priv->txq[queue_num];
drivers/net/ethernet/samsung/sxgbe/sxgbe_main.c
1044
struct sxgbe_tx_queue *p = priv->txq[queue_num];
drivers/net/ethernet/samsung/sxgbe/sxgbe_main.c
1130
(priv->txq[queue_num])->irq_no,
drivers/net/ethernet/samsung/sxgbe/sxgbe_main.c
1132
dev->name, priv->txq[queue_num]);
drivers/net/ethernet/samsung/sxgbe/sxgbe_main.c
1283
struct sxgbe_tx_queue *tqueue = priv->txq[txq_index];
drivers/net/ethernet/samsung/sxgbe/sxgbe_main.c
1635
struct sxgbe_tx_queue *txq = (struct sxgbe_tx_queue *)dev_id;
drivers/net/ethernet/samsung/sxgbe/sxgbe_main.c
1636
struct sxgbe_priv_data *priv = txq->priv_ptr;
drivers/net/ethernet/samsung/sxgbe/sxgbe_main.c
1639
status = priv->hw->dma->tx_dma_int_status(priv->ioaddr, txq->queue_no,
drivers/net/ethernet/samsung/sxgbe/sxgbe_main.c
1647
sxgbe_restart_tx_queue(priv, txq->queue_no);
drivers/net/ethernet/samsung/sxgbe/sxgbe_main.c
1656
txq->queue_no, priv->tx_tc);
drivers/net/ethernet/samsung/sxgbe/sxgbe_main.c
333
priv->hw->desc->init_tx_desc(&priv->txq[j]->dma_tx[i]);
drivers/net/ethernet/samsung/sxgbe/sxgbe_main.c
569
priv->txq[queue_num], tx_rsize);
drivers/net/ethernet/samsung/sxgbe/sxgbe_main.c
578
priv->txq[queue_num]->priv_ptr = priv;
drivers/net/ethernet/samsung/sxgbe/sxgbe_main.c
606
free_tx_ring(priv->device, priv->txq[queue_num], tx_rsize);
drivers/net/ethernet/samsung/sxgbe/sxgbe_main.c
637
struct sxgbe_tx_queue *tqueue = priv->txq[queue_num];
drivers/net/ethernet/samsung/sxgbe/sxgbe_main.c
653
free_tx_ring(priv->device, priv->txq[queue_num], tx_rsize);
drivers/net/ethernet/samsung/sxgbe/sxgbe_main.c
667
priv->txq[queue_num] = devm_kmalloc(priv->device,
drivers/net/ethernet/samsung/sxgbe/sxgbe_main.c
669
if (!priv->txq[queue_num])
drivers/net/ethernet/samsung/sxgbe/sxgbe_main.c
798
struct sxgbe_tx_queue *tqueue = priv->txq[queue_num];
drivers/net/ethernet/samsung/sxgbe/sxgbe_main.c
818
struct sxgbe_tx_queue *tx_ring = priv->txq[queue_num];
drivers/net/ethernet/samsung/sxgbe/sxgbe_main.c
966
(priv->txq[queue_num])->dma_tx_phy,
drivers/net/ethernet/samsung/sxgbe/sxgbe_platform.c
125
priv->txq[i]->irq_no = irq_of_parse_and_map(node, chan++);
drivers/net/ethernet/samsung/sxgbe/sxgbe_platform.c
126
if (priv->txq[i]->irq_no <= 0) {
drivers/net/ethernet/samsung/sxgbe/sxgbe_platform.c
158
irq_dispose_mapping(priv->txq[i]->irq_no);
drivers/net/ethernet/sfc/ptp.c
1473
skb_queue_purge(&efx->ptp_data->txq);
drivers/net/ethernet/sfc/ptp.c
1517
while ((skb = skb_dequeue(&ptp_data->txq)))
drivers/net/ethernet/sfc/ptp.c
1581
skb_queue_head_init(&ptp->txq);
drivers/net/ethernet/sfc/ptp.c
1688
skb_queue_purge(&efx->ptp_data->txq);
drivers/net/ethernet/sfc/ptp.c
1793
skb_queue_tail(&ptp->txq, skb);
drivers/net/ethernet/sfc/ptp.c
297
struct sk_buff_head txq;
drivers/net/ethernet/sfc/siena/ptp.c
1363
skb_queue_purge(&efx->ptp_data->txq);
drivers/net/ethernet/sfc/siena/ptp.c
1416
while ((skb = skb_dequeue(&ptp_data->txq)))
drivers/net/ethernet/sfc/siena/ptp.c
1460
skb_queue_head_init(&ptp->txq);
drivers/net/ethernet/sfc/siena/ptp.c
1569
skb_queue_purge(&efx->ptp_data->txq);
drivers/net/ethernet/sfc/siena/ptp.c
1707
skb_queue_tail(&ptp->txq, skb);
drivers/net/ethernet/sfc/siena/ptp.c
289
struct sk_buff_head txq;
drivers/net/ethernet/sun/niu.c
3605
struct netdev_queue *txq;
drivers/net/ethernet/sun/niu.c
3611
txq = netdev_get_tx_queue(np->dev, index);
drivers/net/ethernet/sun/niu.c
3635
if (unlikely(netif_tx_queue_stopped(txq) &&
drivers/net/ethernet/sun/niu.c
3637
__netif_tx_lock(txq, smp_processor_id());
drivers/net/ethernet/sun/niu.c
3638
if (netif_tx_queue_stopped(txq) &&
drivers/net/ethernet/sun/niu.c
3640
netif_tx_wake_queue(txq);
drivers/net/ethernet/sun/niu.c
3641
__netif_tx_unlock(txq);
drivers/net/ethernet/sun/niu.c
6629
struct netdev_queue *txq;
drivers/net/ethernet/sun/niu.c
6639
txq = netdev_get_tx_queue(dev, i);
drivers/net/ethernet/sun/niu.c
6642
netif_tx_stop_queue(txq);
drivers/net/ethernet/sun/niu.c
6737
netif_tx_stop_queue(txq);
drivers/net/ethernet/sun/niu.c
6739
netif_tx_wake_queue(txq);
drivers/net/ethernet/sun/sungem.c
1321
struct netdev_queue *txq = netdev_get_tx_queue(gp->dev, 0);
drivers/net/ethernet/sun/sungem.c
1351
__netif_tx_lock(txq, smp_processor_id());
drivers/net/ethernet/sun/sungem.c
1413
__netif_tx_unlock(txq);
drivers/net/ethernet/sun/sungem.c
684
struct netdev_queue *txq = netdev_get_tx_queue(dev, 0);
drivers/net/ethernet/sun/sungem.c
686
__netif_tx_lock(txq, smp_processor_id());
drivers/net/ethernet/sun/sungem.c
690
__netif_tx_unlock(txq);
drivers/net/ethernet/sun/sungem.c
876
struct netdev_queue *txq = netdev_get_tx_queue(dev, 0);
drivers/net/ethernet/sun/sungem.c
884
__netif_tx_lock(txq, smp_processor_id());
drivers/net/ethernet/sun/sungem.c
886
__netif_tx_unlock(txq);
drivers/net/ethernet/sun/sunvnet_common.c
1258
struct netdev_queue *txq;
drivers/net/ethernet/sun/sunvnet_common.c
1260
txq = netdev_get_tx_queue(dev, port->q_index);
drivers/net/ethernet/sun/sunvnet_common.c
1261
netif_tx_stop_queue(txq);
drivers/net/ethernet/sun/sunvnet_common.c
1264
netif_tx_wake_queue(txq);
drivers/net/ethernet/sun/sunvnet_common.c
1335
struct netdev_queue *txq;
drivers/net/ethernet/sun/sunvnet_common.c
1380
txq = netdev_get_tx_queue(dev, i);
drivers/net/ethernet/sun/sunvnet_common.c
1382
if (!netif_tx_queue_stopped(txq)) {
drivers/net/ethernet/sun/sunvnet_common.c
1383
netif_tx_stop_queue(txq);
drivers/net/ethernet/sun/sunvnet_common.c
1498
netif_tx_stop_queue(txq);
drivers/net/ethernet/sun/sunvnet_common.c
1501
netif_tx_wake_queue(txq);
drivers/net/ethernet/sun/sunvnet_common.c
693
struct netdev_queue *txq;
drivers/net/ethernet/sun/sunvnet_common.c
727
txq = netdev_get_tx_queue(dev, port->q_index);
drivers/net/ethernet/sun/sunvnet_common.c
728
if (unlikely(netif_tx_queue_stopped(txq) &&
drivers/net/ethernet/sun/sunvnet_common.c
762
struct netdev_queue *txq;
drivers/net/ethernet/sun/sunvnet_common.c
764
txq = netdev_get_tx_queue(VNET_PORT_TO_NET_DEVICE(port),
drivers/net/ethernet/sun/sunvnet_common.c
766
__netif_tx_lock(txq, smp_processor_id());
drivers/net/ethernet/sun/sunvnet_common.c
767
if (likely(netif_tx_queue_stopped(txq)))
drivers/net/ethernet/sun/sunvnet_common.c
768
netif_tx_wake_queue(txq);
drivers/net/ethernet/sun/sunvnet_common.c
769
__netif_tx_unlock(txq);
drivers/net/ethernet/synopsys/dwc-xlgmac-net.c
1044
struct netdev_queue *txq;
drivers/net/ethernet/synopsys/dwc-xlgmac-net.c
1060
txq = netdev_get_tx_queue(netdev, channel->queue_index);
drivers/net/ethernet/synopsys/dwc-xlgmac-net.c
1094
netdev_tx_completed_queue(txq, tx_packets, tx_bytes);
drivers/net/ethernet/synopsys/dwc-xlgmac-net.c
1099
netif_tx_wake_queue(txq);
drivers/net/ethernet/synopsys/dwc-xlgmac-net.c
592
struct netdev_queue *txq;
drivers/net/ethernet/synopsys/dwc-xlgmac-net.c
608
txq = netdev_get_tx_queue(netdev, channel->queue_index);
drivers/net/ethernet/synopsys/dwc-xlgmac-net.c
609
netdev_tx_reset_queue(txq);
drivers/net/ethernet/synopsys/dwc-xlgmac-net.c
707
struct netdev_queue *txq;
drivers/net/ethernet/synopsys/dwc-xlgmac-net.c
717
txq = netdev_get_tx_queue(netdev, channel->queue_index);
drivers/net/ethernet/synopsys/dwc-xlgmac-net.c
753
netdev_tx_sent_queue(txq, tx_pkt_info->tx_bytes);
drivers/net/ethernet/ti/am65-cpsw-nuss.c
1038
struct netdev_queue *txq = netdev_get_tx_queue(ndev, i);
drivers/net/ethernet/ti/am65-cpsw-nuss.c
1040
netdev_tx_reset_queue(txq);
drivers/net/ethernet/ti/am65-cpsw-nuss.c
1041
txq->tx_maxrate = common->tx_chns[i].rate_mbps;
drivers/net/ethernet/ti/am65-cpts.c
1179
skb_queue_head_init(&cpts->txq);
drivers/net/ethernet/ti/am65-cpts.c
181
struct sk_buff_head txq;
drivers/net/ethernet/ti/am65-cpts.c
802
spin_lock_irqsave(&cpts->txq.lock, flags);
drivers/net/ethernet/ti/am65-cpts.c
803
skb_queue_splice_init(&cpts->txq, &txq_list);
drivers/net/ethernet/ti/am65-cpts.c
804
spin_unlock_irqrestore(&cpts->txq.lock, flags);
drivers/net/ethernet/ti/am65-cpts.c
842
spin_lock_irqsave(&cpts->txq.lock, flags);
drivers/net/ethernet/ti/am65-cpts.c
843
skb_queue_splice(&txq_list, &cpts->txq);
drivers/net/ethernet/ti/am65-cpts.c
844
spin_unlock_irqrestore(&cpts->txq.lock, flags);
drivers/net/ethernet/ti/am65-cpts.c
884
spin_lock_irqsave(&cpts->txq.lock, flags);
drivers/net/ethernet/ti/am65-cpts.c
885
if (!skb_queue_empty(&cpts->txq))
drivers/net/ethernet/ti/am65-cpts.c
887
spin_unlock_irqrestore(&cpts->txq.lock, flags);
drivers/net/ethernet/ti/am65-cpts.c
996
skb_queue_tail(&cpts->txq, skb);
drivers/net/ethernet/ti/cpsw.c
931
struct netdev_queue *txq;
drivers/net/ethernet/ti/cpsw.c
950
txq = netdev_get_tx_queue(ndev, q_idx);
drivers/net/ethernet/ti/cpsw.c
963
netif_tx_stop_queue(txq);
drivers/net/ethernet/ti/cpsw.c
969
netif_tx_wake_queue(txq);
drivers/net/ethernet/ti/cpsw.c
975
netif_tx_stop_queue(txq);
drivers/net/ethernet/ti/cpsw.c
981
netif_tx_wake_queue(txq);
drivers/net/ethernet/ti/cpsw_new.c
946
struct netdev_queue *txq;
drivers/net/ethernet/ti/cpsw_new.c
965
txq = netdev_get_tx_queue(ndev, q_idx);
drivers/net/ethernet/ti/cpsw_new.c
978
netif_tx_stop_queue(txq);
drivers/net/ethernet/ti/cpsw_new.c
984
netif_tx_wake_queue(txq);
drivers/net/ethernet/ti/cpsw_new.c
990
netif_tx_stop_queue(txq);
drivers/net/ethernet/ti/cpsw_new.c
996
netif_tx_wake_queue(txq);
drivers/net/ethernet/ti/cpsw_priv.c
60
struct netdev_queue *txq;
drivers/net/ethernet/ti/cpsw_priv.c
81
txq = netdev_get_tx_queue(ndev, ch);
drivers/net/ethernet/ti/cpsw_priv.c
82
if (unlikely(netif_tx_queue_stopped(txq)))
drivers/net/ethernet/ti/cpsw_priv.c
83
netif_tx_wake_queue(txq);
drivers/net/ethernet/ti/cpts.c
329
spin_lock_irqsave(&cpts->txq.lock, flags);
drivers/net/ethernet/ti/cpts.c
330
skb_queue_splice_init(&cpts->txq, &txq_list);
drivers/net/ethernet/ti/cpts.c
331
spin_unlock_irqrestore(&cpts->txq.lock, flags);
drivers/net/ethernet/ti/cpts.c
358
spin_lock_irqsave(&cpts->txq.lock, flags);
drivers/net/ethernet/ti/cpts.c
359
skb_queue_splice(&txq_list, &cpts->txq);
drivers/net/ethernet/ti/cpts.c
360
spin_unlock_irqrestore(&cpts->txq.lock, flags);
drivers/net/ethernet/ti/cpts.c
406
spin_lock_irqsave(&cpts->txq.lock, flags);
drivers/net/ethernet/ti/cpts.c
407
if (!skb_queue_empty(&cpts->txq)) {
drivers/net/ethernet/ti/cpts.c
409
if (!skb_queue_empty(&cpts->txq))
drivers/net/ethernet/ti/cpts.c
412
spin_unlock_irqrestore(&cpts->txq.lock, flags);
drivers/net/ethernet/ti/cpts.c
544
skb_queue_tail(&cpts->txq, skb);
drivers/net/ethernet/ti/cpts.c
553
skb_queue_head_init(&cpts->txq);
drivers/net/ethernet/ti/cpts.c
598
skb_queue_purge(&cpts->txq);
drivers/net/ethernet/ti/cpts.c
89
skb_queue_walk_safe(&cpts->txq, skb, tmp) {
drivers/net/ethernet/ti/cpts.c
92
__skb_unlink(skb, &cpts->txq);
drivers/net/ethernet/ti/cpts.h
117
struct sk_buff_head txq;
drivers/net/ethernet/vertexcom/mse102x.c
104
skb_queue_len(&mses->mse102x.txq));
drivers/net/ethernet/vertexcom/mse102x.c
448
while ((txb = skb_dequeue(&mse->txq))) {
drivers/net/ethernet/vertexcom/mse102x.c
483
skb_queue_tail(&mse->txq, skb);
drivers/net/ethernet/vertexcom/mse102x.c
485
if (skb_queue_len(&mse->txq) >= TX_QUEUE_MAX)
drivers/net/ethernet/vertexcom/mse102x.c
580
skb_queue_purge(&mse->txq);
drivers/net/ethernet/vertexcom/mse102x.c
745
skb_queue_head_init(&mse->txq);
drivers/net/ethernet/vertexcom/mse102x.c
76
struct sk_buff_head txq;
drivers/net/ethernet/xilinx/xilinx_axienet_main.c
872
struct netdev_queue *txq;
drivers/net/ethernet/xilinx/xilinx_axienet_main.c
877
txq = skb_get_tx_queue(lp->ndev, skbuf_dma->skb);
drivers/net/ethernet/xilinx/xilinx_axienet_main.c
884
netif_txq_completed_wake(txq, 1, len,
drivers/net/ethernet/xilinx/xilinx_axienet_main.c
912
struct netdev_queue *txq;
drivers/net/ethernet/xilinx/xilinx_axienet_main.c
967
txq = skb_get_tx_queue(lp->ndev, skb);
drivers/net/ethernet/xilinx/xilinx_axienet_main.c
968
netdev_tx_sent_queue(txq, skb->len);
drivers/net/ethernet/xilinx/xilinx_axienet_main.c
969
netif_txq_maybe_stop(txq, CIRC_SPACE(lp->tx_ring_head, lp->tx_ring_tail, TX_BD_NUM_MAX),
drivers/net/hyperv/netvsc.c
1118
struct netdev_queue *txq = netdev_get_tx_queue(ndev, packet->q_idx);
drivers/net/hyperv/netvsc.c
1177
netif_tx_stop_queue(txq);
drivers/net/hyperv/netvsc.c
1181
netif_tx_stop_queue(txq);
drivers/net/hyperv/netvsc.c
1190
if (netif_tx_queue_stopped(txq) &&
drivers/net/hyperv/netvsc.c
1193
netif_tx_wake_queue(txq);
drivers/net/hyperv/netvsc.c
807
struct netdev_queue *txq = netdev_get_tx_queue(ndev, q_idx);
drivers/net/hyperv/netvsc.c
809
if (netif_tx_queue_stopped(txq) && !net_device->tx_disable &&
drivers/net/hyperv/netvsc.c
812
netif_tx_wake_queue(txq);
drivers/net/hyperv/netvsc_drv.c
301
u16 txq;
drivers/net/hyperv/netvsc_drv.c
309
txq = vf_ops->ndo_select_queue(vf_netdev, skb, sb_dev);
drivers/net/hyperv/netvsc_drv.c
311
txq = netdev_pick_tx(vf_netdev, skb, NULL);
drivers/net/hyperv/netvsc_drv.c
317
qdisc_skb_cb(skb)->slave_dev_queue_mapping = txq;
drivers/net/hyperv/netvsc_drv.c
319
txq = netvsc_pick_tx(ndev, skb);
drivers/net/hyperv/netvsc_drv.c
323
while (txq >= ndev->real_num_tx_queues)
drivers/net/hyperv/netvsc_drv.c
324
txq -= ndev->real_num_tx_queues;
drivers/net/hyperv/netvsc_drv.c
326
return txq;
drivers/net/ifb.c
101
__netif_tx_unlock(txq);
drivers/net/ifb.c
135
if (__netif_tx_trylock(txq)) {
drivers/net/ifb.c
139
if (netif_tx_queue_stopped(txq))
drivers/net/ifb.c
140
netif_tx_wake_queue(txq);
drivers/net/ifb.c
142
__netif_tx_unlock(txq);
drivers/net/ifb.c
145
__netif_tx_unlock(txq);
drivers/net/ifb.c
92
struct netdev_queue *txq;
drivers/net/ifb.c
95
txq = netdev_get_tx_queue(txp->dev, txp->txqnum);
drivers/net/ifb.c
98
if (!__netif_tx_trylock(txq))
drivers/net/net_failover.c
123
u16 txq;
drivers/net/net_failover.c
130
txq = ops->ndo_select_queue(primary_dev, skb, sb_dev);
drivers/net/net_failover.c
132
txq = netdev_pick_tx(primary_dev, skb, NULL);
drivers/net/net_failover.c
134
txq = skb_rx_queue_recorded(skb) ? skb_get_rx_queue(skb) : 0;
drivers/net/net_failover.c
140
if (unlikely(txq >= dev->real_num_tx_queues)) {
drivers/net/net_failover.c
142
txq -= dev->real_num_tx_queues;
drivers/net/net_failover.c
143
} while (txq >= dev->real_num_tx_queues);
drivers/net/net_failover.c
146
return txq;
drivers/net/netdevsim/netdev.c
45
struct netdev_queue *txq;
drivers/net/netdevsim/netdev.c
59
txq = netdev_get_tx_queue(peer_dev, idx);
drivers/net/netdevsim/netdev.c
60
if (!netif_tx_queue_stopped(txq))
drivers/net/netdevsim/netdev.c
63
netif_tx_wake_queue(txq);
drivers/net/team/team_core.c
1894
u16 txq = skb_rx_queue_recorded(skb) ? skb_get_rx_queue(skb) : 0;
drivers/net/team/team_core.c
1901
if (unlikely(txq >= dev->real_num_tx_queues)) {
drivers/net/team/team_core.c
1903
txq -= dev->real_num_tx_queues;
drivers/net/team/team_core.c
1904
} while (txq >= dev->real_num_tx_queues);
drivers/net/team/team_core.c
1906
return txq;
drivers/net/tun.c
1007
int txq = skb->queue_mapping;
drivers/net/tun.c
1013
tfile = rcu_dereference(tun->tfiles[txq]);
drivers/net/tun.c
1071
queue = netdev_get_tx_queue(dev, txq);
drivers/net/tun.c
464
u32 txq, numqueues;
drivers/net/tun.c
468
txq = __skb_get_hash_symmetric(skb);
drivers/net/tun.c
469
e = tun_flow_find(&tun->flows[tun_hashfn(txq)], txq);
drivers/net/tun.c
471
tun_flow_save_rps_rxhash(e, txq);
drivers/net/tun.c
472
txq = e->queue_index;
drivers/net/tun.c
474
txq = reciprocal_scale(txq, numqueues);
drivers/net/tun.c
477
return txq;
drivers/net/usb/lan78xx.c
3512
temp = unlink_urbs(dev, &dev->txq) + unlink_urbs(dev, &dev->rxq);
drivers/net/usb/lan78xx.c
3516
!skb_queue_empty(&dev->txq)) {
drivers/net/usb/lan78xx.c
3648
skb_unlink(skb, &dev->txq);
drivers/net/usb/lan78xx.c
3654
if (skb_queue_empty(&dev->txq) &&
drivers/net/usb/lan78xx.c
3741
if (skb_queue_empty(&dev->txq))
drivers/net/usb/lan78xx.c
4266
spin_lock_irqsave(&dev->txq.lock, flags);
drivers/net/usb/lan78xx.c
4269
spin_unlock_irqrestore(&dev->txq.lock, flags);
drivers/net/usb/lan78xx.c
4287
spin_unlock_irqrestore(&dev->txq.lock, flags);
drivers/net/usb/lan78xx.c
429
struct sk_buff_head txq;
drivers/net/usb/lan78xx.c
4297
lan78xx_queue_skb(&dev->txq, tx_buf, tx_start);
drivers/net/usb/lan78xx.c
4317
spin_unlock_irqrestore(&dev->txq.lock, flags);
drivers/net/usb/lan78xx.c
4430
if (skb_queue_empty(&dev->txq) &&
drivers/net/usb/lan78xx.c
4462
unlink_urbs(dev, &dev->txq);
drivers/net/usb/lan78xx.c
4613
unlink_urbs(dev, &dev->txq);
drivers/net/usb/lan78xx.c
4685
skb_queue_head_init(&dev->txq);
drivers/net/usb/lan78xx.c
5129
spin_lock_irq(&dev->txq.lock);
drivers/net/usb/lan78xx.c
5131
if ((skb_queue_len(&dev->txq) ||
drivers/net/usb/lan78xx.c
5134
spin_unlock_irq(&dev->txq.lock);
drivers/net/usb/lan78xx.c
5139
spin_unlock_irq(&dev->txq.lock);
drivers/net/usb/lan78xx.c
5249
lan78xx_queue_skb(&dev->txq, skb, tx_start);
drivers/net/usb/lan78xx.c
5294
spin_lock_irq(&dev->txq.lock);
drivers/net/usb/lan78xx.c
5305
spin_unlock_irq(&dev->txq.lock);
drivers/net/usb/usbnet.c
1191
unlink_urbs(dev, &dev->txq);
drivers/net/usb/usbnet.c
1344
(void) defer_bh(dev, skb, &dev->txq, tx_done);
drivers/net/usb/usbnet.c
1353
unlink_urbs(dev, &dev->txq);
drivers/net/usb/usbnet.c
1477
spin_lock_irqsave(&dev->txq.lock, flags);
drivers/net/usb/usbnet.c
1480
spin_unlock_irqrestore(&dev->txq.lock, flags);
drivers/net/usb/usbnet.c
1485
spin_unlock_irqrestore(&dev->txq.lock, flags);
drivers/net/usb/usbnet.c
1497
spin_unlock_irqrestore(&dev->txq.lock, flags);
drivers/net/usb/usbnet.c
1516
__usbnet_queue_skb(&dev->txq, skb, tx_start);
drivers/net/usb/usbnet.c
1518
if (dev->txq.qlen >= TX_QLEN (dev))
drivers/net/usb/usbnet.c
1521
spin_unlock_irqrestore(&dev->txq.lock, flags);
drivers/net/usb/usbnet.c
1616
if (dev->txq.qlen + dev->rxq.qlen + dev->done.qlen == 0)
drivers/net/usb/usbnet.c
1639
if (dev->txq.qlen < TX_QLEN (dev))
drivers/net/usb/usbnet.c
1777
skb_queue_head_init (&dev->txq);
drivers/net/usb/usbnet.c
1943
spin_lock_irq(&dev->txq.lock);
drivers/net/usb/usbnet.c
1945
if (dev->txq.qlen && PMSG_IS_AUTO(message)) {
drivers/net/usb/usbnet.c
1947
spin_unlock_irq(&dev->txq.lock);
drivers/net/usb/usbnet.c
1951
spin_unlock_irq(&dev->txq.lock);
drivers/net/usb/usbnet.c
1982
spin_lock_irq(&dev->txq.lock);
drivers/net/usb/usbnet.c
1994
__skb_queue_tail(&dev->txq, skb);
drivers/net/usb/usbnet.c
2001
spin_unlock_irq(&dev->txq.lock);
drivers/net/usb/usbnet.c
2012
if (!(dev->txq.qlen >= TX_QLEN(dev)))
drivers/net/usb/usbnet.c
810
temp = unlink_urbs(dev, &dev->txq) +
drivers/net/usb/usbnet.c
815
wait_skb_queue_empty(&dev->txq);
drivers/net/veth.c
351
struct netdev_queue *txq;
drivers/net/veth.c
391
txq = netdev_get_tx_queue(dev, rxq);
drivers/net/veth.c
393
if (qdisc_txq_has_no_queue(txq)) {
drivers/net/veth.c
399
netif_tx_stop_queue(txq);
drivers/net/virtio_net.c
1001
struct netdev_queue *txq = netdev_get_tx_queue(dev, qnum);
drivers/net/virtio_net.c
1003
netif_tx_stop_queue(txq);
drivers/net/virtio_net.c
1024
struct netdev_queue *txq = netdev_get_tx_queue(dev, qnum);
drivers/net/virtio_net.c
1031
free_old_xmit(sq, txq, false);
drivers/net/virtio_net.c
1460
struct netdev_queue *txq;
drivers/net/virtio_net.c
1462
txq = netdev_get_tx_queue(vi->dev, sq - vi->sq);
drivers/net/virtio_net.c
1463
txq_trans_cond_update(txq);
drivers/net/virtio_net.c
1582
struct netdev_queue *txq; \
drivers/net/virtio_net.c
1589
txq = netdev_get_tx_queue(v->dev, qp); \
drivers/net/virtio_net.c
1590
__netif_tx_acquire(txq); \
drivers/net/virtio_net.c
1593
txq = netdev_get_tx_queue(v->dev, qp); \
drivers/net/virtio_net.c
1594
__netif_tx_lock(txq, cpu); \
drivers/net/virtio_net.c
1600
struct netdev_queue *txq; \
drivers/net/virtio_net.c
1603
txq = netdev_get_tx_queue(v->dev, (q) - v->sq); \
drivers/net/virtio_net.c
1605
__netif_tx_release(txq); \
drivers/net/virtio_net.c
1607
__netif_tx_unlock(txq); \
drivers/net/virtio_net.c
2962
struct netdev_queue *txq = netdev_get_tx_queue(vi->dev, index);
drivers/net/virtio_net.c
2967
if (__netif_tx_trylock(txq)) {
drivers/net/virtio_net.c
2969
__netif_tx_unlock(txq);
drivers/net/virtio_net.c
2975
free_old_xmit(sq, txq, !!budget);
drivers/net/virtio_net.c
2981
__netif_tx_unlock(txq);
drivers/net/virtio_net.c
3228
struct netdev_queue *txq;
drivers/net/virtio_net.c
3238
txq = netdev_get_tx_queue(vi->dev, index);
drivers/net/virtio_net.c
3239
__netif_tx_lock(txq, raw_smp_processor_id());
drivers/net/virtio_net.c
3245
free_old_xmit(sq, txq, !!budget);
drivers/net/virtio_net.c
3251
__netif_tx_unlock(txq);
drivers/net/virtio_net.c
3262
__netif_tx_unlock(txq);
drivers/net/virtio_net.c
3267
__netif_tx_lock(txq, raw_smp_processor_id());
drivers/net/virtio_net.c
3269
__netif_tx_unlock(txq);
drivers/net/virtio_net.c
3342
struct netdev_queue *txq = netdev_get_tx_queue(dev, qnum);
drivers/net/virtio_net.c
3348
free_old_xmit(sq, txq, false);
drivers/net/virtio_net.c
3382
kick = use_napi ? __netdev_tx_sent_queue(txq, skb->len, xmit_more) :
drivers/net/virtio_net.c
3383
!xmit_more || netif_xmit_stopped(txq);
drivers/net/virtio_net.c
3464
struct netdev_queue *txq;
drivers/net/virtio_net.c
3472
txq = netdev_get_tx_queue(vi->dev, qindex);
drivers/net/virtio_net.c
3477
__netif_tx_lock_bh(txq);
drivers/net/virtio_net.c
3488
__netif_tx_unlock_bh(txq);
drivers/net/virtio_net.c
3494
struct netdev_queue *txq;
drivers/net/virtio_net.c
3499
txq = netdev_get_tx_queue(vi->dev, qindex);
drivers/net/virtio_net.c
3501
__netif_tx_lock_bh(txq);
drivers/net/virtio_net.c
3504
__netif_tx_unlock_bh(txq);
drivers/net/virtio_net.c
580
static void __free_old_xmit(struct send_queue *sq, struct netdev_queue *txq,
drivers/net/virtio_net.c
6190
struct netdev_queue *txq = netdev_get_tx_queue(dev, txqueue);
drivers/net/virtio_net.c
6198
jiffies_to_usecs(jiffies - READ_ONCE(txq->trans_start)));
drivers/net/virtio_net.c
621
netdev_tx_completed_queue(txq, stats->napi_packets, stats->napi_bytes);
drivers/net/virtio_net.c
625
struct netdev_queue *txq,
drivers/net/virtio_net.c
629
__free_old_xmit(sq, txq, in_napi, stats);
drivers/net/virtio_net.c
643
static int txq2vq(int txq)
drivers/net/virtio_net.c
645
return txq * 2 + 1;
drivers/net/virtio_net.c
756
struct netdev_queue *txq = netdev_get_tx_queue(vi->dev, index);
drivers/net/virtio_net.c
758
if (netif_tx_queue_stopped(txq)) {
drivers/net/virtio_net.c
762
netif_tx_wake_queue(txq);
drivers/net/virtio_net.c
953
static void free_old_xmit(struct send_queue *sq, struct netdev_queue *txq,
drivers/net/virtio_net.c
958
virtnet_free_old_xmit(sq, txq, in_napi, &stats);
drivers/net/vmxnet3/vmxnet3_drv.c
2446
struct vmxnet3_tx_queue *txq = &adapter->tx_queue[i];
drivers/net/vmxnet3/vmxnet3_drv.c
2447
vmxnet3_tq_tx_complete(txq, adapter);
drivers/net/vrf.c
345
struct netdev_queue *txq;
drivers/net/vrf.c
350
txq = netdev_get_tx_queue(dev, 0);
drivers/net/vrf.c
352
return qdisc_txq_has_no_queue(txq);
drivers/net/wan/farsync.c
1311
skb = port->txq[port->txqs];
drivers/net/wan/farsync.c
2256
port->txq[port->txqe] = skb;
drivers/net/wan/farsync.c
439
struct sk_buff *txq[FST_TXQ_DEPTH]; /* The queue */
drivers/net/wan/ixp4xx_hss.c
1177
while (queue_get_desc(port->txq, port, 1) >= 0)
drivers/net/wan/ixp4xx_hss.c
1457
port->txq = queue_spec.args[0];
drivers/net/wan/ixp4xx_hss.c
265
unsigned int txq;
drivers/net/wan/ixp4xx_hss.c
900
queue_put_desc(port->txq, tx_desc_phys(port, n), desc);
drivers/net/wan/ixp4xx_hss.c
937
err = qmgr_request_queue(port->txq, TX_DESCS, 0, 0,
drivers/net/wan/ixp4xx_hss.c
956
qmgr_release_queue(port->txq);
drivers/net/wan/ixp4xx_hss.c
971
qmgr_release_queue(port->txq);
drivers/net/wireless/ath/ath10k/core.h
130
struct ieee80211_txq *txq;
drivers/net/wireless/ath/ath10k/htt.h
2446
struct ieee80211_txq *txq);
drivers/net/wireless/ath/ath10k/htt.h
2448
struct ieee80211_txq *txq);
drivers/net/wireless/ath/ath10k/htt_rx.c
3378
struct ieee80211_txq *txq;
drivers/net/wireless/ath/ath10k/htt_rx.c
3450
txq = ath10k_mac_txq_lookup(ar, peer_id, tid);
drivers/net/wireless/ath/ath10k/htt_rx.c
3457
if (unlikely(!txq)) {
drivers/net/wireless/ath/ath10k/htt_rx.c
3466
ieee80211_txq_schedule_start(hw, txq->ac);
drivers/net/wireless/ath/ath10k/htt_rx.c
3467
may_tx = ieee80211_txq_may_transmit(hw, txq);
drivers/net/wireless/ath/ath10k/htt_rx.c
3473
ret = ath10k_mac_tx_push_txq(hw, txq);
drivers/net/wireless/ath/ath10k/htt_rx.c
3480
ieee80211_return_txq(hw, txq, false);
drivers/net/wireless/ath/ath10k/htt_rx.c
3481
ieee80211_txq_schedule_end(hw, txq->ac);
drivers/net/wireless/ath/ath10k/htt_rx.c
3486
ath10k_htt_tx_txq_recalc(hw, txq);
drivers/net/wireless/ath/ath10k/htt_rx.c
3541
struct ieee80211_txq *txq;
drivers/net/wireless/ath/ath10k/htt_rx.c
3614
txq = ath10k_mac_txq_lookup(ar, peer_id, tid);
drivers/net/wireless/ath/ath10k/htt_rx.c
3621
if (unlikely(!txq)) {
drivers/net/wireless/ath/ath10k/htt_rx.c
3628
artxq = (void *)txq->drv_priv;
drivers/net/wireless/ath/ath10k/htt_tx.c
117
struct ieee80211_txq *txq)
drivers/net/wireless/ath/ath10k/htt_tx.c
122
__ath10k_htt_tx_txq_recalc(hw, txq);
drivers/net/wireless/ath/ath10k/htt_tx.c
134
struct ieee80211_txq *txq)
drivers/net/wireless/ath/ath10k/htt_tx.c
139
__ath10k_htt_tx_txq_recalc(hw, txq);
drivers/net/wireless/ath/ath10k/htt_tx.c
40
struct ieee80211_txq *txq)
drivers/net/wireless/ath/ath10k/htt_tx.c
44
struct ath10k_vif *arvif = (void *)txq->vif->drv_priv;
drivers/net/wireless/ath/ath10k/htt_tx.c
60
if (txq->sta) {
drivers/net/wireless/ath/ath10k/htt_tx.c
61
arsta = (void *)txq->sta->drv_priv;
drivers/net/wireless/ath/ath10k/htt_tx.c
67
tid = txq->tid;
drivers/net/wireless/ath/ath10k/htt_tx.c
71
ieee80211_txq_get_depth(txq, NULL, &byte_cnt);
drivers/net/wireless/ath/ath10k/mac.c
3895
struct ieee80211_txq *txq,
drivers/net/wireless/ath/ath10k/mac.c
3956
cb->txq = txq;
drivers/net/wireless/ath/ath10k/mac.c
4282
static void ath10k_mac_txq_init(struct ieee80211_txq *txq)
drivers/net/wireless/ath/ath10k/mac.c
4286
if (!txq)
drivers/net/wireless/ath/ath10k/mac.c
4289
artxq = (void *)txq->drv_priv;
drivers/net/wireless/ath/ath10k/mac.c
4293
static void ath10k_mac_txq_unref(struct ath10k *ar, struct ieee80211_txq *txq)
drivers/net/wireless/ath/ath10k/mac.c
4299
if (!txq)
drivers/net/wireless/ath/ath10k/mac.c
4305
if (cb->txq == txq)
drivers/net/wireless/ath/ath10k/mac.c
4306
cb->txq = NULL;
drivers/net/wireless/ath/ath10k/mac.c
4327
return peer->sta->txq[tid];
drivers/net/wireless/ath/ath10k/mac.c
4329
return peer->vif->txq;
drivers/net/wireless/ath/ath10k/mac.c
4335
struct ieee80211_txq *txq)
drivers/net/wireless/ath/ath10k/mac.c
4338
struct ath10k_txq *artxq = (void *)txq->drv_priv;
drivers/net/wireless/ath/ath10k/mac.c
4362
struct ieee80211_txq *txq,
drivers/net/wireless/ath/ath10k/mac.c
4369
if (!txq || !txq->sta)
drivers/net/wireless/ath/ath10k/mac.c
4376
arsta = (struct ath10k_sta *)txq->sta->drv_priv;
drivers/net/wireless/ath/ath10k/mac.c
4400
struct ieee80211_txq *txq)
drivers/net/wireless/ath/ath10k/mac.c
4404
struct ath10k_txq *artxq = (void *)txq->drv_priv;
drivers/net/wireless/ath/ath10k/mac.c
4405
struct ieee80211_vif *vif = txq->vif;
drivers/net/wireless/ath/ath10k/mac.c
4406
struct ieee80211_sta *sta = txq->sta;
drivers/net/wireless/ath/ath10k/mac.c
4423
skb = ieee80211_tx_dequeue_ni(hw, txq);
drivers/net/wireless/ath/ath10k/mac.c
4432
airtime = ath10k_mac_update_airtime(ar, txq, skb);
drivers/net/wireless/ath/ath10k/mac.c
4433
ath10k_mac_tx_h_fill_cb(ar, vif, txq, sta, skb, airtime);
drivers/net/wireless/ath/ath10k/mac.c
4477
struct ieee80211_txq *txq;
drivers/net/wireless/ath/ath10k/mac.c
4481
while ((txq = ieee80211_next_txq(hw, ac))) {
drivers/net/wireless/ath/ath10k/mac.c
4482
while (ath10k_mac_tx_can_push(hw, txq)) {
drivers/net/wireless/ath/ath10k/mac.c
4483
ret = ath10k_mac_tx_push_txq(hw, txq);
drivers/net/wireless/ath/ath10k/mac.c
4487
ieee80211_return_txq(hw, txq, false);
drivers/net/wireless/ath/ath10k/mac.c
4488
ath10k_htt_tx_txq_update(hw, txq);
drivers/net/wireless/ath/ath10k/mac.c
4695
struct ieee80211_txq *txq = NULL;
drivers/net/wireless/ath/ath10k/mac.c
4703
airtime = ath10k_mac_update_airtime(ar, txq, skb);
drivers/net/wireless/ath/ath10k/mac.c
4704
ath10k_mac_tx_h_fill_cb(ar, vif, txq, sta, skb, airtime);
drivers/net/wireless/ath/ath10k/mac.c
4758
struct ieee80211_txq *txq)
drivers/net/wireless/ath/ath10k/mac.c
4762
u8 ac = txq->ac;
drivers/net/wireless/ath/ath10k/mac.c
4764
ath10k_htt_tx_txq_update(hw, txq);
drivers/net/wireless/ath/ath10k/mac.c
4771
txq = ieee80211_next_txq(hw, ac);
drivers/net/wireless/ath/ath10k/mac.c
4772
if (!txq)
drivers/net/wireless/ath/ath10k/mac.c
4775
while (ath10k_mac_tx_can_push(hw, txq)) {
drivers/net/wireless/ath/ath10k/mac.c
4776
ret = ath10k_mac_tx_push_txq(hw, txq);
drivers/net/wireless/ath/ath10k/mac.c
4780
ieee80211_return_txq(hw, txq, false);
drivers/net/wireless/ath/ath10k/mac.c
4781
ath10k_htt_tx_txq_update(hw, txq);
drivers/net/wireless/ath/ath10k/mac.c
5574
ath10k_mac_txq_init(vif->txq);
drivers/net/wireless/ath/ath10k/mac.c
6016
ath10k_mac_txq_unref(ar, vif->txq);
drivers/net/wireless/ath/ath10k/mac.c
6033
ath10k_mac_txq_unref(ar, vif->txq);
drivers/net/wireless/ath/ath10k/mac.c
7514
for (i = 0; i < ARRAY_SIZE(sta->txq); i++)
drivers/net/wireless/ath/ath10k/mac.c
7515
ath10k_mac_txq_init(sta->txq[i]);
drivers/net/wireless/ath/ath10k/mac.c
7679
for (i = 0; i < ARRAY_SIZE(sta->txq); i++)
drivers/net/wireless/ath/ath10k/mac.c
7680
ath10k_mac_txq_unref(ar, sta->txq[i]);
drivers/net/wireless/ath/ath10k/mac.h
69
struct ieee80211_txq *txq);
drivers/net/wireless/ath/ath10k/txrx.c
138
if (txq)
drivers/net/wireless/ath/ath10k/txrx.c
139
status.sta = txq->sta;
drivers/net/wireless/ath/ath10k/txrx.c
50
struct ieee80211_txq *txq;
drivers/net/wireless/ath/ath10k/txrx.c
76
txq = skb_cb->txq;
drivers/net/wireless/ath/ath10k/txrx.c
78
if (txq) {
drivers/net/wireless/ath/ath10k/txrx.c
79
artxq = (void *)txq->drv_priv;
drivers/net/wireless/ath/ath10k/txrx.c
89
if (txq && txq->sta && skb_cb->airtime_est)
drivers/net/wireless/ath/ath10k/txrx.c
90
ieee80211_sta_register_airtime(txq->sta, txq->tid,
drivers/net/wireless/ath/ath5k/base.c
1022
struct ath5k_txq *txq;
drivers/net/wireless/ath/ath5k/base.c
1055
txq = &ah->txqs[qnum];
drivers/net/wireless/ath/ath5k/base.c
1056
if (!txq->setup) {
drivers/net/wireless/ath/ath5k/base.c
1057
txq->qnum = qnum;
drivers/net/wireless/ath/ath5k/base.c
1058
txq->link = NULL;
drivers/net/wireless/ath/ath5k/base.c
1059
INIT_LIST_HEAD(&txq->q);
drivers/net/wireless/ath/ath5k/base.c
1060
spin_lock_init(&txq->lock);
drivers/net/wireless/ath/ath5k/base.c
1061
txq->setup = true;
drivers/net/wireless/ath/ath5k/base.c
1062
txq->txq_len = 0;
drivers/net/wireless/ath/ath5k/base.c
1063
txq->txq_max = ATH5K_TXQ_LEN_MAX;
drivers/net/wireless/ath/ath5k/base.c
1064
txq->txq_poll_mark = false;
drivers/net/wireless/ath/ath5k/base.c
1065
txq->txq_stuck = 0;
drivers/net/wireless/ath/ath5k/base.c
1157
struct ath5k_txq *txq;
drivers/net/wireless/ath/ath5k/base.c
1163
txq = &ah->txqs[i];
drivers/net/wireless/ath/ath5k/base.c
1164
spin_lock_bh(&txq->lock);
drivers/net/wireless/ath/ath5k/base.c
1165
list_for_each_entry_safe(bf, bf0, &txq->q, list) {
drivers/net/wireless/ath/ath5k/base.c
1173
txq->txq_len--;
drivers/net/wireless/ath/ath5k/base.c
1176
txq->link = NULL;
drivers/net/wireless/ath/ath5k/base.c
1177
txq->txq_poll_mark = false;
drivers/net/wireless/ath/ath5k/base.c
1178
spin_unlock_bh(&txq->lock);
drivers/net/wireless/ath/ath5k/base.c
1186
struct ath5k_txq *txq = ah->txqs;
drivers/net/wireless/ath/ath5k/base.c
1189
for (i = 0; i < ARRAY_SIZE(ah->txqs); i++, txq++)
drivers/net/wireless/ath/ath5k/base.c
1190
if (txq->setup) {
drivers/net/wireless/ath/ath5k/base.c
1191
ath5k_hw_release_tx_queue(ah, txq->qnum);
drivers/net/wireless/ath/ath5k/base.c
1192
txq->setup = false;
drivers/net/wireless/ath/ath5k/base.c
1656
struct ath5k_txq *txq, struct ieee80211_tx_control *control)
drivers/net/wireless/ath/ath5k/base.c
1663
trace_ath5k_tx(ah, skb, txq);
drivers/net/wireless/ath/ath5k/base.c
1676
if (txq->txq_len >= txq->txq_max &&
drivers/net/wireless/ath/ath5k/base.c
1677
txq->qnum <= AR5K_TX_QUEUE_ID_DATA_MAX)
drivers/net/wireless/ath/ath5k/base.c
1678
ieee80211_stop_queue(hw, txq->qnum);
drivers/net/wireless/ath/ath5k/base.c
1696
if (ath5k_txbuf_setup(ah, bf, txq, padsize, control)) {
drivers/net/wireless/ath/ath5k/base.c
1712
struct ath5k_txq *txq, struct ath5k_tx_status *ts,
drivers/net/wireless/ath/ath5k/base.c
1773
trace_ath5k_tx_complete(ah, skb, txq, ts);
drivers/net/wireless/ath/ath5k/base.c
1778
ath5k_tx_processq(struct ath5k_hw *ah, struct ath5k_txq *txq)
drivers/net/wireless/ath/ath5k/base.c
1786
spin_lock(&txq->lock);
drivers/net/wireless/ath/ath5k/base.c
1787
list_for_each_entry_safe(bf, bf0, &txq->q, list) {
drivers/net/wireless/ath/ath5k/base.c
1789
txq->txq_poll_mark = false;
drivers/net/wireless/ath/ath5k/base.c
1801
"queue %u\n", ret, txq->qnum);
drivers/net/wireless/ath/ath5k/base.c
1810
ath5k_tx_frame_completed(ah, skb, txq, &ts, bf);
drivers/net/wireless/ath/ath5k/base.c
1819
if (ath5k_hw_get_txdp(ah, txq->qnum) != bf->daddr) {
drivers/net/wireless/ath/ath5k/base.c
1823
txq->txq_len--;
drivers/net/wireless/ath/ath5k/base.c
1827
spin_unlock(&txq->lock);
drivers/net/wireless/ath/ath5k/base.c
1828
if (txq->txq_len < ATH5K_TXQ_LEN_LOW && txq->qnum < 4)
drivers/net/wireless/ath/ath5k/base.c
1829
ieee80211_wake_queue(ah->hw, txq->qnum);
drivers/net/wireless/ath/ath5k/base.c
2511
struct ath5k_txq *txq;
drivers/net/wireless/ath/ath5k/base.c
2522
txq = &ah->txqs[i];
drivers/net/wireless/ath/ath5k/base.c
2523
spin_lock_bh(&txq->lock);
drivers/net/wireless/ath/ath5k/base.c
2524
if (txq->txq_len > 1) {
drivers/net/wireless/ath/ath5k/base.c
2525
if (txq->txq_poll_mark) {
drivers/net/wireless/ath/ath5k/base.c
2528
txq->qnum);
drivers/net/wireless/ath/ath5k/base.c
2530
txq->txq_stuck++;
drivers/net/wireless/ath/ath5k/base.c
2531
spin_unlock_bh(&txq->lock);
drivers/net/wireless/ath/ath5k/base.c
2534
txq->txq_poll_mark = true;
drivers/net/wireless/ath/ath5k/base.c
2537
spin_unlock_bh(&txq->lock);
drivers/net/wireless/ath/ath5k/base.c
3030
struct ath5k_txq *txq;
drivers/net/wireless/ath/ath5k/base.c
3080
txq = ath5k_txq_setup(ah, AR5K_TX_QUEUE_DATA, AR5K_WME_AC_VO);
drivers/net/wireless/ath/ath5k/base.c
3081
if (IS_ERR(txq)) {
drivers/net/wireless/ath/ath5k/base.c
3083
ret = PTR_ERR(txq);
drivers/net/wireless/ath/ath5k/base.c
3086
txq = ath5k_txq_setup(ah, AR5K_TX_QUEUE_DATA, AR5K_WME_AC_VI);
drivers/net/wireless/ath/ath5k/base.c
3087
if (IS_ERR(txq)) {
drivers/net/wireless/ath/ath5k/base.c
3089
ret = PTR_ERR(txq);
drivers/net/wireless/ath/ath5k/base.c
3092
txq = ath5k_txq_setup(ah, AR5K_TX_QUEUE_DATA, AR5K_WME_AC_BE);
drivers/net/wireless/ath/ath5k/base.c
3093
if (IS_ERR(txq)) {
drivers/net/wireless/ath/ath5k/base.c
3095
ret = PTR_ERR(txq);
drivers/net/wireless/ath/ath5k/base.c
3098
txq = ath5k_txq_setup(ah, AR5K_TX_QUEUE_DATA, AR5K_WME_AC_BK);
drivers/net/wireless/ath/ath5k/base.c
3099
if (IS_ERR(txq)) {
drivers/net/wireless/ath/ath5k/base.c
3101
ret = PTR_ERR(txq);
drivers/net/wireless/ath/ath5k/base.c
3107
txq = ath5k_txq_setup(ah, AR5K_TX_QUEUE_DATA, AR5K_WME_AC_BE);
drivers/net/wireless/ath/ath5k/base.c
3108
if (IS_ERR(txq)) {
drivers/net/wireless/ath/ath5k/base.c
3110
ret = PTR_ERR(txq);
drivers/net/wireless/ath/ath5k/base.c
769
struct ath5k_txq *txq, int padsize,
drivers/net/wireless/ath/ath5k/base.c
875
spin_lock_bh(&txq->lock);
drivers/net/wireless/ath/ath5k/base.c
876
list_add_tail(&bf->list, &txq->q);
drivers/net/wireless/ath/ath5k/base.c
877
txq->txq_len++;
drivers/net/wireless/ath/ath5k/base.c
878
if (txq->link == NULL) /* is this first packet? */
drivers/net/wireless/ath/ath5k/base.c
879
ath5k_hw_set_txdp(ah, txq->qnum, bf->daddr);
drivers/net/wireless/ath/ath5k/base.c
881
*txq->link = bf->daddr;
drivers/net/wireless/ath/ath5k/base.c
883
txq->link = &ds->ds_link;
drivers/net/wireless/ath/ath5k/base.c
884
ath5k_hw_start_tx_dma(ah, txq->qnum);
drivers/net/wireless/ath/ath5k/base.c
885
spin_unlock_bh(&txq->lock);
drivers/net/wireless/ath/ath5k/base.h
108
struct ath5k_txq *txq, struct ieee80211_tx_control *control);
drivers/net/wireless/ath/ath5k/debug.c
816
struct ath5k_txq *txq;
drivers/net/wireless/ath/ath5k/debug.c
824
txq = &ah->txqs[i];
drivers/net/wireless/ath/ath5k/debug.c
827
"%02d: %ssetup\n", i, txq->setup ? "" : "not ");
drivers/net/wireless/ath/ath5k/debug.c
829
if (!txq->setup)
drivers/net/wireless/ath/ath5k/debug.c
833
spin_lock_bh(&txq->lock);
drivers/net/wireless/ath/ath5k/debug.c
834
list_for_each_entry_safe(bf, bf0, &txq->q, list)
drivers/net/wireless/ath/ath5k/debug.c
836
spin_unlock_bh(&txq->lock);
drivers/net/wireless/ath/ath5k/debug.c
839
" len: %d bufs: %d\n", txq->txq_len, n);
drivers/net/wireless/ath/ath5k/debug.c
841
" stuck: %d\n", txq->txq_stuck);
drivers/net/wireless/ath/ath6kl/debug.c
273
get_queue_depth(&ep_dist->htc_ep->txq));
drivers/net/wireless/ath/ath6kl/debug.c
745
get_queue_depth(&ep_list->htc_ep->txq));
drivers/net/wireless/ath/ath6kl/htc.h
518
struct list_head txq;
drivers/net/wireless/ath/ath6kl/htc_mbox.c
1019
if (!list_empty(&endpoint->txq)) {
drivers/net/wireless/ath/ath6kl/htc_mbox.c
1024
get_queue_depth(&endpoint->txq));
drivers/net/wireless/ath/ath6kl/htc_mbox.c
1166
list_for_each_entry_safe(packet, tmp_pkt, &endpoint->txq, list) {
drivers/net/wireless/ath/ath6kl/htc_mbox.c
1232
get_queue_depth(&endpoint->txq);
drivers/net/wireless/ath/ath6kl/htc_mbox.c
1648
get_queue_depth(&endpoint->txq);
drivers/net/wireless/ath/ath6kl/htc_mbox.c
2584
INIT_LIST_HEAD(&endpoint->txq);
drivers/net/wireless/ath/ath6kl/htc_mbox.c
425
endpoint->cred_dist.txq_depth = get_queue_depth(&endpoint->txq);
drivers/net/wireless/ath/ath6kl/htc_mbox.c
438
struct list_head *txq)
drivers/net/wireless/ath/ath6kl/htc_mbox.c
440
if (list_empty(txq))
drivers/net/wireless/ath/ath6kl/htc_mbox.c
445
endpoint->eid, get_queue_depth(txq));
drivers/net/wireless/ath/ath6kl/htc_mbox.c
447
ath6kl_tx_complete(endpoint->target, txq);
drivers/net/wireless/ath/ath6kl/htc_mbox.c
610
if (list_empty(&endpoint->txq))
drivers/net/wireless/ath/ath6kl/htc_mbox.c
612
packet = list_first_entry(&endpoint->txq, struct htc_packet,
drivers/net/wireless/ath/ath6kl/htc_mbox.c
617
packet, get_queue_depth(&endpoint->txq));
drivers/net/wireless/ath/ath6kl/htc_mbox.c
627
packet = list_first_entry(&endpoint->txq, struct htc_packet,
drivers/net/wireless/ath/ath6kl/htc_mbox.c
860
struct list_head txq;
drivers/net/wireless/ath/ath6kl/htc_mbox.c
881
INIT_LIST_HEAD(&txq);
drivers/net/wireless/ath/ath6kl/htc_mbox.c
888
if (list_empty(&endpoint->txq))
drivers/net/wireless/ath/ath6kl/htc_mbox.c
891
ath6kl_htc_tx_pkts_get(target, endpoint, &txq);
drivers/net/wireless/ath/ath6kl/htc_mbox.c
893
if (list_empty(&txq))
drivers/net/wireless/ath/ath6kl/htc_mbox.c
904
(get_queue_depth(&txq) >=
drivers/net/wireless/ath/ath6kl/htc_mbox.c
910
ath6kl_htc_tx_bundle(endpoint, &txq,
drivers/net/wireless/ath/ath6kl/htc_mbox.c
917
if (list_empty(&txq))
drivers/net/wireless/ath/ath6kl/htc_mbox.c
920
packet = list_first_entry(&txq, struct htc_packet,
drivers/net/wireless/ath/ath6kl/htc_mbox.c
975
txq_depth = get_queue_depth(&endpoint->txq);
drivers/net/wireless/ath/ath6kl/htc_mbox.c
996
list_add_tail(&tx_pkt->list, &endpoint->txq);
drivers/net/wireless/ath/ath6kl/htc_pipe.c
106
if (list_empty(&ep->txq))
drivers/net/wireless/ath/ath6kl/htc_pipe.c
110
packet = list_first_entry(&ep->txq, struct htc_packet, list);
drivers/net/wireless/ath/ath6kl/htc_pipe.c
114
__func__, packet, get_queue_depth(&ep->txq));
drivers/net/wireless/ath/ath6kl/htc_pipe.c
1182
INIT_LIST_HEAD(&ep->txq);
drivers/net/wireless/ath/ath6kl/htc_pipe.c
159
packet = list_first_entry(&ep->txq, struct htc_packet, list);
drivers/net/wireless/ath/ath6kl/htc_pipe.c
183
if (list_empty(&ep->txq))
drivers/net/wireless/ath/ath6kl/htc_pipe.c
186
packet = list_first_entry(&ep->txq, struct htc_packet, list);
drivers/net/wireless/ath/ath6kl/htc_pipe.c
191
__func__, packet, get_queue_depth(&ep->txq));
drivers/net/wireless/ath/ath6kl/htc_pipe.c
301
struct list_head *txq)
drivers/net/wireless/ath/ath6kl/htc_pipe.c
311
__func__, txq,
drivers/net/wireless/ath/ath6kl/htc_pipe.c
312
(txq == NULL) ? 0 : get_queue_depth(txq));
drivers/net/wireless/ath/ath6kl/htc_pipe.c
322
if (txq != NULL) {
drivers/net/wireless/ath/ath6kl/htc_pipe.c
323
if (list_empty(txq)) {
drivers/net/wireless/ath/ath6kl/htc_pipe.c
329
txqueue_depth = get_queue_depth(&ep->txq);
drivers/net/wireless/ath/ath6kl/htc_pipe.c
334
overflow = get_queue_depth(txq);
drivers/net/wireless/ath/ath6kl/htc_pipe.c
338
overflow += get_queue_depth(txq);
drivers/net/wireless/ath/ath6kl/htc_pipe.c
357
list_splice_tail_init(txq, &send_queue);
drivers/net/wireless/ath/ath6kl/htc_pipe.c
359
good_pkts = get_queue_depth(txq) - overflow;
drivers/net/wireless/ath/ath6kl/htc_pipe.c
369
packet = list_first_entry(txq,
drivers/net/wireless/ath/ath6kl/htc_pipe.c
382
txq, list) {
drivers/net/wireless/ath/ath6kl/htc_pipe.c
420
list_splice_tail_init(&send_queue, &ep->txq);
drivers/net/wireless/ath/ath6kl/htc_pipe.c
450
if (get_queue_depth(&ep->txq) == 0)
drivers/net/wireless/ath/ath6kl/htc_pipe.c
674
if (ep->cred_dist.credits && get_queue_depth(&ep->txq)) {
drivers/net/wireless/ath/ath6kl/htc_pipe.c
696
while (get_queue_depth(&ep->txq)) {
drivers/net/wireless/ath/ath6kl/htc_pipe.c
697
packet = list_first_entry(&ep->txq, struct htc_packet, list);
drivers/net/wireless/ath/ath9k/ath9k.h
179
s8 txq;
drivers/net/wireless/ath/ath9k/ath9k.h
238
struct ath_txq *txq;
drivers/net/wireless/ath/ath9k/ath9k.h
276
struct ath_txq *txq;
drivers/net/wireless/ath/ath9k/ath9k.h
291
struct ath_txq txq[ATH9K_NUM_TX_QUEUES];
drivers/net/wireless/ath/ath9k/ath9k.h
433
struct ieee80211_txq *txq;
drivers/net/wireless/ath/ath9k/ath9k.h
437
txq = sta->txq[tidno % ARRAY_SIZE(sta->txq)];
drivers/net/wireless/ath/ath9k/ath9k.h
439
txq = vif->txq;
drivers/net/wireless/ath/ath9k/ath9k.h
441
return (struct ath_atx_tid *) txq->drv_priv;
drivers/net/wireless/ath/ath9k/ath9k.h
567
static inline void ath_txq_lock(struct ath_softc *sc, struct ath_txq *txq)
drivers/net/wireless/ath/ath9k/ath9k.h
569
spin_lock_bh(&txq->axq_lock);
drivers/net/wireless/ath/ath9k/ath9k.h
571
static inline void ath_txq_unlock(struct ath_softc *sc, struct ath_txq *txq)
drivers/net/wireless/ath/ath9k/ath9k.h
573
spin_unlock_bh(&txq->axq_lock);
drivers/net/wireless/ath/ath9k/ath9k.h
583
void ath_txq_unlock_complete(struct ath_softc *sc, struct ath_txq *txq);
drivers/net/wireless/ath/ath9k/ath9k.h
584
void ath_tx_cleanupq(struct ath_softc *sc, struct ath_txq *txq);
drivers/net/wireless/ath/ath9k/ath9k.h
586
void ath_draintxq(struct ath_softc *sc, struct ath_txq *txq);
drivers/net/wireless/ath/ath9k/ath9k.h
589
void ath_txq_schedule(struct ath_softc *sc, struct ath_txq *txq);
drivers/net/wireless/ath/ath9k/beacon.c
38
struct ath_txq *txq;
drivers/net/wireless/ath/ath9k/beacon.c
50
txq = sc->tx.txq_map[IEEE80211_AC_BE];
drivers/net/wireless/ath/ath9k/beacon.c
51
ath9k_hw_get_txq_props(ah, txq->axq_qnum, &qi_be);
drivers/net/wireless/ath/ath9k/channel.c
1011
txctl.txq = sc->tx.txq_map[IEEE80211_AC_VO];
drivers/net/wireless/ath/ath9k/channel.c
1130
txctl.txq = sc->tx.txq_map[IEEE80211_AC_VO];
drivers/net/wireless/ath/ath9k/debug.c
608
static void print_queue(struct ath_softc *sc, struct ath_txq *txq,
drivers/net/wireless/ath/ath9k/debug.c
611
ath_txq_lock(sc, txq);
drivers/net/wireless/ath/ath9k/debug.c
613
seq_printf(file, "%s: %d ", "qnum", txq->axq_qnum);
drivers/net/wireless/ath/ath9k/debug.c
614
seq_printf(file, "%s: %2d ", "qdepth", txq->axq_depth);
drivers/net/wireless/ath/ath9k/debug.c
615
seq_printf(file, "%s: %2d ", "ampdu-depth", txq->axq_ampdu_depth);
drivers/net/wireless/ath/ath9k/debug.c
616
seq_printf(file, "%s: %3d\n", "pending", txq->pending_frames);
drivers/net/wireless/ath/ath9k/debug.c
618
ath_txq_unlock(sc, txq);
drivers/net/wireless/ath/ath9k/debug.c
625
struct ath_txq *txq;
drivers/net/wireless/ath/ath9k/debug.c
632
txq = sc->tx.txq_map[i];
drivers/net/wireless/ath/ath9k/debug.c
634
print_queue(sc, txq, file);
drivers/net/wireless/ath/ath9k/debug.c
813
struct ath_tx_status *ts, struct ath_txq *txq,
drivers/net/wireless/ath/ath9k/debug.c
816
int qnum = txq->axq_qnum;
drivers/net/wireless/ath/ath9k/debug.h
262
struct ath_tx_status *ts, struct ath_txq *txq,
drivers/net/wireless/ath/ath9k/debug.h
299
struct ath_txq *txq,
drivers/net/wireless/ath/ath9k/debug_sta.c
29
struct ath_txq *txq;
drivers/net/wireless/ath/ath9k/debug_sta.c
57
txq = tid->txq;
drivers/net/wireless/ath/ath9k/debug_sta.c
58
ath_txq_lock(sc, txq);
drivers/net/wireless/ath/ath9k/debug_sta.c
71
ath_txq_unlock(sc, txq);
drivers/net/wireless/ath/ath9k/gpio.c
415
struct ath_txq *txq;
drivers/net/wireless/ath/ath9k/gpio.c
430
txq = sc->tx.txq_map[IEEE80211_AC_BE];
drivers/net/wireless/ath/ath9k/gpio.c
431
ath9k_hw_init_btcoex_hw(sc->sc_ah, txq->axq_qnum);
drivers/net/wireless/ath/ath9k/hw.h
823
struct ath9k_tx_queue_info txq[ATH9K_NUM_TX_QUEUES];
drivers/net/wireless/ath/ath9k/init.c
1098
ath_tx_cleanupq(sc, &sc->tx.txq[i]);
drivers/net/wireless/ath/ath9k/init.c
788
ath_tx_cleanupq(sc, &sc->tx.txq[i]);
drivers/net/wireless/ath/ath9k/link.c
211
txctl.txq = sc->tx.txq_map[IEEE80211_AC_BE];
drivers/net/wireless/ath/ath9k/link.c
25
struct ath_txq *txq;
drivers/net/wireless/ath/ath9k/link.c
32
txq = sc->tx.txq_map[i];
drivers/net/wireless/ath/ath9k/link.c
34
ath_txq_lock(sc, txq);
drivers/net/wireless/ath/ath9k/link.c
35
if (txq->axq_depth) {
drivers/net/wireless/ath/ath9k/link.c
36
if (txq->axq_tx_inprogress) {
drivers/net/wireless/ath/ath9k/link.c
37
ath_txq_unlock(sc, txq);
drivers/net/wireless/ath/ath9k/link.c
41
txq->axq_tx_inprogress = true;
drivers/net/wireless/ath/ath9k/link.c
43
ath_txq_unlock(sc, txq);
drivers/net/wireless/ath/ath9k/mac.c
203
qi = &ah->txq[q];
drivers/net/wireless/ath/ath9k/mac.c
267
qi = &ah->txq[q];
drivers/net/wireless/ath/ath9k/mac.c
323
qi = &ah->txq[q];
drivers/net/wireless/ath/ath9k/mac.c
351
qi = &ah->txq[q];
drivers/net/wireless/ath/ath9k/mac.c
373
qi = &ah->txq[q];
drivers/net/wireless/ath/ath9k/main.c
1720
struct ath_txq *txq;
drivers/net/wireless/ath/ath9k/main.c
1727
txq = sc->tx.txq_map[queue];
drivers/net/wireless/ath/ath9k/main.c
1741
queue, txq->axq_qnum, params->aifs, params->cw_min,
drivers/net/wireless/ath/ath9k/main.c
1745
ret = ath_txq_update(sc, txq->axq_qnum, &qi);
drivers/net/wireless/ath/ath9k/main.c
2156
npend = ath9k_has_pending_frames(sc, &sc->tx.txq[i],
drivers/net/wireless/ath/ath9k/main.c
60
static bool ath9k_has_pending_frames(struct ath_softc *sc, struct ath_txq *txq,
drivers/net/wireless/ath/ath9k/main.c
65
spin_lock_bh(&txq->axq_lock);
drivers/net/wireless/ath/ath9k/main.c
67
if (txq->axq_depth) {
drivers/net/wireless/ath/ath9k/main.c
75
if (txq->mac80211_qnum >= 0) {
drivers/net/wireless/ath/ath9k/main.c
78
acq = &sc->cur_chan->acq[txq->mac80211_qnum];
drivers/net/wireless/ath/ath9k/main.c
814
txctl.txq = sc->tx.txq_map[skb_get_queue_mapping(skb)];
drivers/net/wireless/ath/ath9k/main.c
821
TX_STAT_INC(sc, txctl.txq->axq_qnum, txfailed);
drivers/net/wireless/ath/ath9k/main.c
83
spin_unlock_bh(&txq->axq_lock);
drivers/net/wireless/ath/ath9k/main.c
853
struct ath_txq *txq;
drivers/net/wireless/ath/ath9k/main.c
859
txq = &sc->tx.txq[i];
drivers/net/wireless/ath/ath9k/main.c
860
if (!txq->axq_depth)
drivers/net/wireless/ath/ath9k/main.c
862
if (!ath9k_hw_numtxpending(ah, txq->axq_qnum))
drivers/net/wireless/ath/ath9k/main.c
865
ath_txq_lock(sc, txq);
drivers/net/wireless/ath/ath9k/main.c
866
key_in_use = ath9k_txq_list_has_key(&txq->axq_q, keyix);
drivers/net/wireless/ath/ath9k/main.c
868
int idx = txq->txq_tailidx;
drivers/net/wireless/ath/ath9k/main.c
871
!list_empty(&txq->txq_fifo[idx]) &&
drivers/net/wireless/ath/ath9k/main.c
874
&txq->txq_fifo[idx], keyix);
drivers/net/wireless/ath/ath9k/main.c
878
ath_txq_unlock(sc, txq);
drivers/net/wireless/ath/ath9k/tx99.c
126
txctl.txq = sc->tx.txq_map[IEEE80211_AC_VO];
drivers/net/wireless/ath/ath9k/xmit.c
1012
ath_tx_complete_buf(sc, bf, txq, &bf_head, NULL, &ts, 0);
drivers/net/wireless/ath/ath9k/xmit.c
1027
ath_tx_form_aggr(struct ath_softc *sc, struct ath_txq *txq,
drivers/net/wireless/ath/ath9k/xmit.c
106
void ath_txq_unlock_complete(struct ath_softc *sc, struct ath_txq *txq)
drivers/net/wireless/ath/ath9k/xmit.c
107
__releases(&txq->axq_lock)
drivers/net/wireless/ath/ath9k/xmit.c
1085
ret = ath_tx_get_tid_subframe(sc, txq, tid, &bf);
drivers/net/wireless/ath/ath9k/xmit.c
1100
TX_STAT_INC(sc, txq->axq_qnum, a_aggr);
drivers/net/wireless/ath/ath9k/xmit.c
114
skb_queue_splice_init(&txq->complete_q, &q);
drivers/net/wireless/ath/ath9k/xmit.c
115
spin_unlock_bh(&txq->axq_lock);
drivers/net/wireless/ath/ath9k/xmit.c
134
struct ath_txq *txq = tid->txq;
drivers/net/wireless/ath/ath9k/xmit.c
140
ath_txq_lock(sc, txq);
drivers/net/wireless/ath/ath9k/xmit.c
1404
struct ath_txq *txq, int len)
drivers/net/wireless/ath/ath9k/xmit.c
141
ath_txq_schedule(sc, txq);
drivers/net/wireless/ath/ath9k/xmit.c
1415
info.qcu = txq->axq_qnum;
drivers/net/wireless/ath/ath9k/xmit.c
142
ath_txq_unlock(sc, txq);
drivers/net/wireless/ath/ath9k/xmit.c
1435
txq == sc->tx.uapsdq)
drivers/net/wireless/ath/ath9k/xmit.c
1496
ath_tx_form_burst(struct ath_softc *sc, struct ath_txq *txq,
drivers/net/wireless/ath/ath9k/xmit.c
1515
ret = ath_tx_get_tid_subframe(sc, txq, tid, &bf);
drivers/net/wireless/ath/ath9k/xmit.c
1529
static int ath_tx_sched_aggr(struct ath_softc *sc, struct ath_txq *txq,
drivers/net/wireless/ath/ath9k/xmit.c
1540
ret = ath_tx_get_tid_subframe(sc, txq, tid, &bf);
drivers/net/wireless/ath/ath9k/xmit.c
1546
if ((aggr && txq->axq_ampdu_depth >= ATH_AGGR_MIN_QDEPTH) ||
drivers/net/wireless/ath/ath9k/xmit.c
1547
(!aggr && txq->axq_depth >= ATH_NON_AGGR_MIN_QDEPTH)) {
drivers/net/wireless/ath/ath9k/xmit.c
1554
aggr_len = ath_tx_form_aggr(sc, txq, tid, &bf_q, bf);
drivers/net/wireless/ath/ath9k/xmit.c
1556
ath_tx_form_burst(sc, txq, tid, &bf_q, bf);
drivers/net/wireless/ath/ath9k/xmit.c
1566
ath_tx_fill_desc(sc, bf, txq, aggr_len);
drivers/net/wireless/ath/ath9k/xmit.c
1567
ath_tx_txqaddbuf(sc, txq, &bf_q, false);
drivers/net/wireless/ath/ath9k/xmit.c
1576
struct ath_txq *txq;
drivers/net/wireless/ath/ath9k/xmit.c
1584
txq = txtid->txq;
drivers/net/wireless/ath/ath9k/xmit.c
1586
ath_txq_lock(sc, txq);
drivers/net/wireless/ath/ath9k/xmit.c
1606
ath_txq_unlock_complete(sc, txq);
drivers/net/wireless/ath/ath9k/xmit.c
1616
struct ath_txq *txq = txtid->txq;
drivers/net/wireless/ath/ath9k/xmit.c
1620
ath_txq_lock(sc, txq);
drivers/net/wireless/ath/ath9k/xmit.c
1623
ath_txq_unlock_complete(sc, txq);
drivers/net/wireless/ath/ath9k/xmit.c
1648
struct ath_txq *txq;
drivers/net/wireless/ath/ath9k/xmit.c
1655
txq = tid->txq;
drivers/net/wireless/ath/ath9k/xmit.c
1657
ath_txq_lock(sc, txq);
drivers/net/wireless/ath/ath9k/xmit.c
1661
ath_txq_schedule(sc, txq);
drivers/net/wireless/ath/ath9k/xmit.c
1663
ath_txq_unlock_complete(sc, txq);
drivers/net/wireless/ath/ath9k/xmit.c
1698
struct ath_txq *txq = sc->tx.uapsdq;
drivers/net/wireless/ath/ath9k/xmit.c
1713
ath_txq_lock(sc, tid->txq);
drivers/net/wireless/ath/ath9k/xmit.c
1730
TX_STAT_INC(sc, txq->axq_qnum, a_queued_hw);
drivers/net/wireless/ath/ath9k/xmit.c
1735
ath_txq_unlock_complete(sc, tid->txq);
drivers/net/wireless/ath/ath9k/xmit.c
1748
ath_txq_lock(sc, txq);
drivers/net/wireless/ath/ath9k/xmit.c
1749
ath_tx_fill_desc(sc, bf, txq, 0);
drivers/net/wireless/ath/ath9k/xmit.c
1750
ath_tx_txqaddbuf(sc, txq, &bf_q, false);
drivers/net/wireless/ath/ath9k/xmit.c
1751
ath_txq_unlock(sc, txq);
drivers/net/wireless/ath/ath9k/xmit.c
1810
struct ath_txq *txq = &sc->tx.txq[axq_qnum];
drivers/net/wireless/ath/ath9k/xmit.c
1812
txq->axq_qnum = axq_qnum;
drivers/net/wireless/ath/ath9k/xmit.c
1813
txq->mac80211_qnum = -1;
drivers/net/wireless/ath/ath9k/xmit.c
1814
txq->axq_link = NULL;
drivers/net/wireless/ath/ath9k/xmit.c
1815
__skb_queue_head_init(&txq->complete_q);
drivers/net/wireless/ath/ath9k/xmit.c
1816
INIT_LIST_HEAD(&txq->axq_q);
drivers/net/wireless/ath/ath9k/xmit.c
1817
spin_lock_init(&txq->axq_lock);
drivers/net/wireless/ath/ath9k/xmit.c
1818
txq->axq_depth = 0;
drivers/net/wireless/ath/ath9k/xmit.c
1819
txq->axq_ampdu_depth = 0;
drivers/net/wireless/ath/ath9k/xmit.c
1820
txq->axq_tx_inprogress = false;
drivers/net/wireless/ath/ath9k/xmit.c
1823
txq->txq_headidx = txq->txq_tailidx = 0;
drivers/net/wireless/ath/ath9k/xmit.c
1825
INIT_LIST_HEAD(&txq->txq_fifo[i]);
drivers/net/wireless/ath/ath9k/xmit.c
1827
return &sc->tx.txq[axq_qnum];
drivers/net/wireless/ath/ath9k/xmit.c
1837
BUG_ON(sc->tx.txq[qnum].axq_qnum != qnum);
drivers/net/wireless/ath/ath9k/xmit.c
1872
static void ath_drain_txq_list(struct ath_softc *sc, struct ath_txq *txq,
drivers/net/wireless/ath/ath9k/xmit.c
1895
ath_tx_process_buffer(sc, txq, &ts, bf, &bf_head);
drivers/net/wireless/ath/ath9k/xmit.c
1905
void ath_draintxq(struct ath_softc *sc, struct ath_txq *txq)
drivers/net/wireless/ath/ath9k/xmit.c
1908
ath_txq_lock(sc, txq);
drivers/net/wireless/ath/ath9k/xmit.c
1911
int idx = txq->txq_tailidx;
drivers/net/wireless/ath/ath9k/xmit.c
1913
while (!list_empty(&txq->txq_fifo[idx])) {
drivers/net/wireless/ath/ath9k/xmit.c
1914
ath_drain_txq_list(sc, txq, &txq->txq_fifo[idx]);
drivers/net/wireless/ath/ath9k/xmit.c
1918
txq->txq_tailidx = idx;
drivers/net/wireless/ath/ath9k/xmit.c
1921
txq->axq_link = NULL;
drivers/net/wireless/ath/ath9k/xmit.c
1922
txq->axq_tx_inprogress = false;
drivers/net/wireless/ath/ath9k/xmit.c
1923
ath_drain_txq_list(sc, txq, &txq->axq_q);
drivers/net/wireless/ath/ath9k/xmit.c
1925
ath_txq_unlock_complete(sc, txq);
drivers/net/wireless/ath/ath9k/xmit.c
1933
struct ath_txq *txq;
drivers/net/wireless/ath/ath9k/xmit.c
1947
if (!sc->tx.txq[i].axq_depth)
drivers/net/wireless/ath/ath9k/xmit.c
1950
if (ath9k_hw_numtxpending(ah, sc->tx.txq[i].axq_qnum))
drivers/net/wireless/ath/ath9k/xmit.c
1964
txq = &sc->tx.txq[i];
drivers/net/wireless/ath/ath9k/xmit.c
1965
ath_draintxq(sc, txq);
drivers/net/wireless/ath/ath9k/xmit.c
1971
void ath_tx_cleanupq(struct ath_softc *sc, struct ath_txq *txq)
drivers/net/wireless/ath/ath9k/xmit.c
1973
ath9k_hw_releasetxqueue(sc->sc_ah, txq->axq_qnum);
drivers/net/wireless/ath/ath9k/xmit.c
1974
sc->tx.txqsetup &= ~(1<<txq->axq_qnum);
drivers/net/wireless/ath/ath9k/xmit.c
1980
void ath_txq_schedule(struct ath_softc *sc, struct ath_txq *txq)
drivers/net/wireless/ath/ath9k/xmit.c
1988
if (txq->mac80211_qnum < 0)
drivers/net/wireless/ath/ath9k/xmit.c
1994
ieee80211_txq_schedule_start(hw, txq->mac80211_qnum);
drivers/net/wireless/ath/ath9k/xmit.c
2000
while ((queue = ieee80211_next_txq(hw, txq->mac80211_qnum))) {
drivers/net/wireless/ath/ath9k/xmit.c
2005
ret = ath_tx_sched_aggr(sc, txq, tid);
drivers/net/wireless/ath/ath9k/xmit.c
2014
ieee80211_txq_schedule_end(hw, txq->mac80211_qnum);
drivers/net/wireless/ath/ath9k/xmit.c
2019
struct ath_txq *txq;
drivers/net/wireless/ath/ath9k/xmit.c
2023
txq = sc->tx.txq_map[i];
drivers/net/wireless/ath/ath9k/xmit.c
2025
spin_lock_bh(&txq->axq_lock);
drivers/net/wireless/ath/ath9k/xmit.c
2026
ath_txq_schedule(sc, txq);
drivers/net/wireless/ath/ath9k/xmit.c
2027
spin_unlock_bh(&txq->axq_lock);
drivers/net/wireless/ath/ath9k/xmit.c
2039
static void ath_tx_txqaddbuf(struct ath_softc *sc, struct ath_txq *txq,
drivers/net/wireless/ath/ath9k/xmit.c
2061
txq->axq_qnum, txq->axq_depth);
drivers/net/wireless/ath/ath9k/xmit.c
2063
if (edma && list_empty(&txq->txq_fifo[txq->txq_headidx])) {
drivers/net/wireless/ath/ath9k/xmit.c
2064
list_splice_tail_init(head, &txq->txq_fifo[txq->txq_headidx]);
drivers/net/wireless/ath/ath9k/xmit.c
2065
INCR(txq->txq_headidx, ATH_TXFIFO_DEPTH);
drivers/net/wireless/ath/ath9k/xmit.c
2068
list_splice_tail_init(head, &txq->axq_q);
drivers/net/wireless/ath/ath9k/xmit.c
2070
if (txq->axq_link) {
drivers/net/wireless/ath/ath9k/xmit.c
2071
ath9k_hw_set_desc_link(ah, txq->axq_link, bf->bf_daddr);
drivers/net/wireless/ath/ath9k/xmit.c
2073
txq->axq_qnum, txq->axq_link,
drivers/net/wireless/ath/ath9k/xmit.c
2078
txq->axq_link = bf_last->bf_desc;
drivers/net/wireless/ath/ath9k/xmit.c
2082
TX_STAT_INC(sc, txq->axq_qnum, puttxbuf);
drivers/net/wireless/ath/ath9k/xmit.c
2083
ath9k_hw_puttxbuf(ah, txq->axq_qnum, bf->bf_daddr);
drivers/net/wireless/ath/ath9k/xmit.c
2085
txq->axq_qnum, ito64(bf->bf_daddr), bf->bf_desc);
drivers/net/wireless/ath/ath9k/xmit.c
2089
TX_STAT_INC(sc, txq->axq_qnum, txstart);
drivers/net/wireless/ath/ath9k/xmit.c
2090
ath9k_hw_txstart(ah, txq->axq_qnum);
drivers/net/wireless/ath/ath9k/xmit.c
2095
txq->axq_depth++;
drivers/net/wireless/ath/ath9k/xmit.c
2097
txq->axq_ampdu_depth++;
drivers/net/wireless/ath/ath9k/xmit.c
2106
static void ath_tx_send_normal(struct ath_softc *sc, struct ath_txq *txq,
drivers/net/wireless/ath/ath9k/xmit.c
2124
ath_tx_fill_desc(sc, bf, txq, fi->framelen);
drivers/net/wireless/ath/ath9k/xmit.c
2125
ath_tx_txqaddbuf(sc, txq, &bf_head, false);
drivers/net/wireless/ath/ath9k/xmit.c
2126
TX_STAT_INC(sc, txq->axq_qnum, queued);
drivers/net/wireless/ath/ath9k/xmit.c
213
struct ath_txq *txq;
drivers/net/wireless/ath/ath9k/xmit.c
214
int q = fi->txq;
drivers/net/wireless/ath/ath9k/xmit.c
2173
fi->txq = -1;
drivers/net/wireless/ath/ath9k/xmit.c
219
txq = sc->tx.txq_map[q];
drivers/net/wireless/ath/ath9k/xmit.c
220
if (WARN_ON(--txq->pending_frames < 0))
drivers/net/wireless/ath/ath9k/xmit.c
221
txq->pending_frames = 0;
drivers/net/wireless/ath/ath9k/xmit.c
2212
struct ath_txq *txq,
drivers/net/wireless/ath/ath9k/xmit.c
2331
struct ath_txq *txq = txctl->txq;
drivers/net/wireless/ath/ath9k/xmit.c
235
struct ieee80211_txq *txq = container_of((void*)tid, struct ieee80211_txq, drv_priv);
drivers/net/wireless/ath/ath9k/xmit.c
2352
txq = sc->tx.uapsdq;
drivers/net/wireless/ath/ath9k/xmit.c
2359
ath_txq_lock(sc, txq);
drivers/net/wireless/ath/ath9k/xmit.c
2360
if (txq == sc->tx.txq_map[q]) {
drivers/net/wireless/ath/ath9k/xmit.c
2361
fi->txq = q;
drivers/net/wireless/ath/ath9k/xmit.c
2362
++txq->pending_frames;
drivers/net/wireless/ath/ath9k/xmit.c
2365
bf = ath_tx_setup_buffer(sc, txq, tid, skb);
drivers/net/wireless/ath/ath9k/xmit.c
2381
ath_tx_send_normal(sc, txq, tid, skb);
drivers/net/wireless/ath/ath9k/xmit.c
2384
ath_txq_unlock(sc, txq);
drivers/net/wireless/ath/ath9k/xmit.c
239
.txq = tid->txq,
drivers/net/wireless/ath/ath9k/xmit.c
2394
.txq = sc->beacon.cabq
drivers/net/wireless/ath/ath9k/xmit.c
2413
bf = ath_tx_setup_buffer(sc, txctl.txq, NULL, skb);
drivers/net/wireless/ath/ath9k/xmit.c
2444
ath_txq_lock(sc, txctl.txq);
drivers/net/wireless/ath/ath9k/xmit.c
2445
ath_tx_fill_desc(sc, bf, txctl.txq, 0);
drivers/net/wireless/ath/ath9k/xmit.c
2446
ath_tx_txqaddbuf(sc, txctl.txq, &bf_q, false);
drivers/net/wireless/ath/ath9k/xmit.c
2447
TX_STAT_INC(sc, txctl.txq->axq_qnum, queued);
drivers/net/wireless/ath/ath9k/xmit.c
2448
ath_txq_unlock(sc, txctl.txq);
drivers/net/wireless/ath/ath9k/xmit.c
2456
int tx_flags, struct ath_txq *txq,
drivers/net/wireless/ath/ath9k/xmit.c
246
skb = ieee80211_tx_dequeue(hw, txq);
drivers/net/wireless/ath/ath9k/xmit.c
2491
if ((sc->ps_flags & PS_WAIT_FOR_TX_ACK) && !txq->axq_depth) {
drivers/net/wireless/ath/ath9k/xmit.c
2504
__skb_queue_tail(&txq->complete_q, skb);
drivers/net/wireless/ath/ath9k/xmit.c
2508
struct ath_txq *txq, struct list_head *bf_q,
drivers/net/wireless/ath/ath9k/xmit.c
2536
ath_debug_stat_tx(sc, bf, ts, txq, tx_flags);
drivers/net/wireless/ath/ath9k/xmit.c
2537
ath_tx_complete(sc, skb, tx_flags, txq, sta);
drivers/net/wireless/ath/ath9k/xmit.c
257
if (tid->txq == sc->tx.txq_map[q]) {
drivers/net/wireless/ath/ath9k/xmit.c
259
fi->txq = q;
drivers/net/wireless/ath/ath9k/xmit.c
260
++tid->txq->pending_frames;
drivers/net/wireless/ath/ath9k/xmit.c
2620
static void ath_tx_processq(struct ath_softc *sc, struct ath_txq *txq)
drivers/net/wireless/ath/ath9k/xmit.c
2631
txq->axq_qnum, ath9k_hw_gettxbuf(sc->sc_ah, txq->axq_qnum),
drivers/net/wireless/ath/ath9k/xmit.c
2632
txq->axq_link);
drivers/net/wireless/ath/ath9k/xmit.c
2634
ath_txq_lock(sc, txq);
drivers/net/wireless/ath/ath9k/xmit.c
2639
if (list_empty(&txq->axq_q)) {
drivers/net/wireless/ath/ath9k/xmit.c
2640
txq->axq_link = NULL;
drivers/net/wireless/ath/ath9k/xmit.c
2641
ath_txq_schedule(sc, txq);
drivers/net/wireless/ath/ath9k/xmit.c
2644
bf = list_first_entry(&txq->axq_q, struct ath_buf, list);
drivers/net/wireless/ath/ath9k/xmit.c
2657
if (list_is_last(&bf_held->list, &txq->axq_q))
drivers/net/wireless/ath/ath9k/xmit.c
2672
TX_STAT_INC(sc, txq->axq_qnum, txprocdesc);
drivers/net/wireless/ath/ath9k/xmit.c
2683
&txq->axq_q, lastbf->list.prev);
drivers/net/wireless/ath/ath9k/xmit.c
2690
ath_tx_process_buffer(sc, txq, &ts, bf, &bf_head);
drivers/net/wireless/ath/ath9k/xmit.c
2692
ath_txq_unlock_complete(sc, txq);
drivers/net/wireless/ath/ath9k/xmit.c
2704
ath_tx_processq(sc, &sc->tx.txq[i]);
drivers/net/wireless/ath/ath9k/xmit.c
2714
struct ath_txq *txq;
drivers/net/wireless/ath/ath9k/xmit.c
2752
txq = &sc->tx.txq[ts.qid];
drivers/net/wireless/ath/ath9k/xmit.c
2754
ath_txq_lock(sc, txq);
drivers/net/wireless/ath/ath9k/xmit.c
2756
TX_STAT_INC(sc, txq->axq_qnum, txprocdesc);
drivers/net/wireless/ath/ath9k/xmit.c
2758
fifo_list = &txq->txq_fifo[txq->txq_tailidx];
drivers/net/wireless/ath/ath9k/xmit.c
2760
ath_txq_unlock(sc, txq);
drivers/net/wireless/ath/ath9k/xmit.c
2776
INCR(txq->txq_tailidx, ATH_TXFIFO_DEPTH);
drivers/net/wireless/ath/ath9k/xmit.c
2778
if (!list_empty(&txq->axq_q)) {
drivers/net/wireless/ath/ath9k/xmit.c
2782
txq->axq_link = NULL;
drivers/net/wireless/ath/ath9k/xmit.c
2783
list_splice_tail_init(&txq->axq_q, &bf_q);
drivers/net/wireless/ath/ath9k/xmit.c
2784
ath_tx_txqaddbuf(sc, txq, &bf_q, true);
drivers/net/wireless/ath/ath9k/xmit.c
2793
ath_tx_process_buffer(sc, txq, &ts, bf, &bf_head);
drivers/net/wireless/ath/ath9k/xmit.c
2794
ath_txq_unlock_complete(sc, txq);
drivers/net/wireless/ath/ath9k/xmit.c
280
struct ath_txq *txq = tid->txq;
drivers/net/wireless/ath/ath9k/xmit.c
2876
tid->txq = sc->tx.txq_map[acno];
drivers/net/wireless/ath/ath9k/xmit.c
2886
struct ath_txq *txq;
drivers/net/wireless/ath/ath9k/xmit.c
2893
txq = tid->txq;
drivers/net/wireless/ath/ath9k/xmit.c
2895
ath_txq_lock(sc, txq);
drivers/net/wireless/ath/ath9k/xmit.c
2900
ath_tid_drain(sc, txq, tid);
drivers/net/wireless/ath/ath9k/xmit.c
2903
ath_txq_unlock(sc, txq);
drivers/net/wireless/ath/ath9k/xmit.c
2941
bf = ath_tx_setup_buffer(sc, txctl->txq, NULL, skb);
drivers/net/wireless/ath/ath9k/xmit.c
2950
ath9k_hw_tx99_start(sc->sc_ah, txctl->txq->axq_qnum);
drivers/net/wireless/ath/ath9k/xmit.c
2952
ath_tx_send_normal(sc, txctl->txq, NULL, skb);
drivers/net/wireless/ath/ath9k/xmit.c
307
ath_tx_complete_buf(sc, bf, txq, &bf_head, NULL, &ts, 0);
drivers/net/wireless/ath/ath9k/xmit.c
311
ath_txq_unlock(sc, txq);
drivers/net/wireless/ath/ath9k/xmit.c
313
ath_txq_lock(sc, txq);
drivers/net/wireless/ath/ath9k/xmit.c
360
static void ath_tid_drain(struct ath_softc *sc, struct ath_txq *txq,
drivers/net/wireless/ath/ath9k/xmit.c
378
ath_tx_complete(sc, skb, ATH_TX_ERROR, txq, NULL);
drivers/net/wireless/ath/ath9k/xmit.c
383
ath_tx_complete_buf(sc, bf, txq, &bf_head, NULL, &ts, 0);
drivers/net/wireless/ath/ath9k/xmit.c
387
static void ath_tx_set_retry(struct ath_softc *sc, struct ath_txq *txq,
drivers/net/wireless/ath/ath9k/xmit.c
395
TX_STAT_INC(sc, txq->axq_qnum, a_retries);
drivers/net/wireless/ath/ath9k/xmit.c
483
static void ath_tx_complete_aggr(struct ath_softc *sc, struct ath_txq *txq,
drivers/net/wireless/ath/ath9k/xmit.c
523
ath_tx_complete_buf(sc, bf, txq, &bf_head, NULL, ts, 0);
drivers/net/wireless/ath/ath9k/xmit.c
56
static void ath_tx_send_normal(struct ath_softc *sc, struct ath_txq *txq,
drivers/net/wireless/ath/ath9k/xmit.c
59
int tx_flags, struct ath_txq *txq,
drivers/net/wireless/ath/ath9k/xmit.c
596
ath_tx_set_retry(sc, txq, bf->bf_mpdu,
drivers/net/wireless/ath/ath9k/xmit.c
62
struct ath_txq *txq, struct list_head *bf_q,
drivers/net/wireless/ath/ath9k/xmit.c
632
ath_tx_complete_buf(sc, bf, txq, &bf_head, sta, ts,
drivers/net/wireless/ath/ath9k/xmit.c
65
static void ath_tx_txqaddbuf(struct ath_softc *sc, struct ath_txq *txq,
drivers/net/wireless/ath/ath9k/xmit.c
652
ath_tx_complete_buf(sc, bf, txq,
drivers/net/wireless/ath/ath9k/xmit.c
692
ath_txq_unlock(sc, txq);
drivers/net/wireless/ath/ath9k/xmit.c
694
ath_txq_lock(sc, txq);
drivers/net/wireless/ath/ath9k/xmit.c
72
struct ath_txq *txq,
drivers/net/wireless/ath/ath9k/xmit.c
725
static void ath_tx_process_buffer(struct ath_softc *sc, struct ath_txq *txq,
drivers/net/wireless/ath/ath9k/xmit.c
738
txq->axq_tx_inprogress = false;
drivers/net/wireless/ath/ath9k/xmit.c
740
txq->axq_depth--;
drivers/net/wireless/ath/ath9k/xmit.c
742
txq->axq_ampdu_depth--;
drivers/net/wireless/ath/ath9k/xmit.c
766
ath_tx_complete_buf(sc, bf, txq, bf_head, sta, ts, txok);
drivers/net/wireless/ath/ath9k/xmit.c
768
ath_tx_complete_aggr(sc, txq, bf, bf_head, sta, tid, ts, txok);
drivers/net/wireless/ath/ath9k/xmit.c
771
ath_txq_schedule(sc, txq);
drivers/net/wireless/ath/ath9k/xmit.c
804
int q = tid->txq->mac80211_qnum;
drivers/net/wireless/ath/ath9k/xmit.c
938
ath_tx_get_tid_subframe(struct ath_softc *sc, struct ath_txq *txq,
drivers/net/wireless/ath/ath9k/xmit.c
956
bf = ath_tx_setup_buffer(sc, txq, tid, skb);
drivers/net/wireless/ath/wil6210/debugfs.c
1469
struct netdev_queue *txq = netdev_get_tx_queue(ndev, i);
drivers/net/wireless/ath/wil6210/debugfs.c
1470
unsigned long state = txq->state;
drivers/net/wireless/broadcom/brcm80211/brcmfmac/fwsignal.c
811
struct pktq *txq;
drivers/net/wireless/broadcom/brcm80211/brcmfmac/fwsignal.c
816
txq = brcmf_bus_gettxq(fws->drvr->bus_if);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/fwsignal.c
817
if (IS_ERR(txq)) {
drivers/net/wireless/broadcom/brcm80211/brcmfmac/fwsignal.c
822
for (prec = 0; prec < txq->num_prec; prec++) {
drivers/net/wireless/broadcom/brcm80211/brcmfmac/fwsignal.c
823
skb = brcmu_pktq_pdeq_match(txq, prec, fn, &ifidx);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/fwsignal.c
830
skb = brcmu_pktq_pdeq_match(txq, prec, fn, &ifidx);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
2352
brcmu_pktq_mlen(&bus->txq, ~bus->flowcontrol));
drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
2356
pkt = brcmu_pktq_mdeq(&bus->txq, tx_prec_map,
drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
2388
bus->txoff && (pktq_len(&bus->txq) < TXLOW)) {
drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
2524
brcmu_pktq_flush(&bus->txq, true, NULL, NULL);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
2718
brcmu_pktq_mlen(&bus->txq, ~bus->flowcontrol) && txlimit &&
drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
2741
brcmu_pktq_mlen(&bus->txq, ~bus->flowcontrol) &&
drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
2753
return &bus->txq;
drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
2824
brcmf_dbg(TRACE, "deferring pktq len %d\n", pktq_len(&bus->txq));
drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
2831
if (!brcmf_sdio_prec_enq(&bus->txq, pkt, prec)) {
drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
2839
if (pktq_len(&bus->txq) >= TXHI) {
drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
2846
if (pktq_plen(&bus->txq, prec) > qcount[prec])
drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
2847
qcount[prec] = pktq_plen(&bus->txq, prec);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
4074
brcmu_pktq_init(&bus->txq, (PRIOMASK + 1), TXQLEN);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
449
struct pktq txq; /* Queue length used for flow-control */
drivers/net/wireless/intel/ipw2x00/ipw2100.c
2791
struct ipw2100_bd_queue *txq = &priv->tx_queue;
drivers/net/wireless/intel/ipw2x00/ipw2100.c
2805
tbd = &txq->drv[packet->index];
drivers/net/wireless/intel/ipw2x00/ipw2100.c
2812
e = txq->oldest;
drivers/net/wireless/intel/ipw2x00/ipw2100.c
2819
e = txq->oldest + frag_num;
drivers/net/wireless/intel/ipw2x00/ipw2100.c
2820
e %= txq->entries;
drivers/net/wireless/intel/ipw2x00/ipw2100.c
2837
if (w != txq->next)
drivers/net/wireless/intel/ipw2x00/ipw2100.c
2873
i = txq->oldest;
drivers/net/wireless/intel/ipw2x00/ipw2100.c
2875
&txq->drv[i],
drivers/net/wireless/intel/ipw2x00/ipw2100.c
2876
(u32) (txq->nic + i * sizeof(struct ipw2100_bd)),
drivers/net/wireless/intel/ipw2x00/ipw2100.c
2877
txq->drv[i].host_addr, txq->drv[i].buf_length);
drivers/net/wireless/intel/ipw2x00/ipw2100.c
2880
i = (i + 1) % txq->entries;
drivers/net/wireless/intel/ipw2x00/ipw2100.c
2883
&txq->drv[i],
drivers/net/wireless/intel/ipw2x00/ipw2100.c
2884
(u32) (txq->nic + i *
drivers/net/wireless/intel/ipw2x00/ipw2100.c
2886
(u32) txq->drv[i].host_addr,
drivers/net/wireless/intel/ipw2x00/ipw2100.c
2887
txq->drv[i].buf_length);
drivers/net/wireless/intel/ipw2x00/ipw2100.c
2894
if (txq->drv[txq->oldest].status.info.fields.txType != 0)
drivers/net/wireless/intel/ipw2x00/ipw2100.c
2898
priv->net_dev->name, txq->oldest, packet->index);
drivers/net/wireless/intel/ipw2x00/ipw2100.c
2902
tbd = &txq->drv[(packet->index + 1 + i) % txq->entries];
drivers/net/wireless/intel/ipw2x00/ipw2100.c
2905
(packet->index + 1 + i) % txq->entries,
drivers/net/wireless/intel/ipw2x00/ipw2100.c
2930
if (txq->drv[txq->oldest].status.info.fields.txType != 1)
drivers/net/wireless/intel/ipw2x00/ipw2100.c
2934
priv->net_dev->name, txq->oldest, packet->index);
drivers/net/wireless/intel/ipw2x00/ipw2100.c
2953
txq->oldest = (e + 1) % txq->entries;
drivers/net/wireless/intel/ipw2x00/ipw2100.c
2955
txq->available += descriptors_used;
drivers/net/wireless/intel/ipw2x00/ipw2100.c
2956
SET_STAT(&priv->txq_stat, txq->available);
drivers/net/wireless/intel/ipw2x00/ipw2100.c
2982
struct ipw2100_bd_queue *txq = &priv->tx_queue;
drivers/net/wireless/intel/ipw2x00/ipw2100.c
2984
int next = txq->next;
drivers/net/wireless/intel/ipw2x00/ipw2100.c
2993
if (txq->available <= 3) {
drivers/net/wireless/intel/ipw2x00/ipw2100.c
3005
&txq->drv[txq->next],
drivers/net/wireless/intel/ipw2x00/ipw2100.c
3006
(u32) (txq->nic + txq->next *
drivers/net/wireless/intel/ipw2x00/ipw2100.c
3009
packet->index = txq->next;
drivers/net/wireless/intel/ipw2x00/ipw2100.c
3011
tbd = &txq->drv[txq->next];
drivers/net/wireless/intel/ipw2x00/ipw2100.c
3024
txq->next++;
drivers/net/wireless/intel/ipw2x00/ipw2100.c
3025
txq->next %= txq->entries;
drivers/net/wireless/intel/ipw2x00/ipw2100.c
3026
txq->available--;
drivers/net/wireless/intel/ipw2x00/ipw2100.c
3033
if (txq->next != next) {
drivers/net/wireless/intel/ipw2x00/ipw2100.c
3039
txq->next);
drivers/net/wireless/intel/ipw2x00/ipw2100.c
3051
struct ipw2100_bd_queue *txq = &priv->tx_queue;
drivers/net/wireless/intel/ipw2x00/ipw2100.c
3053
int next = txq->next;
drivers/net/wireless/intel/ipw2x00/ipw2100.c
3077
if (txq->available <= 3 + packet->info.d_struct.txb->nr_frags) {
drivers/net/wireless/intel/ipw2x00/ipw2100.c
3085
tbd = &txq->drv[txq->next];
drivers/net/wireless/intel/ipw2x00/ipw2100.c
3087
packet->index = txq->next;
drivers/net/wireless/intel/ipw2x00/ipw2100.c
3124
txq->next++;
drivers/net/wireless/intel/ipw2x00/ipw2100.c
3125
txq->next %= txq->entries;
drivers/net/wireless/intel/ipw2x00/ipw2100.c
3136
tbd = &txq->drv[txq->next];
drivers/net/wireless/intel/ipw2x00/ipw2100.c
3161
txq->next, tbd->host_addr,
drivers/net/wireless/intel/ipw2x00/ipw2100.c
3169
txq->next++;
drivers/net/wireless/intel/ipw2x00/ipw2100.c
3170
txq->next %= txq->entries;
drivers/net/wireless/intel/ipw2x00/ipw2100.c
3173
txq->available -= 1 + packet->info.d_struct.txb->nr_frags;
drivers/net/wireless/intel/ipw2x00/ipw2100.c
3174
SET_STAT(&priv->txq_stat, txq->available);
drivers/net/wireless/intel/ipw2x00/ipw2100.c
3180
if (txq->next != next) {
drivers/net/wireless/intel/ipw2x00/ipw2100.c
3185
txq->next);
drivers/net/wireless/intel/ipw2x00/ipw2200.c
10055
struct clx2_tx_queue *txq = &priv->txq[tx_id];
drivers/net/wireless/intel/ipw2x00/ipw2200.c
10057
struct clx2_tx_queue *txq = &priv->txq[0];
drivers/net/wireless/intel/ipw2x00/ipw2200.c
10059
struct clx2_queue *q = &txq->q;
drivers/net/wireless/intel/ipw2x00/ipw2200.c
10089
tfd = &txq->bd[q->first_empty];
drivers/net/wireless/intel/ipw2x00/ipw2200.c
10090
txq->txb[q->first_empty] = txb;
drivers/net/wireless/intel/ipw2x00/ipw2200.c
10244
struct clx2_tx_queue *txq = &priv->txq[tx_id];
drivers/net/wireless/intel/ipw2x00/ipw2200.c
10246
struct clx2_tx_queue *txq = &priv->txq[0];
drivers/net/wireless/intel/ipw2x00/ipw2200.c
10249
if (ipw_tx_queue_space(&txq->q) < txq->q.high_mark)
drivers/net/wireless/intel/ipw2x00/ipw2200.c
1958
ipw_queue_tx_reclaim(priv, &priv->txq[0], 0);
drivers/net/wireless/intel/ipw2x00/ipw2200.c
1964
ipw_queue_tx_reclaim(priv, &priv->txq[1], 1);
drivers/net/wireless/intel/ipw2x00/ipw2200.c
1970
ipw_queue_tx_reclaim(priv, &priv->txq[2], 2);
drivers/net/wireless/intel/ipw2x00/ipw2200.c
1976
ipw_queue_tx_reclaim(priv, &priv->txq[3], 3);
drivers/net/wireless/intel/ipw2x00/ipw2200.c
199
struct clx2_tx_queue *txq, int qindex);
drivers/net/wireless/intel/ipw2x00/ipw2200.c
3752
struct clx2_tx_queue *txq)
drivers/net/wireless/intel/ipw2x00/ipw2200.c
3754
struct tfd_frame *bd = &txq->bd[txq->q.last_used];
drivers/net/wireless/intel/ipw2x00/ipw2200.c
3777
if (txq->txb[txq->q.last_used]) {
drivers/net/wireless/intel/ipw2x00/ipw2200.c
3778
libipw_txb_free(txq->txb[txq->q.last_used]);
drivers/net/wireless/intel/ipw2x00/ipw2200.c
3779
txq->txb[txq->q.last_used] = NULL;
drivers/net/wireless/intel/ipw2x00/ipw2200.c
3793
static void ipw_queue_tx_free(struct ipw_priv *priv, struct clx2_tx_queue *txq)
drivers/net/wireless/intel/ipw2x00/ipw2200.c
3795
struct clx2_queue *q = &txq->q;
drivers/net/wireless/intel/ipw2x00/ipw2200.c
3804
ipw_queue_tx_free_tfd(priv, txq);
drivers/net/wireless/intel/ipw2x00/ipw2200.c
3808
dma_free_coherent(&dev->dev, sizeof(txq->bd[0]) * q->n_bd, txq->bd,
drivers/net/wireless/intel/ipw2x00/ipw2200.c
3810
kfree(txq->txb);
drivers/net/wireless/intel/ipw2x00/ipw2200.c
3813
memset(txq, 0, sizeof(*txq));
drivers/net/wireless/intel/ipw2x00/ipw2200.c
3827
ipw_queue_tx_free(priv, &priv->txq[0]);
drivers/net/wireless/intel/ipw2x00/ipw2200.c
3828
ipw_queue_tx_free(priv, &priv->txq[1]);
drivers/net/wireless/intel/ipw2x00/ipw2200.c
3829
ipw_queue_tx_free(priv, &priv->txq[2]);
drivers/net/wireless/intel/ipw2x00/ipw2200.c
3830
ipw_queue_tx_free(priv, &priv->txq[3]);
drivers/net/wireless/intel/ipw2x00/ipw2200.c
4904
rc = ipw_queue_tx_init(priv, &priv->txq[0], nTx,
drivers/net/wireless/intel/ipw2x00/ipw2200.c
4912
rc = ipw_queue_tx_init(priv, &priv->txq[1], nTx,
drivers/net/wireless/intel/ipw2x00/ipw2200.c
4920
rc = ipw_queue_tx_init(priv, &priv->txq[2], nTx,
drivers/net/wireless/intel/ipw2x00/ipw2200.c
4928
rc = ipw_queue_tx_init(priv, &priv->txq[3], nTx,
drivers/net/wireless/intel/ipw2x00/ipw2200.c
4960
struct clx2_tx_queue *txq, int qindex)
drivers/net/wireless/intel/ipw2x00/ipw2200.c
4964
struct clx2_queue *q = &txq->q;
drivers/net/wireless/intel/ipw2x00/ipw2200.c
4975
ipw_queue_tx_free_tfd(priv, txq);
drivers/net/wireless/intel/ipw2x00/ipw2200.c
4992
struct clx2_tx_queue *txq = &priv->txq_cmd;
drivers/net/wireless/intel/ipw2x00/ipw2200.c
4993
struct clx2_queue *q = &txq->q;
drivers/net/wireless/intel/ipw2x00/ipw2200.c
5001
tfd = &txq->bd[q->first_empty];
drivers/net/wireless/intel/ipw2x00/ipw2200.c
5002
txq->txb[q->first_empty] = NULL;
drivers/net/wireless/intel/ipw2x00/ipw2200.h
1190
struct clx2_tx_queue txq[4];
drivers/net/wireless/intel/iwlegacy/3945-mac.c
1424
il_txq_update_write_ptr(il, &il->txq[0]);
drivers/net/wireless/intel/iwlegacy/3945-mac.c
1425
il_txq_update_write_ptr(il, &il->txq[1]);
drivers/net/wireless/intel/iwlegacy/3945-mac.c
1426
il_txq_update_write_ptr(il, &il->txq[2]);
drivers/net/wireless/intel/iwlegacy/3945-mac.c
1427
il_txq_update_write_ptr(il, &il->txq[3]);
drivers/net/wireless/intel/iwlegacy/3945-mac.c
1428
il_txq_update_write_ptr(il, &il->txq[4]);
drivers/net/wireless/intel/iwlegacy/3945-mac.c
2414
if (test_bit(S_EXIT_PENDING, &il->status) || il->txq == NULL)
drivers/net/wireless/intel/iwlegacy/3945-mac.c
452
struct il_tx_queue *txq = NULL;
drivers/net/wireless/intel/iwlegacy/3945-mac.c
511
txq = &il->txq[txq_id];
drivers/net/wireless/intel/iwlegacy/3945-mac.c
512
q = &txq->q;
drivers/net/wireless/intel/iwlegacy/3945-mac.c
521
txq->skbs[q->write_ptr] = skb;
drivers/net/wireless/intel/iwlegacy/3945-mac.c
524
out_cmd = txq->cmd[idx];
drivers/net/wireless/intel/iwlegacy/3945-mac.c
525
out_meta = &txq->meta[idx];
drivers/net/wireless/intel/iwlegacy/3945-mac.c
591
il->ops->txq_attach_buf_to_tfd(il, txq, txcmd_phys, firstlen, 1, 0);
drivers/net/wireless/intel/iwlegacy/3945-mac.c
595
il->ops->txq_attach_buf_to_tfd(il, txq, phys_addr, secondlen, 0,
drivers/net/wireless/intel/iwlegacy/3945-mac.c
599
txq->need_update = 1;
drivers/net/wireless/intel/iwlegacy/3945-mac.c
602
txq->need_update = 0;
drivers/net/wireless/intel/iwlegacy/3945-mac.c
615
il_txq_update_write_ptr(il, txq);
drivers/net/wireless/intel/iwlegacy/3945-mac.c
621
txq->need_update = 1;
drivers/net/wireless/intel/iwlegacy/3945-mac.c
622
il_txq_update_write_ptr(il, txq);
drivers/net/wireless/intel/iwlegacy/3945-mac.c
626
il_stop_queue(il, txq);
drivers/net/wireless/intel/iwlegacy/3945.c
1007
if (il->txq) {
drivers/net/wireless/intel/iwlegacy/3945.c
1868
if (test_bit(S_EXIT_PENDING, &il->status) || il->txq == NULL)
drivers/net/wireless/intel/iwlegacy/3945.c
2197
il3945_hw_tx_queue_init(struct il_priv *il, struct il_tx_queue *txq)
drivers/net/wireless/intel/iwlegacy/3945.c
2199
int txq_id = txq->q.id;
drivers/net/wireless/intel/iwlegacy/3945.c
2203
shared_data->tx_base_ptr[txq_id] = cpu_to_le32((u32) txq->q.dma_addr);
drivers/net/wireless/intel/iwlegacy/3945.c
274
struct il_tx_queue *txq = &il->txq[txq_id];
drivers/net/wireless/intel/iwlegacy/3945.c
275
struct il_queue *q = &txq->q;
drivers/net/wireless/intel/iwlegacy/3945.c
283
skb = txq->skbs[txq->q.read_ptr];
drivers/net/wireless/intel/iwlegacy/3945.c
285
txq->skbs[txq->q.read_ptr] = NULL;
drivers/net/wireless/intel/iwlegacy/3945.c
286
il->ops->txq_free_tfd(il, txq);
drivers/net/wireless/intel/iwlegacy/3945.c
291
il_wake_queue(il, txq);
drivers/net/wireless/intel/iwlegacy/3945.c
304
struct il_tx_queue *txq = &il->txq[txq_id];
drivers/net/wireless/intel/iwlegacy/3945.c
311
if (idx >= txq->q.n_bd || il_queue_used(&txq->q, idx) == 0) {
drivers/net/wireless/intel/iwlegacy/3945.c
314
txq->q.n_bd, txq->q.write_ptr, txq->q.read_ptr);
drivers/net/wireless/intel/iwlegacy/3945.c
331
txq->time_stamp = jiffies;
drivers/net/wireless/intel/iwlegacy/3945.c
332
info = IEEE80211_SKB_CB(txq->skbs[txq->q.read_ptr]);
drivers/net/wireless/intel/iwlegacy/3945.c
597
il3945_hw_txq_attach_buf_to_tfd(struct il_priv *il, struct il_tx_queue *txq,
drivers/net/wireless/intel/iwlegacy/3945.c
604
q = &txq->q;
drivers/net/wireless/intel/iwlegacy/3945.c
605
tfd_tmp = (struct il3945_tfd *)txq->tfds;
drivers/net/wireless/intel/iwlegacy/3945.c
636
il3945_hw_txq_free_tfd(struct il_priv *il, struct il_tx_queue *txq)
drivers/net/wireless/intel/iwlegacy/3945.c
638
struct il3945_tfd *tfd_tmp = (struct il3945_tfd *)txq->tfds;
drivers/net/wireless/intel/iwlegacy/3945.c
639
int idx = txq->q.read_ptr;
drivers/net/wireless/intel/iwlegacy/3945.c
656
dma_unmap_addr(&txq->meta[idx], mapping),
drivers/net/wireless/intel/iwlegacy/3945.c
657
dma_unmap_len(&txq->meta[idx], len),
drivers/net/wireless/intel/iwlegacy/3945.c
667
if (txq->skbs) {
drivers/net/wireless/intel/iwlegacy/3945.c
668
struct sk_buff *skb = txq->skbs[txq->q.read_ptr];
drivers/net/wireless/intel/iwlegacy/3945.c
673
txq->skbs[txq->q.read_ptr] = NULL;
drivers/net/wireless/intel/iwlegacy/3945.h
212
int il3945_hw_txq_attach_buf_to_tfd(struct il_priv *il, struct il_tx_queue *txq,
drivers/net/wireless/intel/iwlegacy/3945.h
214
void il3945_hw_txq_free_tfd(struct il_priv *il, struct il_tx_queue *txq);
drivers/net/wireless/intel/iwlegacy/3945.h
216
int il3945_hw_tx_queue_init(struct il_priv *il, struct il_tx_queue *txq);
drivers/net/wireless/intel/iwlegacy/4965-mac.c
1653
struct il_tx_queue *txq;
drivers/net/wireless/intel/iwlegacy/4965-mac.c
1754
txq = &il->txq[txq_id];
drivers/net/wireless/intel/iwlegacy/4965-mac.c
1755
q = &txq->q;
drivers/net/wireless/intel/iwlegacy/4965-mac.c
1770
txq->skbs[q->write_ptr] = skb;
drivers/net/wireless/intel/iwlegacy/4965-mac.c
1773
out_cmd = txq->cmd[q->write_ptr];
drivers/net/wireless/intel/iwlegacy/4965-mac.c
1774
out_meta = &txq->meta[q->write_ptr];
drivers/net/wireless/intel/iwlegacy/4965-mac.c
1839
il->ops->txq_attach_buf_to_tfd(il, txq, txcmd_phys, firstlen, 1, 0);
drivers/net/wireless/intel/iwlegacy/4965-mac.c
1843
il->ops->txq_attach_buf_to_tfd(il, txq, phys_addr, secondlen,
drivers/net/wireless/intel/iwlegacy/4965-mac.c
1847
txq->need_update = 1;
drivers/net/wireless/intel/iwlegacy/4965-mac.c
1850
txq->need_update = 0;
drivers/net/wireless/intel/iwlegacy/4965-mac.c
1872
il->ops->txq_update_byte_cnt_tbl(il, txq, le16_to_cpu(tx_cmd->len));
drivers/net/wireless/intel/iwlegacy/4965-mac.c
1879
il_txq_update_write_ptr(il, txq);
drivers/net/wireless/intel/iwlegacy/4965-mac.c
1902
txq->need_update = 1;
drivers/net/wireless/intel/iwlegacy/4965-mac.c
1903
il_txq_update_write_ptr(il, txq);
drivers/net/wireless/intel/iwlegacy/4965-mac.c
1906
il_stop_queue(il, txq);
drivers/net/wireless/intel/iwlegacy/4965-mac.c
1949
if (il->txq) {
drivers/net/wireless/intel/iwlegacy/4965-mac.c
2051
if (!il->txq)
drivers/net/wireless/intel/iwlegacy/4965-mac.c
218
if (!il->txq) {
drivers/net/wireless/intel/iwlegacy/4965-mac.c
2187
il->txq[txq_id].q.read_ptr = (ssn_idx & 0xff);
drivers/net/wireless/intel/iwlegacy/4965-mac.c
2188
il->txq[txq_id].q.write_ptr = (ssn_idx & 0xff);
drivers/net/wireless/intel/iwlegacy/4965-mac.c
2208
il4965_tx_queue_set_status(il, &il->txq[txq_id], tx_fifo, 1);
drivers/net/wireless/intel/iwlegacy/4965-mac.c
2256
il_set_swq_id(&il->txq[txq_id], il4965_get_ac_from_tid(tid), txq_id);
drivers/net/wireless/intel/iwlegacy/4965-mac.c
2299
il->txq[txq_id].q.read_ptr = (ssn_idx & 0xff);
drivers/net/wireless/intel/iwlegacy/4965-mac.c
2300
il->txq[txq_id].q.write_ptr = (ssn_idx & 0xff);
drivers/net/wireless/intel/iwlegacy/4965-mac.c
2306
il4965_tx_queue_set_status(il, &il->txq[txq_id], tx_fifo, 0);
drivers/net/wireless/intel/iwlegacy/4965-mac.c
2354
write_ptr = il->txq[txq_id].q.write_ptr;
drivers/net/wireless/intel/iwlegacy/4965-mac.c
2355
read_ptr = il->txq[txq_id].q.read_ptr;
drivers/net/wireless/intel/iwlegacy/4965-mac.c
2392
struct il_queue *q = &il->txq[txq_id].q;
drivers/net/wireless/intel/iwlegacy/4965-mac.c
2457
struct il_tx_queue *txq = &il->txq[txq_id];
drivers/net/wireless/intel/iwlegacy/4965-mac.c
2458
struct il_queue *q = &txq->q;
drivers/net/wireless/intel/iwlegacy/4965-mac.c
2473
skb = txq->skbs[txq->q.read_ptr];
drivers/net/wireless/intel/iwlegacy/4965-mac.c
2484
txq->skbs[txq->q.read_ptr] = NULL;
drivers/net/wireless/intel/iwlegacy/4965-mac.c
2485
il->ops->txq_free_tfd(il, txq);
drivers/net/wireless/intel/iwlegacy/4965-mac.c
2548
info = IEEE80211_SKB_CB(il->txq[scd_flow].skbs[agg->start_idx]);
drivers/net/wireless/intel/iwlegacy/4965-mac.c
2674
info = IEEE80211_SKB_CB(il->txq[txq_id].skbs[idx]);
drivers/net/wireless/intel/iwlegacy/4965-mac.c
2707
skb = il->txq[txq_id].skbs[idx];
drivers/net/wireless/intel/iwlegacy/4965-mac.c
2764
struct il_tx_queue *txq = &il->txq[txq_id];
drivers/net/wireless/intel/iwlegacy/4965-mac.c
2776
if (idx >= txq->q.n_bd || il_queue_used(&txq->q, idx) == 0) {
drivers/net/wireless/intel/iwlegacy/4965-mac.c
2779
txq->q.n_bd, txq->q.write_ptr, txq->q.read_ptr);
drivers/net/wireless/intel/iwlegacy/4965-mac.c
2783
txq->time_stamp = jiffies;
drivers/net/wireless/intel/iwlegacy/4965-mac.c
2785
skb = txq->skbs[txq->q.read_ptr];
drivers/net/wireless/intel/iwlegacy/4965-mac.c
2796
if (txq->sched_retry && unlikely(sta_id == IL_INVALID_STATION)) {
drivers/net/wireless/intel/iwlegacy/4965-mac.c
2815
if (txq->sched_retry) {
drivers/net/wireless/intel/iwlegacy/4965-mac.c
2831
if (txq->q.read_ptr != (scd_ssn & 0xff)) {
drivers/net/wireless/intel/iwlegacy/4965-mac.c
2832
idx = il_queue_dec_wrap(scd_ssn & 0xff, txq->q.n_bd);
drivers/net/wireless/intel/iwlegacy/4965-mac.c
2839
il_queue_space(&txq->q) > txq->q.low_mark &&
drivers/net/wireless/intel/iwlegacy/4965-mac.c
2841
il_wake_queue(il, txq);
drivers/net/wireless/intel/iwlegacy/4965-mac.c
2863
il_queue_space(&txq->q) > txq->q.low_mark)
drivers/net/wireless/intel/iwlegacy/4965-mac.c
2864
il_wake_queue(il, txq);
drivers/net/wireless/intel/iwlegacy/4965-mac.c
2910
struct il_tx_queue *txq = NULL;
drivers/net/wireless/intel/iwlegacy/4965-mac.c
2929
txq = &il->txq[scd_flow];
drivers/net/wireless/intel/iwlegacy/4965-mac.c
2946
idx = il_queue_dec_wrap(ba_resp_scd_ssn & 0xff, txq->q.n_bd);
drivers/net/wireless/intel/iwlegacy/4965-mac.c
2966
if (txq->q.read_ptr != (ba_resp_scd_ssn & 0xff)) {
drivers/net/wireless/intel/iwlegacy/4965-mac.c
2971
if (il_queue_space(&txq->q) > txq->q.low_mark &&
drivers/net/wireless/intel/iwlegacy/4965-mac.c
2974
il_wake_queue(il, txq);
drivers/net/wireless/intel/iwlegacy/4965-mac.c
3912
il4965_hw_txq_free_tfd(struct il_priv *il, struct il_tx_queue *txq)
drivers/net/wireless/intel/iwlegacy/4965-mac.c
3914
struct il_tfd *tfd_tmp = (struct il_tfd *)txq->tfds;
drivers/net/wireless/intel/iwlegacy/4965-mac.c
3917
int idx = txq->q.read_ptr;
drivers/net/wireless/intel/iwlegacy/4965-mac.c
3935
dma_unmap_addr(&txq->meta[idx], mapping),
drivers/net/wireless/intel/iwlegacy/4965-mac.c
3936
dma_unmap_len(&txq->meta[idx], len),
drivers/net/wireless/intel/iwlegacy/4965-mac.c
3945
if (txq->skbs) {
drivers/net/wireless/intel/iwlegacy/4965-mac.c
3946
struct sk_buff *skb = txq->skbs[txq->q.read_ptr];
drivers/net/wireless/intel/iwlegacy/4965-mac.c
3951
txq->skbs[txq->q.read_ptr] = NULL;
drivers/net/wireless/intel/iwlegacy/4965-mac.c
3957
il4965_hw_txq_attach_buf_to_tfd(struct il_priv *il, struct il_tx_queue *txq,
drivers/net/wireless/intel/iwlegacy/4965-mac.c
3964
q = &txq->q;
drivers/net/wireless/intel/iwlegacy/4965-mac.c
3965
tfd_tmp = (struct il_tfd *)txq->tfds;
drivers/net/wireless/intel/iwlegacy/4965-mac.c
3997
il4965_hw_tx_queue_init(struct il_priv *il, struct il_tx_queue *txq)
drivers/net/wireless/intel/iwlegacy/4965-mac.c
3999
int txq_id = txq->q.id;
drivers/net/wireless/intel/iwlegacy/4965-mac.c
4002
il_wr(il, FH49_MEM_CBBC_QUEUE(txq_id), txq->q.dma_addr >> 8);
drivers/net/wireless/intel/iwlegacy/4965-mac.c
4469
il_txq_update_write_ptr(il, &il->txq[i]);
drivers/net/wireless/intel/iwlegacy/4965-mac.c
5247
il4965_tx_queue_set_status(il, &il->txq[i], ac, 0);
drivers/net/wireless/intel/iwlegacy/4965-mac.c
6286
il4965_tx_queue_set_status(struct il_priv *il, struct il_tx_queue *txq,
drivers/net/wireless/intel/iwlegacy/4965-mac.c
6289
int txq_id = txq->q.id;
drivers/net/wireless/intel/iwlegacy/4965-mac.c
6302
txq->sched_retry = scd_retry;
drivers/net/wireless/intel/iwlegacy/4965.c
1535
il4965_txq_update_byte_cnt_tbl(struct il_priv *il, struct il_tx_queue *txq,
drivers/net/wireless/intel/iwlegacy/4965.c
1539
int txq_id = txq->q.id;
drivers/net/wireless/intel/iwlegacy/4965.c
1540
int write_ptr = txq->q.write_ptr;
drivers/net/wireless/intel/iwlegacy/4965.h
57
void il4965_hw_txq_free_tfd(struct il_priv *il, struct il_tx_queue *txq);
drivers/net/wireless/intel/iwlegacy/4965.h
58
int il4965_hw_txq_attach_buf_to_tfd(struct il_priv *il, struct il_tx_queue *txq,
drivers/net/wireless/intel/iwlegacy/4965.h
60
int il4965_hw_tx_queue_init(struct il_priv *il, struct il_tx_queue *txq);
drivers/net/wireless/intel/iwlegacy/4965.h
89
void il4965_tx_queue_set_status(struct il_priv *il, struct il_tx_queue *txq,
drivers/net/wireless/intel/iwlegacy/common.c
2710
il_txq_update_write_ptr(struct il_priv *il, struct il_tx_queue *txq)
drivers/net/wireless/intel/iwlegacy/common.c
2713
int txq_id = txq->q.id;
drivers/net/wireless/intel/iwlegacy/common.c
2715
if (txq->need_update == 0)
drivers/net/wireless/intel/iwlegacy/common.c
2733
il_wr(il, HBUS_TARG_WRPTR, txq->q.write_ptr | (txq_id << 8));
drivers/net/wireless/intel/iwlegacy/common.c
2741
_il_wr(il, HBUS_TARG_WRPTR, txq->q.write_ptr | (txq_id << 8));
drivers/net/wireless/intel/iwlegacy/common.c
2742
txq->need_update = 0;
drivers/net/wireless/intel/iwlegacy/common.c
2752
struct il_tx_queue *txq = &il->txq[txq_id];
drivers/net/wireless/intel/iwlegacy/common.c
2753
struct il_queue *q = &txq->q;
drivers/net/wireless/intel/iwlegacy/common.c
2759
il->ops->txq_free_tfd(il, txq);
drivers/net/wireless/intel/iwlegacy/common.c
2776
struct il_tx_queue *txq = &il->txq[txq_id];
drivers/net/wireless/intel/iwlegacy/common.c
2783
if (txq->cmd) {
drivers/net/wireless/intel/iwlegacy/common.c
2785
kfree(txq->cmd[i]);
drivers/net/wireless/intel/iwlegacy/common.c
2789
if (txq->q.n_bd)
drivers/net/wireless/intel/iwlegacy/common.c
2790
dma_free_coherent(dev, il->hw_params.tfd_size * txq->q.n_bd,
drivers/net/wireless/intel/iwlegacy/common.c
2791
txq->tfds, txq->q.dma_addr);
drivers/net/wireless/intel/iwlegacy/common.c
2794
kfree(txq->skbs);
drivers/net/wireless/intel/iwlegacy/common.c
2795
txq->skbs = NULL;
drivers/net/wireless/intel/iwlegacy/common.c
2798
kfree(txq->cmd);
drivers/net/wireless/intel/iwlegacy/common.c
2799
kfree(txq->meta);
drivers/net/wireless/intel/iwlegacy/common.c
2800
txq->cmd = NULL;
drivers/net/wireless/intel/iwlegacy/common.c
2801
txq->meta = NULL;
drivers/net/wireless/intel/iwlegacy/common.c
2804
memset(txq, 0, sizeof(*txq));
drivers/net/wireless/intel/iwlegacy/common.c
2814
struct il_tx_queue *txq = &il->txq[il->cmd_queue];
drivers/net/wireless/intel/iwlegacy/common.c
2815
struct il_queue *q = &txq->q;
drivers/net/wireless/intel/iwlegacy/common.c
2824
if (txq->meta[i].flags & CMD_MAPPED) {
drivers/net/wireless/intel/iwlegacy/common.c
2826
dma_unmap_addr(&txq->meta[i], mapping),
drivers/net/wireless/intel/iwlegacy/common.c
2827
dma_unmap_len(&txq->meta[i], len),
drivers/net/wireless/intel/iwlegacy/common.c
2829
txq->meta[i].flags = 0;
drivers/net/wireless/intel/iwlegacy/common.c
2836
if (txq->meta[i].flags & CMD_MAPPED) {
drivers/net/wireless/intel/iwlegacy/common.c
2838
dma_unmap_addr(&txq->meta[i], mapping),
drivers/net/wireless/intel/iwlegacy/common.c
2839
dma_unmap_len(&txq->meta[i], len),
drivers/net/wireless/intel/iwlegacy/common.c
2841
txq->meta[i].flags = 0;
drivers/net/wireless/intel/iwlegacy/common.c
2856
struct il_tx_queue *txq = &il->txq[il->cmd_queue];
drivers/net/wireless/intel/iwlegacy/common.c
2863
if (txq->cmd) {
drivers/net/wireless/intel/iwlegacy/common.c
2865
kfree(txq->cmd[i]);
drivers/net/wireless/intel/iwlegacy/common.c
2869
if (txq->q.n_bd)
drivers/net/wireless/intel/iwlegacy/common.c
2870
dma_free_coherent(dev, il->hw_params.tfd_size * txq->q.n_bd,
drivers/net/wireless/intel/iwlegacy/common.c
2871
txq->tfds, txq->q.dma_addr);
drivers/net/wireless/intel/iwlegacy/common.c
2874
kfree(txq->cmd);
drivers/net/wireless/intel/iwlegacy/common.c
2875
kfree(txq->meta);
drivers/net/wireless/intel/iwlegacy/common.c
2876
txq->cmd = NULL;
drivers/net/wireless/intel/iwlegacy/common.c
2877
txq->meta = NULL;
drivers/net/wireless/intel/iwlegacy/common.c
2880
memset(txq, 0, sizeof(*txq));
drivers/net/wireless/intel/iwlegacy/common.c
2964
il_tx_queue_alloc(struct il_priv *il, struct il_tx_queue *txq, u32 id)
drivers/net/wireless/intel/iwlegacy/common.c
2972
txq->skbs = kzalloc_objs(struct sk_buff *, TFD_QUEUE_SIZE_MAX);
drivers/net/wireless/intel/iwlegacy/common.c
2973
if (!txq->skbs) {
drivers/net/wireless/intel/iwlegacy/common.c
2978
txq->skbs = NULL;
drivers/net/wireless/intel/iwlegacy/common.c
2982
txq->tfds =
drivers/net/wireless/intel/iwlegacy/common.c
2983
dma_alloc_coherent(dev, tfd_sz, &txq->q.dma_addr, GFP_KERNEL);
drivers/net/wireless/intel/iwlegacy/common.c
2984
if (!txq->tfds)
drivers/net/wireless/intel/iwlegacy/common.c
2987
txq->q.id = id;
drivers/net/wireless/intel/iwlegacy/common.c
2992
kfree(txq->skbs);
drivers/net/wireless/intel/iwlegacy/common.c
2993
txq->skbs = NULL;
drivers/net/wireless/intel/iwlegacy/common.c
3006
struct il_tx_queue *txq = &il->txq[txq_id];
drivers/net/wireless/intel/iwlegacy/common.c
3024
txq->meta =
drivers/net/wireless/intel/iwlegacy/common.c
3026
txq->cmd =
drivers/net/wireless/intel/iwlegacy/common.c
3029
if (!txq->meta || !txq->cmd)
drivers/net/wireless/intel/iwlegacy/common.c
3038
txq->cmd[i] = kmalloc(len, GFP_KERNEL);
drivers/net/wireless/intel/iwlegacy/common.c
3039
if (!txq->cmd[i])
drivers/net/wireless/intel/iwlegacy/common.c
3044
ret = il_tx_queue_alloc(il, txq, txq_id);
drivers/net/wireless/intel/iwlegacy/common.c
3048
txq->need_update = 0;
drivers/net/wireless/intel/iwlegacy/common.c
3056
il_set_swq_id(txq, txq_id, txq_id);
drivers/net/wireless/intel/iwlegacy/common.c
3059
il_queue_init(il, &txq->q, slots, txq_id);
drivers/net/wireless/intel/iwlegacy/common.c
3062
il->ops->txq_init(il, txq);
drivers/net/wireless/intel/iwlegacy/common.c
3067
kfree(txq->cmd[i]);
drivers/net/wireless/intel/iwlegacy/common.c
3069
kfree(txq->meta);
drivers/net/wireless/intel/iwlegacy/common.c
3070
txq->meta = NULL;
drivers/net/wireless/intel/iwlegacy/common.c
3071
kfree(txq->cmd);
drivers/net/wireless/intel/iwlegacy/common.c
3072
txq->cmd = NULL;
drivers/net/wireless/intel/iwlegacy/common.c
3082
struct il_tx_queue *txq = &il->txq[txq_id];
drivers/net/wireless/intel/iwlegacy/common.c
3092
memset(txq->meta, 0, sizeof(struct il_cmd_meta) * actual_slots);
drivers/net/wireless/intel/iwlegacy/common.c
3093
txq->need_update = 0;
drivers/net/wireless/intel/iwlegacy/common.c
3096
il_queue_init(il, &txq->q, slots, txq_id);
drivers/net/wireless/intel/iwlegacy/common.c
3099
il->ops->txq_init(il, txq);
drivers/net/wireless/intel/iwlegacy/common.c
3117
struct il_tx_queue *txq = &il->txq[il->cmd_queue];
drivers/net/wireless/intel/iwlegacy/common.c
3118
struct il_queue *q = &txq->q;
drivers/net/wireless/intel/iwlegacy/common.c
3156
out_cmd = txq->cmd[idx];
drivers/net/wireless/intel/iwlegacy/common.c
3157
out_meta = &txq->meta[idx];
drivers/net/wireless/intel/iwlegacy/common.c
3221
txq->need_update = 1;
drivers/net/wireless/intel/iwlegacy/common.c
3225
il->ops->txq_update_byte_cnt_tbl(il, txq, 0);
drivers/net/wireless/intel/iwlegacy/common.c
3227
il->ops->txq_attach_buf_to_tfd(il, txq, phys_addr, fix_size, 1,
drivers/net/wireless/intel/iwlegacy/common.c
3232
il_txq_update_write_ptr(il, txq);
drivers/net/wireless/intel/iwlegacy/common.c
3249
struct il_tx_queue *txq = &il->txq[txq_id];
drivers/net/wireless/intel/iwlegacy/common.c
3250
struct il_queue *q = &txq->q;
drivers/net/wireless/intel/iwlegacy/common.c
3291
struct il_tx_queue *txq = &il->txq[il->cmd_queue];
drivers/net/wireless/intel/iwlegacy/common.c
3300
txq_id, il->cmd_queue, sequence, il->txq[il->cmd_queue].q.read_ptr,
drivers/net/wireless/intel/iwlegacy/common.c
3301
il->txq[il->cmd_queue].q.write_ptr)) {
drivers/net/wireless/intel/iwlegacy/common.c
3306
cmd_idx = il_get_cmd_idx(&txq->q, idx, huge);
drivers/net/wireless/intel/iwlegacy/common.c
3307
cmd = txq->cmd[cmd_idx];
drivers/net/wireless/intel/iwlegacy/common.c
3308
meta = &txq->meta[cmd_idx];
drivers/net/wireless/intel/iwlegacy/common.c
3310
txq->time_stamp = jiffies;
drivers/net/wireless/intel/iwlegacy/common.c
364
il->txq[il->cmd_queue].meta[cmd_idx].flags &= ~CMD_WANT_SKB;
drivers/net/wireless/intel/iwlegacy/common.c
4609
if (!il->txq)
drivers/net/wireless/intel/iwlegacy/common.c
4610
il->txq =
drivers/net/wireless/intel/iwlegacy/common.c
4612
if (!il->txq) {
drivers/net/wireless/intel/iwlegacy/common.c
4623
kfree(il->txq);
drivers/net/wireless/intel/iwlegacy/common.c
4624
il->txq = NULL;
drivers/net/wireless/intel/iwlegacy/common.c
4731
if (il->txq == NULL)
drivers/net/wireless/intel/iwlegacy/common.c
4740
q = &il->txq[i].q;
drivers/net/wireless/intel/iwlegacy/common.c
4764
struct il_tx_queue *txq = &il->txq[cnt];
drivers/net/wireless/intel/iwlegacy/common.c
4765
struct il_queue *q = &txq->q;
drivers/net/wireless/intel/iwlegacy/common.c
4771
txq->time_stamp = now;
drivers/net/wireless/intel/iwlegacy/common.c
4776
txq->time_stamp +
drivers/net/wireless/intel/iwlegacy/common.c
4781
jiffies_to_msecs(now - txq->time_stamp));
drivers/net/wireless/intel/iwlegacy/common.h
1268
struct il_tx_queue *txq;
drivers/net/wireless/intel/iwlegacy/common.h
1545
struct il_tx_queue *txq,
drivers/net/wireless/intel/iwlegacy/common.h
1548
struct il_tx_queue *txq, dma_addr_t addr,
drivers/net/wireless/intel/iwlegacy/common.h
1550
void (*txq_free_tfd) (struct il_priv *il, struct il_tx_queue *txq);
drivers/net/wireless/intel/iwlegacy/common.h
1551
int (*txq_init) (struct il_priv *il, struct il_tx_queue *txq);
drivers/net/wireless/intel/iwlegacy/common.h
1762
void il_txq_update_write_ptr(struct il_priv *il, struct il_tx_queue *txq);
drivers/net/wireless/intel/iwlegacy/common.h
2259
il_set_swq_id(struct il_tx_queue *txq, u8 ac, u8 hwq)
drivers/net/wireless/intel/iwlegacy/common.h
2264
txq->swq_id = (hwq << 2) | ac;
drivers/net/wireless/intel/iwlegacy/common.h
2281
il_wake_queue(struct il_priv *il, struct il_tx_queue *txq)
drivers/net/wireless/intel/iwlegacy/common.h
2283
u8 queue = txq->swq_id;
drivers/net/wireless/intel/iwlegacy/common.h
2292
il_stop_queue(struct il_priv *il, struct il_tx_queue *txq)
drivers/net/wireless/intel/iwlegacy/common.h
2294
u8 queue = txq->swq_id;
drivers/net/wireless/intel/iwlegacy/debug.c
817
struct il_tx_queue *txq;
drivers/net/wireless/intel/iwlegacy/debug.c
826
if (!il->txq) {
drivers/net/wireless/intel/iwlegacy/debug.c
835
txq = &il->txq[cnt];
drivers/net/wireless/intel/iwlegacy/debug.c
836
q = &txq->q;
drivers/net/wireless/intel/iwlegacy/debug.c
843
txq->swq_id, txq->swq_id & 3,
drivers/net/wireless/intel/iwlegacy/debug.c
844
(txq->swq_id >> 2) & 0x1f);
drivers/net/wireless/intel/iwlwifi/mld/d3.c
1222
iwl_mld_txq_from_mac80211(ap_sta->txq[wowlan_status->tid_offloaded_tx]);
drivers/net/wireless/intel/iwlwifi/mld/d3.c
2024
ap_sta->txq[wowlan_config_cmd.offloading_tid]);
drivers/net/wireless/intel/iwlwifi/mld/mac80211.c
924
struct ieee80211_txq *txq)
drivers/net/wireless/intel/iwlwifi/mld/mac80211.c
927
struct iwl_mld_txq *mld_txq = iwl_mld_txq_from_mac80211(txq);
drivers/net/wireless/intel/iwlwifi/mld/mac80211.c
929
if (likely(mld_txq->status.allocated) || !txq->sta) {
drivers/net/wireless/intel/iwlwifi/mld/mac80211.c
930
iwl_mld_tx_from_txq(mld, txq);
drivers/net/wireless/intel/iwlwifi/mld/mac80211.c
935
if (txq->tid != IEEE80211_NUM_TIDS && txq->tid >= IWL_MAX_TID_COUNT) {
drivers/net/wireless/intel/iwlwifi/mld/mac80211.c
936
IWL_DEBUG_MAC80211(mld, "TID %d is not supported\n", txq->tid);
drivers/net/wireless/intel/iwlwifi/mld/mld.c
538
struct ieee80211_txq *txq;
drivers/net/wireless/intel/iwlwifi/mld/mld.c
544
txq = rcu_dereference(mld->fw_id_to_txq[hw_queue]);
drivers/net/wireless/intel/iwlwifi/mld/mld.c
545
if (!txq) {
drivers/net/wireless/intel/iwlwifi/mld/mld.c
564
mld_txq = iwl_mld_txq_from_mac80211(txq);
drivers/net/wireless/intel/iwlwifi/mld/mld.c
565
mld_sta = txq->sta ? iwl_mld_sta_from_mac80211(txq->sta) : NULL;
drivers/net/wireless/intel/iwlwifi/mld/mld.c
572
iwl_mld_tx_from_txq(mld, txq);
drivers/net/wireless/intel/iwlwifi/mld/sta.c
811
for (int i = 0; i < ARRAY_SIZE(sta->txq); i++)
drivers/net/wireless/intel/iwlwifi/mld/sta.c
812
iwl_mld_init_txq(iwl_mld_txq_from_mac80211(sta->txq[i]));
drivers/net/wireless/intel/iwlwifi/mld/sta.c
888
for (int i = 0; i < ARRAY_SIZE(sta->txq); i++) {
drivers/net/wireless/intel/iwlwifi/mld/sta.c
890
iwl_mld_txq_from_mac80211(sta->txq[i]);
drivers/net/wireless/intel/iwlwifi/mld/sta.c
915
for (int i = 0; i < ARRAY_SIZE(sta->txq); i++)
drivers/net/wireless/intel/iwlwifi/mld/sta.c
916
iwl_mld_remove_txq(mld, sta->txq[i]);
drivers/net/wireless/intel/iwlwifi/mld/sta.h
161
for (int i = 0; i < ARRAY_SIZE(sta->txq); i++)
drivers/net/wireless/intel/iwlwifi/mld/sta.h
162
CLEANUP_STRUCT(iwl_mld_txq_from_mac80211(sta->txq[i]));
drivers/net/wireless/intel/iwlwifi/mld/tx.c
1025
(skb = ieee80211_tx_dequeue(mld->hw, txq)))
drivers/net/wireless/intel/iwlwifi/mld/tx.c
1026
iwl_mld_tx_skb(mld, skb, txq);
drivers/net/wireless/intel/iwlwifi/mld/tx.c
1030
txq->sta ? txq->sta->addr : zero_addr, txq->tid);
drivers/net/wireless/intel/iwlwifi/mld/tx.c
105
static int iwl_mld_add_txq(struct iwl_mld *mld, struct ieee80211_txq *txq)
drivers/net/wireless/intel/iwlwifi/mld/tx.c
107
struct iwl_mld_txq *mld_txq = iwl_mld_txq_from_mac80211(txq);
drivers/net/wireless/intel/iwlwifi/mld/tx.c
113
id = iwl_mld_allocate_txq(mld, txq);
drivers/net/wireless/intel/iwlwifi/mld/tx.c
120
rcu_assign_pointer(mld->fw_id_to_txq[id], txq);
drivers/net/wireless/intel/iwlwifi/mld/tx.c
1221
static void iwl_mld_tx_reclaim_txq(struct iwl_mld *mld, int txq, int index,
drivers/net/wireless/intel/iwlwifi/mld/tx.c
1228
iwl_trans_reclaim(mld->trans, txq, index, &reclaimed_skbs, in_flush);
drivers/net/wireless/intel/iwlwifi/mld/tx.c
130
struct ieee80211_txq *txq;
drivers/net/wireless/intel/iwlwifi/mld/tx.c
1324
int iwl_mld_ensure_queue(struct iwl_mld *mld, struct ieee80211_txq *txq)
drivers/net/wireless/intel/iwlwifi/mld/tx.c
1326
struct iwl_mld_txq *mld_txq = iwl_mld_txq_from_mac80211(txq);
drivers/net/wireless/intel/iwlwifi/mld/tx.c
1334
ret = iwl_mld_add_txq(mld, txq);
drivers/net/wireless/intel/iwlwifi/mld/tx.c
1357
struct ieee80211_txq *txq =
drivers/net/wireless/intel/iwlwifi/mld/tx.c
1358
sta->txq[tid != IWL_MAX_TID_COUNT ?
drivers/net/wireless/intel/iwlwifi/mld/tx.c
136
txq = container_of((void *)mld_txq, struct ieee80211_txq,
drivers/net/wireless/intel/iwlwifi/mld/tx.c
1361
iwl_mld_txq_from_mac80211(txq);
drivers/net/wireless/intel/iwlwifi/mld/tx.c
139
failed = iwl_mld_add_txq(mld, txq);
drivers/net/wireless/intel/iwlwifi/mld/tx.c
150
iwl_mld_tx_from_txq(mld, txq);
drivers/net/wireless/intel/iwlwifi/mld/tx.c
183
void iwl_mld_remove_txq(struct iwl_mld *mld, struct ieee80211_txq *txq)
drivers/net/wireless/intel/iwlwifi/mld/tx.c
185
struct iwl_mld_txq *mld_txq = iwl_mld_txq_from_mac80211(txq);
drivers/net/wireless/intel/iwlwifi/mld/tx.c
199
sta_msk = iwl_mld_fw_sta_id_mask(mld, txq->sta);
drivers/net/wireless/intel/iwlwifi/mld/tx.c
201
tid = txq->tid == IEEE80211_NUM_TIDS ? IWL_MGMT_TID :
drivers/net/wireless/intel/iwlwifi/mld/tx.c
202
txq->tid;
drivers/net/wireless/intel/iwlwifi/mld/tx.c
48
iwl_mld_get_queue_size(struct iwl_mld *mld, struct ieee80211_txq *txq)
drivers/net/wireless/intel/iwlwifi/mld/tx.c
50
struct ieee80211_sta *sta = txq->sta;
drivers/net/wireless/intel/iwlwifi/mld/tx.c
57
for_each_sta_active_link(txq->vif, sta, link_sta, link_id) {
drivers/net/wireless/intel/iwlwifi/mld/tx.c
613
iwl_mld_get_tx_queue_id(struct iwl_mld *mld, struct ieee80211_txq *txq,
drivers/net/wireless/intel/iwlwifi/mld/tx.c
622
if (txq && txq->sta)
drivers/net/wireless/intel/iwlwifi/mld/tx.c
623
return iwl_mld_txq_from_mac80211(txq)->fw_id;
drivers/net/wireless/intel/iwlwifi/mld/tx.c
70
static int iwl_mld_allocate_txq(struct iwl_mld *mld, struct ieee80211_txq *txq)
drivers/net/wireless/intel/iwlwifi/mld/tx.c
72
u8 tid = txq->tid == IEEE80211_NUM_TIDS ? IWL_MGMT_TID : txq->tid;
drivers/net/wireless/intel/iwlwifi/mld/tx.c
73
u32 fw_sta_mask = iwl_mld_fw_sta_id_mask(mld, txq->sta);
drivers/net/wireless/intel/iwlwifi/mld/tx.c
751
struct ieee80211_txq *txq)
drivers/net/wireless/intel/iwlwifi/mld/tx.c
755
struct ieee80211_sta *sta = txq ? txq->sta : NULL;
drivers/net/wireless/intel/iwlwifi/mld/tx.c
757
int queue = iwl_mld_get_tx_queue_id(mld, txq, skb);
drivers/net/wireless/intel/iwlwifi/mld/tx.c
77
switch (txq->vif->type) {
drivers/net/wireless/intel/iwlwifi/mld/tx.c
901
struct ieee80211_txq *txq)
drivers/net/wireless/intel/iwlwifi/mld/tx.c
909
if (WARN_ON(!txq || !txq->sta))
drivers/net/wireless/intel/iwlwifi/mld/tx.c
916
return iwl_mld_tx_mpdu(mld, skb, txq);
drivers/net/wireless/intel/iwlwifi/mld/tx.c
923
ret = iwl_mld_tx_tso_segment(mld, skb, txq->sta, &mpdus_skbs);
drivers/net/wireless/intel/iwlwifi/mld/tx.c
93
size = iwl_mld_get_queue_size(mld, txq);
drivers/net/wireless/intel/iwlwifi/mld/tx.c
932
ret = iwl_mld_tx_mpdu(mld, skb, txq);
drivers/net/wireless/intel/iwlwifi/mld/tx.c
959
struct ieee80211_txq *txq)
drivers/net/wireless/intel/iwlwifi/mld/tx.c
969
struct ieee80211_txq *txq)
drivers/net/wireless/intel/iwlwifi/mld/tx.c
972
if (!iwl_mld_tx_tso(mld, skb, txq))
drivers/net/wireless/intel/iwlwifi/mld/tx.c
977
if (likely(!iwl_mld_tx_mpdu(mld, skb, txq)))
drivers/net/wireless/intel/iwlwifi/mld/tx.c
984
void iwl_mld_tx_from_txq(struct iwl_mld *mld, struct ieee80211_txq *txq)
drivers/net/wireless/intel/iwlwifi/mld/tx.c
986
struct iwl_mld_txq *mld_txq = iwl_mld_txq_from_mac80211(txq);
drivers/net/wireless/intel/iwlwifi/mld/tx.h
46
iwl_mld_txq_from_mac80211(struct ieee80211_txq *txq)
drivers/net/wireless/intel/iwlwifi/mld/tx.h
48
return (void *)txq->drv_priv;
drivers/net/wireless/intel/iwlwifi/mld/tx.h
52
void iwl_mld_remove_txq(struct iwl_mld *mld, struct ieee80211_txq *txq);
drivers/net/wireless/intel/iwlwifi/mld/tx.h
56
void iwl_mld_tx_from_txq(struct iwl_mld *mld, struct ieee80211_txq *txq);
drivers/net/wireless/intel/iwlwifi/mld/tx.h
60
int iwl_mld_ensure_queue(struct iwl_mld *mld, struct ieee80211_txq *txq);
drivers/net/wireless/intel/iwlwifi/mld/tx.h
75
struct ieee80211_txq *txq);
drivers/net/wireless/intel/iwlwifi/mvm/d3.c
1310
mvm, ap_sta->txq[wowlan_config_cmd.offloading_tid]);
drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c
1505
for (i = 0; i < ARRAY_SIZE(sta->txq); i++) {
drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c
1507
iwl_mvm_txq_from_mac80211(sta->txq[i]);
drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c
1510
iwl_mvm_mac_itxq_xmit(hw, sta->txq[i]);
drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c
1554
iwl_mvm_txq_from_mac80211(vif->txq);
drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c
1559
iwl_mvm_mac_itxq_xmit(hw, vif->txq);
drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c
5446
for (i = 0; i < ARRAY_SIZE(sta->txq); i++) {
drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c
5448
iwl_mvm_txq_from_mac80211(sta->txq[i]);
drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c
5505
mvmtxq = iwl_mvm_txq_from_mac80211(vif->txq);
drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c
874
void iwl_mvm_mac_itxq_xmit(struct ieee80211_hw *hw, struct ieee80211_txq *txq)
drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c
877
struct iwl_mvm_txq *mvmtxq = iwl_mvm_txq_from_mac80211(txq);
drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c
911
skb = ieee80211_tx_dequeue(hw, txq);
drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c
914
if (txq->sta)
drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c
917
txq->sta->addr,
drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c
918
txq->tid);
drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c
922
iwl_mvm_tx_skb(mvm, skb, txq->sta);
drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c
929
struct ieee80211_txq *txq)
drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c
932
struct iwl_mvm_txq *mvmtxq = iwl_mvm_txq_from_mac80211(txq);
drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c
935
!txq->sta) {
drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c
936
iwl_mvm_mac_itxq_xmit(hw, txq);
drivers/net/wireless/intel/iwlwifi/mvm/mld-sta.c
123
int ret, txq;
drivers/net/wireless/intel/iwlwifi/mvm/mld-sta.c
141
txq = iwl_mvm_tvqm_enable_txq(mvm, NULL, sta->sta_id, tid,
drivers/net/wireless/intel/iwlwifi/mvm/mld-sta.c
143
if (txq < 0) {
drivers/net/wireless/intel/iwlwifi/mvm/mld-sta.c
145
return txq;
drivers/net/wireless/intel/iwlwifi/mvm/mld-sta.c
147
*queue = txq;
drivers/net/wireless/intel/iwlwifi/mvm/mld-sta.c
780
for (i = 0; i < ARRAY_SIZE(sta->txq); i++) {
drivers/net/wireless/intel/iwlwifi/mvm/mld-sta.c
782
iwl_mvm_txq_from_mac80211(sta->txq[i]);
drivers/net/wireless/intel/iwlwifi/mvm/mvm.h
1693
void iwl_mvm_mac_itxq_xmit(struct ieee80211_hw *hw, struct ieee80211_txq *txq);
drivers/net/wireless/intel/iwlwifi/mvm/mvm.h
2686
struct ieee80211_txq *txq);
drivers/net/wireless/intel/iwlwifi/mvm/mvm.h
808
iwl_mvm_txq_from_mac80211(struct ieee80211_txq *txq)
drivers/net/wireless/intel/iwlwifi/mvm/mvm.h
810
return (void *)txq->drv_priv;
drivers/net/wireless/intel/iwlwifi/mvm/mvm.h
819
return (void *)sta->txq[tid]->drv_priv;
drivers/net/wireless/intel/iwlwifi/mvm/ops.c
1828
struct ieee80211_txq *txq;
drivers/net/wireless/intel/iwlwifi/mvm/ops.c
1872
txq = sta->txq[tid];
drivers/net/wireless/intel/iwlwifi/mvm/ops.c
1873
mvmtxq = iwl_mvm_txq_from_mac80211(txq);
drivers/net/wireless/intel/iwlwifi/mvm/ops.c
1881
iwl_mvm_mac_itxq_xmit(mvm->hw, txq);
drivers/net/wireless/intel/iwlwifi/mvm/sta.c
1491
struct ieee80211_txq *txq)
drivers/net/wireless/intel/iwlwifi/mvm/sta.c
1493
struct iwl_mvm_txq *mvmtxq = iwl_mvm_txq_from_mac80211(txq);
drivers/net/wireless/intel/iwlwifi/mvm/sta.c
1499
!txq->sta) {
drivers/net/wireless/intel/iwlwifi/mvm/sta.c
1503
if (!iwl_mvm_sta_alloc_queue(mvm, txq->sta, txq->ac, txq->tid)) {
drivers/net/wireless/intel/iwlwifi/mvm/sta.c
1534
struct ieee80211_txq *txq;
drivers/net/wireless/intel/iwlwifi/mvm/sta.c
1540
txq = container_of((void *)mvmtxq, struct ieee80211_txq,
drivers/net/wireless/intel/iwlwifi/mvm/sta.c
1542
tid = txq->tid;
drivers/net/wireless/intel/iwlwifi/mvm/sta.c
1552
if (iwl_mvm_sta_alloc_queue(mvm, txq->sta, txq->ac, tid)) {
drivers/net/wireless/intel/iwlwifi/mvm/sta.c
1569
iwl_mvm_mac_itxq_xmit(mvm->hw, txq);
drivers/net/wireless/intel/iwlwifi/mvm/sta.c
1789
for (i = 0; i < ARRAY_SIZE(sta->txq); i++) {
drivers/net/wireless/intel/iwlwifi/mvm/sta.c
1791
iwl_mvm_txq_from_mac80211(sta->txq[i]);
drivers/net/wireless/intel/iwlwifi/mvm/sta.c
1998
for (i = 0; i < ARRAY_SIZE(sta->txq); i++) {
drivers/net/wireless/intel/iwlwifi/mvm/sta.c
2000
iwl_mvm_txq_from_mac80211(sta->txq[i]);
drivers/net/wireless/intel/iwlwifi/mvm/sta.c
2228
int txq;
drivers/net/wireless/intel/iwlwifi/mvm/sta.c
2230
txq = iwl_mvm_enable_aux_snif_queue_tvqm(mvm, sta->sta_id);
drivers/net/wireless/intel/iwlwifi/mvm/sta.c
2231
if (txq < 0) {
drivers/net/wireless/intel/iwlwifi/mvm/sta.c
2233
return txq;
drivers/net/wireless/intel/iwlwifi/mvm/sta.c
2236
*queue = txq;
drivers/net/wireless/intel/iwlwifi/mvm/sta.c
703
bool force, struct iwl_mvm_txq *txq)
drivers/net/wireless/intel/iwlwifi/mvm/sta.c
739
set_bit(IWL_MVM_TXQ_STATE_STOP_REDIRECT, &txq->state);
drivers/net/wireless/intel/iwlwifi/mvm/sta.c
782
clear_bit(IWL_MVM_TXQ_STATE_STOP_REDIRECT, &txq->state);
drivers/net/wireless/intel/iwlwifi/mvm/sta.h
572
int iwl_mvm_sta_ensure_queue(struct iwl_mvm *mvm, struct ieee80211_txq *txq);
drivers/net/wireless/intel/iwlwifi/mvm/tx.c
1926
int txq, int index,
drivers/net/wireless/intel/iwlwifi/mvm/tx.c
1959
iwl_trans_reclaim(mvm->trans, txq, index, &reclaimed_skbs, is_flush);
drivers/net/wireless/intel/iwlwifi/mvm/tx.c
1991
if (tid_data->txq_id != txq) {
drivers/net/wireless/intel/iwlwifi/mvm/tx.c
2074
int sta_id, tid, txq, index;
drivers/net/wireless/intel/iwlwifi/mvm/tx.c
2168
txq = le16_to_cpu(ba_notif->scd_flow);
drivers/net/wireless/intel/iwlwifi/mvm/tx.c
2199
le64_to_cpu(ba_notif->bitmap), txq, index,
drivers/net/wireless/intel/iwlwifi/mvm/tx.c
2205
iwl_mvm_tx_reclaim(mvm, sta_id, tid, txq, index, &ba_info,
drivers/net/wireless/intel/iwlwifi/pcie/ctxt-info-v2.c
253
cpu_to_le64(trans_pcie->txqs.txq[trans->conf.cmd_queue]->dma_addr);
drivers/net/wireless/intel/iwlwifi/pcie/ctxt-info.c
227
cpu_to_le64(trans_pcie->txqs.txq[trans->conf.cmd_queue]->dma_addr);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/internal.h
409
struct iwl_txq *txq[IWL_MAX_TVQM_QUEUES];
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/internal.h
734
int iwl_pcie_txq_alloc(struct iwl_trans *trans, struct iwl_txq *txq,
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/internal.h
758
iwl_txq_get_first_tb_dma(struct iwl_txq *txq, int idx)
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/internal.h
760
return txq->first_tb_dma +
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/internal.h
770
struct iwl_txq *txq, int idx)
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/internal.h
775
idx = iwl_txq_get_cmd_index(txq, idx);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/internal.h
777
return (u8 *)txq->tfds + trans_pcie->txqs.tfd.size * idx;
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/internal.h
792
static inline void iwl_txq_stop(struct iwl_trans *trans, struct iwl_txq *txq)
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/internal.h
796
if (!test_and_set_bit(txq->id, trans_pcie->txqs.queue_stopped)) {
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/internal.h
797
iwl_op_mode_queue_full(trans->op_mode, txq->id);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/internal.h
798
IWL_DEBUG_TX_QUEUES(trans, "Stop hwq %d\n", txq->id);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/internal.h
801
txq->id);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/internal.h
829
void iwl_txq_log_scd_error(struct iwl_trans *trans, struct iwl_txq *txq);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/internal.h
832
iwl_trans_pcie_wake_queue(struct iwl_trans *trans, struct iwl_txq *txq)
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/internal.h
836
if (test_and_clear_bit(txq->id, trans_pcie->txqs.queue_stopped)) {
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/internal.h
837
IWL_DEBUG_TX_QUEUES(trans, "Wake hwq %d\n", txq->id);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/internal.h
838
iwl_op_mode_queue_not_full(trans->op_mode, txq->id);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/internal.h
870
int iwl_txq_init(struct iwl_trans *trans, struct iwl_txq *txq,
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/rx.c
1306
struct iwl_txq *txq = trans_pcie->txqs.txq[trans->conf.cmd_queue];
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/rx.c
1394
if (reclaim && txq) {
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/rx.c
1397
int cmd_index = iwl_txq_get_cmd_index(txq, index);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/rx.c
1399
kfree_sensitive(txq->entries[cmd_index].free_buf);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/rx.c
1400
txq->entries[cmd_index].free_buf = NULL;
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/rx.c
1700
if (!trans_pcie->txqs.txq[i])
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/rx.c
1702
timer_delete(&trans_pcie->txqs.txq[i]->stuck_timer);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/trans.c
2590
struct iwl_txq *txq;
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/trans.c
2603
txq = trans_pcie->txqs.txq[txq_idx];
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/trans.c
2605
spin_lock_bh(&txq->lock);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/trans.c
2606
overflow_tx = txq->overflow_tx ||
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/trans.c
2607
!skb_queue_empty(&txq->overflow_q);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/trans.c
2608
spin_unlock_bh(&txq->lock);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/trans.c
2610
wr_ptr = READ_ONCE(txq->write_ptr);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/trans.c
2612
while ((txq->read_ptr != READ_ONCE(txq->write_ptr) ||
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/trans.c
2616
int write_ptr = READ_ONCE(txq->write_ptr);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/trans.c
2631
spin_lock_bh(&txq->lock);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/trans.c
2632
overflow_tx = txq->overflow_tx ||
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/trans.c
2633
!skb_queue_empty(&txq->overflow_q);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/trans.c
2634
spin_unlock_bh(&txq->lock);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/trans.c
2637
if (txq->read_ptr != txq->write_ptr) {
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/trans.c
2640
iwl_txq_log_scd_error(trans, txq);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/trans.c
2836
struct iwl_txq *txq = trans_pcie->txqs.txq[state->pos];
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/trans.c
2842
if (txq)
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/trans.c
2845
txq->read_ptr, txq->write_ptr,
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/trans.c
2846
txq->need_update, txq->frozen,
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/trans.c
2847
txq->n_window, txq->ampdu);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/trans.c
3589
struct iwl_txq *cmdq = trans_pcie->txqs.txq[trans->conf.cmd_queue];
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx-gen2.c
1000
txq->id = qid;
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx-gen2.c
1001
trans_pcie->txqs.txq[qid] = txq;
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx-gen2.c
1005
txq->read_ptr = wr_ptr;
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx-gen2.c
1006
txq->write_ptr = wr_ptr;
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx-gen2.c
1015
iwl_txq_gen2_free_memory(trans, txq);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx-gen2.c
1023
struct iwl_txq *txq;
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx-gen2.c
1041
txq = iwl_txq_dyn_alloc_dma(trans, size, timeout);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx-gen2.c
1044
txq = iwl_txq_dyn_alloc_dma(trans, size, timeout);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx-gen2.c
1045
if (!IS_ERR(txq))
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx-gen2.c
1051
PTR_ERR(txq));
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx-gen2.c
1056
if (IS_ERR(txq))
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx-gen2.c
1057
return PTR_ERR(txq);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx-gen2.c
1061
cmd.old.tfdq_addr = cpu_to_le64(txq->dma_addr);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx-gen2.c
1062
cmd.old.byte_cnt_addr = cpu_to_le64(txq->bc_tbl.dma);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx-gen2.c
1079
cmd.new.u.add.tfdq_dram_addr = cpu_to_le64(txq->dma_addr);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx-gen2.c
1080
cmd.new.u.add.bc_dram_addr = cpu_to_le64(txq->bc_tbl.dma);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx-gen2.c
1098
return iwl_pcie_txq_alloc_response(trans, txq, &hcmd);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx-gen2.c
1101
iwl_txq_gen2_free_memory(trans, txq);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx-gen2.c
1139
for (i = 0; i < ARRAY_SIZE(trans_pcie->txqs.txq); i++) {
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx-gen2.c
1140
if (!trans_pcie->txqs.txq[i])
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx-gen2.c
1154
if (!trans_pcie->txqs.txq[txq_id]) {
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx-gen2.c
1160
trans_pcie->txqs.txq[txq_id] = queue;
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx-gen2.c
1167
queue = trans_pcie->txqs.txq[txq_id];
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx-gen2.c
1176
trans_pcie->txqs.txq[txq_id]->id = txq_id;
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx-gen2.c
1201
struct iwl_txq *txq = trans_pcie->txqs.txq[trans->conf.cmd_queue];
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx-gen2.c
1285
spin_lock_irqsave(&txq->lock, flags);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx-gen2.c
1287
idx = iwl_txq_get_cmd_index(txq, txq->write_ptr);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx-gen2.c
1288
tfd = iwl_txq_get_tfd(trans, txq, txq->write_ptr);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx-gen2.c
1291
if (iwl_txq_space(trans, txq) < ((cmd->flags & CMD_ASYNC) ? 2 : 1)) {
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx-gen2.c
1292
spin_unlock_irqrestore(&txq->lock, flags);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx-gen2.c
1302
out_cmd = txq->entries[idx].cmd;
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx-gen2.c
1303
out_meta = &txq->entries[idx].meta;
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx-gen2.c
1319
INDEX_TO_SEQ(txq->write_ptr));
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx-gen2.c
1366
cmd_size, txq->write_ptr, idx, trans->conf.cmd_queue);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx-gen2.c
1370
memcpy(&txq->first_tb_bufs[idx], out_cmd, tb0_size);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx-gen2.c
1371
iwl_txq_gen2_set_tb(trans, tfd, iwl_txq_get_first_tb_dma(txq, idx),
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx-gen2.c
1412
if (WARN_ON_ONCE(txq->entries[idx].free_buf))
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx-gen2.c
1413
kfree_sensitive(txq->entries[idx].free_buf);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx-gen2.c
1414
txq->entries[idx].free_buf = dup_buf;
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx-gen2.c
1419
if (txq->read_ptr == txq->write_ptr && txq->wd_timeout)
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx-gen2.c
1420
mod_timer(&txq->stuck_timer, jiffies + txq->wd_timeout);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx-gen2.c
1424
txq->write_ptr = iwl_txq_inc_wrap(trans, txq->write_ptr);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx-gen2.c
1425
iwl_txq_inc_wr_ptr(trans, txq);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx-gen2.c
1429
spin_unlock_irqrestore(&txq->lock, flags);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx-gen2.c
297
struct iwl_txq *txq,
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx-gen2.c
304
int idx = iwl_txq_get_cmd_index(txq, txq->write_ptr);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx-gen2.c
305
struct iwl_tfh_tfd *tfd = iwl_txq_get_tfd(trans, txq, idx);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx-gen2.c
310
tb_phys = iwl_txq_get_first_tb_dma(txq, idx);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx-gen2.c
346
memcpy(&txq->first_tb_bufs[idx], dev_cmd, IWL_FIRST_TB_SIZE);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx-gen2.c
385
struct iwl_txq *txq,
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx-gen2.c
393
int idx = iwl_txq_get_cmd_index(txq, txq->write_ptr);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx-gen2.c
394
struct iwl_tfh_tfd *tfd = iwl_txq_get_tfd(trans, txq, idx);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx-gen2.c
400
tb_phys = iwl_txq_get_first_tb_dma(txq, idx);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx-gen2.c
403
memcpy(&txq->first_tb_bufs[idx], dev_cmd, IWL_FIRST_TB_SIZE);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx-gen2.c
481
struct iwl_txq *txq,
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx-gen2.c
487
int idx = iwl_txq_get_cmd_index(txq, txq->write_ptr);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx-gen2.c
488
struct iwl_tfh_tfd *tfd = iwl_txq_get_tfd(trans, txq, idx);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx-gen2.c
521
return iwl_txq_gen2_build_tx_amsdu(trans, txq, dev_cmd, skb,
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx-gen2.c
523
return iwl_txq_gen2_build_tx(trans, txq, dev_cmd, skb, out_meta,
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx-gen2.c
560
struct iwl_txq *txq, u16 byte_cnt,
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx-gen2.c
563
int idx = iwl_txq_get_cmd_index(txq, txq->write_ptr);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx-gen2.c
564
struct iwl_bc_tbl_entry *scd_bc_tbl = txq->bc_tbl.addr;
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx-gen2.c
569
if (WARN(idx >= txq->n_window, "%d >= %d\n", idx, txq->n_window))
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx-gen2.c
673
static void iwl_txq_gen2_free_tfd(struct iwl_trans *trans, struct iwl_txq *txq)
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx-gen2.c
678
int idx = iwl_txq_get_cmd_index(txq, txq->read_ptr);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx-gen2.c
681
lockdep_assert_held(&txq->lock);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx-gen2.c
683
if (!txq->entries)
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx-gen2.c
686
iwl_txq_gen2_tfd_unmap(trans, &txq->entries[idx].meta,
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx-gen2.c
687
iwl_txq_get_tfd(trans, txq, idx));
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx-gen2.c
689
skb = txq->entries[idx].skb;
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx-gen2.c
697
txq->entries[idx].skb = NULL;
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx-gen2.c
704
static void iwl_txq_inc_wr_ptr(struct iwl_trans *trans, struct iwl_txq *txq)
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx-gen2.c
706
lockdep_assert_held(&txq->lock);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx-gen2.c
708
IWL_DEBUG_TX(trans, "Q:%d WR: 0x%x\n", txq->id, txq->write_ptr);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx-gen2.c
714
iwl_write32(trans, HBUS_TARG_WRPTR, txq->write_ptr | (txq->id << 16));
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx-gen2.c
722
struct iwl_txq *txq = trans_pcie->txqs.txq[txq_id];
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx-gen2.c
740
spin_lock(&txq->lock);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx-gen2.c
742
if (iwl_txq_space(trans, txq) < txq->high_mark) {
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx-gen2.c
743
iwl_txq_stop(trans, txq);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx-gen2.c
746
if (unlikely(iwl_txq_space(trans, txq) < 3)) {
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx-gen2.c
754
__skb_queue_tail(&txq->overflow_q, skb);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx-gen2.c
755
spin_unlock(&txq->lock);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx-gen2.c
760
idx = iwl_txq_get_cmd_index(txq, txq->write_ptr);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx-gen2.c
763
txq->entries[idx].skb = skb;
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx-gen2.c
764
txq->entries[idx].cmd = dev_cmd;
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx-gen2.c
771
out_meta = &txq->entries[idx].meta;
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx-gen2.c
774
tfd = iwl_txq_gen2_build_tfd(trans, txq, dev_cmd, skb, out_meta);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx-gen2.c
776
spin_unlock(&txq->lock);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx-gen2.c
793
iwl_pcie_gen2_update_byte_tbl(trans, txq, cmd_len,
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx-gen2.c
797
if (txq->read_ptr == txq->write_ptr && txq->wd_timeout)
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx-gen2.c
798
mod_timer(&txq->stuck_timer, jiffies + txq->wd_timeout);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx-gen2.c
801
txq->write_ptr = iwl_txq_inc_wrap(trans, txq->write_ptr);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx-gen2.c
802
iwl_txq_inc_wr_ptr(trans, txq);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx-gen2.c
807
spin_unlock(&txq->lock);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx-gen2.c
819
struct iwl_txq *txq = trans_pcie->txqs.txq[txq_id];
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx-gen2.c
821
spin_lock_bh(&txq->reclaim_lock);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx-gen2.c
822
spin_lock(&txq->lock);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx-gen2.c
823
while (txq->write_ptr != txq->read_ptr) {
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx-gen2.c
825
txq_id, txq->read_ptr);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx-gen2.c
828
int idx = iwl_txq_get_cmd_index(txq, txq->read_ptr);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx-gen2.c
829
struct iwl_cmd_meta *cmd_meta = &txq->entries[idx].meta;
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx-gen2.c
830
struct sk_buff *skb = txq->entries[idx].skb;
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx-gen2.c
835
iwl_txq_gen2_free_tfd(trans, txq);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx-gen2.c
836
txq->read_ptr = iwl_txq_inc_wrap(trans, txq->read_ptr);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx-gen2.c
839
while (!skb_queue_empty(&txq->overflow_q)) {
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx-gen2.c
840
struct sk_buff *skb = __skb_dequeue(&txq->overflow_q);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx-gen2.c
845
spin_unlock(&txq->lock);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx-gen2.c
846
spin_unlock_bh(&txq->reclaim_lock);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx-gen2.c
849
iwl_trans_pcie_wake_queue(trans, txq);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx-gen2.c
853
struct iwl_txq *txq)
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx-gen2.c
859
if (txq->tfds) {
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx-gen2.c
861
trans_pcie->txqs.tfd.size * txq->n_window,
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx-gen2.c
862
txq->tfds, txq->dma_addr);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx-gen2.c
864
sizeof(*txq->first_tb_bufs) * txq->n_window,
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx-gen2.c
865
txq->first_tb_bufs, txq->first_tb_dma);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx-gen2.c
868
kfree(txq->entries);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx-gen2.c
869
if (txq->bc_tbl.addr)
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx-gen2.c
871
txq->bc_tbl.addr, txq->bc_tbl.dma);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx-gen2.c
872
kfree(txq);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx-gen2.c
886
struct iwl_txq *txq;
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx-gen2.c
893
txq = trans_pcie->txqs.txq[txq_id];
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx-gen2.c
895
if (WARN_ON(!txq))
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx-gen2.c
902
for (i = 0; i < txq->n_window; i++) {
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx-gen2.c
903
kfree_sensitive(txq->entries[i].cmd);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx-gen2.c
904
kfree_sensitive(txq->entries[i].free_buf);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx-gen2.c
906
timer_delete_sync(&txq->stuck_timer);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx-gen2.c
908
iwl_txq_gen2_free_memory(trans, txq);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx-gen2.c
910
trans_pcie->txqs.txq[txq_id] = NULL;
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx-gen2.c
920
struct iwl_txq *txq;
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx-gen2.c
931
txq = kzalloc_obj(*txq);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx-gen2.c
932
if (!txq)
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx-gen2.c
935
txq->bc_tbl.addr = dma_pool_alloc(trans_pcie->txqs.bc_pool, GFP_KERNEL,
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx-gen2.c
936
&txq->bc_tbl.dma);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx-gen2.c
937
if (!txq->bc_tbl.addr) {
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx-gen2.c
939
kfree(txq);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx-gen2.c
943
ret = iwl_pcie_txq_alloc(trans, txq, size, false);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx-gen2.c
948
ret = iwl_txq_init(trans, txq, size, false);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx-gen2.c
954
txq->wd_timeout = msecs_to_jiffies(timeout);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx-gen2.c
956
return txq;
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx-gen2.c
959
iwl_txq_gen2_free_memory(trans, txq);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx-gen2.c
964
struct iwl_txq *txq,
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx-gen2.c
982
if (qid >= ARRAY_SIZE(trans_pcie->txqs.txq)) {
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx-gen2.c
994
if (WARN_ONCE(trans_pcie->txqs.txq[qid],
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
1036
static void iwl_txq_progress(struct iwl_txq *txq)
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
1038
lockdep_assert_held(&txq->lock);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
1040
if (!txq->wd_timeout)
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
1047
if (txq->frozen)
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
1054
if (txq->read_ptr == txq->write_ptr)
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
1055
timer_delete(&txq->stuck_timer);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
1057
mod_timer(&txq->stuck_timer, jiffies + txq->wd_timeout);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
1082
struct iwl_txq *txq = trans_pcie->txqs.txq[txq_id];
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
1086
lockdep_assert_held(&txq->lock);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
1088
idx = iwl_txq_get_cmd_index(txq, idx);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
1089
r = iwl_txq_get_cmd_index(txq, txq->read_ptr);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
109
txq->need_update = true;
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
1092
(!iwl_txq_used(txq, idx, txq->read_ptr, txq->write_ptr))) {
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
1097
txq->write_ptr, txq->read_ptr);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
1103
txq->read_ptr = iwl_txq_inc_wrap(trans, txq->read_ptr);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
1107
idx, txq->write_ptr, r);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
1112
if (txq->read_ptr == txq->write_ptr)
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
1115
iwl_txq_progress(txq);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
1152
struct iwl_txq *txq = trans_pcie->txqs.txq[txq_id];
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
1159
txq->wd_timeout = msecs_to_jiffies(wdg_timeout);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
118
IWL_DEBUG_TX(trans, "Q:%d WR: 0x%x\n", txq_id, txq->write_ptr);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
1184
txq->ampdu = true;
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
119
if (!txq->block)
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
1193
ssn = txq->read_ptr;
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
1208
!((ssn - txq->write_ptr) & 0x3f) &&
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
1209
(ssn != txq->write_ptr);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
121
txq->write_ptr | (txq_id << 8));
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
1216
txq->read_ptr = (ssn & 0xff);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
1217
txq->write_ptr = (ssn & 0xff);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
1263
struct iwl_txq *txq = trans_pcie->txqs.txq[txq_id];
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
1265
txq->ampdu = !shared_mode;
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
1276
trans_pcie->txqs.txq[txq_id]->frozen_expiry_remainder = 0;
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
1277
trans_pcie->txqs.txq[txq_id]->frozen = false;
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
1299
trans_pcie->txqs.txq[txq_id]->ampdu = false;
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
130
struct iwl_txq *txq = trans_pcie->txqs.txq[i];
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
1312
struct iwl_txq *txq = trans_pcie->txqs.txq[i];
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
1318
spin_lock_nested(&txq->lock, 1);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
1320
if (!block && !(WARN_ON_ONCE(!txq->block))) {
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
1321
txq->block--;
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
1322
if (!txq->block) {
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
1324
txq->write_ptr | (i << 8));
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
1327
txq->block++;
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
1330
spin_unlock(&txq->lock);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
1347
struct iwl_txq *txq = trans_pcie->txqs.txq[trans->conf.cmd_queue];
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
135
spin_lock_bh(&txq->lock);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
136
if (txq->need_update) {
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
137
iwl_pcie_txq_inc_wr_ptr(trans, txq);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
138
txq->need_update = false;
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
140
spin_unlock_bh(&txq->lock);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
1444
spin_lock_irqsave(&txq->lock, flags);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
1446
if (iwl_txq_space(trans, txq) < ((cmd->flags & CMD_ASYNC) ? 2 : 1)) {
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
1447
spin_unlock_irqrestore(&txq->lock, flags);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
1457
idx = iwl_txq_get_cmd_index(txq, txq->write_ptr);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
1458
out_cmd = txq->entries[idx].cmd;
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
1459
out_meta = &txq->entries[idx].meta;
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
1477
INDEX_TO_SEQ(txq->write_ptr));
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
1485
INDEX_TO_SEQ(txq->write_ptr));
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
1535
cmd_size, txq->write_ptr, idx, trans->conf.cmd_queue);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
1539
memcpy(&txq->first_tb_bufs[idx], &out_cmd->hdr, tb0_size);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
1540
iwl_pcie_txq_build_tfd(trans, txq,
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
1541
iwl_txq_get_first_tb_dma(txq, idx),
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
1551
iwl_txq_gen1_tfd_unmap(trans, out_meta, txq,
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
1552
txq->write_ptr);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
1557
iwl_pcie_txq_build_tfd(trans, txq, phys_addr,
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
1575
iwl_txq_gen1_tfd_unmap(trans, out_meta, txq,
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
1576
txq->write_ptr);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
1581
iwl_pcie_txq_build_tfd(trans, txq, phys_addr, cmdlen[i], false);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
1586
if (WARN_ON_ONCE(txq->entries[idx].free_buf))
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
1587
kfree_sensitive(txq->entries[idx].free_buf);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
1588
txq->entries[idx].free_buf = dup_buf;
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
1593
if (txq->read_ptr == txq->write_ptr && txq->wd_timeout)
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
1594
mod_timer(&txq->stuck_timer, jiffies + txq->wd_timeout);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
1606
txq->write_ptr = iwl_txq_inc_wrap(trans, txq->write_ptr);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
1607
iwl_pcie_txq_inc_wr_ptr(trans, txq);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
1610
spin_unlock_irqrestore(&txq->lock, flags);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
163
static int iwl_pcie_txq_build_tfd(struct iwl_trans *trans, struct iwl_txq *txq,
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
1634
struct iwl_txq *txq = trans_pcie->txqs.txq[trans->conf.cmd_queue];
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
1641
txq_id, trans->conf.cmd_queue, sequence, txq->read_ptr,
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
1642
txq->write_ptr, 32, pkt))
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
1645
spin_lock_bh(&txq->lock);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
1647
cmd_index = iwl_txq_get_cmd_index(txq, index);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
1648
cmd = txq->entries[cmd_index].cmd;
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
1649
meta = &txq->entries[cmd_index].meta;
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
1655
iwl_txq_get_tfd(trans, txq, index));
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
1657
iwl_txq_gen1_tfd_unmap(trans, meta, txq, index);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
1687
spin_unlock_bh(&txq->lock);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
1691
struct iwl_txq *txq, u8 hdr_len,
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
170
tfd = (u8 *)txq->tfds + trans_pcie->txqs.tfd.size * txq->write_ptr;
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
1711
iwl_pcie_txq_build_tfd(trans, txq, tb_phys, head_tb_len, false);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
1730
tb_idx = iwl_pcie_txq_build_tfd(trans, txq, tb_phys,
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
1905
struct iwl_txq *txq, u8 hdr_len,
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
1928
iwl_txq_get_tfd(trans, txq, txq->write_ptr),
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
2001
iwl_pcie_txq_build_tfd(trans, txq, hdr_tb_phys,
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
2022
iwl_pcie_txq_build_tfd(trans, txq, tb_phys,
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
2043
struct iwl_txq *txq, u8 hdr_len,
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
2062
struct iwl_txq *txq, u16 byte_cnt,
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
2067
int write_ptr = txq->write_ptr;
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
2068
int txq_id = txq->id;
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
2072
struct iwl_device_tx_cmd *dev_cmd = txq->entries[txq->write_ptr].cmd;
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
2115
struct iwl_txq *txq;
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
2126
txq = trans_pcie->txqs.txq[txq_id];
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
2144
spin_lock(&txq->lock);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
2146
if (iwl_txq_space(trans, txq) < txq->high_mark) {
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
2147
iwl_txq_stop(trans, txq);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
2150
if (unlikely(iwl_txq_space(trans, txq) < 3)) {
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
2158
__skb_queue_tail(&txq->overflow_q, skb);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
2160
spin_unlock(&txq->lock);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
2171
WARN_ONCE(txq->ampdu &&
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
2172
(wifi_seq & 0xff) != txq->write_ptr,
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
2174
txq_id, wifi_seq, txq->write_ptr);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
2177
txq->entries[txq->write_ptr].skb = skb;
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
2178
txq->entries[txq->write_ptr].cmd = dev_cmd;
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
2182
INDEX_TO_SEQ(txq->write_ptr)));
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
2184
tb0_phys = iwl_txq_get_first_tb_dma(txq, txq->write_ptr);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
2192
out_meta = &txq->entries[txq->write_ptr].meta;
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
2220
iwl_pcie_txq_build_tfd(trans, txq, tb0_phys,
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
2234
iwl_pcie_txq_build_tfd(trans, txq, tb1_phys, tb1_len, false);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
2237
iwl_txq_get_tfd(trans, txq, txq->write_ptr),
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
2249
if (unlikely(iwl_fill_data_tbs_amsdu(trans, skb, txq, hdr_len,
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
2256
if (unlikely(iwl_fill_data_tbs(trans, skb, txq, hdr_len,
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
2261
if (unlikely(iwl_fill_data_tbs(trans, frag, txq, 0,
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
2268
memcpy(&txq->first_tb_bufs[txq->write_ptr], dev_cmd, IWL_FIRST_TB_SIZE);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
2270
tfd = iwl_txq_get_tfd(trans, txq, txq->write_ptr);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
2272
iwl_txq_gen1_update_byte_cnt_tbl(trans, txq, le16_to_cpu(tx_cmd->params.len),
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
2278
if (txq->read_ptr == txq->write_ptr && txq->wd_timeout) {
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
2285
if (!txq->frozen)
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
2286
mod_timer(&txq->stuck_timer,
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
2287
jiffies + txq->wd_timeout);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
2289
txq->frozen_expiry_remainder = txq->wd_timeout;
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
2293
txq->write_ptr = iwl_txq_inc_wrap(trans, txq->write_ptr);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
2295
iwl_pcie_txq_inc_wr_ptr(trans, txq);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
2301
spin_unlock(&txq->lock);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
2304
iwl_txq_gen1_tfd_unmap(trans, out_meta, txq, txq->write_ptr);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
2305
spin_unlock(&txq->lock);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
2310
struct iwl_txq *txq,
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
2315
int txq_id = txq->id;
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
2318
struct iwl_device_tx_cmd *dev_cmd = txq->entries[read_ptr].cmd;
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
2340
struct iwl_txq *txq = trans_pcie->txqs.txq[txq_id];
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
2348
if (WARN_ON(!txq))
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
2351
tfd_num = iwl_txq_get_cmd_index(txq, ssn);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
2353
spin_lock_bh(&txq->reclaim_lock);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
2355
spin_lock(&txq->lock);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
2356
txq_read_ptr = txq->read_ptr;
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
2357
txq_write_ptr = txq->write_ptr;
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
2358
spin_unlock(&txq->lock);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
2364
read_ptr = iwl_txq_get_cmd_index(txq, txq_read_ptr);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
2383
if (!iwl_txq_used(txq, last_to_free, txq_read_ptr, txq_write_ptr)) {
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
2402
read_ptr = iwl_txq_get_cmd_index(txq, txq_read_ptr)) {
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
2403
struct iwl_cmd_meta *cmd_meta = &txq->entries[read_ptr].meta;
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
2404
struct sk_buff *skb = txq->entries[read_ptr].skb;
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
2414
txq->entries[read_ptr].skb = NULL;
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
2417
iwl_txq_gen1_inval_byte_cnt_tbl(trans, txq,
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
2420
iwl_txq_free_tfd(trans, txq, txq_read_ptr);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
2423
spin_lock(&txq->lock);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
2424
txq->read_ptr = txq_read_ptr;
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
2426
iwl_txq_progress(txq);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
2428
if (iwl_txq_space(trans, txq) > txq->low_mark &&
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
2434
skb_queue_splice_init(&txq->overflow_q,
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
2444
txq->overflow_tx = true;
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
2452
spin_unlock(&txq->lock);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
2469
if (iwl_txq_space(trans, txq) > txq->low_mark)
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
2470
iwl_trans_pcie_wake_queue(trans, txq);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
2472
spin_lock(&txq->lock);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
2473
txq->overflow_tx = false;
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
2476
spin_unlock(&txq->lock);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
2478
spin_unlock_bh(&txq->reclaim_lock);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
2485
struct iwl_txq *txq = trans_pcie->txqs.txq[txq_id];
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
2487
spin_lock_bh(&txq->lock);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
2489
txq->write_ptr = ptr;
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
2490
txq->read_ptr = txq->write_ptr;
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
2492
spin_unlock_bh(&txq->lock);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
2502
struct iwl_txq *txq = trans_pcie->txqs.txq[queue];
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
2505
spin_lock_bh(&txq->lock);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
2509
if (txq->frozen == freeze)
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
2515
txq->frozen = freeze;
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
2517
if (txq->read_ptr == txq->write_ptr)
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
2522
txq->stuck_timer.expires))) {
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
2530
txq->frozen_expiry_remainder =
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
2531
txq->stuck_timer.expires - now;
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
2532
timer_delete(&txq->stuck_timer);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
2540
mod_timer(&txq->stuck_timer,
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
2541
now + txq->frozen_expiry_remainder);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
2544
spin_unlock_bh(&txq->lock);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
2555
struct iwl_txq *txq = trans_pcie->txqs.txq[trans->conf.cmd_queue];
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
2590
txq->read_ptr, txq->write_ptr);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
2635
txq->entries[cmd_idx].meta.flags &= ~CMD_WANT_SKB;
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
293
struct iwl_txq *txq, int index)
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
297
struct iwl_tfd *tfd = iwl_txq_get_tfd(trans, txq, index);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
343
static void iwl_txq_free_tfd(struct iwl_trans *trans, struct iwl_txq *txq,
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
349
int idx = iwl_txq_get_cmd_index(txq, read_ptr);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
352
lockdep_assert_held(&txq->reclaim_lock);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
354
if (!txq->entries)
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
361
iwl_txq_gen2_tfd_unmap(trans, &txq->entries[idx].meta,
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
362
iwl_txq_get_tfd(trans, txq, read_ptr));
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
364
iwl_txq_gen1_tfd_unmap(trans, &txq->entries[idx].meta,
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
365
txq, read_ptr);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
368
skb = txq->entries[idx].skb;
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
376
txq->entries[idx].skb = NULL;
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
386
struct iwl_txq *txq = trans_pcie->txqs.txq[txq_id];
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
388
if (!txq) {
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
393
spin_lock_bh(&txq->reclaim_lock);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
394
spin_lock(&txq->lock);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
395
while (txq->write_ptr != txq->read_ptr) {
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
397
txq_id, txq->read_ptr);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
400
struct sk_buff *skb = txq->entries[txq->read_ptr].skb;
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
402
&txq->entries[txq->read_ptr].meta;
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
409
iwl_txq_free_tfd(trans, txq, txq->read_ptr);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
410
txq->read_ptr = iwl_txq_inc_wrap(trans, txq->read_ptr);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
412
if (txq->read_ptr == txq->write_ptr &&
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
417
while (!skb_queue_empty(&txq->overflow_q)) {
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
418
struct sk_buff *skb = __skb_dequeue(&txq->overflow_q);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
423
spin_unlock(&txq->lock);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
424
spin_unlock_bh(&txq->reclaim_lock);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
427
iwl_trans_pcie_wake_queue(trans, txq);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
441
struct iwl_txq *txq = trans_pcie->txqs.txq[txq_id];
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
445
if (WARN_ON(!txq))
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
452
for (i = 0; i < txq->n_window; i++) {
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
453
kfree_sensitive(txq->entries[i].cmd);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
454
kfree_sensitive(txq->entries[i].free_buf);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
458
if (txq->tfds) {
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
462
txq->tfds, txq->dma_addr);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
463
txq->dma_addr = 0;
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
464
txq->tfds = NULL;
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
467
sizeof(*txq->first_tb_bufs) * txq->n_window,
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
468
txq->first_tb_bufs, txq->first_tb_dma);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
471
kfree(txq->entries);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
472
txq->entries = NULL;
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
474
timer_delete_sync(&txq->stuck_timer);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
477
memset(txq, 0, sizeof(*txq));
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
550
struct iwl_txq *txq = trans_pcie->txqs.txq[txq_id];
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
554
txq->dma_addr);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
558
txq->dma_addr >> 8);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
560
txq->read_ptr = 0;
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
561
txq->write_ptr = 0;
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
661
trans_pcie->txqs.txq[txq_id] = NULL;
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
673
void iwl_txq_log_scd_error(struct iwl_trans *trans, struct iwl_txq *txq)
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
675
u32 txq_id = txq->id;
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
682
txq->read_ptr, txq->write_ptr);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
694
jiffies_to_msecs(txq->wd_timeout),
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
695
txq->read_ptr, txq->write_ptr,
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
705
struct iwl_txq *txq = timer_container_of(txq, t, stuck_timer);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
706
struct iwl_trans *trans = txq->trans;
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
708
spin_lock(&txq->lock);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
710
if (txq->read_ptr == txq->write_ptr) {
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
711
spin_unlock(&txq->lock);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
714
spin_unlock(&txq->lock);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
716
iwl_txq_log_scd_error(trans, txq);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
721
int iwl_pcie_txq_alloc(struct iwl_trans *trans, struct iwl_txq *txq,
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
734
if (WARN_ON(txq->entries || txq->tfds))
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
739
timer_setup(&txq->stuck_timer, iwl_txq_stuck_timer, 0);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
740
txq->trans = trans;
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
742
txq->n_window = slots_num;
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
744
txq->entries = kzalloc_objs(struct iwl_pcie_txq_entry, slots_num);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
746
if (!txq->entries)
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
751
txq->entries[i].cmd =
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
753
if (!txq->entries[i].cmd)
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
760
txq->tfds = dma_alloc_coherent(trans->dev, tfd_sz,
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
761
&txq->dma_addr, GFP_KERNEL);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
762
if (!txq->tfds)
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
765
BUILD_BUG_ON(sizeof(*txq->first_tb_bufs) != IWL_FIRST_TB_SIZE_ALIGN);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
767
tb0_buf_sz = sizeof(*txq->first_tb_bufs) * slots_num;
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
769
txq->first_tb_bufs = dma_alloc_coherent(trans->dev, tb0_buf_sz,
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
770
&txq->first_tb_dma,
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
772
if (!txq->first_tb_bufs)
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
776
void *tfd = iwl_txq_get_tfd(trans, txq, i);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
786
dma_free_coherent(trans->dev, tfd_sz, txq->tfds, txq->dma_addr);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
787
txq->tfds = NULL;
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
789
if (txq->entries && cmd_queue)
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
791
kfree(txq->entries[i].cmd);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
792
kfree(txq->entries);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
793
txq->entries = NULL;
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
81
struct iwl_txq *txq)
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
84
int txq_id = txq->id;
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
857
trans_pcie->txqs.txq[txq_id] = &trans_pcie->txq_memory[txq_id];
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
858
ret = iwl_pcie_txq_alloc(trans, trans_pcie->txqs.txq[txq_id],
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
86
lockdep_assert_held(&txq->lock);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
864
trans_pcie->txqs.txq[txq_id]->id = txq_id;
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
902
int iwl_txq_init(struct iwl_trans *trans, struct iwl_txq *txq,
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
909
txq->need_update = false;
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
920
ret = iwl_queue_init(txq, slots_num);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
924
spin_lock_init(&txq->lock);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
925
spin_lock_init(&txq->reclaim_lock);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
930
lockdep_set_class(&txq->lock, &iwl_txq_cmd_queue_lock_class);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
933
__skb_queue_head_init(&txq->overflow_q);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
974
ret = iwl_txq_init(trans, trans_pcie->txqs.txq[txq_id], slots_num,
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
988
trans_pcie->txqs.txq[txq_id]->dma_addr >> 8);
drivers/net/wireless/marvell/mwifiex/debugfs.c
130
txq = netdev_get_tx_queue(netdev, i);
drivers/net/wireless/marvell/mwifiex/debugfs.c
131
p += sprintf(p, " %d:%s", i, netif_tx_queue_stopped(txq) ?
drivers/net/wireless/marvell/mwifiex/debugfs.c
69
struct netdev_queue *txq;
drivers/net/wireless/marvell/mwifiex/main.c
1105
struct netdev_queue *txq;
drivers/net/wireless/marvell/mwifiex/main.c
1165
txq = netdev_get_tx_queue(priv->netdev, idx);
drivers/net/wireless/marvell/mwifiex/main.c
1167
netif_tx_queue_stopped(txq) ?
drivers/net/wireless/marvell/mwifiex/main.c
798
struct netdev_queue *txq;
drivers/net/wireless/marvell/mwifiex/main.c
802
txq = netdev_get_tx_queue(priv->netdev, index);
drivers/net/wireless/marvell/mwifiex/main.c
803
if (!netif_tx_queue_stopped(txq)) {
drivers/net/wireless/marvell/mwifiex/main.c
804
netif_tx_stop_queue(txq);
drivers/net/wireless/marvell/mwifiex/txrx.c
277
struct netdev_queue *txq;
drivers/net/wireless/marvell/mwifiex/txrx.c
314
txq = netdev_get_tx_queue(priv->netdev, index);
drivers/net/wireless/marvell/mwifiex/txrx.c
315
if (netif_tx_queue_stopped(txq)) {
drivers/net/wireless/marvell/mwifiex/txrx.c
316
netif_tx_wake_queue(txq);
drivers/net/wireless/marvell/mwl8k.c
1464
struct mwl8k_tx_queue *txq = priv->txq + index;
drivers/net/wireless/marvell/mwl8k.c
1468
txq->len = 0;
drivers/net/wireless/marvell/mwl8k.c
1469
txq->head = 0;
drivers/net/wireless/marvell/mwl8k.c
1470
txq->tail = 0;
drivers/net/wireless/marvell/mwl8k.c
1474
txq->txd = dma_alloc_coherent(&priv->pdev->dev, size, &txq->txd_dma,
drivers/net/wireless/marvell/mwl8k.c
1476
if (txq->txd == NULL) {
drivers/net/wireless/marvell/mwl8k.c
1481
txq->skb = kzalloc_objs(*txq->skb, MWL8K_TX_DESCS);
drivers/net/wireless/marvell/mwl8k.c
1482
if (txq->skb == NULL) {
drivers/net/wireless/marvell/mwl8k.c
1483
dma_free_coherent(&priv->pdev->dev, size, txq->txd,
drivers/net/wireless/marvell/mwl8k.c
1484
txq->txd_dma);
drivers/net/wireless/marvell/mwl8k.c
1485
txq->txd = NULL;
drivers/net/wireless/marvell/mwl8k.c
1493
tx_desc = txq->txd + i;
drivers/net/wireless/marvell/mwl8k.c
1498
cpu_to_le32(txq->txd_dma + nexti * sizeof(*tx_desc));
drivers/net/wireless/marvell/mwl8k.c
1519
struct mwl8k_tx_queue *txq = priv->txq + i;
drivers/net/wireless/marvell/mwl8k.c
1526
struct mwl8k_tx_desc *tx_desc = txq->txd + desc;
drivers/net/wireless/marvell/mwl8k.c
1543
txq->len, txq->head, txq->tail,
drivers/net/wireless/marvell/mwl8k.c
1684
struct mwl8k_tx_queue *txq = priv->txq + index;
drivers/net/wireless/marvell/mwl8k.c
1688
while (txq->len > 0 && limit--) {
drivers/net/wireless/marvell/mwl8k.c
1701
tx = txq->head;
drivers/net/wireless/marvell/mwl8k.c
1702
tx_desc = txq->txd + tx;
drivers/net/wireless/marvell/mwl8k.c
1713
txq->head = (tx + 1) % MWL8K_TX_DESCS;
drivers/net/wireless/marvell/mwl8k.c
1714
BUG_ON(txq->len == 0);
drivers/net/wireless/marvell/mwl8k.c
1715
txq->len--;
drivers/net/wireless/marvell/mwl8k.c
1720
skb = txq->skb[tx];
drivers/net/wireless/marvell/mwl8k.c
1721
txq->skb[tx] = NULL;
drivers/net/wireless/marvell/mwl8k.c
1781
struct mwl8k_tx_queue *txq = priv->txq + index;
drivers/net/wireless/marvell/mwl8k.c
1783
if (txq->txd == NULL)
drivers/net/wireless/marvell/mwl8k.c
1788
kfree(txq->skb);
drivers/net/wireless/marvell/mwl8k.c
1789
txq->skb = NULL;
drivers/net/wireless/marvell/mwl8k.c
1793
txq->txd, txq->txd_dma);
drivers/net/wireless/marvell/mwl8k.c
1794
txq->txd = NULL;
drivers/net/wireless/marvell/mwl8k.c
1916
struct mwl8k_tx_queue *txq;
drivers/net/wireless/marvell/mwl8k.c
2075
txq = priv->txq + index;
drivers/net/wireless/marvell/mwl8k.c
2085
if (txq->len >= MWL8K_TX_DESCS - 2) {
drivers/net/wireless/marvell/mwl8k.c
2086
if (!mgmtframe || txq->len == MWL8K_TX_DESCS) {
drivers/net/wireless/marvell/mwl8k.c
2101
BUG_ON(txq->skb[txq->tail] != NULL);
drivers/net/wireless/marvell/mwl8k.c
2102
txq->skb[txq->tail] = skb;
drivers/net/wireless/marvell/mwl8k.c
2104
tx = txq->txd + txq->tail;
drivers/net/wireless/marvell/mwl8k.c
2125
txq->len++;
drivers/net/wireless/marvell/mwl8k.c
2128
txq->tail++;
drivers/net/wireless/marvell/mwl8k.c
2129
if (txq->tail == MWL8K_TX_DESCS)
drivers/net/wireless/marvell/mwl8k.c
2130
txq->tail = 0;
drivers/net/wireless/marvell/mwl8k.c
248
struct mwl8k_tx_queue txq[MWL8K_MAX_TX_QUEUES];
drivers/net/wireless/marvell/mwl8k.c
2487
cmd->tx_queue_ptrs[i] = cpu_to_le32(priv->txq[i].txd_dma);
drivers/net/wireless/marvell/mwl8k.c
2661
cmd->tx_queue_ptrs[i] = cpu_to_le32(priv->txq[j].txd_dma);
drivers/net/wireless/marvell/mwl8k.c
3511
__u8 txq;
drivers/net/wireless/marvell/mwl8k.c
3524
__u8 txq;
drivers/net/wireless/marvell/mwl8k.c
3558
cmd->ap.txq = qnum;
drivers/net/wireless/marvell/mwl8k.c
3563
cmd->sta.txq = qnum;
drivers/net/wireless/marvell/mwl8k.c
5941
iowrite32(priv->txq[i].txd_dma,
drivers/net/wireless/mediatek/mt76/mac80211.c
1591
for (i = 0; i < ARRAY_SIZE(sta->txq); i++) {
drivers/net/wireless/mediatek/mt76/mac80211.c
1594
if (!sta->txq[i])
drivers/net/wireless/mediatek/mt76/mac80211.c
1597
mtxq = (struct mt76_txq *)sta->txq[i]->drv_priv;
drivers/net/wireless/mediatek/mt76/mt76.h
1526
void mt76_wake_tx_queue(struct ieee80211_hw *hw, struct ieee80211_txq *txq);
drivers/net/wireless/mediatek/mt76/mt7603/main.c
582
struct ieee80211_txq *txq = sta->txq[params->tid];
drivers/net/wireless/mediatek/mt76/mt7603/main.c
590
if (!txq)
drivers/net/wireless/mediatek/mt76/mt7603/main.c
593
mtxq = (struct mt76_txq *)txq->drv_priv;
drivers/net/wireless/mediatek/mt76/mt7603/main.c
76
mtxq = (struct mt76_txq *)vif->txq->drv_priv;
drivers/net/wireless/mediatek/mt76/mt7615/main.c
234
if (vif->txq) {
drivers/net/wireless/mediatek/mt76/mt7615/main.c
235
mtxq = (struct mt76_txq *)vif->txq->drv_priv;
drivers/net/wireless/mediatek/mt76/mt7615/main.c
809
struct ieee80211_txq *txq = sta->txq[params->tid];
drivers/net/wireless/mediatek/mt76/mt7615/main.c
816
if (!txq)
drivers/net/wireless/mediatek/mt76/mt7615/main.c
819
mtxq = (struct mt76_txq *)txq->drv_priv;
drivers/net/wireless/mediatek/mt76/mt76x02_util.c
292
mtxq = (struct mt76_txq *)vif->txq->drv_priv;
drivers/net/wireless/mediatek/mt76/mt76x02_util.c
359
struct ieee80211_txq *txq = sta->txq[params->tid];
drivers/net/wireless/mediatek/mt76/mt76x02_util.c
365
if (!txq)
drivers/net/wireless/mediatek/mt76/mt76x02_util.c
368
mtxq = (struct mt76_txq *)txq->drv_priv;
drivers/net/wireless/mediatek/mt76/mt7915/main.c
263
if (vif->txq) {
drivers/net/wireless/mediatek/mt76/mt7915/main.c
264
mtxq = (struct mt76_txq *)vif->txq->drv_priv;
drivers/net/wireless/mediatek/mt76/mt7915/main.c
938
struct ieee80211_txq *txq = sta->txq[params->tid];
drivers/net/wireless/mediatek/mt76/mt7915/main.c
945
if (!txq)
drivers/net/wireless/mediatek/mt76/mt7915/main.c
948
mtxq = (struct mt76_txq *)txq->drv_priv;
drivers/net/wireless/mediatek/mt76/mt7921/main.c
345
if (vif->txq) {
drivers/net/wireless/mediatek/mt76/mt7921/main.c
346
mtxq = (struct mt76_txq *)vif->txq->drv_priv;
drivers/net/wireless/mediatek/mt76/mt7921/main.c
946
struct ieee80211_txq *txq = sta->txq[params->tid];
drivers/net/wireless/mediatek/mt76/mt7921/main.c
953
if (!txq)
drivers/net/wireless/mediatek/mt76/mt7921/main.c
956
mtxq = (struct mt76_txq *)txq->drv_priv;
drivers/net/wireless/mediatek/mt76/mt7921/pci_mcu.c
26
enum mt76_mcuq_id txq = MT_MCUQ_WM;
drivers/net/wireless/mediatek/mt76/mt7921/pci_mcu.c
36
txq = MT_MCUQ_FWDL;
drivers/net/wireless/mediatek/mt76/mt7921/pci_mcu.c
38
return mt76_tx_queue_skb_raw(dev, mdev->q_mcu[txq], skb, 0);
drivers/net/wireless/mediatek/mt76/mt7921/sdio_mcu.c
21
enum mt76_mcuq_id txq = MT_MCUQ_WM;
drivers/net/wireless/mediatek/mt76/mt7921/sdio_mcu.c
45
ret = mt76_tx_queue_skb_raw(dev, mdev->q_mcu[txq], skb, 0);
drivers/net/wireless/mediatek/mt76/mt7921/sdio_mcu.c
49
mt76_queue_kick(dev, mdev->q_mcu[txq]);
drivers/net/wireless/mediatek/mt76/mt7925/main.c
1396
struct ieee80211_txq *txq = sta->txq[params->tid];
drivers/net/wireless/mediatek/mt76/mt7925/main.c
1403
if (!txq)
drivers/net/wireless/mediatek/mt76/mt7925/main.c
1406
mtxq = (struct mt76_txq *)txq->drv_priv;
drivers/net/wireless/mediatek/mt76/mt7925/main.c
441
if (vif->txq) {
drivers/net/wireless/mediatek/mt76/mt7925/main.c
442
mtxq = (struct mt76_txq *)vif->txq->drv_priv;
drivers/net/wireless/mediatek/mt76/mt7925/pci_mcu.c
12
enum mt76_mcuq_id txq = MT_MCUQ_WM;
drivers/net/wireless/mediatek/mt76/mt7925/pci_mcu.c
22
txq = MT_MCUQ_FWDL;
drivers/net/wireless/mediatek/mt76/mt7925/pci_mcu.c
24
return mt76_tx_queue_skb_raw(dev, mdev->q_mcu[txq], skb, 0);
drivers/net/wireless/mediatek/mt76/mt7996/main.c
1111
for (i = 0; i < ARRAY_SIZE(sta->txq); i++) {
drivers/net/wireless/mediatek/mt76/mt7996/main.c
1114
if (!sta->txq[i])
drivers/net/wireless/mediatek/mt76/mt7996/main.c
1117
mtxq = (struct mt76_txq *)sta->txq[i]->drv_priv;
drivers/net/wireless/mediatek/mt76/mt7996/main.c
1615
struct ieee80211_txq *txq = sta->txq[params->tid];
drivers/net/wireless/mediatek/mt76/mt7996/main.c
1621
if (!txq)
drivers/net/wireless/mediatek/mt76/mt7996/main.c
1624
mtxq = (struct mt76_txq *)txq->drv_priv;
drivers/net/wireless/mediatek/mt76/mt7996/main.c
378
if (vif->txq &&
drivers/net/wireless/mediatek/mt76/mt7996/main.c
382
mtxq = (struct mt76_txq *)vif->txq->drv_priv;
drivers/net/wireless/mediatek/mt76/mt7996/main.c
475
if (vif->txq && mvif->mt76.deflink_id == link_id) {
drivers/net/wireless/mediatek/mt76/mt7996/main.c
480
mtxq = (struct mt76_txq *)vif->txq->drv_priv;
drivers/net/wireless/mediatek/mt76/tx.c
11
if (!txq->sta)
drivers/net/wireless/mediatek/mt76/tx.c
14
return txq->ac;
drivers/net/wireless/mediatek/mt76/tx.c
21
struct ieee80211_txq *txq;
drivers/net/wireless/mediatek/mt76/tx.c
245
for (i = 0; i < ARRAY_SIZE(sta->txq); i++) {
drivers/net/wireless/mediatek/mt76/tx.c
246
if (!sta->txq[i])
drivers/net/wireless/mediatek/mt76/tx.c
249
ieee80211_schedule_txq(dev->hw, sta->txq[i]);
drivers/net/wireless/mediatek/mt76/tx.c
30
txq = sta->txq[tid];
drivers/net/wireless/mediatek/mt76/tx.c
31
mtxq = (struct mt76_txq *)txq->drv_priv;
drivers/net/wireless/mediatek/mt76/tx.c
388
struct ieee80211_txq *txq = mtxq_to_txq(mtxq);
drivers/net/wireless/mediatek/mt76/tx.c
392
skb = ieee80211_tx_dequeue(phy->hw, txq);
drivers/net/wireless/mediatek/mt76/tx.c
432
struct ieee80211_txq *txq = sta->txq[i];
drivers/net/wireless/mediatek/mt76/tx.c
433
struct mt76_txq *mtxq = (struct mt76_txq *)txq->drv_priv;
drivers/net/wireless/mediatek/mt76/tx.c
475
struct ieee80211_txq *txq = mtxq_to_txq(mtxq);
drivers/net/wireless/mediatek/mt76/tx.c
476
enum mt76_txq_id qid = mt76_txq_get_qid(txq);
drivers/net/wireless/mediatek/mt76/tx.c
495
ieee80211_get_tx_rates(txq->vif, txq->sta, skb,
drivers/net/wireless/mediatek/mt76/tx.c
499
idx = __mt76_tx_queue_skb(phy, qid, skb, wcid, txq->sta, &stop);
drivers/net/wireless/mediatek/mt76/tx.c
517
ieee80211_get_tx_rates(txq->vif, txq->sta, skb,
drivers/net/wireless/mediatek/mt76/tx.c
521
idx = __mt76_tx_queue_skb(phy, qid, skb, wcid, txq->sta, &stop);
drivers/net/wireless/mediatek/mt76/tx.c
540
struct ieee80211_txq *txq;
drivers/net/wireless/mediatek/mt76/tx.c
549
txq = ieee80211_next_txq(phy->hw, qid);
drivers/net/wireless/mediatek/mt76/tx.c
550
if (!txq)
drivers/net/wireless/mediatek/mt76/tx.c
553
mtxq = (struct mt76_txq *)txq->drv_priv;
drivers/net/wireless/mediatek/mt76/tx.c
572
struct ieee80211_txq *txq = mtxq_to_txq(mtxq);
drivers/net/wireless/mediatek/mt76/tx.c
573
struct ieee80211_sta *sta = txq->sta;
drivers/net/wireless/mediatek/mt76/tx.c
574
struct ieee80211_vif *vif = txq->vif;
drivers/net/wireless/mediatek/mt76/tx.c
576
u8 tid = txq->tid;
drivers/net/wireless/mediatek/mt76/tx.c
585
ieee80211_return_txq(phy->hw, txq, false);
drivers/net/wireless/mediatek/mt76/tx.c
753
for (i = 0; i < ARRAY_SIZE(sta->txq); i++) {
drivers/net/wireless/mediatek/mt76/tx.c
754
struct ieee80211_txq *txq = sta->txq[i];
drivers/net/wireless/mediatek/mt76/tx.c
758
if (!txq)
drivers/net/wireless/mediatek/mt76/tx.c
761
hwq = phy->q_tx[mt76_txq_get_qid(txq)];
drivers/net/wireless/mediatek/mt76/tx.c
762
mtxq = (struct mt76_txq *)txq->drv_priv;
drivers/net/wireless/mediatek/mt76/tx.c
771
void mt76_wake_tx_queue(struct ieee80211_hw *hw, struct ieee80211_txq *txq)
drivers/net/wireless/mediatek/mt76/tx.c
9
mt76_txq_get_qid(struct ieee80211_txq *txq)
drivers/net/wireless/microchip/wilc1000/cfg80211.c
1825
INIT_LIST_HEAD(&wl->txq[i].txq_head.list);
drivers/net/wireless/microchip/wilc1000/netdev.h
266
struct txq_handle txq[NQUEUES];
drivers/net/wireless/microchip/wilc1000/wlan.c
1081
wilc->txq[i].fw.count += ac_pkt_num_to_chip[i];
drivers/net/wireless/microchip/wilc1000/wlan.c
20
wilc->txq[q_num].count--;
drivers/net/wireless/microchip/wilc1000/wlan.c
306
if (wl->txq[q_num].count <= q_limit)
drivers/net/wireless/microchip/wilc1000/wlan.c
31
if (!list_empty(&wilc->txq[q_num].txq_head.list)) {
drivers/net/wireless/microchip/wilc1000/wlan.c
32
tqe = list_first_entry(&wilc->txq[q_num].txq_head.list,
drivers/net/wireless/microchip/wilc1000/wlan.c
36
wilc->txq[q_num].count--;
drivers/net/wireless/microchip/wilc1000/wlan.c
361
if (wl->txq[i].fw.count > max_count)
drivers/net/wireless/microchip/wilc1000/wlan.c
362
max_count = wl->txq[i].fw.count;
drivers/net/wireless/microchip/wilc1000/wlan.c
365
ratio[i] = max_count - wl->txq[i].fw.count;
drivers/net/wireless/microchip/wilc1000/wlan.c
372
wl->txq[AC_BK_Q].fw.count = FIELD_GET(BK_AC_COUNT_FIELD, reg);
drivers/net/wireless/microchip/wilc1000/wlan.c
373
wl->txq[AC_BE_Q].fw.count = FIELD_GET(BE_AC_COUNT_FIELD, reg);
drivers/net/wireless/microchip/wilc1000/wlan.c
374
wl->txq[AC_VI_Q].fw.count = FIELD_GET(VI_AC_COUNT_FIELD, reg);
drivers/net/wireless/microchip/wilc1000/wlan.c
375
wl->txq[AC_VO_Q].fw.count = FIELD_GET(VO_AC_COUNT_FIELD, reg);
drivers/net/wireless/microchip/wilc1000/wlan.c
377
wl->txq[AC_BK_Q].fw.acm = FIELD_GET(BK_AC_ACM_STAT_FIELD, reg);
drivers/net/wireless/microchip/wilc1000/wlan.c
378
wl->txq[AC_BE_Q].fw.acm = FIELD_GET(BE_AC_ACM_STAT_FIELD, reg);
drivers/net/wireless/microchip/wilc1000/wlan.c
379
wl->txq[AC_VI_Q].fw.acm = FIELD_GET(VI_AC_ACM_STAT_FIELD, reg);
drivers/net/wireless/microchip/wilc1000/wlan.c
380
wl->txq[AC_VO_Q].fw.acm = FIELD_GET(VO_AC_ACM_STAT_FIELD, reg);
drivers/net/wireless/microchip/wilc1000/wlan.c
386
if (wilc->txq[*ac].fw.acm == 0)
drivers/net/wireless/microchip/wilc1000/wlan.c
494
if (!list_empty(&wilc->txq[q_num].txq_head.list))
drivers/net/wireless/microchip/wilc1000/wlan.c
495
tqe = list_first_entry(&wilc->txq[q_num].txq_head.list,
drivers/net/wireless/microchip/wilc1000/wlan.c
51
list_add_tail(&tqe->list, &wilc->txq[q_num].txq_head.list);
drivers/net/wireless/microchip/wilc1000/wlan.c
511
if (!list_is_last(&tqe->list, &wilc->txq[q_num].txq_head.list))
drivers/net/wireless/microchip/wilc1000/wlan.c
53
wilc->txq[q_num].count++;
drivers/net/wireless/microchip/wilc1000/wlan.c
70
list_add(&tqe->list, &wilc->txq[q_num].txq_head.list);
drivers/net/wireless/microchip/wilc1000/wlan.c
72
wilc->txq[q_num].count++;
drivers/net/wireless/realtek/rtw88/mac80211.c
165
rtw_txq_init(rtwdev, vif->txq);
drivers/net/wireless/realtek/rtw88/mac80211.c
242
rtw_txq_cleanup(rtwdev, vif->txq);
drivers/net/wireless/realtek/rtw88/mac80211.c
33
struct ieee80211_txq *txq)
drivers/net/wireless/realtek/rtw88/mac80211.c
36
struct rtw_txq *rtwtxq = (struct rtw_txq *)txq->drv_priv;
drivers/net/wireless/realtek/rtw88/mac80211.c
47
if (txq->ac == IEEE80211_AC_VO)
drivers/net/wireless/realtek/rtw88/mac80211.c
636
struct ieee80211_txq *txq = sta->txq[tid];
drivers/net/wireless/realtek/rtw88/mac80211.c
637
struct rtw_txq *rtwtxq = (struct rtw_txq *)txq->drv_priv;
drivers/net/wireless/realtek/rtw88/main.c
365
for (i = 0; i < ARRAY_SIZE(sta->txq); i++)
drivers/net/wireless/realtek/rtw88/main.c
366
rtw_txq_init(rtwdev, sta->txq[i]);
drivers/net/wireless/realtek/rtw88/main.c
394
for (i = 0; i < ARRAY_SIZE(sta->txq); i++)
drivers/net/wireless/realtek/rtw88/main.c
395
rtw_txq_cleanup(rtwdev, sta->txq[i]);
drivers/net/wireless/realtek/rtw88/main.c
629
rtw_txq_cleanup(rtwdev, vif->txq);
drivers/net/wireless/realtek/rtw88/main.c
700
struct ieee80211_txq *txq;
drivers/net/wireless/realtek/rtw88/main.c
703
txq = sta->txq[tid];
drivers/net/wireless/realtek/rtw88/main.c
704
rtwtxq = (struct rtw_txq *)txq->drv_priv;
drivers/net/wireless/realtek/rtw88/tx.c
580
struct ieee80211_txq *txq = rtwtxq_to_txq(rtwtxq);
drivers/net/wireless/realtek/rtw88/tx.c
599
if (!txq->sta)
drivers/net/wireless/realtek/rtw88/tx.c
602
si = (struct rtw_sta_info *)txq->sta->drv_priv;
drivers/net/wireless/realtek/rtw88/tx.c
603
set_bit(txq->tid, si->tid_ba);
drivers/net/wireless/realtek/rtw88/tx.c
612
struct ieee80211_txq *txq = rtwtxq_to_txq(rtwtxq);
drivers/net/wireless/realtek/rtw88/tx.c
618
rtw_tx_pkt_info_update(rtwdev, &pkt_info, txq->sta, skb);
drivers/net/wireless/realtek/rtw88/tx.c
631
struct ieee80211_txq *txq = rtwtxq_to_txq(rtwtxq);
drivers/net/wireless/realtek/rtw88/tx.c
639
skb = ieee80211_tx_dequeue(rtwdev->hw, txq);
drivers/net/wireless/realtek/rtw88/tx.c
660
struct ieee80211_txq *txq = rtwtxq_to_txq(rtwtxq);
drivers/net/wireless/realtek/rtw88/tx.c
663
ieee80211_txq_get_depth(txq, &frame_cnt, NULL);
drivers/net/wireless/realtek/rtw88/tx.c
681
void rtw_txq_init(struct rtw_dev *rtwdev, struct ieee80211_txq *txq)
drivers/net/wireless/realtek/rtw88/tx.c
685
if (!txq)
drivers/net/wireless/realtek/rtw88/tx.c
688
rtwtxq = (struct rtw_txq *)txq->drv_priv;
drivers/net/wireless/realtek/rtw88/tx.c
692
void rtw_txq_cleanup(struct rtw_dev *rtwdev, struct ieee80211_txq *txq)
drivers/net/wireless/realtek/rtw88/tx.c
696
if (!txq)
drivers/net/wireless/realtek/rtw88/tx.c
699
rtwtxq = (struct rtw_txq *)txq->drv_priv;
drivers/net/wireless/realtek/rtw88/tx.h
90
void rtw_txq_init(struct rtw_dev *rtwdev, struct ieee80211_txq *txq);
drivers/net/wireless/realtek/rtw88/tx.h
91
void rtw_txq_cleanup(struct rtw_dev *rtwdev, struct ieee80211_txq *txq);
drivers/net/wireless/realtek/rtw89/core.c
4573
struct ieee80211_txq *txq = rtw89_txq_to_txq(rtwtxq);
drivers/net/wireless/realtek/rtw89/core.c
4574
struct ieee80211_sta *sta = txq->sta;
drivers/net/wireless/realtek/rtw89/core.c
4576
u8 tid = txq->tid;
drivers/net/wireless/realtek/rtw89/core.c
4610
struct ieee80211_txq *txq = rtw89_txq_to_txq(rtwtxq);
drivers/net/wireless/realtek/rtw89/core.c
4612
if (sta == txq->sta)
drivers/net/wireless/realtek/rtw89/core.c
4625
struct ieee80211_txq *txq = rtw89_txq_to_txq(rtwtxq);
drivers/net/wireless/realtek/rtw89/core.c
4627
if (sta == txq->sta) {
drivers/net/wireless/realtek/rtw89/core.c
4648
struct ieee80211_txq *txq = rtw89_txq_to_txq(rtwtxq);
drivers/net/wireless/realtek/rtw89/core.c
4649
struct ieee80211_sta *sta = txq->sta;
drivers/net/wireless/realtek/rtw89/core.c
4664
ieee80211_stop_tx_ba_session(sta, txq->tid);
drivers/net/wireless/realtek/rtw89/core.c
4675
struct ieee80211_txq *txq = rtw89_txq_to_txq(rtwtxq);
drivers/net/wireless/realtek/rtw89/core.c
4676
struct ieee80211_sta *sta = txq->sta;
drivers/net/wireless/realtek/rtw89/core.c
4711
struct ieee80211_txq *txq = rtw89_txq_to_txq(rtwtxq);
drivers/net/wireless/realtek/rtw89/core.c
4712
struct ieee80211_vif *vif = txq->vif;
drivers/net/wireless/realtek/rtw89/core.c
4713
struct ieee80211_sta *sta = txq->sta;
drivers/net/wireless/realtek/rtw89/core.c
4720
skb = ieee80211_tx_dequeue_ni(rtwdev->hw, txq);
drivers/net/wireless/realtek/rtw89/core.c
4748
struct ieee80211_txq *txq,
drivers/net/wireless/realtek/rtw89/core.c
4752
struct rtw89_txq *rtwtxq = (struct rtw89_txq *)txq->drv_priv;
drivers/net/wireless/realtek/rtw89/core.c
4753
struct rtw89_sta *rtwsta = sta_to_rtwsta_safe(txq->sta);
drivers/net/wireless/realtek/rtw89/core.c
4792
struct ieee80211_txq *txq;
drivers/net/wireless/realtek/rtw89/core.c
4801
while ((txq = ieee80211_next_txq(hw, ac))) {
drivers/net/wireless/realtek/rtw89/core.c
4802
rtwtxq = (struct rtw89_txq *)txq->drv_priv;
drivers/net/wireless/realtek/rtw89/core.c
4803
rtwvif = vif_to_rtwvif(txq->vif);
drivers/net/wireless/realtek/rtw89/core.c
4806
ieee80211_return_txq(hw, txq, true);
drivers/net/wireless/realtek/rtw89/core.c
4809
tx_resource = rtw89_check_and_reclaim_tx_resource(rtwdev, txq->tid);
drivers/net/wireless/realtek/rtw89/core.c
4812
ieee80211_txq_get_depth(txq, &frame_cnt, &byte_cnt);
drivers/net/wireless/realtek/rtw89/core.c
4813
if (rtw89_core_txq_agg_wait(rtwdev, txq, &frame_cnt, &sched_txq, reinvoke)) {
drivers/net/wireless/realtek/rtw89/core.c
4814
ieee80211_return_txq(hw, txq, true);
drivers/net/wireless/realtek/rtw89/core.c
4819
ieee80211_return_txq(hw, txq, sched_txq);
drivers/net/wireless/realtek/rtw89/core.c
4821
rtw89_core_tx_kick_off(rtwdev, rtw89_core_get_qsel(rtwdev, txq->tid));
drivers/net/wireless/realtek/rtw89/core.c
5926
struct ieee80211_txq *txq;
drivers/net/wireless/realtek/rtw89/core.c
5940
txq = sta->txq[i];
drivers/net/wireless/realtek/rtw89/core.c
5941
rtwtxq = (struct rtw89_txq *)txq->drv_priv;
drivers/net/wireless/realtek/rtw89/core.c
5948
ieee80211_stop_tx_ba_session(sta, txq->tid);
drivers/net/wireless/realtek/rtw89/core.h
7175
struct ieee80211_txq *txq)
drivers/net/wireless/realtek/rtw89/core.h
7179
if (!txq)
drivers/net/wireless/realtek/rtw89/core.h
7182
rtwtxq = (struct rtw89_txq *)txq->drv_priv;
drivers/net/wireless/realtek/rtw89/mac80211.c
1010
struct ieee80211_txq *txq = sta->txq[tid];
drivers/net/wireless/realtek/rtw89/mac80211.c
1011
struct rtw89_txq *rtwtxq = (struct rtw89_txq *)txq->drv_priv;
drivers/net/wireless/realtek/rtw89/mac80211.c
201
rtw89_core_txq_init(rtwdev, vif->txq);
drivers/net/wireless/realtek/rtw89/mac80211.c
49
struct ieee80211_txq *txq)
drivers/net/wireless/realtek/rtw89/mac80211.c
516
for (i = 0; i < ARRAY_SIZE(sta->txq); i++)
drivers/net/wireless/realtek/rtw89/mac80211.c
517
rtw89_core_txq_init(rtwdev, sta->txq[i]);
drivers/net/wireless/realtek/rtw89/mac80211.c
53
ieee80211_schedule_txq(hw, txq);
drivers/net/wireless/virtual/mac80211_hwsim_i.h
166
struct ieee80211_txq *txq);
drivers/net/wireless/virtual/mac80211_hwsim_main.c
2289
struct ieee80211_txq *txq)
drivers/net/wireless/virtual/mac80211_hwsim_main.c
2292
.sta = txq->sta,
drivers/net/wireless/virtual/mac80211_hwsim_main.c
2296
if ((txq->vif->type == NL80211_IFTYPE_NAN ||
drivers/net/wireless/virtual/mac80211_hwsim_main.c
2297
txq->vif->type == NL80211_IFTYPE_NAN_DATA) &&
drivers/net/wireless/virtual/mac80211_hwsim_main.c
2298
!mac80211_hwsim_nan_txq_transmitting(hw, txq))
drivers/net/wireless/virtual/mac80211_hwsim_main.c
2301
while ((skb = ieee80211_tx_dequeue(hw, txq)))
drivers/net/wireless/virtual/mac80211_hwsim_nan.c
1005
for (int i = 0; i < ARRAY_SIZE(sta->txq); i++) {
drivers/net/wireless/virtual/mac80211_hwsim_nan.c
1006
struct ieee80211_txq *txq = sta->txq[i];
drivers/net/wireless/virtual/mac80211_hwsim_nan.c
1008
if (!txq)
drivers/net/wireless/virtual/mac80211_hwsim_nan.c
1011
if (txq->vif->type != NL80211_IFTYPE_NAN &&
drivers/net/wireless/virtual/mac80211_hwsim_nan.c
1012
txq->vif->type != NL80211_IFTYPE_NAN_DATA)
drivers/net/wireless/virtual/mac80211_hwsim_nan.c
1015
if (mac80211_hwsim_nan_txq_transmitting(ctx->hw, txq)) {
drivers/net/wireless/virtual/mac80211_hwsim_nan.c
1074
for (int i = 0; i < ARRAY_SIZE(sta->txq); i++) {
drivers/net/wireless/virtual/mac80211_hwsim_nan.c
1075
struct ieee80211_txq *txq = sta->txq[i];
drivers/net/wireless/virtual/mac80211_hwsim_nan.c
1077
if (!txq)
drivers/net/wireless/virtual/mac80211_hwsim_nan.c
1081
if (txq->vif->type != NL80211_IFTYPE_NAN &&
drivers/net/wireless/virtual/mac80211_hwsim_nan.c
1082
txq->vif->type != NL80211_IFTYPE_NAN_DATA)
drivers/net/wireless/virtual/mac80211_hwsim_nan.c
1085
if (mac80211_hwsim_nan_txq_transmitting(hw, txq))
drivers/net/wireless/virtual/mac80211_hwsim_nan.c
1086
ieee80211_hwsim_wake_tx_queue(hw, txq);
drivers/net/wireless/virtual/mac80211_hwsim_nan.c
1117
struct ieee80211_txq *txq = sta->txq[0];
drivers/net/wireless/virtual/mac80211_hwsim_nan.c
1119
if (!txq || txq->vif != ctx->vif)
drivers/net/wireless/virtual/mac80211_hwsim_nan.c
1123
if (mac80211_hwsim_nan_txq_transmitting(ctx->hw, txq))
drivers/net/wireless/virtual/mac80211_hwsim_nan.c
1129
struct ieee80211_txq *txq)
drivers/net/wireless/virtual/mac80211_hwsim_nan.c
1134
.vif = txq->vif,
drivers/net/wireless/virtual/mac80211_hwsim_nan.c
1150
struct ieee80211_txq *txq)
drivers/net/wireless/virtual/mac80211_hwsim_nan.c
1171
if (!txq->sta) {
drivers/net/wireless/virtual/mac80211_hwsim_nan.c
1173
if (txq->vif->type == NL80211_IFTYPE_NAN)
drivers/net/wireless/virtual/mac80211_hwsim_nan.c
1179
return mac80211_hwsim_nan_mcast_data_transmitting(hw, txq);
drivers/net/wireless/virtual/mac80211_hwsim_nan.c
1183
nmi_sta = rcu_dereference(txq->sta->nmi) ?: txq->sta;
drivers/net/wireless/virtual/mac80211_hwsim_nan.c
1190
if (txq->vif->type == NL80211_IFTYPE_NAN_DATA)
drivers/net/wireless/virtual/mac80211_hwsim_nan.h
87
struct ieee80211_txq *txq);
drivers/net/wwan/t7xx/t7xx_hif_cldma.c
1050
t7xx_cldma_txq_init(&md_ctrl->txq[i]);
drivers/net/wwan/t7xx/t7xx_hif_cldma.c
1140
t7xx_cldma_hw_set_start_addr(hw_info, qno_t, md_ctrl->txq[qno_t].tx_next->gpd_addr,
drivers/net/wwan/t7xx/t7xx_hif_cldma.c
1274
if (md_ctrl->txq[i].worker) {
drivers/net/wwan/t7xx/t7xx_hif_cldma.c
1275
destroy_workqueue(md_ctrl->txq[i].worker);
drivers/net/wwan/t7xx/t7xx_hif_cldma.c
1276
md_ctrl->txq[i].worker = NULL;
drivers/net/wwan/t7xx/t7xx_hif_cldma.c
1316
md_cd_queue_struct_init(&md_ctrl->txq[i], md_ctrl, MTK_TX, i);
drivers/net/wwan/t7xx/t7xx_hif_cldma.c
1317
md_ctrl->txq[i].worker =
drivers/net/wwan/t7xx/t7xx_hif_cldma.c
1321
if (!md_ctrl->txq[i].worker)
drivers/net/wwan/t7xx/t7xx_hif_cldma.c
1324
INIT_WORK(&md_ctrl->txq[i].cldma_work, t7xx_cldma_tx_done);
drivers/net/wwan/t7xx/t7xx_hif_cldma.c
576
queue_work(md_ctrl->txq[i].worker,
drivers/net/wwan/t7xx/t7xx_hif_cldma.c
577
&md_ctrl->txq[i].cldma_work);
drivers/net/wwan/t7xx/t7xx_hif_cldma.c
579
t7xx_cldma_txq_empty_hndl(&md_ctrl->txq[i - CLDMA_TXQ_NUM]);
drivers/net/wwan/t7xx/t7xx_hif_cldma.c
652
flush_work(&md_ctrl->txq[i].cldma_work);
drivers/net/wwan/t7xx/t7xx_hif_cldma.c
696
cancel_work_sync(&md_ctrl->txq[i].cldma_work);
drivers/net/wwan/t7xx/t7xx_hif_cldma.c
699
md_cd_queue_struct_reset(&md_ctrl->txq[i], md_ctrl, MTK_TX, i);
drivers/net/wwan/t7xx/t7xx_hif_cldma.c
733
if (md_ctrl->txq[i].tr_done)
drivers/net/wwan/t7xx/t7xx_hif_cldma.c
735
md_ctrl->txq[i].tr_done->gpd_addr,
drivers/net/wwan/t7xx/t7xx_hif_cldma.c
758
struct cldma_queue *txq = &md_ctrl->txq[qnum];
drivers/net/wwan/t7xx/t7xx_hif_cldma.c
763
spin_lock_irqsave(&txq->ring_lock, flags);
drivers/net/wwan/t7xx/t7xx_hif_cldma.c
764
t7xx_cldma_q_reset(txq);
drivers/net/wwan/t7xx/t7xx_hif_cldma.c
765
list_for_each_entry(req, &txq->tr_ring->gpd_ring, entry) {
drivers/net/wwan/t7xx/t7xx_hif_cldma.c
773
spin_unlock_irqrestore(&txq->ring_lock, flags);
drivers/net/wwan/t7xx/t7xx_hif_cldma.c
934
queue = &md_ctrl->txq[qno];
drivers/net/wwan/t7xx/t7xx_hif_cldma.h
101
struct cldma_queue txq[CLDMA_TXQ_NUM];
drivers/net/wwan/t7xx/t7xx_hif_dpmaif.c
236
tx_q = &dpmaif_ctrl->txq[tx_idx];
drivers/net/wwan/t7xx/t7xx_hif_dpmaif.c
261
tx_q = &dpmaif_ctrl->txq[i];
drivers/net/wwan/t7xx/t7xx_hif_dpmaif.c
289
tx_q = &dpmaif_ctrl->txq[i];
drivers/net/wwan/t7xx/t7xx_hif_dpmaif.c
304
struct dpmaif_tx_queue *txq;
drivers/net/wwan/t7xx/t7xx_hif_dpmaif.c
343
txq = &dpmaif_ctrl->txq[i];
drivers/net/wwan/t7xx/t7xx_hif_dpmaif.c
344
txq->que_started = true;
drivers/net/wwan/t7xx/t7xx_hif_dpmaif.c
346
hw_init_para.drb_base_addr[i] = txq->drb_bus_addr;
drivers/net/wwan/t7xx/t7xx_hif_dpmaif.c
347
hw_init_para.drb_size_cnt[i] = txq->drb_size_cnt;
drivers/net/wwan/t7xx/t7xx_hif_dpmaif.c
433
struct dpmaif_tx_queue *txq;
drivers/net/wwan/t7xx/t7xx_hif_dpmaif.c
437
txq = &dpmaif_ctrl->txq[que_cnt];
drivers/net/wwan/t7xx/t7xx_hif_dpmaif.c
438
txq->que_started = true;
drivers/net/wwan/t7xx/t7xx_hif_dpmaif.h
177
struct dpmaif_tx_queue txq[DPMAIF_TXQ_NUM];
drivers/net/wwan/t7xx/t7xx_hif_dpmaif_tx.c
119
spin_lock_irqsave(&txq->tx_lock, flags);
drivers/net/wwan/t7xx/t7xx_hif_dpmaif_tx.c
121
txq->drb_release_rd_idx = cur_idx;
drivers/net/wwan/t7xx/t7xx_hif_dpmaif_tx.c
122
spin_unlock_irqrestore(&txq->tx_lock, flags);
drivers/net/wwan/t7xx/t7xx_hif_dpmaif_tx.c
124
if (atomic_inc_return(&txq->tx_budget) > txq->drb_size_cnt / 8)
drivers/net/wwan/t7xx/t7xx_hif_dpmaif_tx.c
125
cb->state_notify(dpmaif_ctrl->t7xx_dev, DMPAIF_TXQ_STATE_IRQ, txq->index);
drivers/net/wwan/t7xx/t7xx_hif_dpmaif_tx.c
137
struct dpmaif_tx_queue *txq = &dpmaif_ctrl->txq[q_num];
drivers/net/wwan/t7xx/t7xx_hif_dpmaif_tx.c
143
rel_cnt = t7xx_ring_buf_rd_wr_count(txq->drb_size_cnt, txq->drb_release_rd_idx,
drivers/net/wwan/t7xx/t7xx_hif_dpmaif_tx.c
144
txq->drb_rd_idx, DPMAIF_READ);
drivers/net/wwan/t7xx/t7xx_hif_dpmaif_tx.c
153
static bool t7xx_dpmaif_drb_ring_not_empty(struct dpmaif_tx_queue *txq)
drivers/net/wwan/t7xx/t7xx_hif_dpmaif_tx.c
155
return !!t7xx_dpmaif_update_drb_rd_idx(txq->dpmaif_ctrl, txq->index);
drivers/net/wwan/t7xx/t7xx_hif_dpmaif_tx.c
160
struct dpmaif_tx_queue *txq = container_of(work, struct dpmaif_tx_queue, dpmaif_tx_work);
drivers/net/wwan/t7xx/t7xx_hif_dpmaif_tx.c
161
struct dpmaif_ctrl *dpmaif_ctrl = txq->dpmaif_ctrl;
drivers/net/wwan/t7xx/t7xx_hif_dpmaif_tx.c
173
ret = t7xx_dpmaif_tx_release(dpmaif_ctrl, txq->index, txq->drb_size_cnt);
drivers/net/wwan/t7xx/t7xx_hif_dpmaif_tx.c
175
(t7xx_dpmaif_ul_clr_done(hw_info, txq->index) &&
drivers/net/wwan/t7xx/t7xx_hif_dpmaif_tx.c
176
t7xx_dpmaif_drb_ring_not_empty(txq))) {
drivers/net/wwan/t7xx/t7xx_hif_dpmaif_tx.c
177
queue_work(dpmaif_ctrl->txq[txq->index].worker,
drivers/net/wwan/t7xx/t7xx_hif_dpmaif_tx.c
178
&dpmaif_ctrl->txq[txq->index].dpmaif_tx_work);
drivers/net/wwan/t7xx/t7xx_hif_dpmaif_tx.c
183
t7xx_dpmaif_unmask_ulq_intr(hw_info, txq->index);
drivers/net/wwan/t7xx/t7xx_hif_dpmaif_tx.c
195
struct dpmaif_drb *drb_base = dpmaif_ctrl->txq[q_num].drb_base;
drivers/net/wwan/t7xx/t7xx_hif_dpmaif_tx.c
211
struct dpmaif_drb *drb_base = dpmaif_ctrl->txq[q_num].drb_base;
drivers/net/wwan/t7xx/t7xx_hif_dpmaif_tx.c
229
struct dpmaif_drb_skb *drb_skb_base = dpmaif_ctrl->txq[q_num].drb_skb_base;
drivers/net/wwan/t7xx/t7xx_hif_dpmaif_tx.c
247
struct dpmaif_tx_queue *txq;
drivers/net/wwan/t7xx/t7xx_hif_dpmaif_tx.c
252
txq = &dpmaif_ctrl->txq[skb_cb->txq_number];
drivers/net/wwan/t7xx/t7xx_hif_dpmaif_tx.c
253
if (!txq->que_started || dpmaif_ctrl->state != DPMAIF_STATE_PWRON)
drivers/net/wwan/t7xx/t7xx_hif_dpmaif_tx.c
256
atomic_set(&txq->tx_processing, 1);
drivers/net/wwan/t7xx/t7xx_hif_dpmaif_tx.c
268
spin_lock_irqsave(&txq->tx_lock, flags);
drivers/net/wwan/t7xx/t7xx_hif_dpmaif_tx.c
269
cur_idx = txq->drb_wr_idx;
drivers/net/wwan/t7xx/t7xx_hif_dpmaif_tx.c
271
txq->drb_wr_idx += send_cnt;
drivers/net/wwan/t7xx/t7xx_hif_dpmaif_tx.c
272
if (txq->drb_wr_idx >= txq->drb_size_cnt)
drivers/net/wwan/t7xx/t7xx_hif_dpmaif_tx.c
273
txq->drb_wr_idx -= txq->drb_size_cnt;
drivers/net/wwan/t7xx/t7xx_hif_dpmaif_tx.c
274
t7xx_setup_msg_drb(dpmaif_ctrl, txq->index, cur_idx, skb->len, 0, skb_cb->netif_idx);
drivers/net/wwan/t7xx/t7xx_hif_dpmaif_tx.c
275
t7xx_record_drb_skb(dpmaif_ctrl, txq->index, cur_idx, skb, true, 0, 0, 0, 0);
drivers/net/wwan/t7xx/t7xx_hif_dpmaif_tx.c
276
spin_unlock_irqrestore(&txq->tx_lock, flags);
drivers/net/wwan/t7xx/t7xx_hif_dpmaif_tx.c
300
cur_idx = t7xx_ring_buf_get_next_wr_idx(txq->drb_size_cnt, cur_idx);
drivers/net/wwan/t7xx/t7xx_hif_dpmaif_tx.c
302
spin_lock_irqsave(&txq->tx_lock, flags);
drivers/net/wwan/t7xx/t7xx_hif_dpmaif_tx.c
303
t7xx_setup_payload_drb(dpmaif_ctrl, txq->index, cur_idx, bus_addr, data_len,
drivers/net/wwan/t7xx/t7xx_hif_dpmaif_tx.c
305
t7xx_record_drb_skb(dpmaif_ctrl, txq->index, cur_idx, skb, false, is_frag,
drivers/net/wwan/t7xx/t7xx_hif_dpmaif_tx.c
307
spin_unlock_irqrestore(&txq->tx_lock, flags);
drivers/net/wwan/t7xx/t7xx_hif_dpmaif_tx.c
310
if (atomic_sub_return(send_cnt, &txq->tx_budget) <= (MAX_SKB_FRAGS + 2))
drivers/net/wwan/t7xx/t7xx_hif_dpmaif_tx.c
311
cb->state_notify(dpmaif_ctrl->t7xx_dev, DMPAIF_TXQ_STATE_FULL, txq->index);
drivers/net/wwan/t7xx/t7xx_hif_dpmaif_tx.c
313
atomic_set(&txq->tx_processing, 0);
drivers/net/wwan/t7xx/t7xx_hif_dpmaif_tx.c
319
struct dpmaif_drb_skb *drb_skb = txq->drb_skb_base;
drivers/net/wwan/t7xx/t7xx_hif_dpmaif_tx.c
321
cur_idx = cur_idx ? cur_idx - 1 : txq->drb_size_cnt - 1;
drivers/net/wwan/t7xx/t7xx_hif_dpmaif_tx.c
327
txq->drb_wr_idx = drb_wr_idx_backup;
drivers/net/wwan/t7xx/t7xx_hif_dpmaif_tx.c
328
atomic_set(&txq->tx_processing, 0);
drivers/net/wwan/t7xx/t7xx_hif_dpmaif_tx.c
338
if (!skb_queue_empty(&dpmaif_ctrl->txq[i].tx_skb_head))
drivers/net/wwan/t7xx/t7xx_hif_dpmaif_tx.c
348
struct dpmaif_tx_queue *txq;
drivers/net/wwan/t7xx/t7xx_hif_dpmaif_tx.c
350
txq = &dpmaif_ctrl->txq[DPMAIF_TX_DEFAULT_QUEUE];
drivers/net/wwan/t7xx/t7xx_hif_dpmaif_tx.c
351
if (!txq->que_started)
drivers/net/wwan/t7xx/t7xx_hif_dpmaif_tx.c
354
return txq;
drivers/net/wwan/t7xx/t7xx_hif_dpmaif_tx.c
357
static unsigned int t7xx_txq_drb_wr_available(struct dpmaif_tx_queue *txq)
drivers/net/wwan/t7xx/t7xx_hif_dpmaif_tx.c
359
return t7xx_ring_buf_rd_wr_count(txq->drb_size_cnt, txq->drb_release_rd_idx,
drivers/net/wwan/t7xx/t7xx_hif_dpmaif_tx.c
360
txq->drb_wr_idx, DPMAIF_WRITE);
drivers/net/wwan/t7xx/t7xx_hif_dpmaif_tx.c
369
static int t7xx_txq_burst_send_skb(struct dpmaif_tx_queue *txq)
drivers/net/wwan/t7xx/t7xx_hif_dpmaif_tx.c
376
drb_remain_cnt = t7xx_txq_drb_wr_available(txq);
drivers/net/wwan/t7xx/t7xx_hif_dpmaif_tx.c
381
skb = skb_peek(&txq->tx_skb_head);
drivers/net/wwan/t7xx/t7xx_hif_dpmaif_tx.c
387
drb_remain_cnt = t7xx_txq_drb_wr_available(txq);
drivers/net/wwan/t7xx/t7xx_hif_dpmaif_tx.c
393
ret = t7xx_dpmaif_add_skb_to_ring(txq->dpmaif_ctrl, skb);
drivers/net/wwan/t7xx/t7xx_hif_dpmaif_tx.c
395
dev_err(txq->dpmaif_ctrl->dev,
drivers/net/wwan/t7xx/t7xx_hif_dpmaif_tx.c
401
skb_unlink(skb, &txq->tx_skb_head);
drivers/net/wwan/t7xx/t7xx_hif_dpmaif_tx.c
415
struct dpmaif_tx_queue *txq;
drivers/net/wwan/t7xx/t7xx_hif_dpmaif_tx.c
418
txq = t7xx_select_tx_queue(dpmaif_ctrl);
drivers/net/wwan/t7xx/t7xx_hif_dpmaif_tx.c
419
if (!txq)
drivers/net/wwan/t7xx/t7xx_hif_dpmaif_tx.c
422
drb_send_cnt = t7xx_txq_burst_send_skb(txq);
drivers/net/wwan/t7xx/t7xx_hif_dpmaif_tx.c
437
t7xx_dpmaif_ul_update_hw_drb_cnt(&dpmaif_ctrl->hw_info, txq->index,
drivers/net/wwan/t7xx/t7xx_hif_dpmaif_tx.c
508
struct dpmaif_tx_queue *txq = &dpmaif_ctrl->txq[txq_number];
drivers/net/wwan/t7xx/t7xx_hif_dpmaif_tx.c
512
if (atomic_read(&txq->tx_budget) <= t7xx_skb_drb_cnt(skb)) {
drivers/net/wwan/t7xx/t7xx_hif_dpmaif_tx.c
519
skb_queue_tail(&txq->tx_skb_head, skb);
drivers/net/wwan/t7xx/t7xx_hif_dpmaif_tx.c
531
queue_work(dpmaif_ctrl->txq[i].worker, &dpmaif_ctrl->txq[i].dpmaif_tx_work);
drivers/net/wwan/t7xx/t7xx_hif_dpmaif_tx.c
535
static int t7xx_dpmaif_tx_drb_buf_init(struct dpmaif_tx_queue *txq)
drivers/net/wwan/t7xx/t7xx_hif_dpmaif_tx.c
54
struct dpmaif_tx_queue *txq = &dpmaif_ctrl->txq[q_num];
drivers/net/wwan/t7xx/t7xx_hif_dpmaif_tx.c
542
txq->drb_size_cnt = DPMAIF_DRB_LIST_LEN;
drivers/net/wwan/t7xx/t7xx_hif_dpmaif_tx.c
545
txq->drb_base = dma_alloc_coherent(txq->dpmaif_ctrl->dev, brb_pd_size,
drivers/net/wwan/t7xx/t7xx_hif_dpmaif_tx.c
546
&txq->drb_bus_addr, GFP_KERNEL | __GFP_ZERO);
drivers/net/wwan/t7xx/t7xx_hif_dpmaif_tx.c
547
if (!txq->drb_base)
drivers/net/wwan/t7xx/t7xx_hif_dpmaif_tx.c
551
txq->drb_skb_base = devm_kzalloc(txq->dpmaif_ctrl->dev, brb_skb_size, GFP_KERNEL);
drivers/net/wwan/t7xx/t7xx_hif_dpmaif_tx.c
552
if (!txq->drb_skb_base) {
drivers/net/wwan/t7xx/t7xx_hif_dpmaif_tx.c
553
dma_free_coherent(txq->dpmaif_ctrl->dev, brb_pd_size,
drivers/net/wwan/t7xx/t7xx_hif_dpmaif_tx.c
554
txq->drb_base, txq->drb_bus_addr);
drivers/net/wwan/t7xx/t7xx_hif_dpmaif_tx.c
561
static void t7xx_dpmaif_tx_free_drb_skb(struct dpmaif_tx_queue *txq)
drivers/net/wwan/t7xx/t7xx_hif_dpmaif_tx.c
563
struct dpmaif_drb_skb *drb_skb, *drb_skb_base = txq->drb_skb_base;
drivers/net/wwan/t7xx/t7xx_hif_dpmaif_tx.c
569
for (i = 0; i < txq->drb_size_cnt; i++) {
drivers/net/wwan/t7xx/t7xx_hif_dpmaif_tx.c
575
dma_unmap_single(txq->dpmaif_ctrl->dev, drb_skb->bus_addr,
drivers/net/wwan/t7xx/t7xx_hif_dpmaif_tx.c
58
if (!txq->que_started)
drivers/net/wwan/t7xx/t7xx_hif_dpmaif_tx.c
585
static void t7xx_dpmaif_tx_drb_buf_rel(struct dpmaif_tx_queue *txq)
drivers/net/wwan/t7xx/t7xx_hif_dpmaif_tx.c
587
if (txq->drb_base)
drivers/net/wwan/t7xx/t7xx_hif_dpmaif_tx.c
588
dma_free_coherent(txq->dpmaif_ctrl->dev,
drivers/net/wwan/t7xx/t7xx_hif_dpmaif_tx.c
589
txq->drb_size_cnt * sizeof(struct dpmaif_drb),
drivers/net/wwan/t7xx/t7xx_hif_dpmaif_tx.c
590
txq->drb_base, txq->drb_bus_addr);
drivers/net/wwan/t7xx/t7xx_hif_dpmaif_tx.c
592
t7xx_dpmaif_tx_free_drb_skb(txq);
drivers/net/wwan/t7xx/t7xx_hif_dpmaif_tx.c
605
int t7xx_dpmaif_txq_init(struct dpmaif_tx_queue *txq)
drivers/net/wwan/t7xx/t7xx_hif_dpmaif_tx.c
609
skb_queue_head_init(&txq->tx_skb_head);
drivers/net/wwan/t7xx/t7xx_hif_dpmaif_tx.c
61
old_sw_rd_idx = txq->drb_rd_idx;
drivers/net/wwan/t7xx/t7xx_hif_dpmaif_tx.c
610
init_waitqueue_head(&txq->req_wq);
drivers/net/wwan/t7xx/t7xx_hif_dpmaif_tx.c
611
atomic_set(&txq->tx_budget, DPMAIF_DRB_LIST_LEN);
drivers/net/wwan/t7xx/t7xx_hif_dpmaif_tx.c
613
ret = t7xx_dpmaif_tx_drb_buf_init(txq);
drivers/net/wwan/t7xx/t7xx_hif_dpmaif_tx.c
615
dev_err(txq->dpmaif_ctrl->dev, "Failed to initialize DRB buffers: %d\n", ret);
drivers/net/wwan/t7xx/t7xx_hif_dpmaif_tx.c
619
txq->worker = alloc_ordered_workqueue("md_dpmaif_tx%d_worker",
drivers/net/wwan/t7xx/t7xx_hif_dpmaif_tx.c
620
WQ_MEM_RECLAIM | (txq->index ? 0 : WQ_HIGHPRI),
drivers/net/wwan/t7xx/t7xx_hif_dpmaif_tx.c
621
txq->index);
drivers/net/wwan/t7xx/t7xx_hif_dpmaif_tx.c
622
if (!txq->worker)
drivers/net/wwan/t7xx/t7xx_hif_dpmaif_tx.c
625
INIT_WORK(&txq->dpmaif_tx_work, t7xx_dpmaif_tx_done);
drivers/net/wwan/t7xx/t7xx_hif_dpmaif_tx.c
626
spin_lock_init(&txq->tx_lock);
drivers/net/wwan/t7xx/t7xx_hif_dpmaif_tx.c
631
void t7xx_dpmaif_txq_free(struct dpmaif_tx_queue *txq)
drivers/net/wwan/t7xx/t7xx_hif_dpmaif_tx.c
633
if (txq->worker)
drivers/net/wwan/t7xx/t7xx_hif_dpmaif_tx.c
634
destroy_workqueue(txq->worker);
drivers/net/wwan/t7xx/t7xx_hif_dpmaif_tx.c
636
skb_queue_purge(&txq->tx_skb_head);
drivers/net/wwan/t7xx/t7xx_hif_dpmaif_tx.c
637
t7xx_dpmaif_tx_drb_buf_rel(txq);
drivers/net/wwan/t7xx/t7xx_hif_dpmaif_tx.c
645
struct dpmaif_tx_queue *txq;
drivers/net/wwan/t7xx/t7xx_hif_dpmaif_tx.c
648
txq = &dpmaif_ctrl->txq[i];
drivers/net/wwan/t7xx/t7xx_hif_dpmaif_tx.c
649
txq->que_started = false;
drivers/net/wwan/t7xx/t7xx_hif_dpmaif_tx.c
654
while (atomic_read(&txq->tx_processing)) {
drivers/net/wwan/t7xx/t7xx_hif_dpmaif_tx.c
663
static void t7xx_dpmaif_txq_flush_rel(struct dpmaif_tx_queue *txq)
drivers/net/wwan/t7xx/t7xx_hif_dpmaif_tx.c
665
txq->que_started = false;
drivers/net/wwan/t7xx/t7xx_hif_dpmaif_tx.c
667
cancel_work_sync(&txq->dpmaif_tx_work);
drivers/net/wwan/t7xx/t7xx_hif_dpmaif_tx.c
668
flush_work(&txq->dpmaif_tx_work);
drivers/net/wwan/t7xx/t7xx_hif_dpmaif_tx.c
669
t7xx_dpmaif_tx_free_drb_skb(txq);
drivers/net/wwan/t7xx/t7xx_hif_dpmaif_tx.c
671
txq->drb_rd_idx = 0;
drivers/net/wwan/t7xx/t7xx_hif_dpmaif_tx.c
672
txq->drb_wr_idx = 0;
drivers/net/wwan/t7xx/t7xx_hif_dpmaif_tx.c
673
txq->drb_release_rd_idx = 0;
drivers/net/wwan/t7xx/t7xx_hif_dpmaif_tx.c
681
t7xx_dpmaif_txq_flush_rel(&dpmaif_ctrl->txq[i]);
drivers/net/wwan/t7xx/t7xx_hif_dpmaif_tx.c
71
drb_cnt = txq->drb_size_cnt - old_sw_rd_idx + new_hw_rd_idx;
drivers/net/wwan/t7xx/t7xx_hif_dpmaif_tx.c
73
spin_lock_irqsave(&txq->tx_lock, flags);
drivers/net/wwan/t7xx/t7xx_hif_dpmaif_tx.c
74
txq->drb_rd_idx = new_hw_rd_idx;
drivers/net/wwan/t7xx/t7xx_hif_dpmaif_tx.c
75
spin_unlock_irqrestore(&txq->tx_lock, flags);
drivers/net/wwan/t7xx/t7xx_hif_dpmaif_tx.c
83
struct dpmaif_tx_queue *txq = &dpmaif_ctrl->txq[q_num];
drivers/net/wwan/t7xx/t7xx_hif_dpmaif_tx.c
90
drb_skb_base = txq->drb_skb_base;
drivers/net/wwan/t7xx/t7xx_hif_dpmaif_tx.c
91
drb_base = txq->drb_base;
drivers/net/wwan/t7xx/t7xx_hif_dpmaif_tx.c
93
spin_lock_irqsave(&txq->tx_lock, flags);
drivers/net/wwan/t7xx/t7xx_hif_dpmaif_tx.c
94
drb_cnt = txq->drb_size_cnt;
drivers/net/wwan/t7xx/t7xx_hif_dpmaif_tx.c
95
cur_idx = txq->drb_release_rd_idx;
drivers/net/wwan/t7xx/t7xx_hif_dpmaif_tx.c
96
spin_unlock_irqrestore(&txq->tx_lock, flags);
drivers/net/wwan/t7xx/t7xx_hif_dpmaif_tx.h
72
void t7xx_dpmaif_txq_free(struct dpmaif_tx_queue *txq);
drivers/net/wwan/t7xx/t7xx_hif_dpmaif_tx.h
74
int t7xx_dpmaif_txq_init(struct dpmaif_tx_queue *txq);
drivers/net/xen-netback/rx.c
123
struct netdev_queue *txq;
drivers/net/xen-netback/rx.c
125
txq = netdev_get_tx_queue(queue->vif->dev, queue->id);
drivers/net/xen-netback/rx.c
126
netif_tx_wake_queue(txq);
drivers/s390/net/qeth_core.h
903
static inline u16 qeth_iqd_translate_txq(struct net_device *dev, u16 txq)
drivers/s390/net/qeth_core.h
905
if (txq == QETH_IQD_MCAST_TXQ)
drivers/s390/net/qeth_core.h
907
if (txq == dev->num_tx_queues - 1)
drivers/s390/net/qeth_core.h
909
return txq;
drivers/s390/net/qeth_core_main.c
4148
struct netdev_queue *txq;
drivers/s390/net/qeth_core_main.c
4153
txq = netdev_get_tx_queue(card->dev, skb_get_queue_mapping(skb));
drivers/s390/net/qeth_core_main.c
4190
netif_tx_stop_queue(txq);
drivers/s390/net/qeth_core_main.c
4199
flush = __netdev_tx_sent_queue(txq, bytes,
drivers/s390/net/qeth_core_main.c
4214
netif_tx_start_queue(txq);
drivers/s390/net/qeth_core_main.c
4227
struct netdev_queue *txq;
drivers/s390/net/qeth_core_main.c
4241
txq = netdev_get_tx_queue(card->dev, skb_get_queue_mapping(skb));
drivers/s390/net/qeth_core_main.c
4274
netif_tx_stop_queue(txq);
drivers/s390/net/qeth_core_main.c
4299
netif_tx_start_queue(txq);
drivers/s390/net/qeth_core_main.c
5941
struct netdev_queue *txq;
drivers/s390/net/qeth_core_main.c
5944
txq = netdev_get_tx_queue(dev, qeth_iqd_translate_txq(dev, queue_no));
drivers/s390/net/qeth_core_main.c
5946
txq = netdev_get_tx_queue(dev, queue_no);
drivers/s390/net/qeth_core_main.c
5998
netdev_tx_completed_queue(txq, packets, bytes);
drivers/s390/net/qeth_core_main.c
6007
if (netif_tx_queue_stopped(txq) &&
drivers/s390/net/qeth_core_main.c
6009
netif_tx_wake_queue(txq);
drivers/s390/net/qeth_core_main.c
7020
u16 txq;
drivers/s390/net/qeth_core_main.c
7027
txq = netdev_pick_tx(dev, skb, sb_dev);
drivers/s390/net/qeth_core_main.c
7028
return (txq == QETH_IQD_MCAST_TXQ) ? QETH_IQD_MIN_UCAST_TXQ : txq;
drivers/s390/net/qeth_l2_main.c
503
u16 txq = skb_get_queue_mapping(skb);
drivers/s390/net/qeth_l2_main.c
510
txq = qeth_iqd_translate_txq(dev, txq);
drivers/s390/net/qeth_l2_main.c
511
queue = card->qdio.out_qs[txq];
drivers/s390/net/qeth_l3_main.c
1733
u16 txq = skb_get_queue_mapping(skb);
drivers/s390/net/qeth_l3_main.c
1740
queue = card->qdio.out_qs[qeth_iqd_translate_txq(dev, txq)];
drivers/s390/net/qeth_l3_main.c
1759
queue = card->qdio.out_qs[txq];
drivers/scsi/lpfc/lpfc_bsg.c
5852
list_for_each_entry_safe(check_iocb, next_iocb, &pring->txq,
drivers/scsi/lpfc/lpfc_els.c
12206
if (pring && !list_empty(&pring->txq))
drivers/scsi/lpfc/lpfc_els.c
9828
list_for_each_entry_safe(piocb, tmp_iocb, &pring->txq, list) {
drivers/scsi/lpfc/lpfc_hbadisc.c
5096
list_for_each_entry_safe(iocb, next_iocb, &pring->txq, list) {
drivers/scsi/lpfc/lpfc_hbadisc.c
5973
list_for_each_entry_safe(iocb, next_iocb, &pring->txq, list) {
drivers/scsi/lpfc/lpfc_nportdisc.c
288
list_for_each_entry_safe(iocb, next_iocb, &pring->txq, list) {
drivers/scsi/lpfc/lpfc_nvme.c
2901
list_splice_init(&pring->txq, &cancel_list);
drivers/scsi/lpfc/lpfc_scsi.c
540
!list_empty(&pring->txq))
drivers/scsi/lpfc/lpfc_sli.c
10404
list_add_tail(&piocb->list, &pring->txq);
drivers/scsi/lpfc/lpfc_sli.c
11805
INIT_LIST_HEAD(&pring->txq);
drivers/scsi/lpfc/lpfc_sli.c
11814
INIT_LIST_HEAD(&pring->txq);
drivers/scsi/lpfc/lpfc_sli.c
11824
INIT_LIST_HEAD(&pring->txq);
drivers/scsi/lpfc/lpfc_sli.c
11866
INIT_LIST_HEAD(&pring->txq);
drivers/scsi/lpfc/lpfc_sli.c
11976
&pring->txq, list) {
drivers/scsi/lpfc/lpfc_sli.c
12003
&pring->txq, list) {
drivers/scsi/lpfc/lpfc_sli.c
12081
list_splice_init(&pring->txq, &completions);
drivers/scsi/lpfc/lpfc_sli.c
12089
list_splice_init(&pring->txq, &completions);
drivers/scsi/lpfc/lpfc_sli.c
13229
list_for_each_entry(iocb, &pring->txq, list) {
drivers/scsi/lpfc/lpfc_sli.c
1419
if (pring && (!list_empty(&pring->txq)))
drivers/scsi/lpfc/lpfc_sli.c
14512
if (!list_empty(&pring->txq))
drivers/scsi/lpfc/lpfc_sli.c
1756
list_remove_head((&pring->txq), cmd_iocb, struct lpfc_iocbq, list);
drivers/scsi/lpfc/lpfc_sli.c
21215
if (unlikely(!pring) || list_empty(&pring->txq))
drivers/scsi/lpfc/lpfc_sli.c
21219
list_for_each_entry(piocbq, &pring->txq, list) {
drivers/scsi/lpfc/lpfc_sli.c
21228
while (!list_empty(&pring->txq)) {
drivers/scsi/lpfc/lpfc_sli.c
2311
(!list_empty(&pring->txq)) &&
drivers/scsi/lpfc/lpfc_sli.c
4584
list_splice_init(&pring->txq, &tx_completions);
drivers/scsi/lpfc/lpfc_sli.c
4649
LIST_HEAD(txq);
drivers/scsi/lpfc/lpfc_sli.c
4677
list_splice_init(&pring->txq, &txq);
drivers/scsi/lpfc/lpfc_sli.c
4688
lpfc_sli_cancel_iocbs(phba, &txq,
drivers/scsi/lpfc/lpfc_sli.c
4703
list_splice_init(&pring->txq, &txq);
drivers/scsi/lpfc/lpfc_sli.c
4714
lpfc_sli_cancel_iocbs(phba, &txq, IOSTAT_LOCAL_REJECT,
drivers/scsi/lpfc/lpfc_sli.h
287
struct list_head txq;
drivers/target/iscsi/cxgbit/cxgbit.h
197
struct sk_buff_head txq;
drivers/target/iscsi/cxgbit/cxgbit_cm.c
1357
skb_queue_head_init(&csk->txq);
drivers/target/iscsi/cxgbit/cxgbit_cm.c
1764
__skb_queue_purge(&csk->txq);
drivers/target/iscsi/cxgbit/cxgbit_cm.c
1890
if (skb_queue_len(&csk->txq))
drivers/target/iscsi/cxgbit/cxgbit_cm.c
635
__skb_queue_tail(&csk->txq, skb);
drivers/target/iscsi/cxgbit/cxgbit_cm.c
666
__skb_queue_purge(&csk->txq);
drivers/target/iscsi/cxgbit/cxgbit_cm.c
781
__skb_queue_purge(&csk->txq);
drivers/target/iscsi/cxgbit/cxgbit_target.c
205
while (csk->wr_cred && ((skb = skb_peek(&csk->txq)) != NULL)) {
drivers/target/iscsi/cxgbit/cxgbit_target.c
243
__skb_unlink(skb, &csk->txq);
drivers/target/iscsi/cxgbit/cxgbit_target.c
330
skb_queue_splice_tail_init(&csk->ppodq, &csk->txq);
drivers/target/iscsi/cxgbit/cxgbit_target.c
331
__skb_queue_tail(&csk->txq, skb);
drivers/tty/n_gsm.c
3132
struct gsm_msg *txq, *ntxq;
drivers/tty/n_gsm.c
3167
list_for_each_entry_safe(txq, ntxq, &gsm->tx_ctrl_list, list)
drivers/tty/n_gsm.c
3168
kfree(txq);
drivers/tty/n_gsm.c
3170
list_for_each_entry_safe(txq, ntxq, &gsm->tx_data_list, list)
drivers/tty/n_gsm.c
3171
kfree(txq);
drivers/vdpa/vdpa_sim/vdpa_sim_net.c
198
struct vdpasim_virtqueue *txq = &vdpasim->vqs[1];
drivers/vdpa/vdpa_sim/vdpa_sim_net.c
216
if (!txq->ready || !rxq->ready)
drivers/vdpa/vdpa_sim/vdpa_sim_net.c
220
err = vringh_getdesc_iotlb(&txq->vring, &txq->out_iov, NULL,
drivers/vdpa/vdpa_sim/vdpa_sim_net.c
221
&txq->head, GFP_ATOMIC);
drivers/vdpa/vdpa_sim/vdpa_sim_net.c
229
read = vringh_iov_pull_iotlb(&txq->vring, &txq->out_iov,
drivers/vdpa/vdpa_sim/vdpa_sim_net.c
236
vdpasim_net_complete(txq, 0);
drivers/vdpa/vdpa_sim/vdpa_sim_net.c
244
vdpasim_net_complete(txq, 0);
drivers/vdpa/vdpa_sim/vdpa_sim_net.c
258
vdpasim_net_complete(txq, 0);
include/linux/avf/virtchnl.h
421
struct virtchnl_txq_info txq;
include/linux/netdevice.h
2674
int netdev_txq_to_tc(struct net_device *dev, unsigned int txq);
include/linux/netdevice.h
3689
void netif_schedule_queue(struct netdev_queue *txq);
include/linux/netdevice.h
3720
struct netdev_queue *txq = netdev_get_tx_queue(dev, i);
include/linux/netdevice.h
3721
netif_tx_start_queue(txq);
include/linux/netdevice.h
3744
struct netdev_queue *txq = netdev_get_tx_queue(dev, i);
include/linux/netdevice.h
3745
netif_tx_wake_queue(txq);
include/linux/netdevice.h
3826
static inline int netdev_queue_dql_avail(const struct netdev_queue *txq)
include/linux/netdevice.h
3830
return dql_avail(&txq->dql);
include/linux/netdevice.h
4074
struct netdev_queue *txq = netdev_get_tx_queue(dev, queue_index);
include/linux/netdevice.h
4076
netif_tx_start_queue(txq);
include/linux/netdevice.h
4088
struct netdev_queue *txq = netdev_get_tx_queue(dev, queue_index);
include/linux/netdevice.h
4089
netif_tx_stop_queue(txq);
include/linux/netdevice.h
4102
struct netdev_queue *txq = netdev_get_tx_queue(dev, queue_index);
include/linux/netdevice.h
4104
return netif_tx_queue_stopped(txq);
include/linux/netdevice.h
4129
struct netdev_queue *txq = netdev_get_tx_queue(dev, queue_index);
include/linux/netdevice.h
4131
netif_tx_wake_queue(txq);
include/linux/netdevice.h
4252
int netif_set_real_num_tx_queues(struct net_device *dev, unsigned int txq);
include/linux/netdevice.h
4255
unsigned int txq, unsigned int rxq);
include/linux/netdevice.h
4386
struct netdev_queue *txq, int *ret);
include/linux/netdevice.h
4807
static inline void __netif_tx_lock(struct netdev_queue *txq, int cpu)
include/linux/netdevice.h
4809
spin_lock(&txq->_xmit_lock);
include/linux/netdevice.h
4811
WRITE_ONCE(txq->xmit_lock_owner, cpu);
include/linux/netdevice.h
4814
static inline bool __netif_tx_acquire(struct netdev_queue *txq)
include/linux/netdevice.h
4816
__acquire(&txq->_xmit_lock);
include/linux/netdevice.h
4820
static inline void __netif_tx_release(struct netdev_queue *txq)
include/linux/netdevice.h
4822
__release(&txq->_xmit_lock);
include/linux/netdevice.h
4825
static inline void __netif_tx_lock_bh(struct netdev_queue *txq)
include/linux/netdevice.h
4827
spin_lock_bh(&txq->_xmit_lock);
include/linux/netdevice.h
4829
WRITE_ONCE(txq->xmit_lock_owner, smp_processor_id());
include/linux/netdevice.h
4832
static inline bool __netif_tx_trylock(struct netdev_queue *txq)
include/linux/netdevice.h
4834
bool ok = spin_trylock(&txq->_xmit_lock);
include/linux/netdevice.h
4838
WRITE_ONCE(txq->xmit_lock_owner, smp_processor_id());
include/linux/netdevice.h
4843
static inline void __netif_tx_unlock(struct netdev_queue *txq)
include/linux/netdevice.h
4846
WRITE_ONCE(txq->xmit_lock_owner, -1);
include/linux/netdevice.h
4847
spin_unlock(&txq->_xmit_lock);
include/linux/netdevice.h
4850
static inline void __netif_tx_unlock_bh(struct netdev_queue *txq)
include/linux/netdevice.h
4853
WRITE_ONCE(txq->xmit_lock_owner, -1);
include/linux/netdevice.h
4854
spin_unlock_bh(&txq->_xmit_lock);
include/linux/netdevice.h
4861
struct netdev_queue *txq)
include/linux/netdevice.h
4864
WRITE_ONCE(txq->trans_start, jiffies);
include/linux/netdevice.h
4867
static inline void txq_trans_cond_update(struct netdev_queue *txq)
include/linux/netdevice.h
4871
if (READ_ONCE(txq->trans_start) != now)
include/linux/netdevice.h
4872
WRITE_ONCE(txq->trans_start, now);
include/linux/netdevice.h
4878
struct netdev_queue *txq = netdev_get_tx_queue(dev, 0);
include/linux/netdevice.h
4880
txq_trans_cond_update(txq);
include/linux/netdevice.h
4905
#define HARD_TX_LOCK(dev, txq, cpu) { \
include/linux/netdevice.h
4907
__netif_tx_lock(txq, cpu); \
include/linux/netdevice.h
4909
__netif_tx_acquire(txq); \
include/linux/netdevice.h
4913
#define HARD_TX_TRYLOCK(dev, txq) \
include/linux/netdevice.h
4915
__netif_tx_trylock(txq) : \
include/linux/netdevice.h
4916
__netif_tx_acquire(txq))
include/linux/netdevice.h
4918
#define HARD_TX_UNLOCK(dev, txq) { \
include/linux/netdevice.h
4920
__netif_tx_unlock(txq); \
include/linux/netdevice.h
4922
__netif_tx_release(txq); \
include/linux/netdevice.h
4935
struct netdev_queue *txq = netdev_get_tx_queue(dev, i);
include/linux/netdevice.h
4937
__netif_tx_lock(txq, cpu);
include/linux/netdevice.h
4938
netif_tx_stop_queue(txq);
include/linux/netdevice.h
4939
__netif_tx_unlock(txq);
include/linux/netdevice.h
4946
static inline bool netif_tx_owned(struct netdev_queue *txq, unsigned int cpu)
include/linux/netdevice.h
4951
return READ_ONCE(txq->xmit_lock_owner) == cpu;
include/linux/netdevice.h
4955
static inline bool netif_tx_owned(struct netdev_queue *txq, unsigned int cpu)
include/linux/netdevice.h
4957
return rt_mutex_owner(&txq->_xmit_lock.lock) == current;
include/linux/netdevice.h
5404
struct netdev_queue *txq, bool more)
include/linux/netdevice.h
5411
txq_trans_update(dev, txq);
include/linux/netpoll.h
70
struct sk_buff_head txq;
include/linux/ti_wilink_st.h
142
struct sk_buff_head txq, tx_waitq;
include/linux/usb/usbnet.h
55
struct sk_buff_head txq;
include/net/libeth/xdp.h
116
static inline u32 libeth_xdpsq_num(u32 rxq, u32 txq, u32 max)
include/net/libeth/xdp.h
118
return min(max(nr_cpu_ids, rxq), max - txq);
include/net/mac80211.h
2235
struct ieee80211_txq *txq;
include/net/mac80211.h
2737
struct ieee80211_txq *txq[IEEE80211_NUM_TIDS + 1];
include/net/mac80211.h
5045
struct ieee80211_txq *txq);
include/net/mac80211.h
6877
ieee80211_txq_airtime_check(struct ieee80211_hw *hw, struct ieee80211_txq *txq);
include/net/mac80211.h
7743
struct ieee80211_txq *txq);
include/net/mac80211.h
7759
struct ieee80211_txq *txq)
include/net/mac80211.h
7764
skb = ieee80211_tx_dequeue(hw, txq);
include/net/mac80211.h
7780
struct ieee80211_txq *txq);
include/net/mac80211.h
7811
struct ieee80211_txq *txq, bool force);
include/net/mac80211.h
7826
ieee80211_schedule_txq(struct ieee80211_hw *hw, struct ieee80211_txq *txq)
include/net/mac80211.h
7828
__ieee80211_schedule_txq(hw, txq, true);
include/net/mac80211.h
7842
ieee80211_return_txq(struct ieee80211_hw *hw, struct ieee80211_txq *txq,
include/net/mac80211.h
7845
__ieee80211_schedule_txq(hw, txq, force);
include/net/mac80211.h
7875
struct ieee80211_txq *txq);
include/net/mac80211.h
7888
void ieee80211_txq_get_depth(struct ieee80211_txq *txq,
include/net/mana/hw_channel.h
192
struct hwc_wq *txq;
include/net/mana/mana.h
290
struct mana_txq *txq;
include/net/mana/mana.h
377
struct mana_txq txq;
include/net/netdev_queues.h
224
#define netif_txq_try_stop(txq, get_desc, start_thrs) \
include/net/netdev_queues.h
228
netif_tx_stop_queue(txq); \
include/net/netdev_queues.h
240
netif_tx_start_queue(txq); \
include/net/netdev_queues.h
265
#define netif_txq_maybe_stop(txq, get_desc, stop_thrs, start_thrs) \
include/net/netdev_queues.h
271
_res = netif_txq_try_stop(txq, get_desc, start_thrs); \
include/net/netdev_queues.h
308
#define __netif_txq_completed_wake(txq, pkts, bytes, \
include/net/netdev_queues.h
318
netdev_txq_completed_mb(txq, pkts, bytes); \
include/net/netdev_queues.h
323
if (unlikely(netif_tx_queue_stopped(txq)) && \
include/net/netdev_queues.h
325
netif_tx_wake_queue(txq); \
include/net/netdev_queues.h
332
#define netif_txq_completed_wake(txq, pkts, bytes, get_desc, start_thrs) \
include/net/netdev_queues.h
333
__netif_txq_completed_wake(txq, pkts, bytes, get_desc, start_thrs, false)
include/net/netdev_queues.h
348
struct netdev_queue *txq;
include/net/netdev_queues.h
350
txq = netdev_get_tx_queue(dev, idx);
include/net/netdev_queues.h
351
netdev_tx_sent_queue(txq, bytes);
include/net/netdev_queues.h
354
static inline unsigned int netif_xmit_timeout_ms(struct netdev_queue *txq)
include/net/netdev_queues.h
356
unsigned long trans_start = READ_ONCE(txq->trans_start);
include/net/netdev_queues.h
358
if (netif_xmit_stopped(txq) &&
include/net/netdev_queues.h
359
time_after(jiffies, trans_start + txq->dev->watchdog_timeo))
include/net/pkt_sched.h
112
struct net_device *dev, struct netdev_queue *txq,
include/net/sch_generic.h
1216
struct netdev_queue *txq, struct net_device *dev);
include/net/sch_generic.h
1219
struct netdev_queue *txq,
include/net/sch_generic.h
1223
__tcf_kfree_skb_list(skb, q, txq, dev);
include/net/sch_generic.h
261
static inline int qdisc_avail_bulklimit(const struct netdev_queue *txq)
include/net/sch_generic.h
263
return netdev_queue_dql_avail(txq);
include/net/sch_generic.h
855
struct netdev_queue *txq = netdev_get_tx_queue(dev, i);
include/net/sch_generic.h
856
const struct Qdisc *q = rcu_dereference(txq->qdisc);
include/net/sch_generic.h
873
struct netdev_queue *txq = netdev_get_tx_queue(dev, i);
include/net/sch_generic.h
875
if (rcu_access_pointer(txq->qdisc) !=
include/net/sch_generic.h
876
rcu_access_pointer(txq->qdisc_sleeping))
include/net/sch_generic.h
883
static inline bool qdisc_txq_has_no_queue(const struct netdev_queue *txq)
include/net/sch_generic.h
885
struct Qdisc *qdisc = rcu_access_pointer(txq->qdisc);
include/net/sch_generic.h
896
struct netdev_queue *txq = netdev_get_tx_queue(dev, i);
include/net/sch_generic.h
897
if (rcu_access_pointer(txq->qdisc) != &noop_qdisc)
include/net/xdp.h
92
struct xdp_txq_info *txq;
include/trace/events/qdisc.h
109
__entry->txq = txq;
include/trace/events/qdisc.h
16
TP_PROTO(struct Qdisc *qdisc, const struct netdev_queue *txq,
include/trace/events/qdisc.h
19
TP_ARGS(qdisc, txq, packets, skb),
include/trace/events/qdisc.h
23
__field(const struct netdev_queue *, txq )
include/trace/events/qdisc.h
35
__entry->txq = txq;
include/trace/events/qdisc.h
38
__entry->ifindex = txq->dev ? txq->dev->ifindex : 0;
include/trace/events/qdisc.h
41
__entry->txq_state = txq->state;
include/trace/events/qdisc.h
51
TP_PROTO(struct Qdisc *qdisc, const struct netdev_queue *txq, struct sk_buff *skb),
include/trace/events/qdisc.h
53
TP_ARGS(qdisc, txq, skb),
include/trace/events/qdisc.h
57
__field(const struct netdev_queue *, txq)
include/trace/events/qdisc.h
66
__entry->txq = txq;
include/trace/events/qdisc.h
68
__entry->ifindex = txq->dev ? txq->dev->ifindex : 0;
include/trace/events/qdisc.h
90
TP_PROTO(struct Qdisc *qdisc, const struct netdev_queue *txq,
include/trace/events/qdisc.h
94
TP_ARGS(qdisc, txq, dev, skb, reason),
include/trace/events/qdisc.h
98
__field(const struct netdev_queue *, txq)
kernel/bpf/devmap.c
341
struct xdp_txq_info txq = { .dev = tx_dev };
kernel/bpf/devmap.c
352
xdp.txq = &txq;
kernel/bpf/devmap.c
517
struct xdp_txq_info txq = { .dev = dst->dev };
kernel/bpf/devmap.c
525
xdp.txq = &txq;
net/batman-adv/mesh-interface.c
720
struct netdev_queue *txq,
net/batman-adv/mesh-interface.c
723
lockdep_set_class(&txq->_xmit_lock, &batadv_netdev_xmit_lock_key);
net/core/dev.c
11252
struct netdev_queue *txq = netdev_get_tx_queue(dev, i);
net/core/dev.c
11254
netif_tx_stop_queue(txq);
net/core/dev.c
2628
static void netif_setup_tc(struct net_device *dev, unsigned int txq)
net/core/dev.c
2634
if (tc->offset + tc->count > txq) {
net/core/dev.c
2645
if (tc->offset + tc->count > txq) {
net/core/dev.c
2653
int netdev_txq_to_tc(struct net_device *dev, unsigned int txq)
net/core/dev.c
2661
if ((txq - tc->offset) < tc->count)
net/core/dev.c
3070
struct netdev_queue *txq = &dev->_tx[dev->num_tx_queues];
net/core/dev.c
3073
while (txq-- != &dev->_tx[0]) {
net/core/dev.c
3074
if (txq->sb_dev)
net/core/dev.c
3075
netdev_unbind_sb_channel(dev, txq->sb_dev);
net/core/dev.c
3125
struct netdev_queue *txq = &dev->_tx[dev->num_tx_queues];
net/core/dev.c
3133
while (txq-- != &dev->_tx[0]) {
net/core/dev.c
3134
if (txq->sb_dev == sb_dev)
net/core/dev.c
3135
txq->sb_dev = NULL;
net/core/dev.c
3190
int netif_set_real_num_tx_queues(struct net_device *dev, unsigned int txq)
net/core/dev.c
3195
disabling = txq < dev->real_num_tx_queues;
net/core/dev.c
3197
if (txq < 1 || txq > dev->num_tx_queues)
net/core/dev.c
3205
txq);
net/core/dev.c
3210
netif_setup_tc(dev, txq);
net/core/dev.c
3212
net_shaper_set_real_num_tx_queues(dev, txq);
net/core/dev.c
3214
dev_qdisc_change_real_num_tx(dev, txq);
net/core/dev.c
3216
dev->real_num_tx_queues = txq;
net/core/dev.c
3220
qdisc_reset_all_tx_gt(dev, txq);
net/core/dev.c
3222
netif_reset_xps_queues_gt(dev, txq);
net/core/dev.c
3226
dev->real_num_tx_queues = txq;
net/core/dev.c
3274
unsigned int txq, unsigned int rxq)
net/core/dev.c
3279
if (txq < 1 || txq > dev->num_tx_queues ||
net/core/dev.c
3291
if (txq > dev->real_num_tx_queues) {
net/core/dev.c
3292
err = netif_set_real_num_tx_queues(dev, txq);
net/core/dev.c
3298
if (txq < dev->real_num_tx_queues)
net/core/dev.c
3299
WARN_ON(netif_set_real_num_tx_queues(dev, txq));
net/core/dev.c
3418
void netif_schedule_queue(struct netdev_queue *txq)
net/core/dev.c
3421
if (!netif_xmit_stopped(txq)) {
net/core/dev.c
3422
struct Qdisc *q = rcu_dereference(txq->qdisc);
net/core/dev.c
3879
struct netdev_queue *txq, bool more)
net/core/dev.c
3889
rc = netdev_start_xmit(skb, dev, txq, more);
net/core/dev.c
3896
struct netdev_queue *txq, int *ret)
net/core/dev.c
3905
rc = xmit_one(skb, dev, txq, next != NULL);
net/core/dev.c
3912
if (netif_tx_queue_stopped(txq) && skb) {
net/core/dev.c
4175
struct netdev_queue *txq)
net/core/dev.c
4181
trace_qdisc_enqueue(q, txq, skb);
net/core/dev.c
4187
struct netdev_queue *txq)
net/core/dev.c
4206
rc = dev_qdisc_enqueue(skb, q, &to_free, txq);
net/core/dev.c
4214
if (sch_direct_xmit(skb, q, dev, txq, NULL, true) &&
net/core/dev.c
4223
rc = dev_qdisc_enqueue(skb, q, &to_free, txq);
net/core/dev.c
4281
if (sch_direct_xmit(skb, q, dev, txq, root_lock, true))
net/core/dev.c
4294
rc = dev_qdisc_enqueue(skb, q, &to_free, txq);
net/core/dev.c
4305
tcf_kfree_skb_list(to_free, q, txq, dev);
net/core/dev.c
4306
tcf_kfree_skb_list(to_free2, q, txq, dev);
net/core/dev.c
4774
struct netdev_queue *txq = NULL;
net/core/dev.c
4818
txq = netdev_tx_queue_mapping(dev, skb);
net/core/dev.c
4829
if (!txq)
net/core/dev.c
4830
txq = netdev_core_pick_tx(dev, skb, sb_dev);
net/core/dev.c
4832
q = rcu_dereference_bh(txq->qdisc);
net/core/dev.c
4836
rc = __dev_xmit_skb(skb, q, dev, txq);
net/core/dev.c
4859
if (likely(!netif_tx_owned(txq, cpu))) {
net/core/dev.c
4872
HARD_TX_LOCK(dev, txq, cpu);
net/core/dev.c
4874
if (!netif_xmit_stopped(txq)) {
net/core/dev.c
4878
skb = dev_hard_start_xmit(skb, dev, txq, &rc);
net/core/dev.c
4887
HARD_TX_UNLOCK(dev, txq);
net/core/dev.c
4922
struct netdev_queue *txq;
net/core/dev.c
4935
txq = skb_get_tx_queue(dev, skb);
net/core/dev.c
4940
HARD_TX_LOCK(dev, txq, smp_processor_id());
net/core/dev.c
4941
if (!netif_xmit_frozen_or_drv_stopped(txq))
net/core/dev.c
4942
ret = netdev_start_xmit(skb, dev, txq, false);
net/core/dev.c
4943
HARD_TX_UNLOCK(dev, txq);
net/core/dev.c
5644
struct netdev_queue *txq;
net/core/dev.c
5648
txq = netdev_core_pick_tx(dev, skb, NULL);
net/core/dev.c
5650
HARD_TX_LOCK(dev, txq, cpu);
net/core/dev.c
5651
if (!netif_xmit_frozen_or_drv_stopped(txq)) {
net/core/dev.c
5652
rc = netdev_start_xmit(skb, dev, txq, 0);
net/core/dev.c
5656
HARD_TX_UNLOCK(dev, txq);
net/core/dev.c
7302
struct netdev_queue *txq;
net/core/dev.c
7314
txq = netdev_get_tx_queue(dev, queue_index);
net/core/dev.c
7315
txq->napi = napi;
net/core/dev.h
86
unsigned int txq);
net/core/dev.h
90
unsigned int txq) {}
net/core/filter.c
10486
*insn++ = BPF_LDX_MEM(BPF_FIELD_SIZEOF(struct xdp_buff, txq),
net/core/filter.c
10488
offsetof(struct xdp_buff, txq));
net/core/net-sysfs.c
2082
int error = 0, txq = 0, rxq = 0, real_rx = 0, real_tx = 0;
net/core/net-sysfs.c
2101
txq = real_tx;
net/core/net-sysfs.c
2106
netdev_queue_update_kobjects(dev, txq, 0);
net/core/netdev-genl.c
479
struct netdev_queue *txq;
net/core/netdev-genl.c
502
txq = netdev_get_tx_queue(netdev, q_idx);
net/core/netdev-genl.c
503
if (nla_put_napi_id(rsp, txq->napi))
net/core/netdev-genl.c
506
if (txq->pool)
net/core/netpoll.c
101
txq = netdev_get_tx_queue(dev, q_index);
net/core/netpoll.c
102
HARD_TX_LOCK(dev, txq, smp_processor_id());
net/core/netpoll.c
103
if (netif_xmit_frozen_or_stopped(txq) ||
net/core/netpoll.c
104
!dev_xmit_complete(netpoll_start_xmit(skb, dev, txq))) {
net/core/netpoll.c
105
skb_queue_head(&npinfo->txq, skb);
net/core/netpoll.c
106
HARD_TX_UNLOCK(dev, txq);
net/core/netpoll.c
112
HARD_TX_UNLOCK(dev, txq);
net/core/netpoll.c
122
struct netdev_queue *txq = netdev_get_tx_queue(dev, i);
net/core/netpoll.c
124
if (netif_tx_owned(txq, smp_processor_id()))
net/core/netpoll.c
296
if (skb_queue_len(&npinfo->txq) == 0 && !netpoll_owner_active(dev)) {
net/core/netpoll.c
297
struct netdev_queue *txq;
net/core/netpoll.c
299
txq = netdev_core_pick_tx(dev, skb, NULL);
net/core/netpoll.c
304
if (HARD_TX_TRYLOCK(dev, txq)) {
net/core/netpoll.c
305
if (!netif_xmit_stopped(txq))
net/core/netpoll.c
306
status = netpoll_start_xmit(skb, dev, txq);
net/core/netpoll.c
308
HARD_TX_UNLOCK(dev, txq);
net/core/netpoll.c
328
skb_queue_tail(&npinfo->txq, skb);
net/core/netpoll.c
396
skb_queue_head_init(&npinfo->txq);
net/core/netpoll.c
52
struct netdev_queue *txq)
net/core/netpoll.c
635
skb_queue_purge(&npinfo->txq);
net/core/netpoll.c
71
status = netdev_start_xmit(skb, dev, txq, false);
net/core/netpoll.c
84
while ((skb = skb_dequeue(&npinfo->txq))) {
net/core/netpoll.c
86
struct netdev_queue *txq;
net/core/pktgen.c
3515
struct netdev_queue *txq;
net/core/pktgen.c
3634
txq = skb_get_tx_queue(odev, pkt_dev->skb);
net/core/pktgen.c
3638
HARD_TX_LOCK(odev, txq, smp_processor_id());
net/core/pktgen.c
3640
if (unlikely(netif_xmit_frozen_or_drv_stopped(txq))) {
net/core/pktgen.c
3648
ret = netdev_start_xmit(pkt_dev->skb, odev, txq, --burst > 0);
net/core/pktgen.c
3659
if (burst > 0 && !netif_xmit_frozen_or_drv_stopped(txq))
net/core/pktgen.c
3681
HARD_TX_UNLOCK(odev, txq);
net/mac80211/agg-tx.c
1002
txq = sta->sta.txq[tid];
net/mac80211/agg-tx.c
1003
if (!amsdu && txq)
net/mac80211/agg-tx.c
1004
set_bit(IEEE80211_TXQ_NO_AMSDU, &to_txq_info(txq)->flags);
net/mac80211/agg-tx.c
184
struct ieee80211_txq *txq = sta->sta.txq[tid];
net/mac80211/agg-tx.c
189
if (!txq)
net/mac80211/agg-tx.c
192
txqi = to_txq_info(txq);
net/mac80211/agg-tx.c
193
sdata = vif_to_sdata(txq->vif);
net/mac80211/agg-tx.c
205
struct ieee80211_txq *txq = sta->sta.txq[tid];
net/mac80211/agg-tx.c
210
if (!txq)
net/mac80211/agg-tx.c
213
txqi = to_txq_info(txq);
net/mac80211/agg-tx.c
983
struct ieee80211_txq *txq;
net/mac80211/cfg.c
5395
if (!sdata->vif.txq) {
net/mac80211/cfg.c
5399
ieee80211_fill_txq_stats(txqstats, to_txq_info(sdata->vif.txq));
net/mac80211/debugfs_netdev.c
623
if (!sdata->vif.txq)
net/mac80211/debugfs_netdev.c
626
txqi = to_txq_info(sdata->vif.txq);
net/mac80211/debugfs_netdev.c
634
txqi->txq.ac,
net/mac80211/debugfs_sta.c
156
for (i = 0; i < ARRAY_SIZE(sta->sta.txq); i++) {
net/mac80211/debugfs_sta.c
157
if (!sta->sta.txq[i])
net/mac80211/debugfs_sta.c
159
txqi = to_txq_info(sta->sta.txq[i]);
net/mac80211/debugfs_sta.c
162
txqi->txq.tid,
net/mac80211/debugfs_sta.c
163
txqi->txq.ac,
net/mac80211/driver-ops.h
1380
struct txq_info *txq)
net/mac80211/driver-ops.h
1382
struct ieee80211_sub_if_data *sdata = vif_to_sdata(txq->txq.vif);
net/mac80211/driver-ops.h
1386
set_bit(IEEE80211_TXQ_DIRTY, &txq->flags);
net/mac80211/driver-ops.h
1393
trace_drv_wake_tx_queue(local, sdata, txq);
net/mac80211/driver-ops.h
1394
local->ops->wake_tx_queue(&local->hw, &txq->txq);
net/mac80211/driver-ops.h
1400
ieee80211_schedule_txq(&local->hw, &txqi->txq);
net/mac80211/ht.c
365
struct txq_info *txqi = to_txq_info(sta->sta.txq[tid]);
net/mac80211/ht.c
367
vif_to_sdata(txqi->txq.vif);
net/mac80211/ieee80211_i.h
1932
static inline struct txq_info *to_txq_info(struct ieee80211_txq *txq)
net/mac80211/ieee80211_i.h
1934
return container_of(txq, struct txq_info, txq);
net/mac80211/ieee80211_i.h
1937
static inline bool txq_has_queue(struct ieee80211_txq *txq)
net/mac80211/ieee80211_i.h
1939
struct txq_info *txqi = to_txq_info(txq);
net/mac80211/ieee80211_i.h
2679
struct txq_info *txq, int tid);
net/mac80211/ieee80211_i.h
986
struct ieee80211_txq txq;
net/mac80211/iface.c
2423
if (sdata->vif.txq)
net/mac80211/iface.c
2424
ieee80211_txq_purge(sdata->local, to_txq_info(sdata->vif.txq));
net/mac80211/iface.c
714
if (sdata->vif.txq)
net/mac80211/iface.c
715
ieee80211_txq_purge(sdata->local, to_txq_info(sdata->vif.txq));
net/mac80211/rx.c
1707
struct ieee80211_txq *txq = sta->sta.txq[tid];
net/mac80211/rx.c
1708
struct txq_info *txqi = to_txq_info(txq);
net/mac80211/rx.c
1710
spin_lock(&local->active_txq_lock[txq->ac]);
net/mac80211/rx.c
1713
spin_unlock(&local->active_txq_lock[txq->ac]);
net/mac80211/rx.c
1715
if (txq_has_queue(txq))
net/mac80211/sta_info.c
120
for (i = 0; i < ARRAY_SIZE(sta->sta.txq); i++) {
net/mac80211/sta_info.c
123
if (!sta->sta.txq[i])
net/mac80211/sta_info.c
126
txqi = to_txq_info(sta->sta.txq[i]);
net/mac80211/sta_info.c
1856
for (i = 0; i < ARRAY_SIZE(sta->sta.txq); i++) {
net/mac80211/sta_info.c
1857
if (!sta->sta.txq[i] || !txq_has_queue(sta->sta.txq[i]))
net/mac80211/sta_info.c
1860
schedule_and_wake_txq(local, to_txq_info(sta->sta.txq[i]));
net/mac80211/sta_info.c
2275
for (tid = 0; tid < ARRAY_SIZE(sta->sta.txq); tid++) {
net/mac80211/sta_info.c
2276
if (!sta->sta.txq[tid] ||
net/mac80211/sta_info.c
2278
txq_has_queue(sta->sta.txq[tid]))
net/mac80211/sta_info.c
2722
to_txq_info(sta->sta.txq[tid]));
net/mac80211/sta_info.c
505
kfree(to_txq_info(sta->sta.txq[0]));
net/mac80211/sta_info.c
716
txq_data = kcalloc(ARRAY_SIZE(sta->sta.txq), size, gfp);
net/mac80211/sta_info.c
720
for (i = 0; i < ARRAY_SIZE(sta->sta.txq); i++) {
net/mac80211/sta_info.c
721
struct txq_info *txq = txq_data + i * size;
net/mac80211/sta_info.c
724
ieee80211_txq_init(sdata, sta, txq, i);
net/mac80211/sta_info.c
793
kfree(to_txq_info(sta->sta.txq[0]));
net/mac80211/tdls.c
278
struct ieee80211_tx_queue_params *txq;
net/mac80211/tdls.c
299
txq = &sdata->deflink.tx_conf[ieee80211_ac_from_wmm(i)];
net/mac80211/tdls.c
300
wmm->ac[i].aci_aifsn = ieee80211_wmm_aci_aifsn(txq->aifs,
net/mac80211/tdls.c
301
txq->acm, i);
net/mac80211/tdls.c
302
wmm->ac[i].cw = ieee80211_wmm_ecw(txq->cw_min, txq->cw_max);
net/mac80211/tdls.c
303
wmm->ac[i].txop_limit = cpu_to_le16(txq->txop);
net/mac80211/trace.h
2365
struct txq_info *txq),
net/mac80211/trace.h
2367
TP_ARGS(local, sdata, txq),
net/mac80211/trace.h
2378
struct ieee80211_sta *sta = txq->txq.sta;
net/mac80211/trace.h
2383
__entry->ac = txq->txq.ac;
net/mac80211/trace.h
2384
__entry->tid = txq->txq.tid;
net/mac80211/tx.c
1125
} else if (!tx->sta->sta.txq[tid]) {
net/mac80211/tx.c
1306
struct ieee80211_txq *txq = NULL;
net/mac80211/tx.c
1324
txq = sta->sta.txq[IEEE80211_NUM_TIDS];
net/mac80211/tx.c
1328
txq = vif->txq_mgmt;
net/mac80211/tx.c
1336
txq = sta->sta.txq[tid];
net/mac80211/tx.c
1338
txq = vif->txq;
net/mac80211/tx.c
1341
if (!txq)
net/mac80211/tx.c
1344
return to_txq_info(txq);
net/mac80211/tx.c
1378
local = vif_to_sdata(txqi->txq.vif)->local;
net/mac80211/tx.c
1397
local = vif_to_sdata(txqi->txq.vif)->local;
net/mac80211/tx.c
1462
if (unlikely(txqi->txq.tid == IEEE80211_NUM_TIDS)) {
net/mac80211/tx.c
1496
if (!ap->vif.txq)
net/mac80211/tx.c
1499
txqi = to_txq_info(ap->vif.txq);
net/mac80211/tx.c
1518
txqi->txq.vif = &sdata->vif;
net/mac80211/tx.c
1521
txqi->txq.tid = tid;
net/mac80211/tx.c
1524
sdata->vif.txq_mgmt = &txqi->txq;
net/mac80211/tx.c
1525
txqi->txq.ac = IEEE80211_AC_VO;
net/mac80211/tx.c
1527
sdata->vif.txq = &txqi->txq;
net/mac80211/tx.c
1528
txqi->txq.ac = IEEE80211_AC_BE;
net/mac80211/tx.c
1545
txqi->txq.ac = IEEE80211_AC_VO;
net/mac80211/tx.c
1547
txqi->txq.ac = ieee80211_ac_from_tid(tid);
net/mac80211/tx.c
1550
txqi->txq.sta = &sta->sta;
net/mac80211/tx.c
1551
txqi->txq.tid = tid;
net/mac80211/tx.c
1552
sta->sta.txq[tid] = &txqi->txq;
net/mac80211/tx.c
1566
spin_lock_bh(&local->active_txq_lock[txqi->txq.ac]);
net/mac80211/tx.c
1568
spin_unlock_bh(&local->active_txq_lock[txqi->txq.ac]);
net/mac80211/tx.c
3476
struct ieee80211_txq *txq = sta->sta.txq[tid];
net/mac80211/tx.c
3504
if (!txq)
net/mac80211/tx.c
3507
txqi = to_txq_info(txq);
net/mac80211/tx.c
3876
struct ieee80211_txq *txq)
net/mac80211/tx.c
3879
struct txq_info *txqi = container_of(txq, struct txq_info, txq);
net/mac80211/tx.c
3887
struct ieee80211_vif *vif = txq->vif;
net/mac80211/tx.c
3888
int q = vif->hw_queue[txq->ac];
net/mac80211/tx.c
3894
if (!ieee80211_txq_airtime_check(hw, txq))
net/mac80211/tx.c
3939
if (txq->sta) {
net/mac80211/tx.c
3940
tx.sta = container_of(txq->sta, struct sta_info, sta);
net/mac80211/tx.c
3988
struct sta_info *sta = container_of(txq->sta, struct sta_info,
net/mac80211/tx.c
4059
bool ampdu = txq->ac != IEEE80211_AC_VO;
net/mac80211/tx.c
4062
airtime = ieee80211_calc_expected_tx_airtime(hw, vif, txq->sta,
net/mac80211/tx.c
4067
txq->ac,
net/mac80211/tx.c
4094
if (!txqi->txq.sta)
net/mac80211/tx.c
4097
sta = container_of(txqi->txq.sta, struct sta_info, sta);
net/mac80211/tx.c
4098
sta->airtime[txqi->txq.ac].last_active = jiffies;
net/mac80211/tx.c
4106
if (!txqi->txq.sta)
net/mac80211/tx.c
4109
sta = container_of(txqi->txq.sta, struct sta_info, sta);
net/mac80211/tx.c
4110
if (ieee80211_sta_deficit(sta, txqi->txq.ac) >= 0)
net/mac80211/tx.c
4113
return ieee80211_sta_keep_active(sta, txqi->txq.ac);
net/mac80211/tx.c
4145
if (txqi->txq.sta) {
net/mac80211/tx.c
4146
struct sta_info *sta = container_of(txqi->txq.sta,
net/mac80211/tx.c
4148
bool aql_check = ieee80211_txq_airtime_check(hw, &txqi->txq);
net/mac80211/tx.c
4149
s32 deficit = ieee80211_sta_deficit(sta, txqi->txq.ac);
net/mac80211/tx.c
4155
sta->airtime[txqi->txq.ac].deficit +=
net/mac80211/tx.c
4160
&local->active_txqs[txqi->txq.ac]);
net/mac80211/tx.c
4170
ret = &txqi->txq;
net/mac80211/tx.c
4179
struct ieee80211_txq *txq,
net/mac80211/tx.c
4183
struct txq_info *txqi = to_txq_info(txq);
net/mac80211/tx.c
4186
spin_lock_bh(&local->active_txq_lock[txq->ac]);
net/mac80211/tx.c
4190
txq_has_queue(txq));
net/mac80211/tx.c
4200
if (txqi->txq.sta && local->airtime_flags && has_queue &&
net/mac80211/tx.c
4204
&local->active_txqs[txq->ac]);
net/mac80211/tx.c
4207
&local->active_txqs[txq->ac]);
net/mac80211/tx.c
4212
spin_unlock_bh(&local->active_txq_lock[txq->ac]);
net/mac80211/tx.c
4219
struct ieee80211_txq *txq)
net/mac80211/tx.c
4230
if (!txq->sta)
net/mac80211/tx.c
4233
if (unlikely(txq->tid == IEEE80211_NUM_TIDS))
net/mac80211/tx.c
4236
sta = container_of(txq->sta, struct sta_info, sta);
net/mac80211/tx.c
4237
if (atomic_read(&sta->airtime[txq->ac].aql_tx_pending) <
net/mac80211/tx.c
4238
sta->airtime[txq->ac].aql_limit_low)
net/mac80211/tx.c
4243
atomic_read(&sta->airtime[txq->ac].aql_tx_pending) <
net/mac80211/tx.c
4244
sta->airtime[txq->ac].aql_limit_high)
net/mac80211/tx.c
4255
struct txq_info *txq;
net/mac80211/tx.c
4261
list_for_each_entry(txq, &local->active_txqs[ac], schedule_order)
net/mac80211/tx.c
4271
struct ieee80211_txq *txq)
net/mac80211/tx.c
4274
struct txq_info *iter, *tmp, *txqi = to_txq_info(txq);
net/mac80211/tx.c
4276
u8 ac = txq->ac;
net/mac80211/tx.c
4280
if (!txqi->txq.sta)
net/mac80211/tx.c
4294
if (!iter->txq.sta) {
net/mac80211/tx.c
4299
sta = container_of(iter->txq.sta, struct sta_info, sta);
net/mac80211/tx.c
4305
sta = container_of(txqi->txq.sta, struct sta_info, sta);
net/mac80211/util.c
306
struct ieee80211_txq *txq)
net/mac80211/util.c
309
struct ieee80211_sub_if_data *sdata = vif_to_sdata(txq->vif);
net/mac80211/util.c
315
ieee80211_txq_schedule_start(hw, txq->ac);
net/mac80211/util.c
316
while ((queue = ieee80211_next_txq(hw, txq->ac))) {
net/mac80211/util.c
320
ieee80211_txq_schedule_end(hw, txq->ac);
net/mac80211/util.c
348
for (i = 0; i < ARRAY_SIZE(sta->sta.txq); i++) {
net/mac80211/util.c
349
struct ieee80211_txq *txq = sta->sta.txq[i];
net/mac80211/util.c
352
if (!txq)
net/mac80211/util.c
355
sta_txqi = to_txq_info(txq);
net/mac80211/util.c
357
if (ac != txq->ac)
net/mac80211/util.c
370
if (vif->txq) {
net/mac80211/util.c
371
txqi = to_txq_info(vif->txq);
net/mac80211/util.c
378
ac != vif->txq->ac)
net/mac80211/util.c
4468
void ieee80211_txq_get_depth(struct ieee80211_txq *txq,
net/mac80211/util.c
4472
struct txq_info *txqi = to_txq_info(txq);
net/sched/sch_generic.c
101
const struct netdev_queue *txq = q->dev_queue;
net/sched/sch_generic.c
113
txq = skb_get_tx_queue(txq->dev, skb);
net/sched/sch_generic.c
114
if (!netif_xmit_frozen_or_stopped(txq)) {
net/sched/sch_generic.c
1230
struct netdev_queue *txq;
net/sched/sch_generic.c
1233
txq = netdev_get_tx_queue(dev, 0);
net/sched/sch_generic.c
1238
qdisc = rtnl_dereference(txq->qdisc_sleeping);
net/sched/sch_generic.c
1242
qdisc = qdisc_create_dflt(txq, &mq_qdisc_ops, TC_H_ROOT, NULL);
net/sched/sch_generic.c
125
qdisc_maybe_clear_missed(q, txq);
net/sched/sch_generic.c
1257
qdisc = rtnl_dereference(txq->qdisc_sleeping);
net/sched/sch_generic.c
207
const struct netdev_queue *txq,
net/sched/sch_generic.c
210
int bytelimit = qdisc_avail_bulklimit(txq) - skb->len;
net/sched/sch_generic.c
261
const struct netdev_queue *txq = q->dev_queue;
net/sched/sch_generic.c
289
txq = skb_get_tx_queue(txq->dev, skb);
net/sched/sch_generic.c
290
if (!netif_xmit_frozen_or_stopped(txq)) {
net/sched/sch_generic.c
301
qdisc_maybe_clear_missed(q, txq);
net/sched/sch_generic.c
311
netif_xmit_frozen_or_stopped(txq)) {
net/sched/sch_generic.c
312
qdisc_maybe_clear_missed(q, txq);
net/sched/sch_generic.c
326
try_bulk_dequeue_skb(q, skb, txq, packets, budget);
net/sched/sch_generic.c
331
trace_qdisc_dequeue(q, txq, *packets, skb);
net/sched/sch_generic.c
345
struct net_device *dev, struct netdev_queue *txq,
net/sched/sch_generic.c
370
HARD_TX_LOCK(dev, txq, smp_processor_id());
net/sched/sch_generic.c
371
if (!netif_xmit_frozen_or_stopped(txq))
net/sched/sch_generic.c
372
skb = dev_hard_start_xmit(skb, dev, txq, &ret);
net/sched/sch_generic.c
374
qdisc_maybe_clear_missed(q, txq);
net/sched/sch_generic.c
376
HARD_TX_UNLOCK(dev, txq);
net/sched/sch_generic.c
41
struct netdev_queue *txq, struct net_device *dev)
net/sched/sch_generic.c
421
struct netdev_queue *txq;
net/sched/sch_generic.c
435
txq = skb_get_tx_queue(dev, skb);
net/sched/sch_generic.c
437
return sch_direct_xmit(skb, q, dev, txq, root_lock, validate);
net/sched/sch_generic.c
481
struct netdev_queue *txq = netdev_get_tx_queue(dev, i);
net/sched/sch_generic.c
489
__netif_tx_lock(txq, cpu);
net/sched/sch_generic.c
490
set_bit(__QUEUE_STATE_FROZEN, &txq->state);
net/sched/sch_generic.c
491
__netif_tx_unlock(txq);
net/sched/sch_generic.c
507
struct netdev_queue *txq = netdev_get_tx_queue(dev, i);
net/sched/sch_generic.c
513
clear_bit(__QUEUE_STATE_FROZEN, &txq->state);
net/sched/sch_generic.c
514
netif_schedule_queue(txq);
net/sched/sch_generic.c
54
trace_qdisc_drop(q, txq, dev, skb, (enum qdisc_drop_reason)reason);
net/sched/sch_generic.c
541
struct netdev_queue *txq;
net/sched/sch_generic.c
543
txq = netdev_get_tx_queue(dev, i);
net/sched/sch_generic.c
544
if (!netif_xmit_stopped(txq))
net/sched/sch_generic.c
551
trans_start = READ_ONCE(txq->trans_start);
net/sched/sch_generic.c
555
atomic_long_inc(&txq->trans_timeout);
net/sched/sch_generic.c
66
const struct netdev_queue *txq)
net/sched/sch_generic.c
80
if (!netif_xmit_frozen_or_stopped(txq))
net/sched/sch_taprio.c
706
static struct sk_buff *taprio_dequeue_from_txq(struct Qdisc *sch, int txq,
net/sched/sch_taprio.c
712
struct Qdisc *child = q->qdiscs[txq];
net/sched/sch_taprio.c
763
static void taprio_next_tc_txq(struct net_device *dev, int tc, int *txq)
net/sched/sch_taprio.c
768
(*txq)++;
net/sched/sch_taprio.c
769
if (*txq == offset + count)
net/sched/sch_taprio.c
770
*txq = offset;
net/sched/sch_teql.c
138
struct netdev_queue *txq = NULL;
net/sched/sch_teql.c
167
txq = netdev_get_tx_queue(master->dev, 0);
net/sched/sch_teql.c
180
dev_reset_queue(master->dev, txq, NULL);
net/sched/sch_teql.c
247
struct net_device *dev, struct netdev_queue *txq,
net/sched/sch_teql.c
287
struct netdev_queue *txq)
net/sched/sch_teql.c
292
if (rcu_access_pointer(txq->qdisc) == &noop_qdisc)
net/sched/sch_teql.c
299
res = __teql_resolve(skb, skb_res, dev, txq, dst);
net/shaper/shaper.c
1496
unsigned int txq)
net/shaper/shaper.c
1514
for (i = txq; i < dev->real_num_tx_queues; ++i) {
net/tipc/link.c
1108
struct sk_buff_head *txq = &l->transmq;
net/tipc/link.c
1109
int txq_len = skb_queue_len(txq);
net/tipc/link.c
1129
if (txq_len && l->snd_nxt - buf_seqno(skb_peek(txq)) != txq_len)
net/tipc/link.c
1150
struct sk_buff_head *txq = &l->transmq;
net/tipc/link.c
1158
while (skb_queue_len(txq) < cwin) {
net/tipc/msg.c
218
int mss, struct sk_buff_head *txq)
net/tipc/msg.c
225
skb = skb_peek_tail(txq);
net/tipc/msg.c
240
__skb_queue_tail(txq, skb);
net/tipc/msg.h
1174
int mss, struct sk_buff_head *txq);
net/tipc/socket.c
1274
struct sk_buff_head *txq = &tsk->sk.sk_write_queue;
net/tipc/socket.c
1275
struct sk_buff *skb = skb_peek_tail(txq);
net/tipc/socket.c
1281
tsk->pkt_cnt += skb_queue_len(txq);
net/tipc/socket.c
1311
tsk->pkt_cnt += skb_queue_len(txq);
net/tipc/socket.c
1314
rc = tipc_node_xmit(net, txq, dnode, tsk->portid);
net/tipc/socket.c
1562
struct sk_buff_head *txq = &sk->sk_write_queue;
net/tipc/socket.c
1597
rc = tipc_msg_append(hdr, m, send, maxnagle, txq);
net/tipc/socket.c
1607
tsk->pkt_cnt += skb_queue_len(txq);
net/tipc/socket.c
1609
skb = skb_peek_tail(txq);
net/tipc/socket.c
1620
rc = tipc_msg_build(hdr, m, sent, send, maxpkt, txq);
net/tipc/socket.c
1625
trace_tipc_sk_sendstream(sk, skb_peek(txq),
net/tipc/socket.c
1627
rc = tipc_node_xmit(net, txq, dnode, tsk->portid);
net/xfrm/xfrm_device.c
480
struct netdev_queue *txq;
net/xfrm/xfrm_device.c
485
txq = netdev_core_pick_tx(dev, skb, NULL);
net/xfrm/xfrm_device.c
487
HARD_TX_LOCK(dev, txq, smp_processor_id());
net/xfrm/xfrm_device.c
488
if (!netif_xmit_frozen_or_stopped(txq))
net/xfrm/xfrm_device.c
489
skb = dev_hard_start_xmit(skb, dev, txq, &ret);
net/xfrm/xfrm_device.c
490
HARD_TX_UNLOCK(dev, txq);