Lines Matching refs:cb

519 static void bcm_sysport_free_cb(struct bcm_sysport_cb *cb)  in bcm_sysport_free_cb()  argument
521 dev_kfree_skb_any(cb->skb); in bcm_sysport_free_cb()
522 cb->skb = NULL; in bcm_sysport_free_cb()
523 dma_unmap_addr_set(cb, dma_addr, 0); in bcm_sysport_free_cb()
527 struct bcm_sysport_cb *cb) in bcm_sysport_rx_refill() argument
552 rx_skb = cb->skb; in bcm_sysport_rx_refill()
554 dma_unmap_single(kdev, dma_unmap_addr(cb, dma_addr), in bcm_sysport_rx_refill()
558 cb->skb = skb; in bcm_sysport_rx_refill()
559 dma_unmap_addr_set(cb, dma_addr, mapping); in bcm_sysport_rx_refill()
560 dma_desc_set_addr(priv, cb->bd_addr, mapping); in bcm_sysport_rx_refill()
570 struct bcm_sysport_cb *cb; in bcm_sysport_alloc_rx_bufs() local
575 cb = &priv->rx_cbs[i]; in bcm_sysport_alloc_rx_bufs()
576 skb = bcm_sysport_rx_refill(priv, cb); in bcm_sysport_alloc_rx_bufs()
579 if (!cb->skb) in bcm_sysport_alloc_rx_bufs()
592 struct bcm_sysport_cb *cb; in bcm_sysport_desc_rx() local
613 cb = &priv->rx_cbs[priv->rx_read_ptr]; in bcm_sysport_desc_rx()
614 skb = bcm_sysport_rx_refill(priv, cb); in bcm_sysport_desc_rx()
702 struct bcm_sysport_cb *cb, in bcm_sysport_tx_reclaim_one() argument
709 if (cb->skb) { in bcm_sysport_tx_reclaim_one()
710 ndev->stats.tx_bytes += cb->skb->len; in bcm_sysport_tx_reclaim_one()
711 *bytes_compl += cb->skb->len; in bcm_sysport_tx_reclaim_one()
712 dma_unmap_single(kdev, dma_unmap_addr(cb, dma_addr), in bcm_sysport_tx_reclaim_one()
713 dma_unmap_len(cb, dma_len), in bcm_sysport_tx_reclaim_one()
717 bcm_sysport_free_cb(cb); in bcm_sysport_tx_reclaim_one()
719 } else if (dma_unmap_addr(cb, dma_addr)) { in bcm_sysport_tx_reclaim_one()
720 ndev->stats.tx_bytes += dma_unmap_len(cb, dma_len); in bcm_sysport_tx_reclaim_one()
721 dma_unmap_page(kdev, dma_unmap_addr(cb, dma_addr), in bcm_sysport_tx_reclaim_one()
722 dma_unmap_len(cb, dma_len), DMA_TO_DEVICE); in bcm_sysport_tx_reclaim_one()
723 dma_unmap_addr_set(cb, dma_addr, 0); in bcm_sysport_tx_reclaim_one()
734 struct bcm_sysport_cb *cb; in __bcm_sysport_tx_reclaim() local
760 cb = ring->cbs + last_c_index; in __bcm_sysport_tx_reclaim()
761 bcm_sysport_tx_reclaim_one(priv, cb, &bytes_compl, &pkts_compl); in __bcm_sysport_tx_reclaim()
1014 struct bcm_sysport_cb *cb; in bcm_sysport_xmit() local
1071 cb = &ring->cbs[ring->curr_desc]; in bcm_sysport_xmit()
1072 cb->skb = skb; in bcm_sysport_xmit()
1073 dma_unmap_addr_set(cb, dma_addr, mapping); in bcm_sysport_xmit()
1074 dma_unmap_len_set(cb, dma_len, skb_len); in bcm_sysport_xmit()
1351 struct bcm_sysport_cb *cb; in bcm_sysport_init_rx_ring() local
1369 cb = priv->rx_cbs + i; in bcm_sysport_init_rx_ring()
1370 cb->bd_addr = priv->rx_bds + i * DESC_SIZE; in bcm_sysport_init_rx_ring()
1407 struct bcm_sysport_cb *cb; in bcm_sysport_fini_rx_ring() local
1417 cb = &priv->rx_cbs[i]; in bcm_sysport_fini_rx_ring()
1418 if (dma_unmap_addr(cb, dma_addr)) in bcm_sysport_fini_rx_ring()
1420 dma_unmap_addr(cb, dma_addr), in bcm_sysport_fini_rx_ring()
1422 bcm_sysport_free_cb(cb); in bcm_sysport_fini_rx_ring()