Test-Label: iol-testing Test-Status: WARNING http://dpdk.org/patch/117854 _apply patch failure_ Submitter: Andrew Boyer Date: Tuesday, October 11 2022 00:50:23 Applied on: CommitID:f13604fad12a81383da7b04821a4befb3d01e2ed Apply patch set 117854 failed: Checking patch doc/guides/nics/features/ionic.ini... Hunk #1 succeeded at 26 (offset -1 lines). Checking patch doc/guides/rel_notes/release_22_11.rst... error: while searching for: * Enhanced data path to provide substantial performance improvements. * Added support for mbuf fast free. * Added support for advertising packet types. * **Added support for MACsec in rte_security.** error: patch failed: doc/guides/rel_notes/release_22_11.rst:167 Checking patch drivers/net/ionic/ionic_ethdev.c... Hunk #1 succeeded at 981 (offset -3 lines). Checking patch drivers/net/ionic/ionic_rxtx.c... error: while searching for: return rx_svc.nb_rx; } error: patch failed: drivers/net/ionic/ionic_rxtx.c:1235 Checking patch drivers/net/ionic/ionic_rxtx.h... error: while searching for: void ionic_txq_info_get(struct rte_eth_dev *dev, uint16_t queue_id, struct rte_eth_txq_info *qinfo); const uint32_t *ionic_dev_supported_ptypes_get(struct rte_eth_dev *dev); #endif /* _IONIC_RXTX_H_ */ error: patch failed: drivers/net/ionic/ionic_rxtx.h:40 Applied patch doc/guides/nics/features/ionic.ini cleanly. Applying patch doc/guides/rel_notes/release_22_11.rst with 1 reject... Rejected hunk #1. Applied patch drivers/net/ionic/ionic_ethdev.c cleanly. Applying patch drivers/net/ionic/ionic_rxtx.c with 1 reject... Rejected hunk #1. Applying patch drivers/net/ionic/ionic_rxtx.h with 1 reject... Rejected hunk #1. diff a/doc/guides/rel_notes/release_22_11.rst b/doc/guides/rel_notes/release_22_11.rst (rejected hunks) @@ -167,6 +167,7 @@ New Features * Enhanced data path to provide substantial performance improvements. * Added support for mbuf fast free. * Added support for advertising packet types. + * Added support for descriptor status functions. * **Added support for MACsec in rte_security.** diff a/drivers/net/ionic/ionic_rxtx.c b/drivers/net/ionic/ionic_rxtx.c (rejected hunks) @@ -1235,3 +1235,42 @@ ionic_recv_pkts(void *rx_queue, struct rte_mbuf **rx_pkts, return rx_svc.nb_rx; } + +int +ionic_dev_rx_descriptor_status(void *rx_queue, uint16_t offset) +{ + struct ionic_rx_qcq *rxq = rx_queue; + struct ionic_qcq *qcq = &rxq->qcq; + struct ionic_rxq_comp *cq_desc; + uint16_t mask, head, tail, pos; + bool done_color; + + mask = qcq->q.size_mask; + + /* offset must be within the size of the ring */ + if (offset > mask) + return -EINVAL; + + head = qcq->q.head_idx; + tail = qcq->q.tail_idx; + + /* offset is beyond what is posted */ + if (offset >= ((head - tail) & mask)) + return RTE_ETH_RX_DESC_UNAVAIL; + + /* interested in this absolute position in the rxq */ + pos = (tail + offset) & mask; + + /* rx cq position == rx q position */ + cq_desc = qcq->cq.base; + cq_desc = &cq_desc[pos]; + + /* expected done color at this position */ + done_color = qcq->cq.done_color != (pos < tail); + + /* has the hw indicated the done color at this position? */ + if (color_match(cq_desc->pkt_type_color, done_color)) + return RTE_ETH_RX_DESC_DONE; + + return RTE_ETH_RX_DESC_AVAIL; +} diff a/drivers/net/ionic/ionic_rxtx.h b/drivers/net/ionic/ionic_rxtx.h (rejected hunks) @@ -40,6 +40,8 @@ void ionic_rxq_info_get(struct rte_eth_dev *dev, uint16_t queue_id, void ionic_txq_info_get(struct rte_eth_dev *dev, uint16_t queue_id, struct rte_eth_txq_info *qinfo); +int ionic_dev_rx_descriptor_status(void *rx_queue, uint16_t offset); + const uint32_t *ionic_dev_supported_ptypes_get(struct rte_eth_dev *dev); #endif /* _IONIC_RXTX_H_ */ https://lab.dpdk.org/results/dashboard/patchsets/23895/ UNH-IOL DPDK Community Lab