/kernel/linux/linux-5.10/drivers/net/ethernet/mellanox/mlx5/core/ |
H A D | alloc.c | 83 buf->frags = kzalloc(sizeof(*buf->frags), GFP_KERNEL); in mlx5_buf_alloc_node() 84 if (!buf->frags) in mlx5_buf_alloc_node() 87 buf->frags->buf = mlx5_dma_zalloc_coherent_node(dev, size, in mlx5_buf_alloc_node() 89 if (!buf->frags->buf) in mlx5_buf_alloc_node() 92 buf->frags->map = t; in mlx5_buf_alloc_node() 101 kfree(buf->frags); in mlx5_buf_alloc_node() 114 dma_free_coherent(mlx5_core_dma_dev(dev), buf->size, buf->frags->buf, in mlx5_buf_free() 115 buf->frags->map); in mlx5_buf_free() 117 kfree(buf->frags); in mlx5_buf_free() [all...] |
H A D | wq.c | 66 mlx5_init_fbc(wq_ctrl->buf.frags, log_wq_stride, log_wq_sz, fbc); in mlx5_wq_cyc_create() 133 mlx5_init_fbc(wq_ctrl->buf.frags, log_rq_stride, log_rq_sz, &wq->rq.fbc); in mlx5_wq_qp_create() 141 mlx5_init_fbc_offset(wq_ctrl->buf.frags, in mlx5_wq_qp_create() 147 mlx5_init_fbc(wq_ctrl->buf.frags + rq_npages, in mlx5_wq_qp_create() 190 mlx5_init_fbc(wq_ctrl->buf.frags, log_wq_stride, log_wq_sz, &wq->fbc); in mlx5_cqwq_create() 239 mlx5_init_fbc(wq_ctrl->buf.frags, log_wq_stride, log_wq_sz, fbc); in mlx5_wq_ll_create()
|
/kernel/linux/linux-6.6/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[ 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()
|
/kernel/linux/linux-6.6/drivers/net/ethernet/mellanox/mlx4/ |
H A D | en_rx.c | 77 struct mlx4_en_rx_alloc *frags, in mlx4_en_alloc_frags() 82 for (i = 0; i < priv->num_frags; i++, frags++) { in mlx4_en_alloc_frags() 83 if (!frags->page) { in mlx4_en_alloc_frags() 84 if (mlx4_alloc_page(priv, frags, gfp)) in mlx4_en_alloc_frags() 88 rx_desc->data[i].addr = cpu_to_be64(frags->dma + in mlx4_en_alloc_frags() 89 frags->page_offset); in mlx4_en_alloc_frags() 139 struct mlx4_en_rx_alloc *frags = ring->rx_info + in mlx4_en_prepare_rx_desc() local 143 if (!frags->page) { in mlx4_en_prepare_rx_desc() 145 frags->page = ring->page_cache.buf[ring->page_cache.index].page; in mlx4_en_prepare_rx_desc() 146 frags in mlx4_en_prepare_rx_desc() 74 mlx4_en_alloc_frags(struct mlx4_en_priv *priv, struct mlx4_en_rx_ring *ring, struct mlx4_en_rx_desc *rx_desc, struct mlx4_en_rx_alloc *frags, gfp_t gfp) mlx4_en_alloc_frags() argument 172 struct mlx4_en_rx_alloc *frags; mlx4_en_free_rx_desc() local 467 mlx4_en_complete_rx_desc(struct mlx4_en_priv *priv, struct mlx4_en_rx_alloc *frags, struct sk_buff *skb, int length) mlx4_en_complete_rx_desc() argument 746 struct mlx4_en_rx_alloc *frags; mlx4_en_process_rx_cq() local [all...] |
/kernel/linux/linux-5.10/drivers/net/ethernet/mellanox/mlx4/ |
H A D | en_rx.c | 77 struct mlx4_en_rx_alloc *frags, in mlx4_en_alloc_frags() 82 for (i = 0; i < priv->num_frags; i++, frags++) { in mlx4_en_alloc_frags() 83 if (!frags->page) { in mlx4_en_alloc_frags() 84 if (mlx4_alloc_page(priv, frags, gfp)) in mlx4_en_alloc_frags() 88 rx_desc->data[i].addr = cpu_to_be64(frags->dma + in mlx4_en_alloc_frags() 89 frags->page_offset); in mlx4_en_alloc_frags() 139 struct mlx4_en_rx_alloc *frags = ring->rx_info + in mlx4_en_prepare_rx_desc() local 143 if (!frags->page) { in mlx4_en_prepare_rx_desc() 145 frags->page = ring->page_cache.buf[ring->page_cache.index].page; in mlx4_en_prepare_rx_desc() 146 frags in mlx4_en_prepare_rx_desc() 74 mlx4_en_alloc_frags(struct mlx4_en_priv *priv, struct mlx4_en_rx_ring *ring, struct mlx4_en_rx_desc *rx_desc, struct mlx4_en_rx_alloc *frags, gfp_t gfp) mlx4_en_alloc_frags() argument 172 struct mlx4_en_rx_alloc *frags; mlx4_en_free_rx_desc() local 467 mlx4_en_complete_rx_desc(struct mlx4_en_priv *priv, struct mlx4_en_rx_alloc *frags, struct sk_buff *skb, int length) mlx4_en_complete_rx_desc() argument 698 struct mlx4_en_rx_alloc *frags; mlx4_en_process_rx_cq() local [all...] |
/kernel/linux/linux-6.6/tools/testing/selftests/bpf/ |
H A D | generate_udp_fragments.py | 43 def print_frags(f, frags, v6): 44 for idx, frag in enumerate(frags): 77 frags = [f.build() for f in pkt.fragment(24)] 81 print_frags(f, frags, False)
|
/kernel/linux/linux-6.6/net/core/ |
H A D | gro.c | 150 frag = pinfo->frags + nr_frags; in skb_gro_receive() 151 frag2 = skbinfo->frags + i; in skb_gro_receive() 171 skb_frag_t *frag = pinfo->frags + nr_frags; in skb_gro_receive() 187 memcpy(frag + 1, skbinfo->frags, sizeof(*frag) * skbinfo->nr_frags); in skb_gro_receive() 204 skb_frag_off_add(&skbinfo->frags[0], eat); in skb_gro_receive() 205 skb_frag_size_sub(&skbinfo->frags[0], eat); in skb_gro_receive() 373 const skb_frag_t *frag0 = &pinfo->frags[0]; in skb_gro_reset_offset() 400 skb_frag_off_add(&pinfo->frags[0], grow); in gro_pull_from_frag0() 401 skb_frag_size_sub(&pinfo->frags[0], grow); in gro_pull_from_frag0() 403 if (unlikely(!skb_frag_size(&pinfo->frags[ in gro_pull_from_frag0() [all...] |
H A D | skbuff.c | 860 skb_frag_t *frag = &skb_shinfo(skb)->frags[i]; in skb_coalesce_rx_frag() 981 napi_frag_unref(&shinfo->frags[i], skb->pp_recycle, napi_safe); in skb_release_data() 1224 skb_frag_t *frag = &skb_shinfo(skb)->frags[i]; in skb_dump() 1782 * skb_copy_ubufs - copy userspace skb frags buffers to kernel 1787 * It will copy all frags into kernel and drop the reference 1835 skb_frag_t *f = &skb_shinfo(skb)->frags[i]; in skb_copy_ubufs() 1860 /* skb frags release userspace buffers */ in skb_copy_ubufs() 1864 /* skb frags point to kernel buffers */ in skb_copy_ubufs() 2042 skb_shinfo(n)->frags[i] = skb_shinfo(skb)->frags[ in __pskb_copy_fclone() [all...] |
/kernel/linux/linux-6.6/drivers/net/wireless/intel/iwlwifi/ |
H A D | iwl-dbg-tlv.c | 406 struct iwl_dram_data *frag = &fw_mon->frags[i]; in iwl_dbg_tlv_fragments_free() 416 kfree(fw_mon->frags); in iwl_dbg_tlv_fragments_free() 417 fw_mon->frags = NULL; in iwl_dbg_tlv_fragments_free() 597 memset(fw_mon->frags[i].block, 0, in iwl_dbg_tlv_alloc_fragments() 598 fw_mon->frags[i].size); in iwl_dbg_tlv_alloc_fragments() 622 fw_mon->frags = kcalloc(num_frags, sizeof(*fw_mon->frags), GFP_KERNEL); in iwl_dbg_tlv_alloc_fragments() 623 if (!fw_mon->frags) in iwl_dbg_tlv_alloc_fragments() 633 pages = iwl_dbg_tlv_alloc_fragment(fwrt, &fw_mon->frags[i], in iwl_dbg_tlv_alloc_fragments() 708 struct iwl_buf_alloc_frag *frag = &data.frags[ in iwl_dbg_tlv_apply_buffer() 797 struct iwl_dram_data *frags = iwl_dbg_tlv_update_drams() local 902 struct iwl_dram_data *frags = &fwrt->trans->dbg.fw_mon_ini[1].frags[0]; iwl_dbg_tlv_apply_config() local [all...] |
/kernel/linux/linux-6.6/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() 188 q->cur_buf->pg_refs++; /* return frags' page reference */ in fun_run_xdp() 297 skb_frag_t *frags) in fun_gather_pkt() 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() 296 fun_gather_pkt(struct funeth_rxq *q, unsigned int tot_len, skb_frag_t *frags) fun_gather_pkt() argument [all...] |
/kernel/linux/linux-5.10/drivers/net/wireless/ath/wil6210/ |
H A D | trace.h | 215 TP_PROTO(u8 vring, u16 index, unsigned int len, u8 frags), 216 TP_ARGS(vring, index, len, frags), 219 __field(u8, frags) 225 __entry->frags = frags; 229 TP_printk("vring %d index %d len %d frags %d", 230 __entry->vring, __entry->index, __entry->len, __entry->frags)
|
/kernel/linux/linux-6.6/drivers/net/ethernet/intel/ice/ |
H A D | ice_txrx_lib.c | 261 u32 frags, xdp_tx = 0; in ice_clean_xdp_irq() local 287 /* bytecount holds size of head + frags */ in ice_clean_xdp_irq() 289 frags = tx_buf->nr_frags; in ice_clean_xdp_irq() 291 /* count head + frags */ in ice_clean_xdp_irq() 292 ready_frames -= frags + 1; in ice_clean_xdp_irq() 299 for (int i = 0; i < frags; i++) { in ice_clean_xdp_irq() 393 data = skb_frag_address(&sinfo->frags[frag]); in __ice_xmit_xdp_ring() 394 size = skb_frag_size(&sinfo->frags[frag]); in __ice_xmit_xdp_ring()
|
/kernel/linux/linux-6.6/drivers/net/ethernet/marvell/octeon_ep/ |
H A D | octep_tx.c | 41 u8 frags, i; in octep_iq_process_completions() local 68 frags = shinfo->nr_frags; in octep_iq_process_completions() 75 while (frags--) { in octep_iq_process_completions() 111 u8 frags, i; in octep_iq_free_pending() local 130 frags = shinfo->nr_frags; in octep_iq_free_pending() 138 while (frags--) { in octep_iq_free_pending()
|
/kernel/linux/linux-6.6/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; 226 TP_printk("vring %d index %d len %d frags %d", 227 __entry->vring, __entry->index, __entry->len, __entry->frags)
|
/kernel/linux/linux-5.10/drivers/net/wireless/ath/ath10k/ |
H A D | htt_tx.c | 1413 struct htt_data_tx_desc_frag *frags; in ath10k_htt_tx_32() local 1472 frags = (struct htt_data_tx_desc_frag *) in ath10k_htt_tx_32() 1473 &ext_desc_t[msdu_id].frags; in ath10k_htt_tx_32() 1475 frags[0].tword_addr.paddr_lo = in ath10k_htt_tx_32() 1477 frags[0].tword_addr.paddr_hi = 0; in ath10k_htt_tx_32() 1478 frags[0].tword_addr.len_16 = __cpu_to_le16(msdu->len); in ath10k_htt_tx_32() 1483 frags = txbuf->frags; in ath10k_htt_tx_32() 1484 frags[0].dword_addr.paddr = in ath10k_htt_tx_32() 1486 frags[ in ath10k_htt_tx_32() 1615 struct htt_data_tx_desc_frag *frags; ath10k_htt_tx_64() local [all...] |
/kernel/linux/linux-6.6/drivers/net/wireless/ath/ath10k/ |
H A D | htt_tx.c | 1397 struct htt_data_tx_desc_frag *frags; in ath10k_htt_tx_32() local 1460 frags = (struct htt_data_tx_desc_frag *) in ath10k_htt_tx_32() 1461 &ext_desc_t[msdu_id].frags; in ath10k_htt_tx_32() 1463 frags[0].tword_addr.paddr_lo = in ath10k_htt_tx_32() 1465 frags[0].tword_addr.paddr_hi = 0; in ath10k_htt_tx_32() 1466 frags[0].tword_addr.len_16 = __cpu_to_le16(msdu->len); in ath10k_htt_tx_32() 1471 frags = txbuf->frags; in ath10k_htt_tx_32() 1472 frags[0].dword_addr.paddr = in ath10k_htt_tx_32() 1474 frags[ in ath10k_htt_tx_32() 1602 struct htt_data_tx_desc_frag *frags; ath10k_htt_tx_64() local [all...] |
/kernel/linux/linux-5.10/drivers/net/ethernet/mellanox/mlx5/core/en_accel/ |
H A D | tls_rxtx.c | 52 skb_frag_t frags[MAX_SKB_FRAGS]; member 126 info->frags[i] = record->frags[i]; in mlx5e_tls_get_sync_data() 127 __skb_frag_ref(&info->frags[i]); in mlx5e_tls_get_sync_data() 128 remaining -= skb_frag_size(&info->frags[i]); in mlx5e_tls_get_sync_data() 131 skb_frag_size_add(&info->frags[i], remaining); in mlx5e_tls_get_sync_data() 239 skb_shinfo(nskb)->frags[i] = info.frags[i]; in mlx5e_tls_handle_ooo()
|
H A D | ktls_tx.c | 213 skb_frag_t frags[MAX_SKB_FRAGS]; member 262 skb_frag_t *frag = &record->frags[i]; in tx_sync_info_get() 266 info->frags[i++] = *frag; in tx_sync_info_get() 270 skb_frag_size_add(&info->frags[i - 1], remaining); in tx_sync_info_get() 405 skb_frag_t *f = &info.frags[i]; in mlx5e_ktls_tx_handle_ooo() 437 put_page(skb_frag_page(&info.frags[i])); in mlx5e_ktls_tx_handle_ooo()
|
/kernel/linux/linux-5.10/net/core/ |
H A D | skbuff.c | 569 skb_frag_t *frag = &skb_shinfo(skb)->frags[i]; in skb_coalesce_rx_frag() 618 __skb_frag_unref(&shinfo->frags[i]); in skb_release_data() 792 skb_frag_t *frag = &skb_shinfo(skb)->frags[i]; in skb_dump() 1336 * skb_copy_ubufs - copy userspace skb frags buffers to kernel 1341 * It will copy all frags into kernel and drop the reference 1381 skb_frag_t *f = &skb_shinfo(skb)->frags[i]; in skb_copy_ubufs() 1406 /* skb frags release userspace buffers */ in skb_copy_ubufs() 1410 /* skb frags point to kernel buffers */ in skb_copy_ubufs() 1593 skb_shinfo(n)->frags[i] = skb_shinfo(skb)->frags[ in __pskb_copy_fclone() [all...] |
/kernel/linux/linux-5.10/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() 1366 "eth_xmit: ndesc %u, credits %u, pidx %u, len %u, frags %u", in t4vf_eth_xmit() 1479 __skb_fill_page_desc(skb, 0, gl->frags[0].page, in copy_frags() 1480 gl->frags[ in copy_frags() 1711 restore_rx_bufs(const struct pkt_gl *gl, struct sge_fl *fl, int frags) restore_rx_bufs() argument [all...] |
/kernel/linux/linux-6.6/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() 1363 "eth_xmit: ndesc %u, credits %u, pidx %u, len %u, frags %u", in t4vf_eth_xmit() 1476 __skb_fill_page_desc(skb, 0, gl->frags[0].page, in copy_frags() 1477 gl->frags[ in copy_frags() 1708 restore_rx_bufs(const struct pkt_gl *gl, struct sge_fl *fl, int frags) restore_rx_bufs() argument [all...] |
/kernel/linux/linux-5.10/drivers/target/iscsi/cxgbit/ |
H A D | cxgbit_main.c | 219 __skb_fill_page_desc(skb, skb_frag_idx, gl->frags[0].page, in cxgbit_copy_frags() 220 gl->frags[0].offset + offset, in cxgbit_copy_frags() 221 gl->frags[0].size - offset); in cxgbit_copy_frags() 224 gl->frags[i].page, in cxgbit_copy_frags() 225 gl->frags[i].offset, in cxgbit_copy_frags() 226 gl->frags[i].size); in cxgbit_copy_frags() 231 get_page(gl->frags[gl->nfrags - 1].page); in cxgbit_copy_frags() 301 pdu_cb->frags += gl->nfrags; in cxgbit_lro_add_packet_gl()
|
/kernel/linux/linux-6.6/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()
|
/kernel/linux/linux-5.10/sound/soc/intel/skylake/ |
H A D | skl-sst-cldma.c | 83 ctx->cl_dev.frags = 0; in skl_cldma_setup_bdle() 86 (ctx->cl_dev.frags * ctx->cl_dev.bufsize)); in skl_cldma_setup_bdle() 97 ctx->cl_dev.frags++; in skl_cldma_setup_bdle() 361 ctx->cl_dev.bufsize, ctx->cl_dev.frags); in skl_cldma_prepare()
|