Lines Matching defs:gl
1591 const struct pkt_gl *gl, unsigned int offset)
1596 __skb_fill_page_desc(skb, 0, gl->frags[0].page,
1597 gl->frags[0].offset + offset,
1598 gl->frags[0].size - offset);
1599 skb_shinfo(skb)->nr_frags = gl->nfrags;
1600 for (i = 1; i < gl->nfrags; i++)
1601 __skb_fill_page_desc(skb, i, gl->frags[i].page,
1602 gl->frags[i].offset,
1603 gl->frags[i].size);
1606 get_page(gl->frags[gl->nfrags - 1].page);
1611 * @gl: the gather list
1618 struct sk_buff *cxgb4_pktgl_to_skb(const struct pkt_gl *gl,
1628 if (gl->tot_len <= RX_COPY_THRES) {
1629 skb = dev_alloc_skb(gl->tot_len);
1632 __skb_put(skb, gl->tot_len);
1633 skb_copy_to_linear_data(skb, gl->va, gl->tot_len);
1639 skb_copy_to_linear_data(skb, gl->va, pull_len);
1641 copy_frags(skb, gl, pull_len);
1642 skb->len = gl->tot_len;
1652 * @gl: the gather list
1657 static void t4_pktgl_free(const struct pkt_gl *gl)
1662 for (p = gl->frags, n = gl->nfrags - 1; n--; p++)
1671 const struct pkt_gl *gl)
1675 skb = cxgb4_pktgl_to_skb(gl, RX_PULL_LEN, RX_PULL_LEN);
1677 t4_pktgl_free(gl);
1693 static void do_gro(struct sge_eth_rxq *rxq, const struct pkt_gl *gl,
1703 t4_pktgl_free(gl);
1708 copy_frags(skb, gl, s->pktshift);
1709 skb->len = gl->tot_len - s->pktshift;