Lines Matching refs:txr
287 if (qca->txr.skb[qca->txr.head] == NULL)
300 while (qca->txr.skb[qca->txr.head]) {
301 pkt_len = qca->txr.skb[qca->txr.head]->len + QCASPI_HW_PKT_LEN;
309 if (qcaspi_tx_frame(qca, qca->txr.skb[qca->txr.head]) == -1) {
316 n_stats->tx_bytes += qca->txr.skb[qca->txr.head]->len;
324 dev_kfree_skb(qca->txr.skb[qca->txr.head]);
325 qca->txr.skb[qca->txr.head] = NULL;
326 qca->txr.size -= pkt_len;
327 new_head = qca->txr.head + 1;
328 if (new_head >= qca->txr.count)
330 qca->txr.head = new_head;
459 qcaspi_tx_ring_has_space(struct tx_ring *txr)
461 if (txr->skb[txr->tail])
464 return (txr->size + QCAFRM_MAX_LEN < QCASPI_HW_BUF_LEN) ? 1 : 0;
481 if (qca->txr.skb[i]) {
482 dev_kfree_skb(qca->txr.skb[i]);
483 qca->txr.skb[i] = NULL;
487 qca->txr.tail = 0;
488 qca->txr.head = 0;
489 qca->txr.size = 0;
589 !qca->txr.skb[qca->txr.head])
596 qca->txr.skb[qca->txr.head]);
747 if (qca->txr.skb[qca->txr.tail]) {
781 qca->txr.size += skb->len + QCASPI_HW_PKT_LEN;
783 new_tail = qca->txr.tail + 1;
784 if (new_tail >= qca->txr.count)
787 qca->txr.skb[qca->txr.tail] = skb;
788 qca->txr.tail = new_tail;
790 if (!qcaspi_tx_ring_has_space(&qca->txr)) {
888 memset(&qca->txr, 0, sizeof(qca->txr));
889 qca->txr.count = TX_RING_MAX_LEN;