Lines Matching refs:ring

222 static inline unsigned int xgbe_tx_avail_desc(struct xgbe_ring *ring)  in xgbe_tx_avail_desc()  argument
224 return (ring->rdesc_count - (ring->cur - ring->dirty)); in xgbe_tx_avail_desc()
227 static inline unsigned int xgbe_rx_dirty_desc(struct xgbe_ring *ring) in xgbe_rx_dirty_desc() argument
229 return (ring->cur - ring->dirty); in xgbe_rx_dirty_desc()
233 struct xgbe_ring *ring, unsigned int count) in xgbe_maybe_stop_tx_queue() argument
237 if (count > xgbe_tx_avail_desc(ring)) { in xgbe_maybe_stop_tx_queue()
240 ring->tx.queue_stopped = 1; in xgbe_maybe_stop_tx_queue()
245 if (ring->tx.xmit_more) in xgbe_maybe_stop_tx_queue()
246 pdata->hw_if.tx_start_xmit(channel, ring); in xgbe_maybe_stop_tx_queue()
716 struct xgbe_ring *ring; in xgbe_free_tx_data() local
724 ring = channel->tx_ring; in xgbe_free_tx_data()
725 if (!ring) in xgbe_free_tx_data()
728 for (j = 0; j < ring->rdesc_count; j++) { in xgbe_free_tx_data()
729 rdata = XGBE_GET_DESC_DATA(ring, j); in xgbe_free_tx_data()
741 struct xgbe_ring *ring; in xgbe_free_rx_data() local
749 ring = channel->rx_ring; in xgbe_free_rx_data()
750 if (!ring) in xgbe_free_rx_data()
753 for (j = 0; j < ring->rdesc_count; j++) { in xgbe_free_rx_data()
754 rdata = XGBE_GET_DESC_DATA(ring, j); in xgbe_free_rx_data()
1294 struct xgbe_ring *ring, struct sk_buff *skb, in xgbe_packet_info() argument
1312 if (skb_shinfo(skb)->gso_size != ring->tx.cur_mss) { in xgbe_packet_info()
1330 if (skb_vlan_tag_get(skb) != ring->tx.cur_vlan_ctag) in xgbe_packet_info()
1466 struct xgbe_ring *ring; in xgbe_xmit() local
1475 ring = channel->tx_ring; in xgbe_xmit()
1476 packet = &ring->packet_data; in xgbe_xmit()
1488 xgbe_packet_info(pdata, ring, skb, packet); in xgbe_xmit()
1491 ret = xgbe_maybe_stop_tx_queue(channel, ring, packet->rdesc_count); in xgbe_xmit()
1521 xgbe_maybe_stop_tx_queue(channel, ring, XGBE_TX_MAX_DESCS); in xgbe_xmit()
1796 struct xgbe_ring *ring = channel->rx_ring; in xgbe_rx_refresh() local
1799 while (ring->dirty != ring->cur) { in xgbe_rx_refresh()
1800 rdata = XGBE_GET_DESC_DATA(ring, ring->dirty); in xgbe_rx_refresh()
1805 if (desc_if->map_rx_buffer(pdata, ring, rdata)) in xgbe_rx_refresh()
1808 hw_if->rx_desc_reset(pdata, rdata, ring->dirty); in xgbe_rx_refresh()
1810 ring->dirty++; in xgbe_rx_refresh()
1818 rdata = XGBE_GET_DESC_DATA(ring, ring->dirty - 1); in xgbe_rx_refresh()
1852 struct xgbe_ring *ring = channel->tx_ring; in xgbe_tx_poll() local
1863 if (!ring) in xgbe_tx_poll()
1869 (ring->dirty != ring->cur)) { in xgbe_tx_poll()
1870 rdata = XGBE_GET_DESC_DATA(ring, ring->dirty); in xgbe_tx_poll()
1881 xgbe_dump_tx_desc(ring, ring->dirty, 1, 0); in xgbe_tx_poll()
1894 ring->dirty++; in xgbe_tx_poll()
1902 if ((ring->tx.queue_stopped == 1) && in xgbe_tx_poll()
1903 (xgbe_tx_avail_desc(ring) > XGBE_TX_DESC_MIN_FREE)) { in xgbe_tx_poll()
1904 ring->tx.queue_stopped = 0; in xgbe_tx_poll()
1917 struct xgbe_ring *ring = channel->rx_ring; in xgbe_rx_poll() local
1932 if (!ring) in xgbe_rx_poll()
1937 rdata = XGBE_GET_DESC_DATA(ring, ring->cur); in xgbe_rx_poll()
1938 packet = &ring->packet_data; in xgbe_rx_poll()
1940 DBGPR(" cur = %d\n", ring->cur); in xgbe_rx_poll()
1959 rdata = XGBE_GET_DESC_DATA(ring, ring->cur); in xgbe_rx_poll()
1961 if (xgbe_rx_dirty_desc(ring) > (XGBE_RX_DESC_CNT >> 3)) in xgbe_rx_poll()
1968 ring->cur++; in xgbe_rx_poll()
2084 rdata = XGBE_GET_DESC_DATA(ring, ring->cur); in xgbe_rx_poll()
2168 void xgbe_dump_tx_desc(struct xgbe_ring *ring, unsigned int idx, in xgbe_dump_tx_desc() argument
2175 rdata = XGBE_GET_DESC_DATA(ring, idx); in xgbe_dump_tx_desc()
2185 void xgbe_dump_rx_desc(struct xgbe_ring *ring, struct xgbe_ring_desc *desc, in xgbe_dump_rx_desc() argument