| /linux-6.15/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-6.15/drivers/net/ethernet/mellanox/mlx4/ |
| H A D | en_rx.c | 65 if (!frags->page) { in mlx4_en_alloc_frags() 67 if (!frags->page) { in mlx4_en_alloc_frags() 146 struct mlx4_en_rx_alloc *frags; in mlx4_en_free_rx_desc() local 447 for (nr = 0;; frags++) { in mlx4_en_complete_rx_desc() 450 page = frags->page; in mlx4_en_complete_rx_desc() 479 frags->page = NULL; in mlx4_en_complete_rx_desc() 722 va = page_address(frags[0].page) + frags[0].page_offset; in mlx4_en_process_rx_cq() 752 dma += frags[0].page_offset; in mlx4_en_process_rx_cq() 792 dma += frags[0].page_offset; in mlx4_en_process_rx_cq() 821 frags[0].page = NULL; in mlx4_en_process_rx_cq() [all …]
|
| /linux-6.15/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-6.15/drivers/net/wireless/intel/iwlwifi/ |
| H A D | iwl-dbg-tlv.c | 413 kfree(fw_mon->frags); in iwl_dbg_tlv_fragments_free() 414 fw_mon->frags = NULL; in iwl_dbg_tlv_fragments_free() 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() 709 &fw_mon->frags[fw_mon_idx++]; in iwl_dbg_tlv_apply_buffer() 796 struct iwl_dram_data *frags = in iwl_dbg_tlv_update_drams() local 800 if (!frags || !frags->block) in iwl_dbg_tlv_update_drams() 803 dram_info = frags->block; in iwl_dbg_tlv_update_drams() 901 struct iwl_dram_data *frags = &fwrt->trans->dbg.fw_mon_ini[1].frags[0]; in iwl_dbg_tlv_apply_config() local [all …]
|
| /linux-6.15/net/core/ |
| H A D | gro.c | 140 frag = pinfo->frags + nr_frags; in skb_gro_receive() 141 frag2 = skbinfo->frags + i; in skb_gro_receive() 161 skb_frag_t *frag = pinfo->frags + nr_frags; in skb_gro_receive() 195 skb_frag_off_add(&skbinfo->frags[0], eat); in skb_gro_receive() 196 skb_frag_size_sub(&skbinfo->frags[0], eat); in skb_gro_receive() 400 frag0 = &pinfo->frags[0]; in skb_gro_reset_offset() 423 skb_frag_off_add(&pinfo->frags[0], grow); in gro_pull_from_frag0() 424 skb_frag_size_sub(&pinfo->frags[0], grow); in gro_pull_from_frag0() 426 if (unlikely(!skb_frag_size(&pinfo->frags[0]))) { in gro_pull_from_frag0() 428 memmove(pinfo->frags, pinfo->frags + 1, 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 | 2196 skb_shinfo(n)->frags[i] = skb_shinfo(skb)->frags[i]; in __pskb_copy_fclone() 2908 *frag = skb_shinfo(skb)->frags[i]; in __pskb_pull_tail() 3811 skb_shinfo(to)->frags[j] = skb_shinfo(from)->frags[i]; in skb_zerocopy() 4060 skb_shinfo(skb1)->frags[i] = skb_shinfo(skb)->frags[i]; in skb_split_inside_header() 4088 skb_shinfo(skb1)->frags[k] = skb_shinfo(skb)->frags[i]; in skb_split_no_header() 4263 skb_shinfo(skb)->frags[to++] = skb_shinfo(skb)->frags[from++]; in skb_shift() 4764 frag = skb_shinfo(head_skb)->frags; in skb_segment() 4793 frag = skb_shinfo(list_skb)->frags; in skb_segment() 4878 nskb_frag = skb_shinfo(nskb)->frags; in skb_segment() 6102 from_shinfo->frags, in skb_try_coalesce() [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-6.15/drivers/net/ethernet/fungible/funeth/ |
| H A D | funeth_rx.c | 150 xdp_init_buff(&xdp, ALIGN(skb_frag_size(frags), FUN_EPRQ_PKT_ALIGN), 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() 395 va = fun_run_xdp(q, frags, va, ref_ok, xdp_q); in fun_handle_cqe_pkt() 425 si->frags[i] = frags[i]; in fun_handle_cqe_pkt() [all …]
|
| /linux-6.15/drivers/net/ethernet/marvell/octeon_ep/ |
| H A D | octep_tx.c | 40 u8 frags, i; in octep_iq_process_completions() local 67 frags = shinfo->nr_frags; in octep_iq_process_completions() 74 while (frags--) { in octep_iq_process_completions() 109 u8 frags, i; in octep_iq_free_pending() local 128 frags = shinfo->nr_frags; in octep_iq_free_pending() 136 while (frags--) { in octep_iq_free_pending()
|
| /linux-6.15/drivers/net/ethernet/marvell/octeon_ep_vf/ |
| H A D | octep_vf_tx.c | 41 u8 frags, i; in octep_vf_iq_process_completions() local 68 frags = shinfo->nr_frags; in octep_vf_iq_process_completions() 75 while (frags--) { in octep_vf_iq_process_completions() 108 u8 frags, i; in octep_vf_iq_free_pending() local 127 frags = shinfo->nr_frags; in octep_vf_iq_free_pending() 135 while (frags--) { in octep_vf_iq_free_pending()
|
| /linux-6.15/drivers/net/wireless/ath/ath10k/ |
| H A D | htt_tx.c | 1457 &ext_desc_t[msdu_id].frags; in ath10k_htt_tx_32() 1459 frags[0].tword_addr.paddr_lo = in ath10k_htt_tx_32() 1467 frags = txbuf->frags; in ath10k_htt_tx_32() 1468 frags[0].dword_addr.paddr = in ath10k_htt_tx_32() 1471 frags[1].dword_addr.paddr = 0; in ath10k_htt_tx_32() 1472 frags[1].dword_addr.len = 0; in ath10k_htt_tx_32() 1559 sizeof(txbuf->frags); in ath10k_htt_tx_32() 1662 &ext_desc_t[msdu_id].frags; in ath10k_htt_tx_64() 1664 frags[0].tword_addr.paddr_lo = in ath10k_htt_tx_64() 1673 frags = txbuf->frags; in ath10k_htt_tx_64() [all …]
|
| /linux-6.15/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-6.15/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-6.15/drivers/net/ethernet/intel/ice/ |
| H A D | ice_txrx_lib.c | 301 u32 frags, xdp_tx = 0; in ice_clean_xdp_irq() local 329 frags = tx_buf->nr_frags; in ice_clean_xdp_irq() 332 ready_frames -= frags + 1; in ice_clean_xdp_irq() 339 for (int i = 0; i < frags; i++) { in ice_clean_xdp_irq() 433 data = skb_frag_address(&sinfo->frags[frag]); in __ice_xmit_xdp_ring() 434 size = skb_frag_size(&sinfo->frags[frag]); in __ice_xmit_xdp_ring()
|
| /linux-6.15/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() 1478 gl->frags[0].size - offset); in copy_frags() 1482 gl->frags[i].offset, in copy_frags() 1483 gl->frags[i].size); in copy_frags() 1552 put_page(gl->frags[frag].page); in t4vf_pktgl_free() 1709 int frags) in restore_rx_bufs() argument 1713 while (frags--) { in restore_rx_bufs() 1719 sdesc->page = gl->frags[frags].page; in restore_rx_bufs() [all …]
|
| /linux-6.15/drivers/net/xen-netback/ |
| H A D | netback.c | 387 skb_frag_t *frags = shinfo->frags; in xenvif_get_requests() local 486 frags = shinfo->frags; in xenvif_get_requests() 499 frag_set_pending_idx(&frags[shinfo->nr_frags], in xenvif_get_requests() 567 frag_get_pending_idx(&shinfo->frags[0]) == in xenvif_tx_check_gop() 610 pending_idx = frag_get_pending_idx(&shinfo->frags[i]); in xenvif_tx_check_gop() 653 pending_idx = frag_get_pending_idx(&shinfo->frags[j]); in xenvif_tx_check_gop() 695 skb_frag_t *frag = shinfo->frags + i; in xenvif_fill_frags() 1114 skb_frag_t frags[MAX_SKB_FRAGS]; in xenvif_handle_frag_list() local 1139 put_page(skb_frag_page(&frags[j])); in xenvif_handle_frag_list() 1151 skb_frag_fill_page_desc(&frags[i], page, 0, len); in xenvif_handle_frag_list() [all …]
|
| /linux-6.15/block/partitions/ |
| H A D | ldm.c | 1216 static bool ldm_frag_add (const u8 *data, int size, struct list_head *frags) in ldm_frag_add() argument 1222 BUG_ON (!data || !frags); in ldm_frag_add() 1241 list_for_each (item, frags) { in ldm_frag_add() 1258 list_add_tail (&f->list, frags); in ldm_frag_add() 1307 static bool ldm_frag_commit (struct list_head *frags, struct ldmdb *ldb) in ldm_frag_commit() argument 1312 BUG_ON (!frags || !ldb); in ldm_frag_commit() 1314 list_for_each (item, frags) { in ldm_frag_commit() 1348 LIST_HEAD (frags); in ldm_get_vblks() 1375 if (!ldm_frag_add (data, size, &frags)) in ldm_get_vblks() 1384 result = ldm_frag_commit (&frags, ldb); /* Failures, already logged */ in ldm_get_vblks() [all …]
|
| /linux-6.15/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-6.15/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-6.15/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 | 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() 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() 1464 &ssi->frags[pdu_cb->dfrag_idx + i], in cxgbit_lro_skb_merge() 1469 len += skb_frag_size(&hssi->frags[dfrag_idx]); in cxgbit_lro_skb_merge() [all …]
|
| /linux-6.15/Documentation/networking/ |
| H A D | devmem.rst | 214 Freeing frags 228 The user must pass no more than 128 tokens, with no more than 1024 total frags 230 than 1024 frags, the kernel will free up to 1024 frags and return early. 232 The kernel returns the number of actual frags freed. The number of frags freed 236 (b) the user passed more than 1024 frags.
|
| /linux-6.15/drivers/net/ethernet/broadcom/bnxt/ |
| H A D | bnxt_xdp.c | 60 skb_frag_t *frag = &sinfo->frags[i]; in bnxt_xmit_bd() 130 int j, frags; in bnxt_tx_int_xdp() local 153 frags = tx_buf->nr_frags; in bnxt_tx_int_xdp() 154 for (j = 0; j < frags; j++) { in bnxt_tx_int_xdp() 213 struct page *page = skb_frag_page(&shinfo->frags[i]); in bnxt_xdp_buff_frags_free()
|