Lines Matching refs:cb
459 static void bcm_sysport_free_cb(struct bcm_sysport_cb *cb) in bcm_sysport_free_cb() argument
461 dev_kfree_skb_any(cb->skb); in bcm_sysport_free_cb()
462 cb->skb = NULL; in bcm_sysport_free_cb()
463 dma_unmap_addr_set(cb, dma_addr, 0); in bcm_sysport_free_cb()
467 struct bcm_sysport_cb *cb) in bcm_sysport_rx_refill() argument
474 cb->skb = netdev_alloc_skb(priv->netdev, RX_BUF_LENGTH); in bcm_sysport_rx_refill()
475 if (!cb->skb) { in bcm_sysport_rx_refill()
480 mapping = dma_map_single(kdev, cb->skb->data, in bcm_sysport_rx_refill()
485 bcm_sysport_free_cb(cb); in bcm_sysport_rx_refill()
490 dma_unmap_addr_set(cb, dma_addr, mapping); in bcm_sysport_rx_refill()
505 struct bcm_sysport_cb *cb; in bcm_sysport_alloc_rx_bufs() local
510 cb = &priv->rx_cbs[priv->rx_bd_assign_index]; in bcm_sysport_alloc_rx_bufs()
511 if (cb->skb) in bcm_sysport_alloc_rx_bufs()
514 ret = bcm_sysport_rx_refill(priv, cb); in bcm_sysport_alloc_rx_bufs()
529 struct bcm_sysport_cb *cb; in bcm_sysport_desc_rx() local
551 cb = &priv->rx_cbs[priv->rx_read_ptr]; in bcm_sysport_desc_rx()
552 skb = cb->skb; in bcm_sysport_desc_rx()
572 dma_unmap_single(kdev, dma_unmap_addr(cb, dma_addr), in bcm_sysport_desc_rx()
590 bcm_sysport_free_cb(cb); in bcm_sysport_desc_rx()
600 bcm_sysport_free_cb(cb); in bcm_sysport_desc_rx()
629 ret = bcm_sysport_rx_refill(priv, cb); in bcm_sysport_desc_rx()
638 struct bcm_sysport_cb *cb, in bcm_sysport_tx_reclaim_one() argument
645 if (cb->skb) { in bcm_sysport_tx_reclaim_one()
646 ndev->stats.tx_bytes += cb->skb->len; in bcm_sysport_tx_reclaim_one()
647 *bytes_compl += cb->skb->len; in bcm_sysport_tx_reclaim_one()
648 dma_unmap_single(kdev, dma_unmap_addr(cb, dma_addr), in bcm_sysport_tx_reclaim_one()
649 dma_unmap_len(cb, dma_len), in bcm_sysport_tx_reclaim_one()
653 bcm_sysport_free_cb(cb); in bcm_sysport_tx_reclaim_one()
655 } else if (dma_unmap_addr(cb, dma_addr)) { in bcm_sysport_tx_reclaim_one()
656 ndev->stats.tx_bytes += dma_unmap_len(cb, dma_len); in bcm_sysport_tx_reclaim_one()
657 dma_unmap_page(kdev, dma_unmap_addr(cb, dma_addr), in bcm_sysport_tx_reclaim_one()
658 dma_unmap_len(cb, dma_len), DMA_TO_DEVICE); in bcm_sysport_tx_reclaim_one()
659 dma_unmap_addr_set(cb, dma_addr, 0); in bcm_sysport_tx_reclaim_one()
670 struct bcm_sysport_cb *cb; in __bcm_sysport_tx_reclaim() local
696 cb = ring->cbs + last_c_index; in __bcm_sysport_tx_reclaim()
697 bcm_sysport_tx_reclaim_one(priv, cb, &bytes_compl, &pkts_compl); in __bcm_sysport_tx_reclaim()
935 struct bcm_sysport_cb *cb; in bcm_sysport_xmit() local
992 cb = &ring->cbs[ring->curr_desc]; in bcm_sysport_xmit()
993 cb->skb = skb; in bcm_sysport_xmit()
994 dma_unmap_addr_set(cb, dma_addr, mapping); in bcm_sysport_xmit()
995 dma_unmap_len_set(cb, dma_len, skb_len); in bcm_sysport_xmit()
1323 struct bcm_sysport_cb *cb; in bcm_sysport_fini_rx_ring() local
1333 cb = &priv->rx_cbs[i]; in bcm_sysport_fini_rx_ring()
1334 if (dma_unmap_addr(cb, dma_addr)) in bcm_sysport_fini_rx_ring()
1336 dma_unmap_addr(cb, dma_addr), in bcm_sysport_fini_rx_ring()
1338 bcm_sysport_free_cb(cb); in bcm_sysport_fini_rx_ring()