| /linux/drivers/net/ethernet/mellanox/mlx5/core/ |
| H A D | alloc.c | 82 buf->frags = kcalloc(buf->npages, sizeof(struct mlx5_buf_list), in mlx5_frag_buf_alloc_node() 84 if (!buf->frags) in mlx5_frag_buf_alloc_node() 88 struct mlx5_buf_list *frag = &buf->frags[i]; in mlx5_frag_buf_alloc_node() 97 buf->frags[i].buf, buf->frags[i].map); in mlx5_frag_buf_alloc_node() 109 dma_free_coherent(mlx5_core_dma_dev(dev), PAGE_SIZE, buf->frags[i].buf, in mlx5_frag_buf_alloc_node() 110 buf->frags[i].map); in mlx5_frag_buf_alloc_node() 111 kfree(buf->frags); in mlx5_frag_buf_alloc_node() 125 dma_free_coherent(mlx5_core_dma_dev(dev), frag_sz, buf->frags[i].buf, in mlx5_frag_buf_free() 126 buf->frags[i].map); in mlx5_frag_buf_free() 129 kfree(buf->frags); in mlx5_frag_buf_free() [all …]
|
| H A D | wq.c | 61 mlx5_init_fbc(wq_ctrl->buf.frags, log_wq_stride, log_wq_sz, fbc); in mlx5_wq_cyc_create() 128 mlx5_init_fbc(wq_ctrl->buf.frags, log_rq_stride, log_rq_sz, &wq->rq.fbc); in mlx5_wq_qp_create() 136 mlx5_init_fbc_offset(wq_ctrl->buf.frags, in mlx5_wq_qp_create() 142 mlx5_init_fbc(wq_ctrl->buf.frags + rq_npages, in mlx5_wq_qp_create() 185 mlx5_init_fbc(wq_ctrl->buf.frags, log_wq_stride, log_wq_sz, &wq->fbc); in mlx5_cqwq_create() 234 mlx5_init_fbc(wq_ctrl->buf.frags, log_wq_stride, log_wq_sz, fbc); in mlx5_wq_ll_create()
|
| /linux/drivers/net/ethernet/mellanox/mlx4/ |
| H A D | en_rx.c | 58 struct mlx4_en_rx_alloc *frags, in mlx4_en_alloc_frags() argument 64 for (i = 0; i < priv->num_frags; i++, frags++) { in mlx4_en_alloc_frags() 65 if (!frags->page) { in mlx4_en_alloc_frags() 66 frags->page = page_pool_alloc_pages(ring->pp, gfp); in mlx4_en_alloc_frags() 67 if (!frags->page) { in mlx4_en_alloc_frags() 71 page_pool_fragment_page(frags->page, 1); in mlx4_en_alloc_frags() 72 frags->page_offset = priv->rx_headroom; in mlx4_en_alloc_frags() 76 dma = page_pool_get_dma_addr(frags->page); in mlx4_en_alloc_frags() 77 rx_desc->data[i].addr = cpu_to_be64(dma + frags->page_offset); in mlx4_en_alloc_frags() 125 struct mlx4_en_rx_alloc *frags = ring->rx_info + in mlx4_en_prepare_rx_desc() local [all …]
|
| /linux/drivers/infiniband/sw/rxe/ |
| H A D | rxe_odp.c | 420 } frags[]; member 438 ret = rxe_odp_do_pagefault_and_lock(work->frags[i].mr, in rxe_ib_prefetch_mr_work() 439 work->frags[i].io_virt, in rxe_ib_prefetch_mr_work() 440 work->frags[i].length, in rxe_ib_prefetch_mr_work() 443 rxe_dbg_mr(work->frags[i].mr, in rxe_ib_prefetch_mr_work() 448 umem_odp = to_ib_umem_odp(work->frags[i].mr->umem); in rxe_ib_prefetch_mr_work() 452 rxe_put(work->frags[i].mr); in rxe_ib_prefetch_mr_work() 527 work = kvzalloc(struct_size(work, frags, num_sge), GFP_KERNEL); in rxe_ib_advise_mr_prefetch() 544 work->frags[i].io_virt = sg_list[i].addr; in rxe_ib_advise_mr_prefetch() 545 work->frags[i].length = sg_list[i].length; in rxe_ib_advise_mr_prefetch() [all …]
|
| /linux/tools/testing/selftests/bpf/ |
| H A D | generate_udp_fragments.py | 43 def print_frags(f, frags, v6): argument 44 for idx, frag in enumerate(frags): 77 frags = [f.build() for f in pkt.fragment(24)] 81 print_frags(f, frags, False)
|
| /linux/drivers/net/wireless/intel/iwlwifi/ |
| H A D | iwl-dbg-tlv.c | 403 struct iwl_dram_data *frag = &fw_mon->frags[i]; in iwl_dbg_tlv_fragments_free() 413 kfree(fw_mon->frags); in iwl_dbg_tlv_fragments_free() 414 fw_mon->frags = NULL; in iwl_dbg_tlv_fragments_free() 596 memset(fw_mon->frags[i].block, 0, in iwl_dbg_tlv_alloc_fragments() 597 fw_mon->frags[i].size); in iwl_dbg_tlv_alloc_fragments() 621 fw_mon->frags = kcalloc(num_frags, sizeof(*fw_mon->frags), GFP_KERNEL); in iwl_dbg_tlv_alloc_fragments() 622 if (!fw_mon->frags) in iwl_dbg_tlv_alloc_fragments() 632 pages = iwl_dbg_tlv_alloc_fragment(fwrt, &fw_mon->frags[i], in iwl_dbg_tlv_alloc_fragments() 707 struct iwl_buf_alloc_frag *frag = &data.frags[j]; in iwl_dbg_tlv_apply_buffer() 709 &fw_mon->frags[fw_mon_idx++]; in iwl_dbg_tlv_apply_buffer() [all …]
|
| /linux/drivers/net/ethernet/fungible/funeth/ |
| H A D | funeth_rx.c | 141 static void *fun_run_xdp(struct funeth_rxq *q, skb_frag_t *frags, void *buf_va, in fun_run_xdp() argument 150 xdp_init_buff(&xdp, ALIGN(skb_frag_size(frags), FUN_EPRQ_PKT_ALIGN), in fun_run_xdp() 152 xdp_prepare_buff(&xdp, buf_va, FUN_XDP_HEADROOM, skb_frag_size(frags) - in fun_run_xdp() 161 skb_frag_size_set(frags, xdp.data_end - xdp.data); in fun_run_xdp() 162 skb_frag_off_add(frags, xdp.data - xdp.data_hard_start); in fun_run_xdp() 297 skb_frag_t *frags) in fun_gather_pkt() argument 326 skb_frag_fill_page_desc(frags++, buf->page, q->buf_offset, in fun_gather_pkt() 370 skb_frag_t frags[RX_MAX_FRAGS]; in fun_handle_cqe_pkt() local 392 ref_ok = fun_gather_pkt(q, tot_len, frags); in fun_handle_cqe_pkt() 393 va = skb_frag_address(frags); in fun_handle_cqe_pkt() [all …]
|
| /linux/drivers/net/wireless/ath/ath10k/ |
| H A D | htt_tx.c | 1395 struct htt_data_tx_desc_frag *frags; in ath10k_htt_tx_32() local 1458 frags = (struct htt_data_tx_desc_frag *) in ath10k_htt_tx_32() 1459 &ext_desc_t[msdu_id].frags; in ath10k_htt_tx_32() 1461 frags[0].tword_addr.paddr_lo = in ath10k_htt_tx_32() 1463 frags[0].tword_addr.paddr_hi = 0; in ath10k_htt_tx_32() 1464 frags[0].tword_addr.len_16 = __cpu_to_le16(msdu->len); in ath10k_htt_tx_32() 1469 frags = txbuf->frags; in ath10k_htt_tx_32() 1470 frags[0].dword_addr.paddr = in ath10k_htt_tx_32() 1472 frags[0].dword_addr.len = __cpu_to_le32(msdu->len); in ath10k_htt_tx_32() 1473 frags[1].dword_addr.paddr = 0; in ath10k_htt_tx_32() [all …]
|
| /linux/net/core/ |
| H A D | gro.c | 141 frag = pinfo->frags + nr_frags; in skb_gro_receive() 142 frag2 = skbinfo->frags + i; in skb_gro_receive() 162 skb_frag_t *frag = pinfo->frags + nr_frags; in skb_gro_receive() 178 memcpy(frag + 1, skbinfo->frags, sizeof(*frag) * skbinfo->nr_frags); in skb_gro_receive() 196 skb_frag_off_add(&skbinfo->frags[0], eat); in skb_gro_receive() 197 skb_frag_size_sub(&skbinfo->frags[0], eat); in skb_gro_receive() 402 frag0 = &pinfo->frags[0]; in skb_gro_reset_offset() 425 skb_frag_off_add(&pinfo->frags[0], grow); in gro_pull_from_frag0() 426 skb_frag_size_sub(&pinfo->frags[0], grow); in gro_pull_from_frag0() 428 if (unlikely(!skb_frag_size(&pinfo->frags[0]))) { in gro_pull_from_frag0() [all …]
|
| H A D | net_test.c | 46 const unsigned int *frags; member 75 .frags = (const unsigned int[]) { GSO_TEST_SIZE, 1 }, 83 .frags = (const unsigned int[]) { GSO_TEST_SIZE, GSO_TEST_SIZE, 2 }, 92 .frags = (const unsigned int[]) { GSO_TEST_SIZE, 3 }, 174 skb_fill_page_desc(skb, i, page, pg_off, tcase->frags[i]); in gso_test_func() 175 pg_off += tcase->frags[i]; in gso_test_func()
|
| H A D | skbuff.c | 888 skb_frag_t *frag = &skb_shinfo(skb)->frags[i]; in skb_coalesce_rx_frag() 1054 head_netmem = netmem_compound_head(shinfo->frags[i].netmem); in skb_pp_frag_ref() 1101 __skb_frag_unref(&shinfo->frags[i], skb->pp_recycle); in skb_release_data() 1361 skb_frag_t *frag = &skb_shinfo(skb)->frags[i]; in skb_dump() 2010 skb_frag_t *f = &skb_shinfo(skb)->frags[i]; in skb_copy_ubufs() 2227 skb_shinfo(n)->frags[i] = skb_shinfo(skb)->frags[i]; in __pskb_copy_fclone() 2294 offsetof(struct skb_shared_info, frags[skb_shinfo(skb)->nr_frags])); in pskb_expand_head() 2410 offsetof(struct skb_shared_info, frags[shinfo->nr_frags])); in __skb_unclone_keeptruesize() 2723 int end = offset + skb_frag_size(&skb_shinfo(skb)->frags[i]); in ___pskb_trim() 2730 skb_frag_size_set(&skb_shinfo(skb)->frags[i++], len - offset); in ___pskb_trim() [all …]
|
| H A D | tso.c | 54 skb_frag_t *frag = &skb_shinfo(skb)->frags[tso->next_frag_idx]; in tso_build_data() 80 skb_frag_t *frag = &skb_shinfo(skb)->frags[tso->next_frag_idx]; in tso_start()
|
| /linux/drivers/net/wireless/ath/wil6210/ |
| H A D | trace.h | 212 TP_PROTO(u8 vring, u16 index, unsigned int len, u8 frags), 213 TP_ARGS(vring, index, len, frags), 216 __field(u8, frags) 222 __entry->frags = frags; 227 __entry->vring, __entry->index, __entry->len, __entry->frags)
|
| /linux/include/linux/ |
| H A D | skbuff_ref.h | 32 __skb_frag_ref(&skb_shinfo(skb)->frags[f]); in skb_frag_ref() 71 __skb_frag_unref(&shinfo->frags[f], skb->pp_recycle); in skb_frag_unref()
|
| /linux/drivers/net/ethernet/chelsio/cxgb4vf/ |
| H A D | sge.c | 288 end = &si->frags[si->nr_frags]; in map_skb() 289 for (fp = si->frags; fp < end; fp++) { in map_skb() 298 while (fp-- > si->frags) in map_skb() 917 sgl->len0 = htonl(skb_frag_size(&si->frags[0])); in write_sgl() 933 to->len[0] = cpu_to_be32(skb_frag_size(&si->frags[i])); in write_sgl() 934 to->len[1] = cpu_to_be32(skb_frag_size(&si->frags[++i])); in write_sgl() 939 to->len[0] = cpu_to_be32(skb_frag_size(&si->frags[i])); in write_sgl() 1476 __skb_fill_page_desc(skb, 0, gl->frags[0].page, in copy_frags() 1477 gl->frags[0].offset + offset, in copy_frags() 1478 gl->frags[0].size - offset); in copy_frags() [all …]
|
| /linux/drivers/net/xen-netback/ |
| H A D | netback.c | 388 skb_frag_t *frags = shinfo->frags; in xenvif_get_requests() local 474 frag_set_pending_idx(&frags[shinfo->nr_frags], pending_idx); in xenvif_get_requests() 487 frags = shinfo->frags; in xenvif_get_requests() 500 frag_set_pending_idx(&frags[shinfo->nr_frags], in xenvif_get_requests() 568 frag_get_pending_idx(&shinfo->frags[0]) == in xenvif_tx_check_gop() 611 pending_idx = frag_get_pending_idx(&shinfo->frags[i]); in xenvif_tx_check_gop() 654 pending_idx = frag_get_pending_idx(&shinfo->frags[j]); in xenvif_tx_check_gop() 665 pending_idx = frag_get_pending_idx(&first_shinfo->frags[j]); in xenvif_tx_check_gop() 696 skb_frag_t *frag = shinfo->frags + i; in xenvif_fill_frags() 1115 skb_frag_t frags[MAX_SKB_FRAGS]; in xenvif_handle_frag_list() local [all …]
|
| /linux/drivers/target/iscsi/cxgbit/ |
| H A D | cxgbit_main.c | 226 __skb_fill_page_desc(skb, skb_frag_idx, gl->frags[0].page, in cxgbit_copy_frags() 227 gl->frags[0].offset + offset, in cxgbit_copy_frags() 228 gl->frags[0].size - offset); in cxgbit_copy_frags() 231 gl->frags[i].page, in cxgbit_copy_frags() 232 gl->frags[i].offset, in cxgbit_copy_frags() 233 gl->frags[i].size); in cxgbit_copy_frags() 238 get_page(gl->frags[gl->nfrags - 1].page); in cxgbit_copy_frags() 308 pdu_cb->frags += gl->nfrags; in cxgbit_lro_add_packet_gl()
|
| H A D | cxgbit_target.c | 882 skb_frag_t *dfrag = &ssi->frags[pdu_cb->dfrag_idx]; in cxgbit_handle_immediate_data() 1401 pdu_cb->ddigest, pdu_cb->frags); in cxgbit_lro_skb_dump() 1404 skb, i, skb_frag_off(&ssi->frags[i]), in cxgbit_lro_skb_dump() 1405 skb_frag_size(&ssi->frags[i])); in cxgbit_lro_skb_dump() 1416 put_page(skb_frag_page(&ssi->frags[i])); in cxgbit_lro_hskb_reset() 1441 memcpy(&hssi->frags[hfrag_idx], &ssi->frags[pdu_cb->hfrag_idx], in cxgbit_lro_skb_merge() 1444 get_page(skb_frag_page(&hssi->frags[hfrag_idx])); in cxgbit_lro_skb_merge() 1446 hpdu_cb->frags++; in cxgbit_lro_skb_merge() 1449 len = skb_frag_size(&hssi->frags[hfrag_idx]); in cxgbit_lro_skb_merge() 1463 memcpy(&hssi->frags[dfrag_idx], in cxgbit_lro_skb_merge() [all …]
|
| /linux/drivers/misc/mei/ |
| H A D | vsc-fw-loader.c | 235 struct vsc_img_frag frags[VSC_IMG_FRAG_MAX]; member 434 frag = &fw_loader->frags[csi_image_map[i].frag_index]; in vsc_identify_csi_image() 511 frag = &fw_loader->frags[frag_index]; in vsc_identify_ace_image() 519 last_frag = &fw_loader->frags[frag_index - 1]; in vsc_identify_ace_image() 540 struct vsc_img_frag *frag = &fw_loader->frags[VSC_IMG_SKU_CFG_FRAG]; in vsc_identify_cfg_image() 582 struct vsc_img_frag *frag = &fw_loader->frags[VSC_IMG_BOOTLOADER_FRAG]; in vsc_download_bootloader() 650 struct vsc_img_frag *frag = &fw_loader->frags[i]; in vsc_download_firmware() 664 struct vsc_img_frag *frag = &fw_loader->frags[i]; in vsc_download_firmware()
|
| /linux/net/sunrpc/auth_gss/ |
| H A D | gss_krb5_crypto.c | 304 struct scatterlist frags[4]; member 321 sg_set_page(&desc->frags[desc->fragno], sg_page(sg), sg->length, in decryptor() 332 sg_mark_end(&desc->frags[desc->fragno - 1]); in decryptor() 334 skcipher_request_set_crypt(desc->req, desc->frags, desc->frags, in decryptor() 341 sg_init_table(desc->frags, 4); in decryptor() 344 sg_set_page(&desc->frags[0], sg_page(sg), fraglen, in decryptor() 568 sg_init_table(desc.frags, 4); in krb5_cbc_cts_decrypt()
|
| /linux/drivers/staging/media/av7110/ |
| H A D | av7110_av.c | 575 p->frags = 0; in av7110_p2t_init() 585 p->frags = 0; in clear_p2t() 588 static int find_pes_header(u8 const *buf, long length, int *frags) in find_pes_header() argument 593 *frags = 0; in find_pes_header() 623 *frags = 1; in find_pes_header() 626 *frags = 2; in find_pes_header() 630 *frags = 3; in find_pes_header() 644 if (p->frags) { in av7110_p2t_write() 646 switch (p->frags) { in av7110_p2t_write() 691 p->frags = 0; in av7110_p2t_write() [all …]
|
| /linux/drivers/net/ethernet/aquantia/atlantic/ |
| H A D | aq_nic.c | 612 skb_frag_t *frag = &sinfo->frags[frag_count]; in aq_nic_map_xdp() 761 skb_frag_t *frag = &skb_shinfo(skb)->frags[frag_count]; in aq_nic_map_skb() 838 unsigned int frags = 1; in aq_nic_xmit_xdpf() local 842 frags += sinfo->nr_frags; in aq_nic_xmit_xdpf() 845 if (frags > AQ_CFG_SKB_FRAGS_MAX) in aq_nic_xmit_xdpf() 857 frags = aq_nic_map_xdp(aq_nic, xdpf, tx_ring); in aq_nic_xmit_xdpf() 858 if (likely(frags)) in aq_nic_xmit_xdpf() 860 frags); in aq_nic_xmit_xdpf() 873 unsigned int frags = 0U; in aq_nic_xmit() local 876 frags = skb_shinfo(skb)->nr_frags + 1; in aq_nic_xmit() [all …]
|
| /linux/tools/testing/selftests/net/packetdrill/ |
| H A D | tcp_zerocopy_maxfrags.pkt | 53 // verify that it is split in one skb of 17 frags + 1 of 1 frag 95 // verify that it is split in skbs with 17 frags
|
| /linux/net/sctp/ |
| H A D | outqueue.c | 1228 union sctp_sack_variable *frags; in sctp_sack_update_unack_data() local 1234 frags = (union sctp_sack_variable *)(sack + 1); in sctp_sack_update_unack_data() 1236 unack_data -= ((ntohs(frags[i].gab.end) - in sctp_sack_update_unack_data() 1237 ntohs(frags[i].gab.start) + 1)); in sctp_sack_update_unack_data() 1316 union sctp_sack_variable *frags = in sctp_outq_sack() local 1319 highest_tsn += ntohs(frags[gap_ack_blocks - 1].gab.end); in sctp_outq_sack() 1775 union sctp_sack_variable *frags; in sctp_acked() local 1794 frags = (union sctp_sack_variable *)(sack + 1); in sctp_acked() 1798 if (tsn_offset >= ntohs(frags[i].gab.start) && in sctp_acked() 1799 tsn_offset <= ntohs(frags[i].gab.end)) in sctp_acked()
|
| /linux/fs/jffs2/ |
| H A D | nodelist.c | 105 this->node->frags--; in jffs2_obsolete_node_frag() 106 if (!this->node->frags) { in jffs2_obsolete_node_frag() 114 …ref_offset(this->node->raw), this->node->ofs, this->node->ofs+this->node->size, this->node->frags); in jffs2_obsolete_node_frag() 286 this->node->frags++; in jffs2_add_frag_to_fragtree() 374 newfrag->node->frags = 1; in jffs2_add_full_dnode_to_inode() 571 if (frag->node && !(--frag->node->frags)) { in jffs2_kill_fragtree()
|