Lines Matching refs:xskb

60 	struct xdp_buff_xsk *xskb;  in xp_create_and_assign_umem()  local
101 xskb = &pool->heads[i]; in xp_create_and_assign_umem()
102 xskb->pool = pool; in xp_create_and_assign_umem()
103 xskb->xdp.frame_sz = umem->chunk_size - umem->headroom; in xp_create_and_assign_umem()
104 INIT_LIST_HEAD(&xskb->list_node); in xp_create_and_assign_umem()
106 pool->free_heads[i] = xskb; in xp_create_and_assign_umem()
108 xp_init_xskb_addr(xskb, pool, (u64)i * pool->chunk_size); in xp_create_and_assign_umem()
132 struct xdp_buff_xsk *xskb = &pool->heads[i]; in xp_fill_cb() local
134 memcpy(xskb->cb + desc->off, desc->src, desc->bytes); in xp_fill_cb()
418 struct xdp_buff_xsk *xskb = &pool->heads[i]; in xp_init_dma_info() local
421 orig_addr = xskb->xdp.data_hard_start - pool->addrs - pool->headroom; in xp_init_dma_info()
422 xp_init_xskb_dma(xskb, pool, dma_map->dma_pages, orig_addr); in xp_init_dma_info()
507 struct xdp_buff_xsk *xskb; in xp_get_xskb() local
510 xskb = pool->free_heads[--pool->free_heads_cnt]; in xp_get_xskb()
511 xp_init_xskb_addr(xskb, pool, addr); in xp_get_xskb()
513 xp_init_xskb_dma(xskb, pool, pool->dma_pages, addr); in xp_get_xskb()
515 xskb = &pool->heads[xp_aligned_extract_idx(pool, addr)]; in xp_get_xskb()
518 return xskb; in xp_get_xskb()
523 struct xdp_buff_xsk *xskb; in __xp_alloc() local
546 xskb = xp_get_xskb(pool, addr); in __xp_alloc()
549 return xskb; in __xp_alloc()
554 struct xdp_buff_xsk *xskb; in xp_alloc() local
557 xskb = __xp_alloc(pool); in xp_alloc()
558 if (!xskb) in xp_alloc()
562 xskb = list_first_entry(&pool->free_list, struct xdp_buff_xsk, in xp_alloc()
564 list_del_init(&xskb->list_node); in xp_alloc()
567 xskb->xdp.data = xskb->xdp.data_hard_start + XDP_PACKET_HEADROOM; in xp_alloc()
568 xskb->xdp.data_meta = xskb->xdp.data; in xp_alloc()
569 xskb->xdp.flags = 0; in xp_alloc()
572 xp_dma_sync_for_device(pool, xskb->dma, pool->frame_len); in xp_alloc()
574 return &xskb->xdp; in xp_alloc()
590 struct xdp_buff_xsk *xskb; in xp_alloc_new_from_fq() local
604 xskb = xp_get_xskb(pool, addr); in xp_alloc_new_from_fq()
606 *xdp = &xskb->xdp; in xp_alloc_new_from_fq()
616 struct xdp_buff_xsk *xskb; in xp_alloc_reused() local
623 xskb = list_first_entry(&pool->free_list, struct xdp_buff_xsk, list_node); in xp_alloc_reused()
624 list_del_init(&xskb->list_node); in xp_alloc_reused()
626 *xdp = &xskb->xdp; in xp_alloc_reused()
692 void xp_free(struct xdp_buff_xsk *xskb) in xp_free() argument
694 if (!list_empty(&xskb->list_node)) in xp_free()
697 xskb->pool->free_list_cnt++; in xp_free()
698 list_add(&xskb->list_node, &xskb->pool->free_list); in xp_free()