Lines Matching refs:xskb
48 struct xdp_buff_xsk *xskb;
81 xskb = &pool->heads[i];
82 xskb->pool = pool;
83 xskb->xdp.frame_sz = umem->chunk_size - umem->headroom;
84 pool->free_heads[i] = xskb;
453 struct xdp_buff_xsk *xskb;
460 xskb = pool->free_heads[--pool->free_heads_cnt];
465 xp_release(xskb);
480 xskb->orig_addr = addr;
481 xskb->xdp.data_hard_start = pool->addrs + addr + pool->headroom;
483 xskb->frame_dma = (pool->dma_pages[addr >> PAGE_SHIFT] &
486 xskb->dma = xskb->frame_dma + pool->headroom +
489 return xskb;
494 struct xdp_buff_xsk *xskb;
497 xskb = __xp_alloc(pool);
498 if (!xskb)
502 xskb = list_first_entry(&pool->free_list, struct xdp_buff_xsk,
504 list_del(&xskb->free_list_node);
507 xskb->xdp.data = xskb->xdp.data_hard_start + XDP_PACKET_HEADROOM;
508 xskb->xdp.data_meta = xskb->xdp.data;
511 dma_sync_single_range_for_device(pool->dev, xskb->dma, 0,
515 return &xskb->xdp;
527 void xp_free(struct xdp_buff_xsk *xskb)
529 xskb->pool->free_list_cnt++;
530 list_add(&xskb->free_list_node, &xskb->pool->free_list);
550 void xp_dma_sync_for_cpu_slow(struct xdp_buff_xsk *xskb)
552 dma_sync_single_range_for_cpu(xskb->pool->dev, xskb->dma, 0,
553 xskb->pool->frame_len, DMA_BIDIRECTIONAL);