Lines Matching refs:txr
244 if (qca->txr.skb[qca->txr.head] == NULL) in qcaspi_transmit()
249 while (qca->txr.skb[qca->txr.head]) { in qcaspi_transmit()
250 pkt_len = qca->txr.skb[qca->txr.head]->len + QCASPI_HW_PKT_LEN; in qcaspi_transmit()
258 if (qcaspi_tx_frame(qca, qca->txr.skb[qca->txr.head]) == -1) { in qcaspi_transmit()
265 n_stats->tx_bytes += qca->txr.skb[qca->txr.head]->len; in qcaspi_transmit()
273 dev_kfree_skb(qca->txr.skb[qca->txr.head]); in qcaspi_transmit()
274 qca->txr.skb[qca->txr.head] = NULL; in qcaspi_transmit()
275 qca->txr.size -= pkt_len; in qcaspi_transmit()
276 new_head = qca->txr.head + 1; in qcaspi_transmit()
277 if (new_head >= qca->txr.count) in qcaspi_transmit()
279 qca->txr.head = new_head; in qcaspi_transmit()
400 qcaspi_tx_ring_has_space(struct tx_ring *txr) in qcaspi_tx_ring_has_space() argument
402 if (txr->skb[txr->tail]) in qcaspi_tx_ring_has_space()
405 return (txr->size + QCAFRM_ETHMAXLEN < QCASPI_HW_BUF_LEN) ? 1 : 0; in qcaspi_tx_ring_has_space()
422 if (qca->txr.skb[i]) { in qcaspi_flush_tx_ring()
423 dev_kfree_skb(qca->txr.skb[i]); in qcaspi_flush_tx_ring()
424 qca->txr.skb[i] = NULL; in qcaspi_flush_tx_ring()
428 qca->txr.tail = 0; in qcaspi_flush_tx_ring()
429 qca->txr.head = 0; in qcaspi_flush_tx_ring()
430 qca->txr.size = 0; in qcaspi_flush_tx_ring()
519 (qca->txr.skb[qca->txr.head] == NULL) && in qcaspi_spi_thread()
527 qca->txr.skb[qca->txr.head]); in qcaspi_spi_thread()
672 if (qca->txr.skb[qca->txr.tail]) { in qcaspi_netdev_xmit()
708 qca->txr.size += skb->len + QCASPI_HW_PKT_LEN; in qcaspi_netdev_xmit()
710 new_tail = qca->txr.tail + 1; in qcaspi_netdev_xmit()
711 if (new_tail >= qca->txr.count) in qcaspi_netdev_xmit()
714 qca->txr.skb[qca->txr.tail] = skb; in qcaspi_netdev_xmit()
715 qca->txr.tail = new_tail; in qcaspi_netdev_xmit()
717 if (!qcaspi_tx_ring_has_space(&qca->txr)) { in qcaspi_netdev_xmit()
830 memset(&qca->txr, 0, sizeof(qca->txr)); in qcaspi_netdev_setup()
831 qca->txr.count = TX_RING_MAX_LEN; in qcaspi_netdev_setup()