drivers/net/ethernet/intel/idpf/xsk.h

Source file repositories/reference/linux-study-clean/drivers/net/ethernet/intel/idpf/xsk.h

File Facts

System
Linux kernel
Corpus path
drivers/net/ethernet/intel/idpf/xsk.h
Extension
.h
Size
988 bytes
Lines
34
Domain
Driver Families
Bucket
drivers/net
Inferred role
Driver Families: implementation source
Status
source implementation candidate

Why This File Exists

Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.

Dependency Surface

Detected Declarations

Annotated Snippet

#ifndef _IDPF_XSK_H_
#define _IDPF_XSK_H_

#include <linux/types.h>

enum virtchnl2_queue_type;
struct idpf_buf_queue;
struct idpf_q_vector;
struct idpf_rx_queue;
struct idpf_tx_queue;
struct idpf_vport;
struct net_device;
struct netdev_bpf;

void idpf_xsk_setup_queue(const struct idpf_vport *vport, void *q,
			  enum virtchnl2_queue_type type);
void idpf_xsk_clear_queue(void *q, enum virtchnl2_queue_type type);
void idpf_xsk_init_wakeup(struct idpf_q_vector *qv);

int idpf_xskfq_init(struct idpf_buf_queue *bufq);
void idpf_xskfq_rel(struct idpf_buf_queue *bufq);
void idpf_xsksq_clean(struct idpf_tx_queue *xdpq);

int idpf_xskrq_poll(struct idpf_rx_queue *rxq, u32 budget);
bool idpf_xsk_xmit(struct idpf_tx_queue *xsksq);

int idpf_xsk_pool_setup(struct idpf_vport *vport, struct netdev_bpf *xdp);
int idpf_xsk_wakeup(struct net_device *dev, u32 qid, u32 flags);

#endif /* !_IDPF_XSK_H_ */

Annotation

Implementation Notes