Lines Matching refs:gl

1474 			      const struct pkt_gl *gl,  in copy_frags()  argument
1480 __skb_fill_page_desc(skb, 0, gl->frags[0].page, in copy_frags()
1481 gl->frags[0].offset + offset, in copy_frags()
1482 gl->frags[0].size - offset); in copy_frags()
1483 skb_shinfo(skb)->nr_frags = gl->nfrags; in copy_frags()
1484 for (i = 1; i < gl->nfrags; i++) in copy_frags()
1485 __skb_fill_page_desc(skb, i, gl->frags[i].page, in copy_frags()
1486 gl->frags[i].offset, in copy_frags()
1487 gl->frags[i].size); in copy_frags()
1490 get_page(gl->frags[gl->nfrags - 1].page); in copy_frags()
1502 static struct sk_buff *t4vf_pktgl_to_skb(const struct pkt_gl *gl, in t4vf_pktgl_to_skb() argument
1519 if (gl->tot_len <= RX_COPY_THRES) { in t4vf_pktgl_to_skb()
1521 skb = alloc_skb(gl->tot_len, GFP_ATOMIC); in t4vf_pktgl_to_skb()
1524 __skb_put(skb, gl->tot_len); in t4vf_pktgl_to_skb()
1525 skb_copy_to_linear_data(skb, gl->va, gl->tot_len); in t4vf_pktgl_to_skb()
1531 skb_copy_to_linear_data(skb, gl->va, pull_len); in t4vf_pktgl_to_skb()
1533 copy_frags(skb, gl, pull_len); in t4vf_pktgl_to_skb()
1534 skb->len = gl->tot_len; in t4vf_pktgl_to_skb()
1550 static void t4vf_pktgl_free(const struct pkt_gl *gl) in t4vf_pktgl_free() argument
1554 frag = gl->nfrags - 1; in t4vf_pktgl_free()
1556 put_page(gl->frags[frag].page); in t4vf_pktgl_free()
1568 static void do_gro(struct sge_eth_rxq *rxq, const struct pkt_gl *gl, in do_gro() argument
1578 t4vf_pktgl_free(gl); in do_gro()
1583 copy_frags(skb, gl, s->pktshift); in do_gro()
1584 skb->len = gl->tot_len - s->pktshift; in do_gro()
1614 const struct pkt_gl *gl) in t4vf_ethrx_handler() argument
1631 do_gro(rxq, gl, pkt); in t4vf_ethrx_handler()
1638 skb = t4vf_pktgl_to_skb(gl, RX_SKB_LEN, RX_PULL_LEN); in t4vf_ethrx_handler()
1640 t4vf_pktgl_free(gl); in t4vf_ethrx_handler()
1706 static void restore_rx_bufs(const struct pkt_gl *gl, struct sge_fl *fl, in restore_rx_bufs() argument
1717 sdesc->page = gl->frags[frags].page; in restore_rx_bufs()
1775 struct pkt_gl gl; in process_responses() local
1797 gl.tot_len = len; in process_responses()
1802 for (frag = 0, fp = gl.frags; /**/; frag++, fp++) { in process_responses()
1815 gl.nfrags = frag+1; in process_responses()
1825 gl.va = (page_address(gl.frags[0].page) + in process_responses()
1826 gl.frags[0].offset); in process_responses()
1827 prefetch(gl.va); in process_responses()
1833 ret = rspq->handler(rspq, rspq->cur_desc, &gl); in process_responses()
1837 restore_rx_bufs(&gl, &rxq->fl, frag); in process_responses()