Lines Matching refs:xdp_rxq

113 void xdp_rxq_info_unreg_mem_model(struct xdp_rxq_info *xdp_rxq)  in xdp_rxq_info_unreg_mem_model()  argument
116 int id = xdp_rxq->mem.id; in xdp_rxq_info_unreg_mem_model()
118 if (xdp_rxq->reg_state != REG_STATE_REGISTERED) { in xdp_rxq_info_unreg_mem_model()
126 if (xdp_rxq->mem.type == MEM_TYPE_PAGE_POOL) { in xdp_rxq_info_unreg_mem_model()
135 void xdp_rxq_info_unreg(struct xdp_rxq_info *xdp_rxq) in xdp_rxq_info_unreg() argument
138 if (xdp_rxq->reg_state == REG_STATE_UNUSED) in xdp_rxq_info_unreg()
141 WARN(!(xdp_rxq->reg_state == REG_STATE_REGISTERED), "Driver BUG"); in xdp_rxq_info_unreg()
143 xdp_rxq_info_unreg_mem_model(xdp_rxq); in xdp_rxq_info_unreg()
145 xdp_rxq->reg_state = REG_STATE_UNREGISTERED; in xdp_rxq_info_unreg()
146 xdp_rxq->dev = NULL; in xdp_rxq_info_unreg()
149 xdp_rxq->mem.id = 0; in xdp_rxq_info_unreg()
150 xdp_rxq->mem.type = 0; in xdp_rxq_info_unreg()
154 static void xdp_rxq_info_init(struct xdp_rxq_info *xdp_rxq) in xdp_rxq_info_init() argument
156 memset(xdp_rxq, 0, sizeof(*xdp_rxq)); in xdp_rxq_info_init()
160 int xdp_rxq_info_reg(struct xdp_rxq_info *xdp_rxq, in xdp_rxq_info_reg() argument
163 if (xdp_rxq->reg_state == REG_STATE_UNUSED) { in xdp_rxq_info_reg()
168 if (xdp_rxq->reg_state == REG_STATE_REGISTERED) { in xdp_rxq_info_reg()
170 xdp_rxq_info_unreg(xdp_rxq); in xdp_rxq_info_reg()
179 xdp_rxq_info_init(xdp_rxq); in xdp_rxq_info_reg()
180 xdp_rxq->dev = dev; in xdp_rxq_info_reg()
181 xdp_rxq->queue_index = queue_index; in xdp_rxq_info_reg()
183 xdp_rxq->reg_state = REG_STATE_REGISTERED; in xdp_rxq_info_reg()
188 void xdp_rxq_info_unused(struct xdp_rxq_info *xdp_rxq) in xdp_rxq_info_unused() argument
190 xdp_rxq->reg_state = REG_STATE_UNUSED; in xdp_rxq_info_unused()
194 bool xdp_rxq_info_is_reg(struct xdp_rxq_info *xdp_rxq) in xdp_rxq_info_is_reg() argument
196 return (xdp_rxq->reg_state == REG_STATE_REGISTERED); in xdp_rxq_info_is_reg()
262 int xdp_rxq_info_reg_mem_model(struct xdp_rxq_info *xdp_rxq, in xdp_rxq_info_reg_mem_model() argument
270 if (xdp_rxq->reg_state != REG_STATE_REGISTERED) { in xdp_rxq_info_reg_mem_model()
278 xdp_rxq->mem.type = type; in xdp_rxq_info_reg_mem_model()
307 xdp_rxq->mem.id = id; in xdp_rxq_info_reg_mem_model()
308 xdp_alloc->mem = xdp_rxq->mem; in xdp_rxq_info_reg_mem_model()
314 ida_simple_remove(&mem_id_pool, xdp_rxq->mem.id); in xdp_rxq_info_reg_mem_model()
315 xdp_rxq->mem.id = 0; in xdp_rxq_info_reg_mem_model()
325 trace_mem_connect(xdp_alloc, xdp_rxq); in xdp_rxq_info_reg_mem_model()