Lines Matching refs:bdp
156 static void gfar_init_rxbdp(struct gfar_priv_rx_q *rx_queue, struct rxbd8 *bdp, in gfar_init_rxbdp() argument
161 bdp->bufPtr = cpu_to_be32(buf); in gfar_init_rxbdp()
164 if (bdp == rx_queue->rx_bd_base + rx_queue->rx_ring_size - 1) in gfar_init_rxbdp()
169 bdp->lstatus = cpu_to_be32(lstatus); in gfar_init_rxbdp()
2210 static inline struct txbd8 *skip_txbd(struct txbd8 *bdp, int stride, in skip_txbd() argument
2213 struct txbd8 *new_bd = bdp + stride; in skip_txbd()
2218 static inline struct txbd8 *next_txbd(struct txbd8 *bdp, struct txbd8 *base, in next_txbd() argument
2221 return skip_txbd(bdp, 1, base, ring_size); in next_txbd()
2606 struct txbd8 *bdp, *next = NULL; in gfar_clean_tx_ring() local
2621 bdp = tx_queue->dirty_tx; in gfar_clean_tx_ring()
2637 lbdp = skip_txbd(bdp, nr_txbds - 1, base, tx_ring_size); in gfar_clean_tx_ring()
2647 next = next_txbd(bdp, base, tx_ring_size); in gfar_clean_tx_ring()
2651 buflen = be16_to_cpu(bdp->length); in gfar_clean_tx_ring()
2653 dma_unmap_single(priv->dev, be32_to_cpu(bdp->bufPtr), in gfar_clean_tx_ring()
2664 gfar_clear_txbd_status(bdp); in gfar_clean_tx_ring()
2665 bdp = next; in gfar_clean_tx_ring()
2668 gfar_clear_txbd_status(bdp); in gfar_clean_tx_ring()
2669 bdp = next_txbd(bdp, base, tx_ring_size); in gfar_clean_tx_ring()
2672 dma_unmap_page(priv->dev, be32_to_cpu(bdp->bufPtr), in gfar_clean_tx_ring()
2673 be16_to_cpu(bdp->length), in gfar_clean_tx_ring()
2675 gfar_clear_txbd_status(bdp); in gfar_clean_tx_ring()
2676 bdp = next_txbd(bdp, base, tx_ring_size); in gfar_clean_tx_ring()
2702 tx_queue->dirty_tx = bdp; in gfar_clean_tx_ring()
2896 struct rxbd8 *bdp, *base; in gfar_clean_rx_ring() local
2904 bdp = rx_queue->cur_rx; in gfar_clean_rx_ring()
2909 while (!(be16_to_cpu(bdp->status) & RXBD_EMPTY) && rx_work_limit--) { in gfar_clean_rx_ring()
2920 dma_unmap_single(priv->dev, be32_to_cpu(bdp->bufPtr), in gfar_clean_rx_ring()
2923 if (unlikely(!(be16_to_cpu(bdp->status) & RXBD_ERR) && in gfar_clean_rx_ring()
2924 be16_to_cpu(bdp->length) > priv->rx_buffer_size)) in gfar_clean_rx_ring()
2925 bdp->status = cpu_to_be16(RXBD_LARGE); in gfar_clean_rx_ring()
2929 !(be16_to_cpu(bdp->status) & RXBD_LAST) || in gfar_clean_rx_ring()
2930 be16_to_cpu(bdp->status) & RXBD_ERR)) { in gfar_clean_rx_ring()
2931 count_errors(be16_to_cpu(bdp->status), dev); in gfar_clean_rx_ring()
2935 bufaddr = be32_to_cpu(bdp->bufPtr); in gfar_clean_rx_ring()
2944 pkt_len = be16_to_cpu(bdp->length) - in gfar_clean_rx_ring()
2964 gfar_init_rxbdp(rx_queue, bdp, bufaddr); in gfar_clean_rx_ring()
2968 gfar_write(rx_queue->rfbptr, (u32)bdp); in gfar_clean_rx_ring()
2971 bdp = next_bd(bdp, base, rx_queue->rx_ring_size); in gfar_clean_rx_ring()
2979 rx_queue->cur_rx = bdp; in gfar_clean_rx_ring()
3506 struct rxbd8 *bdp; in gfar_update_link_state() local
3564 bdp = rx_queue->cur_rx; in gfar_update_link_state()
3566 bdp = skip_bd(bdp, rx_queue->rx_ring_size - 1, in gfar_update_link_state()
3571 gfar_write(rx_queue->rfbptr, (u32)bdp); in gfar_update_link_state()