Lines Matching refs:addr
468 u64 addr)
470 return xp_desc_crosses_non_contig_pg(pool, addr, pool->chunk_size);
473 static bool xp_check_unaligned(struct xsk_buff_pool *pool, u64 *addr)
475 *addr = xp_unaligned_extract_addr(*addr);
476 if (*addr >= pool->addrs_cnt ||
477 *addr + pool->chunk_size > pool->addrs_cnt ||
478 xp_addr_crosses_non_contig_pg(pool, *addr))
483 static bool xp_check_aligned(struct xsk_buff_pool *pool, u64 *addr)
485 *addr = xp_aligned_extract_addr(pool, *addr);
486 return *addr < pool->addrs_cnt;
492 u64 addr;
499 if (!xskq_cons_peek_addr_unchecked(pool->fq, &addr)) {
504 ok = pool->unaligned ? xp_check_unaligned(pool, &addr) :
505 xp_check_aligned(pool, &addr);
516 xp_init_xskb_addr(xskb, pool, addr);
518 xp_init_xskb_dma(xskb, pool, pool->dma_pages, addr);
520 xskb = &pool->heads[xp_aligned_extract_idx(pool, addr)];
568 u64 addr;
571 __xskq_cons_read_addr_unchecked(pool->fq, cached_cons++, &addr);
573 ok = pool->unaligned ? xp_check_unaligned(pool, &addr) :
574 xp_check_aligned(pool, &addr);
583 xp_init_xskb_addr(xskb, pool, addr);
585 xp_init_xskb_dma(xskb, pool, pool->dma_pages, addr);
587 xskb = &pool->heads[xp_aligned_extract_idx(pool, addr)];
667 void *xp_raw_get_data(struct xsk_buff_pool *pool, u64 addr)
669 addr = pool->unaligned ? xp_unaligned_add_offset_to_addr(addr) : addr;
670 return pool->addrs + addr;
674 dma_addr_t xp_raw_get_dma(struct xsk_buff_pool *pool, u64 addr)
676 addr = pool->unaligned ? xp_unaligned_add_offset_to_addr(addr) : addr;
677 return (pool->dma_pages[addr >> PAGE_SHIFT] &
679 (addr & ~PAGE_MASK);