net_iov
static inline struct net_iov *skb_frag_net_iov(const skb_frag_t *frag)
struct net_iov *niovs;
static inline struct net_iov_area *net_iov_owner(const struct net_iov *niov)
static inline unsigned int net_iov_idx(const struct net_iov *niov)
static inline void net_iov_init(struct net_iov *niov,
static inline struct net_iov *netmem_to_net_iov(netmem_ref netmem)
return (struct net_iov *)((__force unsigned long)netmem &
static inline netmem_ref net_iov_to_netmem(struct net_iov *niov)
return &((struct net_iov *)p)->desc;
static inline bool net_is_devmem_iov(const struct net_iov *niov)
static inline bool net_is_devmem_iov(const struct net_iov *niov)
bool net_mp_niov_set_dma_addr(struct net_iov *niov, dma_addr_t addr);
void net_mp_niov_set_page_pool(struct page_pool *pool, struct net_iov *niov);
void net_mp_niov_clear_page_pool(struct net_iov *niov);
struct net_iov **ret_niov)
struct net_iov *niov;
struct net_iov *niov = zcrx_get_free_niov(area);
struct net_iov *niov;
struct net_iov *niov;
struct net_iov *niov = netmem_to_net_iov(netmem);
static bool io_zcrx_queue_cqe(struct io_kiocb *req, struct net_iov *niov,
static struct net_iov *io_alloc_fallback_niov(struct io_zcrx_ifq *ifq)
struct net_iov *niov = NULL;
struct net_iov *niov;
struct net_iov *niov;
static inline atomic_t *io_get_user_counter(struct net_iov *niov)
static bool io_zcrx_put_niov_uref(struct net_iov *niov)
static void io_zcrx_get_niov_uref(struct net_iov *niov)
static inline struct io_zcrx_area *io_zcrx_iov_to_area(const struct net_iov *niov)
struct net_iov *niov = &area->nia.niovs[i];
static inline struct page *io_zcrx_iov_page(const struct net_iov *niov)
static void io_zcrx_return_niov_freelist(struct net_iov *niov)
static struct net_iov *zcrx_get_free_niov(struct io_zcrx_area *area)
static void io_zcrx_return_niov(struct net_iov *niov)
struct net_iov *niov = &area->nia.niovs[i];
struct net_iov *niov = &area->nia.niovs[niov_idx];
struct net_iov *niov;
struct net_iov *niov;
void net_devmem_free_dmabuf(struct net_iov *niov)
binding->tx_vec = kvmalloc_objs(struct net_iov *,
struct net_iov *niov;
void net_devmem_get_net_iov(struct net_iov *niov)
void net_devmem_put_net_iov(struct net_iov *niov)
struct net_iov *
static dma_addr_t net_devmem_get_dma_addr(const struct net_iov *niov)
struct net_iov *niov;
struct net_iov *
struct net_iov *niov;
net_devmem_iov_to_chunk_owner(const struct net_iov *niov)
net_devmem_iov_binding(const struct net_iov *niov)
static inline u32 net_devmem_iov_binding_id(const struct net_iov *niov)
static inline unsigned long net_iov_virtual_addr(const struct net_iov *niov)
void net_devmem_get_net_iov(struct net_iov *niov);
void net_devmem_put_net_iov(struct net_iov *niov);
struct net_iov *
void net_devmem_free_dmabuf(struct net_iov *ppiov);
struct net_iov *
static inline void net_devmem_get_net_iov(struct net_iov *niov)
static inline void net_devmem_put_net_iov(struct net_iov *niov)
static inline struct net_iov *
static inline void net_devmem_free_dmabuf(struct net_iov *ppiov)
static inline unsigned long net_iov_virtual_addr(const struct net_iov *niov)
static inline u32 net_devmem_iov_binding_id(const struct net_iov *niov)
static inline struct net_iov *
net_devmem_iov_binding(const struct net_iov *niov)
struct net_iov **tx_vec;
bool net_mp_niov_set_dma_addr(struct net_iov *niov, dma_addr_t addr)
void net_mp_niov_set_page_pool(struct page_pool *pool, struct net_iov *niov)
void net_mp_niov_clear_page_pool(struct net_iov *niov)
struct net_iov *niov = netmem_to_net_iov(netmem);
struct net_iov *niov = netmem_to_net_iov(netmem);
struct net_iov *niov;