Lines Matching refs:desc
31 struct xdp_desc desc[] ____cacheline_aligned_in_smp; member
37 u64 desc[] ____cacheline_aligned_in_smp; member
125 *addr = ring->desc[idx]; in __xskq_cons_read_addr_unchecked()
144 struct xdp_desc *desc) in xp_aligned_validate_desc() argument
146 u64 offset = desc->addr & (pool->chunk_size - 1); in xp_aligned_validate_desc()
148 if (!desc->len) in xp_aligned_validate_desc()
151 if (offset + desc->len > pool->chunk_size) in xp_aligned_validate_desc()
154 if (desc->addr >= pool->addrs_cnt) in xp_aligned_validate_desc()
157 if (xp_unused_options_set(desc->options)) in xp_aligned_validate_desc()
163 struct xdp_desc *desc) in xp_unaligned_validate_desc() argument
165 u64 addr = xp_unaligned_add_offset_to_addr(desc->addr); in xp_unaligned_validate_desc()
167 if (!desc->len) in xp_unaligned_validate_desc()
170 if (desc->len > pool->chunk_size) in xp_unaligned_validate_desc()
173 if (addr >= pool->addrs_cnt || addr + desc->len > pool->addrs_cnt || in xp_unaligned_validate_desc()
174 xp_desc_crosses_non_contig_pg(pool, addr, desc->len)) in xp_unaligned_validate_desc()
177 if (xp_unused_options_set(desc->options)) in xp_unaligned_validate_desc()
183 struct xdp_desc *desc) in xp_validate_desc() argument
185 return pool->unaligned ? xp_unaligned_validate_desc(pool, desc) : in xp_validate_desc()
186 xp_aligned_validate_desc(pool, desc); in xp_validate_desc()
206 struct xdp_desc *desc, in xskq_cons_read_desc() argument
213 *desc = ring->desc[idx]; in xskq_cons_read_desc()
214 return xskq_cons_is_valid_desc(q, desc, pool); in xskq_cons_read_desc()
227 struct xdp_desc *desc, struct parsed_desc *parsed) in parse_desc() argument
229 parsed->valid = xskq_cons_is_valid_desc(q, desc, pool); in parse_desc()
230 parsed->mb = xp_mb_desc(desc); in parse_desc()
249 descs[nb_entries] = ring->desc[idx]; in xskq_cons_read_desc_batch()
319 struct xdp_desc *desc, in xskq_cons_peek_desc() argument
324 return xskq_cons_read_desc(q, desc, pool); in xskq_cons_peek_desc()
391 ring->desc[q->cached_prod++ & q->ring_mask] = addr; in xskq_prod_reserve_addr()
404 ring->desc[cached_prod++ & q->ring_mask] = descs[i].addr; in xskq_prod_write_addr_batch()
419 ring->desc[idx].addr = addr; in xskq_prod_reserve_desc()
420 ring->desc[idx].len = len; in xskq_prod_reserve_desc()
421 ring->desc[idx].options = flags; in xskq_prod_reserve_desc()