Lines Matching full:cqe
81 struct nix_cqe_tx_s *cqe, in otx2_snd_pkt_handler() argument
84 struct nix_send_comp_s *snd_comp = &cqe->comp; in otx2_snd_pkt_handler()
167 struct nix_cqe_rx_s *cqe, struct sk_buff *skb) in otx2_set_rxhash() argument
183 hash = cqe->hdr.flow_tag; in otx2_set_rxhash()
188 static void otx2_free_rcv_seg(struct otx2_nic *pfvf, struct nix_cqe_rx_s *cqe, in otx2_free_rcv_seg() argument
191 struct nix_rx_sg_s *sg = &cqe->sg; in otx2_free_rcv_seg()
197 end = start + ((cqe->parse.desc_sizem1 + 1) * 16); in otx2_free_rcv_seg()
208 struct nix_cqe_rx_s *cqe, int qidx) in otx2_check_rcv_errors() argument
211 struct nix_rx_parse_s *parse = &cqe->parse; in otx2_check_rcv_errors()
258 if (cqe->sg.segs == 1) in otx2_check_rcv_errors()
263 if (cqe->sg.segs == 1 && (pfvf->netdev->features & NETIF_F_RXALL)) in otx2_check_rcv_errors()
267 if (cqe->sg.segs) in otx2_check_rcv_errors()
268 otx2_free_rcv_seg(pfvf, cqe, qidx); in otx2_check_rcv_errors()
275 struct nix_cqe_rx_s *cqe) in otx2_rcv_pkt_handler() argument
277 struct nix_rx_parse_s *parse = &cqe->parse; in otx2_rcv_pkt_handler()
280 if (unlikely(parse->errlev || parse->errcode || cqe->sg.segs > 1)) { in otx2_rcv_pkt_handler()
281 if (otx2_check_rcv_errors(pfvf, cqe, cq->cq_idx)) in otx2_rcv_pkt_handler()
289 otx2_skb_add_frag(pfvf, skb, cqe->sg.seg_addr, cqe->sg.seg_size, parse); in otx2_rcv_pkt_handler()
292 otx2_set_rxhash(pfvf, cqe, skb); in otx2_rcv_pkt_handler()
305 struct nix_cqe_rx_s *cqe; in otx2_rx_napi_handler() local
310 cqe = (struct nix_cqe_rx_s *)CQE_ADDR(cq, cq->cq_head); in otx2_rx_napi_handler()
311 if (cqe->hdr.cqe_type == NIX_XQE_TYPE_INVALID || in otx2_rx_napi_handler()
312 !cqe->sg.seg_addr) { in otx2_rx_napi_handler()
320 otx2_rcv_pkt_handler(pfvf, napi, cq, cqe); in otx2_rx_napi_handler()
322 cqe->hdr.cqe_type = NIX_XQE_TYPE_INVALID; in otx2_rx_napi_handler()
323 cqe->sg.seg_addr = 0x00; in otx2_rx_napi_handler()
362 struct nix_cqe_tx_s *cqe; in otx2_tx_napi_handler() local
366 cqe = (struct nix_cqe_tx_s *)otx2_get_next_cqe(cq); in otx2_tx_napi_handler()
367 if (unlikely(!cqe)) { in otx2_tx_napi_handler()
373 cqe, budget, &tx_pkts, &tx_bytes); in otx2_tx_napi_handler()
375 cqe->hdr.cqe_type = NIX_XQE_TYPE_INVALID; in otx2_tx_napi_handler()
590 /* Post a CQE Tx after pkt transmission */ in otx2_sqe_add_hdr()
910 struct nix_cqe_rx_s *cqe; in otx2_cleanup_rx_cqes() local
914 while ((cqe = (struct nix_cqe_rx_s *)otx2_get_next_cqe(cq))) { in otx2_cleanup_rx_cqes()
915 if (!cqe->sg.subdc) in otx2_cleanup_rx_cqes()
918 if (cqe->sg.segs > 1) { in otx2_cleanup_rx_cqes()
919 otx2_free_rcv_seg(pfvf, cqe, cq->cq_idx); in otx2_cleanup_rx_cqes()
922 iova = cqe->sg.seg_addr - OTX2_HEAD_ROOM; in otx2_cleanup_rx_cqes()
937 struct nix_cqe_tx_s *cqe; in otx2_cleanup_tx_cqes() local
943 while ((cqe = (struct nix_cqe_tx_s *)otx2_get_next_cqe(cq))) { in otx2_cleanup_tx_cqes()
944 sg = &sq->sg[cqe->comp.sqe_id]; in otx2_cleanup_tx_cqes()