Lines Matching defs:tx_ring
113 static int c2_tx_ring_alloc(struct c2_ring *tx_ring, void *vaddr,
121 tx_ring->start = kmalloc(sizeof(*elem) * tx_ring->count, GFP_KERNEL);
122 if (!tx_ring->start)
125 elem = tx_ring->start;
128 for (i = 0; i < tx_ring->count; i++, elem++, tx_desc++, txp_desc++) {
143 if (i == tx_ring->count - 1) {
144 elem->next = tx_ring->start;
153 tx_ring->to_use = tx_ring->to_clean = tx_ring->start;
327 struct c2_ring *tx_ring = &c2_port->tx_ring;
335 elem = tx_ring->start;
364 } while ((elem = elem->next) != tx_ring->start);
367 c2_port->tx_avail = c2_port->tx_ring.count - 1;
368 c2_port->c2dev->cur_tx = tx_ring->to_use - tx_ring->start;
384 struct c2_ring *tx_ring = &c2_port->tx_ring;
390 for (elem = tx_ring->to_clean; elem != tx_ring->to_use;
404 netdev->name, elem - tx_ring->start,
412 tx_ring->to_clean = elem;
604 tx_size = c2_port->tx_ring.count * sizeof(struct c2_tx_desc);
632 if ((ret = c2_tx_ring_alloc(&c2_port->tx_ring, c2_port->mem + rx_size,
640 c2_port->tx_avail = c2_port->tx_ring.count - 1;
641 c2_port->tx_ring.to_use = c2_port->tx_ring.to_clean =
642 c2_port->tx_ring.start + c2dev->cur_tx;
646 BUG_ON(c2_port->tx_ring.to_use != c2_port->tx_ring.to_clean);
725 kfree(c2_port->tx_ring.start);
762 struct c2_ring *tx_ring = &c2_port->tx_ring;
784 elem = tx_ring->to_use;
825 tx_ring->to_use = elem->next;
905 c2_port->tx_ring.count = C2_NUM_TX_DESC;