Lines Matching full:rxb
1103 struct gfar_rx_buff *rxb = &rx_queue->rx_buff[i]; in free_skb_rx_queue() local
1109 if (!rxb->page) in free_skb_rx_queue()
1112 dma_unmap_page(rx_queue->dev, rxb->dma, in free_skb_rx_queue()
1114 __free_page(rxb->page); in free_skb_rx_queue()
1116 rxb->page = NULL; in free_skb_rx_queue()
1213 static bool gfar_new_page(struct gfar_priv_rx_q *rxq, struct gfar_rx_buff *rxb) in gfar_new_page() argument
1229 rxb->dma = addr; in gfar_new_page()
1230 rxb->page = page; in gfar_new_page()
1231 rxb->page_offset = 0; in gfar_new_page()
1249 struct gfar_rx_buff *rxb; in gfar_alloc_rx_buffs() local
1254 rxb = &rx_queue->rx_buff[i]; in gfar_alloc_rx_buffs()
1258 if (unlikely(!rxb->page)) { in gfar_alloc_rx_buffs()
1259 if (unlikely(!gfar_new_page(rx_queue, rxb))) { in gfar_alloc_rx_buffs()
1267 rxb->dma + rxb->page_offset + RXBUF_ALIGNMENT); in gfar_alloc_rx_buffs()
1271 rxb++; in gfar_alloc_rx_buffs()
1276 rxb = rx_queue->rx_buff; in gfar_alloc_rx_buffs()
2352 static bool gfar_add_rx_frag(struct gfar_rx_buff *rxb, u32 lstatus, in gfar_add_rx_frag() argument
2356 struct page *page = rxb->page; in gfar_add_rx_frag()
2370 rxb->page_offset + RXBUF_ALIGNMENT, in gfar_add_rx_frag()
2379 rxb->page_offset ^= GFAR_RXB_TRUESIZE; in gfar_add_rx_frag()
2410 struct gfar_rx_buff *rxb = &rx_queue->rx_buff[rx_queue->next_to_clean]; in gfar_get_next_rxbuff() local
2411 struct page *page = rxb->page; in gfar_get_next_rxbuff()
2415 void *buff_addr = page_address(page) + rxb->page_offset; in gfar_get_next_rxbuff()
2426 dma_sync_single_range_for_cpu(rx_queue->dev, rxb->dma, rxb->page_offset, in gfar_get_next_rxbuff()
2429 if (gfar_add_rx_frag(rxb, lstatus, skb, first)) { in gfar_get_next_rxbuff()
2431 gfar_reuse_rx_page(rx_queue, rxb); in gfar_get_next_rxbuff()
2434 dma_unmap_page(rx_queue->dev, rxb->dma, in gfar_get_next_rxbuff()
2438 /* clear rxb content */ in gfar_get_next_rxbuff()
2439 rxb->page = NULL; in gfar_get_next_rxbuff()