Lines Matching refs:npo

247 						 struct netrx_pending_operations *npo)  in get_next_rx_buffer()  argument
254 meta = npo->meta + npo->meta_prod++; in get_next_rx_buffer()
260 npo->copy_off = 0; in get_next_rx_buffer()
261 npo->copy_gref = req->gref; in get_next_rx_buffer()
271 struct netrx_pending_operations *npo, in xenvif_gop_frag_copy() argument
283 meta = npo->meta + npo->meta_prod - 1; in xenvif_gop_frag_copy()
293 BUG_ON(npo->copy_off > MAX_BUFFER_OFFSET); in xenvif_gop_frag_copy()
295 if (npo->copy_off == MAX_BUFFER_OFFSET) in xenvif_gop_frag_copy()
296 meta = get_next_rx_buffer(queue, npo); in xenvif_gop_frag_copy()
302 if (npo->copy_off + bytes > MAX_BUFFER_OFFSET) in xenvif_gop_frag_copy()
303 bytes = MAX_BUFFER_OFFSET - npo->copy_off; in xenvif_gop_frag_copy()
305 copy_gop = npo->copy + npo->copy_prod++; in xenvif_gop_frag_copy()
322 copy_gop->dest.offset = npo->copy_off; in xenvif_gop_frag_copy()
323 copy_gop->dest.u.ref = npo->copy_gref; in xenvif_gop_frag_copy()
325 npo->copy_off += bytes; in xenvif_gop_frag_copy()
367 struct netrx_pending_operations *npo, in xenvif_gop_skb() argument
380 old_meta_prod = npo->meta_prod; in xenvif_gop_skb()
393 meta = npo->meta + npo->meta_prod++; in xenvif_gop_skb()
401 meta = npo->meta + npo->meta_prod++; in xenvif_gop_skb()
413 npo->copy_off = 0; in xenvif_gop_skb()
414 npo->copy_gref = req->gref; in xenvif_gop_skb()
424 xenvif_gop_frag_copy(queue, skb, npo, in xenvif_gop_skb()
430 xenvif_gop_frag_copy(queue, skb, npo, in xenvif_gop_skb()
437 return npo->meta_prod - old_meta_prod; in xenvif_gop_skb()
447 struct netrx_pending_operations *npo) in xenvif_check_gop() argument
454 copy_op = npo->copy + npo->copy_cons++; in xenvif_check_gop()
509 struct netrx_pending_operations npo = { in xenvif_rx_action() local
524 XENVIF_RX_CB(skb)->meta_slots_used = xenvif_gop_skb(skb, &npo, queue); in xenvif_rx_action()
530 BUG_ON(npo.meta_prod > ARRAY_SIZE(queue->meta)); in xenvif_rx_action()
532 if (!npo.copy_prod) in xenvif_rx_action()
535 BUG_ON(npo.copy_prod > MAX_GRANT_COPY_OPS); in xenvif_rx_action()
536 gnttab_batch_copy(queue->grant_copy_op, npo.copy_prod); in xenvif_rx_action()
540 if ((1 << queue->meta[npo.meta_cons].gso_type) & in xenvif_rx_action()
547 resp->offset = queue->meta[npo.meta_cons].gso_size; in xenvif_rx_action()
548 resp->id = queue->meta[npo.meta_cons].id; in xenvif_rx_action()
551 npo.meta_cons++; in xenvif_rx_action()
561 &npo); in xenvif_rx_action()
575 resp = make_rx_response(queue, queue->meta[npo.meta_cons].id, in xenvif_rx_action()
577 queue->meta[npo.meta_cons].size, in xenvif_rx_action()
580 if ((1 << queue->meta[npo.meta_cons].gso_type) & in xenvif_rx_action()
589 gso->u.gso.type = queue->meta[npo.meta_cons].gso_type; in xenvif_rx_action()
590 gso->u.gso.size = queue->meta[npo.meta_cons].gso_size; in xenvif_rx_action()
599 queue->meta + npo.meta_cons + 1, in xenvif_rx_action()
606 npo.meta_cons += XENVIF_RX_CB(skb)->meta_slots_used; in xenvif_rx_action()