Lines Matching refs:gl
1721 const struct pkt_gl *gl, unsigned int offset) in copy_frags() argument
1726 __skb_fill_page_desc(skb, 0, gl->frags[0].page, in copy_frags()
1727 gl->frags[0].offset + offset, in copy_frags()
1728 gl->frags[0].size - offset); in copy_frags()
1729 skb_shinfo(skb)->nr_frags = gl->nfrags; in copy_frags()
1730 for (i = 1; i < gl->nfrags; i++) in copy_frags()
1731 __skb_fill_page_desc(skb, i, gl->frags[i].page, in copy_frags()
1732 gl->frags[i].offset, in copy_frags()
1733 gl->frags[i].size); in copy_frags()
1736 get_page(gl->frags[gl->nfrags - 1].page); in copy_frags()
1748 struct sk_buff *cxgb4_pktgl_to_skb(const struct pkt_gl *gl, in cxgb4_pktgl_to_skb() argument
1758 if (gl->tot_len <= RX_COPY_THRES) { in cxgb4_pktgl_to_skb()
1759 skb = dev_alloc_skb(gl->tot_len); in cxgb4_pktgl_to_skb()
1762 __skb_put(skb, gl->tot_len); in cxgb4_pktgl_to_skb()
1763 skb_copy_to_linear_data(skb, gl->va, gl->tot_len); in cxgb4_pktgl_to_skb()
1769 skb_copy_to_linear_data(skb, gl->va, pull_len); in cxgb4_pktgl_to_skb()
1771 copy_frags(skb, gl, pull_len); in cxgb4_pktgl_to_skb()
1772 skb->len = gl->tot_len; in cxgb4_pktgl_to_skb()
1787 static void t4_pktgl_free(const struct pkt_gl *gl) in t4_pktgl_free() argument
1792 for (p = gl->frags, n = gl->nfrags - 1; n--; p++) in t4_pktgl_free()
1801 const struct pkt_gl *gl) in handle_trace_pkt() argument
1805 skb = cxgb4_pktgl_to_skb(gl, RX_PULL_LEN, RX_PULL_LEN); in handle_trace_pkt()
1807 t4_pktgl_free(gl); in handle_trace_pkt()
1845 static void do_gro(struct sge_eth_rxq *rxq, const struct pkt_gl *gl, in do_gro() argument
1856 t4_pktgl_free(gl); in do_gro()
1861 copy_frags(skb, gl, s->pktshift); in do_gro()
1862 skb->len = gl->tot_len - s->pktshift; in do_gro()
1871 gl->sgetstamp); in do_gro()