Lines Matching refs:umem
137 static inline bool xskq_crosses_non_contig_pg(struct xdp_umem *umem, u64 addr, in xskq_crosses_non_contig_pg() argument
142 (unsigned long)umem->pages[(addr >> PAGE_SHIFT)].addr & in xskq_crosses_non_contig_pg()
160 struct xdp_umem *umem) in xskq_is_valid_addr_unaligned() argument
166 xskq_crosses_non_contig_pg(umem, addr, length)) { in xskq_is_valid_addr_unaligned()
175 struct xdp_umem *umem) in xskq_validate_addr() argument
183 if (umem->flags & XDP_UMEM_UNALIGNED_CHUNK_FLAG) { in xskq_validate_addr()
185 umem->chunk_size_nohr, in xskq_validate_addr()
186 umem)) in xskq_validate_addr()
202 struct xdp_umem *umem) in xskq_peek_addr() argument
213 return xskq_validate_addr(q, addr, umem); in xskq_peek_addr()
273 struct xdp_umem *umem) in xskq_is_valid_desc() argument
275 if (umem->flags & XDP_UMEM_UNALIGNED_CHUNK_FLAG) { in xskq_is_valid_desc()
276 if (!xskq_is_valid_addr_unaligned(q, d->addr, d->len, umem)) in xskq_is_valid_desc()
279 if (d->len > umem->chunk_size_nohr || d->options) { in xskq_is_valid_desc()
301 struct xdp_umem *umem) in xskq_validate_desc() argument
308 if (xskq_is_valid_desc(q, desc, umem)) in xskq_validate_desc()
319 struct xdp_umem *umem) in xskq_peek_desc() argument
330 return xskq_validate_desc(q, desc, umem); in xskq_peek_desc()
382 void xsk_reuseq_destroy(struct xdp_umem *umem);