* [dpdk-dev] [PATCH] ethdev: remove legacy Rx descriptor done API @ 2021-09-28 15:48 Andrew Rybchenko 2021-09-30 13:26 ` Ferruh Yigit ` (3 more replies) 0 siblings, 4 replies; 9+ messages in thread From: Andrew Rybchenko @ 2021-09-28 15:48 UTC (permalink / raw) To: Ray Kinsella, Haiyue Wang, Qi Zhang, Xiao Wang, Beilei Xing, Jerin Jacob, Nithin Dabilpuram, Kiran Kumar K, Maxime Coquelin, Chenbo Xia, Thomas Monjalon, Ferruh Yigit Cc: dev rte_eth_rx_descriptor_status() should be used as a replacement. Signed-off-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru> --- doc/guides/nics/features.rst | 6 +----- doc/guides/rel_notes/deprecation.rst | 5 ----- doc/guides/rel_notes/release_21_11.rst | 4 ++++ drivers/net/e1000/e1000_ethdev.h | 4 ---- drivers/net/e1000/em_ethdev.c | 1 - drivers/net/e1000/em_rxtx.c | 17 ---------------- drivers/net/e1000/igb_ethdev.c | 2 -- drivers/net/e1000/igb_rxtx.c | 17 ---------------- drivers/net/fm10k/fm10k.h | 3 --- drivers/net/fm10k/fm10k_ethdev.c | 1 - drivers/net/fm10k/fm10k_rxtx.c | 25 ------------------------ drivers/net/i40e/i40e_ethdev.c | 1 - drivers/net/i40e/i40e_ethdev_vf.c | 1 - drivers/net/i40e/i40e_rxtx.c | 26 ------------------------- drivers/net/i40e/i40e_rxtx.h | 1 - drivers/net/igc/igc_ethdev.c | 1 - drivers/net/igc/igc_txrx.c | 18 ----------------- drivers/net/igc/igc_txrx.h | 2 -- drivers/net/ixgbe/ixgbe_ethdev.c | 2 -- drivers/net/ixgbe/ixgbe_ethdev.h | 2 -- drivers/net/ixgbe/ixgbe_rxtx.c | 18 ----------------- drivers/net/octeontx2/otx2_ethdev.c | 1 - drivers/net/octeontx2/otx2_ethdev.h | 1 - drivers/net/octeontx2/otx2_ethdev_ops.c | 12 ------------ drivers/net/sfc/sfc_ethdev.c | 17 ---------------- drivers/net/virtio/virtio_ethdev.c | 1 - lib/ethdev/rte_ethdev.c | 1 - lib/ethdev/rte_ethdev.h | 25 ------------------------ lib/ethdev/rte_ethdev_core.h | 4 ---- 29 files changed, 5 insertions(+), 214 deletions(-) diff --git a/doc/guides/nics/features.rst b/doc/guides/nics/features.rst index a96e12d155..fa538cb0c0 100644 --- a/doc/guides/nics/features.rst +++ b/doc/guides/nics/features.rst @@ -660,14 +660,10 @@ Rx descriptor status -------------------- Supports check the status of a Rx descriptor. When ``rx_descriptor_status`` is -used, status can be "Available", "Done" or "Unavailable". When -``rx_descriptor_done`` is used, status can be "DD bit is set" or "DD bit is -not set". +used, status can be "Available", "Done" or "Unavailable". * **[implements] rte_eth_dev**: ``rx_descriptor_status``. * **[related] API**: ``rte_eth_rx_descriptor_status()``. -* **[implements] rte_eth_dev**: ``rx_descriptor_done``. -* **[related] API**: ``rte_eth_rx_descriptor_done()``. .. _nic_features_tx_descriptor_status: diff --git a/doc/guides/rel_notes/deprecation.rst b/doc/guides/rel_notes/deprecation.rst index 59445a6f42..35641c33e9 100644 --- a/doc/guides/rel_notes/deprecation.rst +++ b/doc/guides/rel_notes/deprecation.rst @@ -106,11 +106,6 @@ Deprecation Notices the device packet overhead can be calculated as: ``(struct rte_eth_dev_info).max_rx_pktlen - (struct rte_eth_dev_info).max_mtu`` -* ethdev: ``rx_descriptor_done`` dev_ops and ``rte_eth_rx_descriptor_done`` - will be removed in 21.11. - Existing ``rte_eth_rx_descriptor_status`` and ``rte_eth_tx_descriptor_status`` - APIs can be used as replacement. - * ethdev: The port mirroring API can be replaced with a more fine grain flow API. The structs ``rte_eth_mirror_conf``, ``rte_eth_vlan_mirror`` and the functions ``rte_eth_mirror_rule_set``, ``rte_eth_mirror_rule_reset`` will be marked diff --git a/doc/guides/rel_notes/release_21_11.rst b/doc/guides/rel_notes/release_21_11.rst index a84c912f20..a825aa63be 100644 --- a/doc/guides/rel_notes/release_21_11.rst +++ b/doc/guides/rel_notes/release_21_11.rst @@ -126,6 +126,10 @@ Removed Items blacklist/whitelist are removed. Users must use the new block/allow list arguments. +* ethdev: Removed ``rx_descriptor_done`` dev_ops and + ``rte_eth_rx_descriptor_done``. Existing ``rte_eth_rx_descriptor_status`` + APIs can be used as a replacement. + API Changes ----------- diff --git a/drivers/net/e1000/e1000_ethdev.h b/drivers/net/e1000/e1000_ethdev.h index 3b4d9c3ee6..c01e3ee9c5 100644 --- a/drivers/net/e1000/e1000_ethdev.h +++ b/drivers/net/e1000/e1000_ethdev.h @@ -402,8 +402,6 @@ int eth_igb_rx_queue_setup(struct rte_eth_dev *dev, uint16_t rx_queue_id, uint32_t eth_igb_rx_queue_count(struct rte_eth_dev *dev, uint16_t rx_queue_id); -int eth_igb_rx_descriptor_done(void *rx_queue, uint16_t offset); - int eth_igb_rx_descriptor_status(void *rx_queue, uint16_t offset); int eth_igb_tx_descriptor_status(void *tx_queue, uint16_t offset); @@ -479,8 +477,6 @@ int eth_em_rx_queue_setup(struct rte_eth_dev *dev, uint16_t rx_queue_id, uint32_t eth_em_rx_queue_count(struct rte_eth_dev *dev, uint16_t rx_queue_id); -int eth_em_rx_descriptor_done(void *rx_queue, uint16_t offset); - int eth_em_rx_descriptor_status(void *rx_queue, uint16_t offset); int eth_em_tx_descriptor_status(void *tx_queue, uint16_t offset); diff --git a/drivers/net/e1000/em_ethdev.c b/drivers/net/e1000/em_ethdev.c index a0ca371b02..9e157e4ffe 100644 --- a/drivers/net/e1000/em_ethdev.c +++ b/drivers/net/e1000/em_ethdev.c @@ -247,7 +247,6 @@ eth_em_dev_init(struct rte_eth_dev *eth_dev) eth_dev->dev_ops = ð_em_ops; eth_dev->rx_queue_count = eth_em_rx_queue_count; - eth_dev->rx_descriptor_done = eth_em_rx_descriptor_done; eth_dev->rx_descriptor_status = eth_em_rx_descriptor_status; eth_dev->tx_descriptor_status = eth_em_tx_descriptor_status; eth_dev->rx_pkt_burst = (eth_rx_burst_t)ð_em_recv_pkts; diff --git a/drivers/net/e1000/em_rxtx.c b/drivers/net/e1000/em_rxtx.c index dfd8f2fd00..048b9148ed 100644 --- a/drivers/net/e1000/em_rxtx.c +++ b/drivers/net/e1000/em_rxtx.c @@ -1511,23 +1511,6 @@ eth_em_rx_queue_count(struct rte_eth_dev *dev, uint16_t rx_queue_id) return desc; } -int -eth_em_rx_descriptor_done(void *rx_queue, uint16_t offset) -{ - volatile struct e1000_rx_desc *rxdp; - struct em_rx_queue *rxq = rx_queue; - uint32_t desc; - - if (unlikely(offset >= rxq->nb_rx_desc)) - return 0; - desc = rxq->rx_tail + offset; - if (desc >= rxq->nb_rx_desc) - desc -= rxq->nb_rx_desc; - - rxdp = &rxq->rx_ring[desc]; - return !!(rxdp->status & E1000_RXD_STAT_DD); -} - int eth_em_rx_descriptor_status(void *rx_queue, uint16_t offset) { diff --git a/drivers/net/e1000/igb_ethdev.c b/drivers/net/e1000/igb_ethdev.c index d80fad01e3..e1bc3852fc 100644 --- a/drivers/net/e1000/igb_ethdev.c +++ b/drivers/net/e1000/igb_ethdev.c @@ -726,7 +726,6 @@ eth_igb_dev_init(struct rte_eth_dev *eth_dev) eth_dev->dev_ops = ð_igb_ops; eth_dev->rx_queue_count = eth_igb_rx_queue_count; - eth_dev->rx_descriptor_done = eth_igb_rx_descriptor_done; eth_dev->rx_descriptor_status = eth_igb_rx_descriptor_status; eth_dev->tx_descriptor_status = eth_igb_tx_descriptor_status; eth_dev->rx_pkt_burst = ð_igb_recv_pkts; @@ -920,7 +919,6 @@ eth_igbvf_dev_init(struct rte_eth_dev *eth_dev) PMD_INIT_FUNC_TRACE(); eth_dev->dev_ops = &igbvf_eth_dev_ops; - eth_dev->rx_descriptor_done = eth_igb_rx_descriptor_done; eth_dev->rx_descriptor_status = eth_igb_rx_descriptor_status; eth_dev->tx_descriptor_status = eth_igb_tx_descriptor_status; eth_dev->rx_pkt_burst = ð_igb_recv_pkts; diff --git a/drivers/net/e1000/igb_rxtx.c b/drivers/net/e1000/igb_rxtx.c index 278d5d2712..46a7789d90 100644 --- a/drivers/net/e1000/igb_rxtx.c +++ b/drivers/net/e1000/igb_rxtx.c @@ -1791,23 +1791,6 @@ eth_igb_rx_queue_count(struct rte_eth_dev *dev, uint16_t rx_queue_id) return desc; } -int -eth_igb_rx_descriptor_done(void *rx_queue, uint16_t offset) -{ - volatile union e1000_adv_rx_desc *rxdp; - struct igb_rx_queue *rxq = rx_queue; - uint32_t desc; - - if (unlikely(offset >= rxq->nb_rx_desc)) - return 0; - desc = rxq->rx_tail + offset; - if (desc >= rxq->nb_rx_desc) - desc -= rxq->nb_rx_desc; - - rxdp = &rxq->rx_ring[desc]; - return !!(rxdp->wb.upper.status_error & E1000_RXD_STAT_DD); -} - int eth_igb_rx_descriptor_status(void *rx_queue, uint16_t offset) { diff --git a/drivers/net/fm10k/fm10k.h b/drivers/net/fm10k/fm10k.h index 916b856acc..2e47ada829 100644 --- a/drivers/net/fm10k/fm10k.h +++ b/drivers/net/fm10k/fm10k.h @@ -326,9 +326,6 @@ uint16_t fm10k_recv_scattered_pkts(void *rx_queue, uint32_t fm10k_dev_rx_queue_count(struct rte_eth_dev *dev, uint16_t rx_queue_id); -int -fm10k_dev_rx_descriptor_done(void *rx_queue, uint16_t offset); - int fm10k_dev_rx_descriptor_status(void *rx_queue, uint16_t offset); diff --git a/drivers/net/fm10k/fm10k_ethdev.c b/drivers/net/fm10k/fm10k_ethdev.c index 3236290e40..f9c287a6ba 100644 --- a/drivers/net/fm10k/fm10k_ethdev.c +++ b/drivers/net/fm10k/fm10k_ethdev.c @@ -3062,7 +3062,6 @@ eth_fm10k_dev_init(struct rte_eth_dev *dev) dev->dev_ops = &fm10k_eth_dev_ops; dev->rx_queue_count = fm10k_dev_rx_queue_count; - dev->rx_descriptor_done = fm10k_dev_rx_descriptor_done; dev->rx_descriptor_status = fm10k_dev_rx_descriptor_status; dev->tx_descriptor_status = fm10k_dev_tx_descriptor_status; dev->rx_pkt_burst = &fm10k_recv_pkts; diff --git a/drivers/net/fm10k/fm10k_rxtx.c b/drivers/net/fm10k/fm10k_rxtx.c index 0a9a27aa5a..d9833505d1 100644 --- a/drivers/net/fm10k/fm10k_rxtx.c +++ b/drivers/net/fm10k/fm10k_rxtx.c @@ -393,31 +393,6 @@ fm10k_dev_rx_queue_count(struct rte_eth_dev *dev, uint16_t rx_queue_id) return desc; } -int -fm10k_dev_rx_descriptor_done(void *rx_queue, uint16_t offset) -{ - volatile union fm10k_rx_desc *rxdp; - struct fm10k_rx_queue *rxq = rx_queue; - uint16_t desc; - int ret; - - if (unlikely(offset >= rxq->nb_desc)) { - PMD_DRV_LOG(ERR, "Invalid RX descriptor offset %u", offset); - return 0; - } - - desc = rxq->next_dd + offset; - if (desc >= rxq->nb_desc) - desc -= rxq->nb_desc; - - rxdp = &rxq->hw_ring[desc]; - - ret = !!(rxdp->w.status & - rte_cpu_to_le_16(FM10K_RXD_STATUS_DD)); - - return ret; -} - int fm10k_dev_rx_descriptor_status(void *rx_queue, uint16_t offset) { diff --git a/drivers/net/i40e/i40e_ethdev.c b/drivers/net/i40e/i40e_ethdev.c index 7a2a8281d2..4fbaac4272 100644 --- a/drivers/net/i40e/i40e_ethdev.c +++ b/drivers/net/i40e/i40e_ethdev.c @@ -1434,7 +1434,6 @@ eth_i40e_dev_init(struct rte_eth_dev *dev, void *init_params __rte_unused) dev->dev_ops = &i40e_eth_dev_ops; dev->rx_queue_count = i40e_dev_rx_queue_count; - dev->rx_descriptor_done = i40e_dev_rx_descriptor_done; dev->rx_descriptor_status = i40e_dev_rx_descriptor_status; dev->tx_descriptor_status = i40e_dev_tx_descriptor_status; dev->rx_pkt_burst = i40e_recv_pkts; diff --git a/drivers/net/i40e/i40e_ethdev_vf.c b/drivers/net/i40e/i40e_ethdev_vf.c index e8dd6d1dab..d669ffd250 100644 --- a/drivers/net/i40e/i40e_ethdev_vf.c +++ b/drivers/net/i40e/i40e_ethdev_vf.c @@ -1571,7 +1571,6 @@ i40evf_dev_init(struct rte_eth_dev *eth_dev) /* assign ops func pointer */ eth_dev->dev_ops = &i40evf_eth_dev_ops; eth_dev->rx_queue_count = i40e_dev_rx_queue_count; - eth_dev->rx_descriptor_done = i40e_dev_rx_descriptor_done; eth_dev->rx_descriptor_status = i40e_dev_rx_descriptor_status; eth_dev->tx_descriptor_status = i40e_dev_tx_descriptor_status; eth_dev->rx_pkt_burst = &i40e_recv_pkts; diff --git a/drivers/net/i40e/i40e_rxtx.c b/drivers/net/i40e/i40e_rxtx.c index 3eb82578b0..a491513f72 100644 --- a/drivers/net/i40e/i40e_rxtx.c +++ b/drivers/net/i40e/i40e_rxtx.c @@ -2145,32 +2145,6 @@ i40e_dev_rx_queue_count(struct rte_eth_dev *dev, uint16_t rx_queue_id) return desc; } -int -i40e_dev_rx_descriptor_done(void *rx_queue, uint16_t offset) -{ - volatile union i40e_rx_desc *rxdp; - struct i40e_rx_queue *rxq = rx_queue; - uint16_t desc; - int ret; - - if (unlikely(offset >= rxq->nb_rx_desc)) { - PMD_DRV_LOG(ERR, "Invalid RX descriptor id %u", offset); - return 0; - } - - desc = rxq->rx_tail + offset; - if (desc >= rxq->nb_rx_desc) - desc -= rxq->nb_rx_desc; - - rxdp = &(rxq->rx_ring[desc]); - - ret = !!(((rte_le_to_cpu_64(rxdp->wb.qword1.status_error_len) & - I40E_RXD_QW1_STATUS_MASK) >> I40E_RXD_QW1_STATUS_SHIFT) & - (1 << I40E_RX_DESC_STATUS_DD_SHIFT)); - - return ret; -} - int i40e_dev_rx_descriptor_status(void *rx_queue, uint16_t offset) { diff --git a/drivers/net/i40e/i40e_rxtx.h b/drivers/net/i40e/i40e_rxtx.h index 5ccf5773e8..842924bce5 100644 --- a/drivers/net/i40e/i40e_rxtx.h +++ b/drivers/net/i40e/i40e_rxtx.h @@ -227,7 +227,6 @@ void i40e_rx_queue_release_mbufs(struct i40e_rx_queue *rxq); uint32_t i40e_dev_rx_queue_count(struct rte_eth_dev *dev, uint16_t rx_queue_id); -int i40e_dev_rx_descriptor_done(void *rx_queue, uint16_t offset); int i40e_dev_rx_descriptor_status(void *rx_queue, uint16_t offset); int i40e_dev_tx_descriptor_status(void *tx_queue, uint16_t offset); diff --git a/drivers/net/igc/igc_ethdev.c b/drivers/net/igc/igc_ethdev.c index 224a095483..9ddfe68a78 100644 --- a/drivers/net/igc/igc_ethdev.c +++ b/drivers/net/igc/igc_ethdev.c @@ -1227,7 +1227,6 @@ eth_igc_dev_init(struct rte_eth_dev *dev) PMD_INIT_FUNC_TRACE(); dev->dev_ops = ð_igc_ops; - dev->rx_descriptor_done = eth_igc_rx_descriptor_done; dev->rx_queue_count = eth_igc_rx_queue_count; dev->rx_descriptor_status = eth_igc_rx_descriptor_status; dev->tx_descriptor_status = eth_igc_tx_descriptor_status; diff --git a/drivers/net/igc/igc_txrx.c b/drivers/net/igc/igc_txrx.c index b5489eedd2..3979dca660 100644 --- a/drivers/net/igc/igc_txrx.c +++ b/drivers/net/igc/igc_txrx.c @@ -757,24 +757,6 @@ uint32_t eth_igc_rx_queue_count(struct rte_eth_dev *dev, return desc; } -int eth_igc_rx_descriptor_done(void *rx_queue, uint16_t offset) -{ - volatile union igc_adv_rx_desc *rxdp; - struct igc_rx_queue *rxq = rx_queue; - uint32_t desc; - - if (unlikely(!rxq || offset >= rxq->nb_rx_desc)) - return 0; - - desc = rxq->rx_tail + offset; - if (desc >= rxq->nb_rx_desc) - desc -= rxq->nb_rx_desc; - - rxdp = &rxq->rx_ring[desc]; - return !!(rxdp->wb.upper.status_error & - rte_cpu_to_le_32(IGC_RXD_STAT_DD)); -} - int eth_igc_rx_descriptor_status(void *rx_queue, uint16_t offset) { struct igc_rx_queue *rxq = rx_queue; diff --git a/drivers/net/igc/igc_txrx.h b/drivers/net/igc/igc_txrx.h index f2b2d75bbc..d6f3799639 100644 --- a/drivers/net/igc/igc_txrx.h +++ b/drivers/net/igc/igc_txrx.h @@ -25,8 +25,6 @@ int eth_igc_rx_queue_setup(struct rte_eth_dev *dev, uint16_t rx_queue_id, uint32_t eth_igc_rx_queue_count(struct rte_eth_dev *dev, uint16_t rx_queue_id); -int eth_igc_rx_descriptor_done(void *rx_queue, uint16_t offset); - int eth_igc_rx_descriptor_status(void *rx_queue, uint16_t offset); int eth_igc_tx_descriptor_status(void *tx_queue, uint16_t offset); diff --git a/drivers/net/ixgbe/ixgbe_ethdev.c b/drivers/net/ixgbe/ixgbe_ethdev.c index 47693c0c47..78f61d3dac 100644 --- a/drivers/net/ixgbe/ixgbe_ethdev.c +++ b/drivers/net/ixgbe/ixgbe_ethdev.c @@ -1057,7 +1057,6 @@ eth_ixgbe_dev_init(struct rte_eth_dev *eth_dev, void *init_params __rte_unused) eth_dev->dev_ops = &ixgbe_eth_dev_ops; eth_dev->rx_queue_count = ixgbe_dev_rx_queue_count; - eth_dev->rx_descriptor_done = ixgbe_dev_rx_descriptor_done; eth_dev->rx_descriptor_status = ixgbe_dev_rx_descriptor_status; eth_dev->tx_descriptor_status = ixgbe_dev_tx_descriptor_status; eth_dev->rx_pkt_burst = &ixgbe_recv_pkts; @@ -1546,7 +1545,6 @@ eth_ixgbevf_dev_init(struct rte_eth_dev *eth_dev) PMD_INIT_FUNC_TRACE(); eth_dev->dev_ops = &ixgbevf_eth_dev_ops; - eth_dev->rx_descriptor_done = ixgbe_dev_rx_descriptor_done; eth_dev->rx_descriptor_status = ixgbe_dev_rx_descriptor_status; eth_dev->tx_descriptor_status = ixgbe_dev_tx_descriptor_status; eth_dev->rx_pkt_burst = &ixgbe_recv_pkts; diff --git a/drivers/net/ixgbe/ixgbe_ethdev.h b/drivers/net/ixgbe/ixgbe_ethdev.h index a0ce18ca24..37976902a1 100644 --- a/drivers/net/ixgbe/ixgbe_ethdev.h +++ b/drivers/net/ixgbe/ixgbe_ethdev.h @@ -605,8 +605,6 @@ int ixgbe_dev_tx_queue_setup(struct rte_eth_dev *dev, uint16_t tx_queue_id, uint32_t ixgbe_dev_rx_queue_count(struct rte_eth_dev *dev, uint16_t rx_queue_id); -int ixgbe_dev_rx_descriptor_done(void *rx_queue, uint16_t offset); - int ixgbe_dev_rx_descriptor_status(void *rx_queue, uint16_t offset); int ixgbe_dev_tx_descriptor_status(void *tx_queue, uint16_t offset); diff --git a/drivers/net/ixgbe/ixgbe_rxtx.c b/drivers/net/ixgbe/ixgbe_rxtx.c index bfdfd5e755..0af9ce8aee 100644 --- a/drivers/net/ixgbe/ixgbe_rxtx.c +++ b/drivers/net/ixgbe/ixgbe_rxtx.c @@ -3281,24 +3281,6 @@ ixgbe_dev_rx_queue_count(struct rte_eth_dev *dev, uint16_t rx_queue_id) return desc; } -int -ixgbe_dev_rx_descriptor_done(void *rx_queue, uint16_t offset) -{ - volatile union ixgbe_adv_rx_desc *rxdp; - struct ixgbe_rx_queue *rxq = rx_queue; - uint32_t desc; - - if (unlikely(offset >= rxq->nb_rx_desc)) - return 0; - desc = rxq->rx_tail + offset; - if (desc >= rxq->nb_rx_desc) - desc -= rxq->nb_rx_desc; - - rxdp = &rxq->rx_ring[desc]; - return !!(rxdp->wb.upper.status_error & - rte_cpu_to_le_32(IXGBE_RXDADV_STAT_DD)); -} - int ixgbe_dev_rx_descriptor_status(void *rx_queue, uint16_t offset) { diff --git a/drivers/net/octeontx2/otx2_ethdev.c b/drivers/net/octeontx2/otx2_ethdev.c index 75d4cabf2e..4b33056085 100644 --- a/drivers/net/octeontx2/otx2_ethdev.c +++ b/drivers/net/octeontx2/otx2_ethdev.c @@ -2449,7 +2449,6 @@ otx2_eth_dev_init(struct rte_eth_dev *eth_dev) int rc, max_entries; eth_dev->dev_ops = &otx2_eth_dev_ops; - eth_dev->rx_descriptor_done = otx2_nix_rx_descriptor_done; eth_dev->rx_queue_count = otx2_nix_rx_queue_count; eth_dev->rx_descriptor_status = otx2_nix_rx_descriptor_status; eth_dev->tx_descriptor_status = otx2_nix_tx_descriptor_status; diff --git a/drivers/net/octeontx2/otx2_ethdev.h b/drivers/net/octeontx2/otx2_ethdev.h index 7871e3d30b..90bafcea8e 100644 --- a/drivers/net/octeontx2/otx2_ethdev.h +++ b/drivers/net/octeontx2/otx2_ethdev.h @@ -433,7 +433,6 @@ int otx2_tx_burst_mode_get(struct rte_eth_dev *dev, uint16_t queue_id, struct rte_eth_burst_mode *mode); uint32_t otx2_nix_rx_queue_count(struct rte_eth_dev *eth_dev, uint16_t qidx); int otx2_nix_tx_done_cleanup(void *txq, uint32_t free_cnt); -int otx2_nix_rx_descriptor_done(void *rxq, uint16_t offset); int otx2_nix_rx_descriptor_status(void *rx_queue, uint16_t offset); int otx2_nix_tx_descriptor_status(void *tx_queue, uint16_t offset); diff --git a/drivers/net/octeontx2/otx2_ethdev_ops.c b/drivers/net/octeontx2/otx2_ethdev_ops.c index 552e6bd43d..5cb3905b64 100644 --- a/drivers/net/octeontx2/otx2_ethdev_ops.c +++ b/drivers/net/octeontx2/otx2_ethdev_ops.c @@ -365,18 +365,6 @@ nix_offset_has_packet(uint32_t head, uint32_t tail, uint16_t offset) return 0; } -int -otx2_nix_rx_descriptor_done(void *rx_queue, uint16_t offset) -{ - struct otx2_eth_rxq *rxq = rx_queue; - uint32_t head, tail; - - nix_rx_head_tail_get(otx2_eth_pmd_priv(rxq->eth_dev), - &head, &tail, rxq->rq); - - return nix_offset_has_packet(head, tail, offset); -} - int otx2_nix_rx_descriptor_status(void *rx_queue, uint16_t offset) { diff --git a/drivers/net/sfc/sfc_ethdev.c b/drivers/net/sfc/sfc_ethdev.c index 2db0d000c3..8debebc96e 100644 --- a/drivers/net/sfc/sfc_ethdev.c +++ b/drivers/net/sfc/sfc_ethdev.c @@ -1296,21 +1296,6 @@ sfc_rx_queue_count(struct rte_eth_dev *dev, uint16_t ethdev_qid) return sap->dp_rx->qdesc_npending(rxq_info->dp); } -/* - * The function is used by the secondary process as well. It must not - * use any process-local pointers from the adapter data. - */ -static int -sfc_rx_descriptor_done(void *queue, uint16_t offset) -{ - struct sfc_dp_rxq *dp_rxq = queue; - const struct sfc_dp_rx *dp_rx; - - dp_rx = sfc_dp_rx_by_dp_rxq(dp_rxq); - - return offset < dp_rx->qdesc_npending(dp_rxq); -} - /* * The function is used by the secondary process as well. It must not * use any process-local pointers from the adapter data. @@ -2045,7 +2030,6 @@ sfc_eth_dev_set_ops(struct rte_eth_dev *dev) dev->tx_pkt_burst = dp_tx->pkt_burst; dev->rx_queue_count = sfc_rx_queue_count; - dev->rx_descriptor_done = sfc_rx_descriptor_done; dev->rx_descriptor_status = sfc_rx_descriptor_status; dev->tx_descriptor_status = sfc_tx_descriptor_status; dev->dev_ops = &sfc_eth_dev_ops; @@ -2153,7 +2137,6 @@ sfc_eth_dev_secondary_init(struct rte_eth_dev *dev, uint32_t logtype_main) dev->tx_pkt_prepare = dp_tx->pkt_prepare; dev->tx_pkt_burst = dp_tx->pkt_burst; dev->rx_queue_count = sfc_rx_queue_count; - dev->rx_descriptor_done = sfc_rx_descriptor_done; dev->rx_descriptor_status = sfc_rx_descriptor_status; dev->tx_descriptor_status = sfc_tx_descriptor_status; dev->dev_ops = &sfc_eth_dev_secondary_ops; diff --git a/drivers/net/virtio/virtio_ethdev.c b/drivers/net/virtio/virtio_ethdev.c index da1633d77e..c82089930f 100644 --- a/drivers/net/virtio/virtio_ethdev.c +++ b/drivers/net/virtio/virtio_ethdev.c @@ -1894,7 +1894,6 @@ eth_virtio_dev_init(struct rte_eth_dev *eth_dev) } eth_dev->dev_ops = &virtio_eth_dev_ops; - eth_dev->rx_descriptor_done = virtio_dev_rx_queue_done; if (rte_eal_process_type() == RTE_PROC_SECONDARY) { set_rxtx_funcs(eth_dev); diff --git a/lib/ethdev/rte_ethdev.c b/lib/ethdev/rte_ethdev.c index daf5ca9242..ed37f8871b 100644 --- a/lib/ethdev/rte_ethdev.c +++ b/lib/ethdev/rte_ethdev.c @@ -588,7 +588,6 @@ rte_eth_dev_release_port(struct rte_eth_dev *eth_dev) eth_dev->tx_pkt_burst = NULL; eth_dev->tx_pkt_prepare = NULL; eth_dev->rx_queue_count = NULL; - eth_dev->rx_descriptor_done = NULL; eth_dev->rx_descriptor_status = NULL; eth_dev->tx_descriptor_status = NULL; eth_dev->dev_ops = NULL; diff --git a/lib/ethdev/rte_ethdev.h b/lib/ethdev/rte_ethdev.h index 224c6c980a..07d8f48520 100644 --- a/lib/ethdev/rte_ethdev.h +++ b/lib/ethdev/rte_ethdev.h @@ -5066,31 +5066,6 @@ rte_eth_rx_queue_count(uint16_t port_id, uint16_t queue_id) return (int)(*dev->rx_queue_count)(dev, queue_id); } -/** - * Check if the DD bit of the specific RX descriptor in the queue has been set - * - * @param port_id - * The port identifier of the Ethernet device. - * @param queue_id - * The queue id on the specific port. - * @param offset - * The offset of the descriptor ID from tail. - * @return - * - (1) if the specific DD bit is set. - * - (0) if the specific DD bit is not set. - * - (-ENODEV) if *port_id* invalid. - * - (-ENOTSUP) if the device does not support this function - */ -__rte_deprecated -static inline int -rte_eth_rx_descriptor_done(uint16_t port_id, uint16_t queue_id, uint16_t offset) -{ - struct rte_eth_dev *dev = &rte_eth_devices[port_id]; - RTE_ETH_VALID_PORTID_OR_ERR_RET(port_id, -ENODEV); - RTE_FUNC_PTR_OR_ERR_RET(*dev->rx_descriptor_done, -ENOTSUP); - return (*dev->rx_descriptor_done)(dev->data->rx_queues[queue_id], offset); -} - /**@{@name Rx hardware descriptor states * @see rte_eth_rx_descriptor_status */ diff --git a/lib/ethdev/rte_ethdev_core.h b/lib/ethdev/rte_ethdev_core.h index edf96de2dc..90a2b28792 100644 --- a/lib/ethdev/rte_ethdev_core.h +++ b/lib/ethdev/rte_ethdev_core.h @@ -45,9 +45,6 @@ typedef uint32_t (*eth_rx_queue_count_t)(struct rte_eth_dev *dev, uint16_t rx_queue_id); /**< @internal Get number of used descriptors on a receive queue. */ -typedef int (*eth_rx_descriptor_done_t)(void *rxq, uint16_t offset); -/**< @internal Check DD bit of specific RX descriptor */ - typedef int (*eth_rx_descriptor_status_t)(void *rxq, uint16_t offset); /**< @internal Check the status of a Rx descriptor */ @@ -85,7 +82,6 @@ struct rte_eth_dev { eth_tx_prep_t tx_pkt_prepare; /**< Pointer to PMD transmit prepare function. */ eth_rx_queue_count_t rx_queue_count; /**< Get the number of used RX descriptors. */ - eth_rx_descriptor_done_t rx_descriptor_done; /**< Check rxd DD bit. */ eth_rx_descriptor_status_t rx_descriptor_status; /**< Check the status of a Rx descriptor. */ eth_tx_descriptor_status_t tx_descriptor_status; /**< Check the status of a Tx descriptor. */ -- 2.30.2 ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [dpdk-dev] [PATCH] ethdev: remove legacy Rx descriptor done API 2021-09-28 15:48 [dpdk-dev] [PATCH] ethdev: remove legacy Rx descriptor done API Andrew Rybchenko @ 2021-09-30 13:26 ` Ferruh Yigit 2021-10-05 19:16 ` Thomas Monjalon ` (2 subsequent siblings) 3 siblings, 0 replies; 9+ messages in thread From: Ferruh Yigit @ 2021-09-30 13:26 UTC (permalink / raw) To: Andrew Rybchenko, Ray Kinsella, Haiyue Wang, Qi Zhang, Xiao Wang, Beilei Xing, Jerin Jacob, Nithin Dabilpuram, Kiran Kumar K, Maxime Coquelin, Chenbo Xia, Thomas Monjalon Cc: dev On 9/28/2021 4:48 PM, Andrew Rybchenko wrote: > rte_eth_rx_descriptor_status() should be used as a replacement. > > Signed-off-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru> Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com> ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [dpdk-dev] [PATCH] ethdev: remove legacy Rx descriptor done API 2021-09-28 15:48 [dpdk-dev] [PATCH] ethdev: remove legacy Rx descriptor done API Andrew Rybchenko 2021-09-30 13:26 ` Ferruh Yigit @ 2021-10-05 19:16 ` Thomas Monjalon 2021-10-11 13:22 ` Andrew Rybchenko 2021-10-06 8:51 ` Ferruh Yigit 2021-10-11 13:24 ` [dpdk-dev] [PATCH v2] " Andrew Rybchenko 3 siblings, 1 reply; 9+ messages in thread From: Thomas Monjalon @ 2021-10-05 19:16 UTC (permalink / raw) To: Andrew Rybchenko Cc: Ray Kinsella, Haiyue Wang, Qi Zhang, Xiao Wang, Beilei Xing, Jerin Jacob, Nithin Dabilpuram, Kiran Kumar K, Maxime Coquelin, Chenbo Xia, Ferruh Yigit, dev 28/09/2021 17:48, Andrew Rybchenko: > rte_eth_rx_descriptor_status() should be used as a replacement. > > Signed-off-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru> [...] > @@ -126,6 +126,10 @@ Removed Items > blacklist/whitelist are removed. Users must use the new > block/allow list arguments. > > +* ethdev: Removed ``rx_descriptor_done`` dev_ops and > + ``rte_eth_rx_descriptor_done``. Existing ``rte_eth_rx_descriptor_status`` > + APIs can be used as a replacement. I suggest this wording: ethdev: Removed ``rte_eth_rx_descriptor_done`` API function and its driver callback. It is replaced by the more complete function ``rte_eth_rx_descriptor_status``. Acked-by: Thomas Monjalon <thomas@monjalon.net> ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [dpdk-dev] [PATCH] ethdev: remove legacy Rx descriptor done API 2021-10-05 19:16 ` Thomas Monjalon @ 2021-10-11 13:22 ` Andrew Rybchenko 0 siblings, 0 replies; 9+ messages in thread From: Andrew Rybchenko @ 2021-10-11 13:22 UTC (permalink / raw) To: Thomas Monjalon Cc: Ray Kinsella, Haiyue Wang, Qi Zhang, Xiao Wang, Beilei Xing, Jerin Jacob, Nithin Dabilpuram, Kiran Kumar K, Maxime Coquelin, Chenbo Xia, Ferruh Yigit, dev On 10/5/21 10:16 PM, Thomas Monjalon wrote: > 28/09/2021 17:48, Andrew Rybchenko: >> rte_eth_rx_descriptor_status() should be used as a replacement. >> >> Signed-off-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru> > [...] >> @@ -126,6 +126,10 @@ Removed Items >> blacklist/whitelist are removed. Users must use the new >> block/allow list arguments. >> >> +* ethdev: Removed ``rx_descriptor_done`` dev_ops and >> + ``rte_eth_rx_descriptor_done``. Existing ``rte_eth_rx_descriptor_status`` >> + APIs can be used as a replacement. > > I suggest this wording: > > ethdev: Removed ``rte_eth_rx_descriptor_done`` API function and its driver callback. > It is replaced by the more complete function ``rte_eth_rx_descriptor_status``. Thanks, sounds better to me too. Will be in v2. > Acked-by: Thomas Monjalon <thomas@monjalon.net> > ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [dpdk-dev] [PATCH] ethdev: remove legacy Rx descriptor done API 2021-09-28 15:48 [dpdk-dev] [PATCH] ethdev: remove legacy Rx descriptor done API Andrew Rybchenko 2021-09-30 13:26 ` Ferruh Yigit 2021-10-05 19:16 ` Thomas Monjalon @ 2021-10-06 8:51 ` Ferruh Yigit 2021-10-06 9:09 ` Andrew Rybchenko 2021-10-11 13:24 ` [dpdk-dev] [PATCH v2] " Andrew Rybchenko 3 siblings, 1 reply; 9+ messages in thread From: Ferruh Yigit @ 2021-10-06 8:51 UTC (permalink / raw) To: Andrew Rybchenko, Ray Kinsella, Haiyue Wang, Qi Zhang, Xiao Wang, Beilei Xing, Jerin Jacob, Nithin Dabilpuram, Kiran Kumar K, Maxime Coquelin, Chenbo Xia, Thomas Monjalon Cc: dev On 9/28/2021 4:48 PM, Andrew Rybchenko wrote: > diff --git a/drivers/net/virtio/virtio_ethdev.c b/drivers/net/virtio/virtio_ethdev.c > index da1633d77e..c82089930f 100644 > --- a/drivers/net/virtio/virtio_ethdev.c > +++ b/drivers/net/virtio/virtio_ethdev.c > @@ -1894,7 +1894,6 @@ eth_virtio_dev_init(struct rte_eth_dev *eth_dev) > } > > eth_dev->dev_ops = &virtio_eth_dev_ops; > - eth_dev->rx_descriptor_done = virtio_dev_rx_queue_done; Checking twice, should 'virtio_dev_rx_queue_done()' declaration and definition be removed? It seems there is no user of the function except here. ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [dpdk-dev] [PATCH] ethdev: remove legacy Rx descriptor done API 2021-10-06 8:51 ` Ferruh Yigit @ 2021-10-06 9:09 ` Andrew Rybchenko 2021-10-11 13:23 ` Andrew Rybchenko 0 siblings, 1 reply; 9+ messages in thread From: Andrew Rybchenko @ 2021-10-06 9:09 UTC (permalink / raw) To: Ferruh Yigit, Ray Kinsella, Haiyue Wang, Qi Zhang, Xiao Wang, Beilei Xing, Jerin Jacob, Nithin Dabilpuram, Kiran Kumar K, Maxime Coquelin, Chenbo Xia, Thomas Monjalon Cc: dev On 10/6/21 11:51 AM, Ferruh Yigit wrote: > On 9/28/2021 4:48 PM, Andrew Rybchenko wrote: >> diff --git a/drivers/net/virtio/virtio_ethdev.c >> b/drivers/net/virtio/virtio_ethdev.c >> index da1633d77e..c82089930f 100644 >> --- a/drivers/net/virtio/virtio_ethdev.c >> +++ b/drivers/net/virtio/virtio_ethdev.c >> @@ -1894,7 +1894,6 @@ eth_virtio_dev_init(struct rte_eth_dev *eth_dev) >> } >> eth_dev->dev_ops = &virtio_eth_dev_ops; >> - eth_dev->rx_descriptor_done = virtio_dev_rx_queue_done; > > Checking twice, should 'virtio_dev_rx_queue_done()' declaration and > definition be removed? > It seems there is no user of the function except here. Yes, I lost it from my view. ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [dpdk-dev] [PATCH] ethdev: remove legacy Rx descriptor done API 2021-10-06 9:09 ` Andrew Rybchenko @ 2021-10-11 13:23 ` Andrew Rybchenko 0 siblings, 0 replies; 9+ messages in thread From: Andrew Rybchenko @ 2021-10-11 13:23 UTC (permalink / raw) To: Ferruh Yigit, Ray Kinsella, Haiyue Wang, Qi Zhang, Xiao Wang, Beilei Xing, Jerin Jacob, Nithin Dabilpuram, Kiran Kumar K, Maxime Coquelin, Chenbo Xia, Thomas Monjalon Cc: dev On 10/6/21 12:09 PM, Andrew Rybchenko wrote: > On 10/6/21 11:51 AM, Ferruh Yigit wrote: >> On 9/28/2021 4:48 PM, Andrew Rybchenko wrote: >>> diff --git a/drivers/net/virtio/virtio_ethdev.c >>> b/drivers/net/virtio/virtio_ethdev.c >>> index da1633d77e..c82089930f 100644 >>> --- a/drivers/net/virtio/virtio_ethdev.c >>> +++ b/drivers/net/virtio/virtio_ethdev.c >>> @@ -1894,7 +1894,6 @@ eth_virtio_dev_init(struct rte_eth_dev *eth_dev) >>> } >>> eth_dev->dev_ops = &virtio_eth_dev_ops; >>> - eth_dev->rx_descriptor_done = virtio_dev_rx_queue_done; >> >> Checking twice, should 'virtio_dev_rx_queue_done()' declaration and >> definition be removed? >> It seems there is no user of the function except here. > > Yes, I lost it from my view. > Fixed in v2. ^ permalink raw reply [flat|nested] 9+ messages in thread
* [dpdk-dev] [PATCH v2] ethdev: remove legacy Rx descriptor done API 2021-09-28 15:48 [dpdk-dev] [PATCH] ethdev: remove legacy Rx descriptor done API Andrew Rybchenko ` (2 preceding siblings ...) 2021-10-06 8:51 ` Ferruh Yigit @ 2021-10-11 13:24 ` Andrew Rybchenko 2021-10-11 14:47 ` Ferruh Yigit 3 siblings, 1 reply; 9+ messages in thread From: Andrew Rybchenko @ 2021-10-11 13:24 UTC (permalink / raw) To: Ray Kinsella, Haiyue Wang, Qi Zhang, Xiao Wang, Beilei Xing, Jerin Jacob, Nithin Dabilpuram, Kiran Kumar K, Maxime Coquelin, Chenbo Xia, Thomas Monjalon, Ferruh Yigit Cc: dev rte_eth_rx_descriptor_status() should be used as a replacement. Signed-off-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru> Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com> Acked-by: Thomas Monjalon <thomas@monjalon.net> --- doc/guides/nics/features.rst | 6 +----- doc/guides/rel_notes/deprecation.rst | 5 ----- doc/guides/rel_notes/release_21_11.rst | 4 ++++ drivers/net/e1000/e1000_ethdev.h | 4 ---- drivers/net/e1000/em_ethdev.c | 1 - drivers/net/e1000/em_rxtx.c | 17 ---------------- drivers/net/e1000/igb_ethdev.c | 2 -- drivers/net/e1000/igb_rxtx.c | 17 ---------------- drivers/net/fm10k/fm10k.h | 3 --- drivers/net/fm10k/fm10k_ethdev.c | 1 - drivers/net/fm10k/fm10k_rxtx.c | 25 ------------------------ drivers/net/i40e/i40e_ethdev.c | 1 - drivers/net/i40e/i40e_rxtx.c | 26 ------------------------- drivers/net/i40e/i40e_rxtx.h | 1 - drivers/net/igc/igc_ethdev.c | 1 - drivers/net/igc/igc_txrx.c | 18 ----------------- drivers/net/igc/igc_txrx.h | 2 -- drivers/net/ixgbe/ixgbe_ethdev.c | 2 -- drivers/net/ixgbe/ixgbe_ethdev.h | 2 -- drivers/net/ixgbe/ixgbe_rxtx.c | 18 ----------------- drivers/net/octeontx2/otx2_ethdev.c | 1 - drivers/net/octeontx2/otx2_ethdev.h | 1 - drivers/net/octeontx2/otx2_ethdev_ops.c | 12 ------------ drivers/net/sfc/sfc_ethdev.c | 17 ---------------- drivers/net/virtio/virtio_ethdev.c | 1 - drivers/net/virtio/virtio_ethdev.h | 2 -- drivers/net/virtio/virtio_rxtx.c | 9 --------- lib/ethdev/rte_ethdev.c | 1 - lib/ethdev/rte_ethdev.h | 25 ------------------------ lib/ethdev/rte_ethdev_core.h | 4 ---- 30 files changed, 5 insertions(+), 224 deletions(-) diff --git a/doc/guides/nics/features.rst b/doc/guides/nics/features.rst index e346018e4b..f883f11a8b 100644 --- a/doc/guides/nics/features.rst +++ b/doc/guides/nics/features.rst @@ -651,14 +651,10 @@ Rx descriptor status -------------------- Supports check the status of a Rx descriptor. When ``rx_descriptor_status`` is -used, status can be "Available", "Done" or "Unavailable". When -``rx_descriptor_done`` is used, status can be "DD bit is set" or "DD bit is -not set". +used, status can be "Available", "Done" or "Unavailable". * **[implements] rte_eth_dev**: ``rx_descriptor_status``. * **[related] API**: ``rte_eth_rx_descriptor_status()``. -* **[implements] rte_eth_dev**: ``rx_descriptor_done``. -* **[related] API**: ``rte_eth_rx_descriptor_done()``. .. _nic_features_tx_descriptor_status: diff --git a/doc/guides/rel_notes/deprecation.rst b/doc/guides/rel_notes/deprecation.rst index b86147dda1..ab022487b8 100644 --- a/doc/guides/rel_notes/deprecation.rst +++ b/doc/guides/rel_notes/deprecation.rst @@ -106,11 +106,6 @@ Deprecation Notices the device packet overhead can be calculated as: ``(struct rte_eth_dev_info).max_rx_pktlen - (struct rte_eth_dev_info).max_mtu`` -* ethdev: ``rx_descriptor_done`` dev_ops and ``rte_eth_rx_descriptor_done`` - will be removed in 21.11. - Existing ``rte_eth_rx_descriptor_status`` and ``rte_eth_tx_descriptor_status`` - APIs can be used as replacement. - * ethdev: Announce moving from dedicated modify function for each field, to using the general ``rte_flow_modify_field`` action. diff --git a/doc/guides/rel_notes/release_21_11.rst b/doc/guides/rel_notes/release_21_11.rst index 89d4b33ef1..10bc67e814 100644 --- a/doc/guides/rel_notes/release_21_11.rst +++ b/doc/guides/rel_notes/release_21_11.rst @@ -168,6 +168,10 @@ Removed Items ``rte_eth_mirror_rule_reset`` along with the associated macros ``ETH_MIRROR_*`` are removed. +* ethdev: Removed ``rte_eth_rx_descriptor_done`` API function and its + driver callback. It is replaced by the more complete function + ``rte_eth_rx_descriptor_status``. + * i40e: Removed i40evf driver. iavf already became the default VF driver for i40e devices, so there is no need to maintain i40evf. diff --git a/drivers/net/e1000/e1000_ethdev.h b/drivers/net/e1000/e1000_ethdev.h index 8e10e2777e..dafd586b12 100644 --- a/drivers/net/e1000/e1000_ethdev.h +++ b/drivers/net/e1000/e1000_ethdev.h @@ -402,8 +402,6 @@ int eth_igb_rx_queue_setup(struct rte_eth_dev *dev, uint16_t rx_queue_id, uint32_t eth_igb_rx_queue_count(struct rte_eth_dev *dev, uint16_t rx_queue_id); -int eth_igb_rx_descriptor_done(void *rx_queue, uint16_t offset); - int eth_igb_rx_descriptor_status(void *rx_queue, uint16_t offset); int eth_igb_tx_descriptor_status(void *tx_queue, uint16_t offset); @@ -479,8 +477,6 @@ int eth_em_rx_queue_setup(struct rte_eth_dev *dev, uint16_t rx_queue_id, uint32_t eth_em_rx_queue_count(struct rte_eth_dev *dev, uint16_t rx_queue_id); -int eth_em_rx_descriptor_done(void *rx_queue, uint16_t offset); - int eth_em_rx_descriptor_status(void *rx_queue, uint16_t offset); int eth_em_tx_descriptor_status(void *tx_queue, uint16_t offset); diff --git a/drivers/net/e1000/em_ethdev.c b/drivers/net/e1000/em_ethdev.c index a0ca371b02..9e157e4ffe 100644 --- a/drivers/net/e1000/em_ethdev.c +++ b/drivers/net/e1000/em_ethdev.c @@ -247,7 +247,6 @@ eth_em_dev_init(struct rte_eth_dev *eth_dev) eth_dev->dev_ops = ð_em_ops; eth_dev->rx_queue_count = eth_em_rx_queue_count; - eth_dev->rx_descriptor_done = eth_em_rx_descriptor_done; eth_dev->rx_descriptor_status = eth_em_rx_descriptor_status; eth_dev->tx_descriptor_status = eth_em_tx_descriptor_status; eth_dev->rx_pkt_burst = (eth_rx_burst_t)ð_em_recv_pkts; diff --git a/drivers/net/e1000/em_rxtx.c b/drivers/net/e1000/em_rxtx.c index 8542a15320..9994703cc2 100644 --- a/drivers/net/e1000/em_rxtx.c +++ b/drivers/net/e1000/em_rxtx.c @@ -1517,23 +1517,6 @@ eth_em_rx_queue_count(struct rte_eth_dev *dev, uint16_t rx_queue_id) return desc; } -int -eth_em_rx_descriptor_done(void *rx_queue, uint16_t offset) -{ - volatile struct e1000_rx_desc *rxdp; - struct em_rx_queue *rxq = rx_queue; - uint32_t desc; - - if (unlikely(offset >= rxq->nb_rx_desc)) - return 0; - desc = rxq->rx_tail + offset; - if (desc >= rxq->nb_rx_desc) - desc -= rxq->nb_rx_desc; - - rxdp = &rxq->rx_ring[desc]; - return !!(rxdp->status & E1000_RXD_STAT_DD); -} - int eth_em_rx_descriptor_status(void *rx_queue, uint16_t offset) { diff --git a/drivers/net/e1000/igb_ethdev.c b/drivers/net/e1000/igb_ethdev.c index 6510cd7ceb..4152406610 100644 --- a/drivers/net/e1000/igb_ethdev.c +++ b/drivers/net/e1000/igb_ethdev.c @@ -726,7 +726,6 @@ eth_igb_dev_init(struct rte_eth_dev *eth_dev) eth_dev->dev_ops = ð_igb_ops; eth_dev->rx_queue_count = eth_igb_rx_queue_count; - eth_dev->rx_descriptor_done = eth_igb_rx_descriptor_done; eth_dev->rx_descriptor_status = eth_igb_rx_descriptor_status; eth_dev->tx_descriptor_status = eth_igb_tx_descriptor_status; eth_dev->rx_pkt_burst = ð_igb_recv_pkts; @@ -920,7 +919,6 @@ eth_igbvf_dev_init(struct rte_eth_dev *eth_dev) PMD_INIT_FUNC_TRACE(); eth_dev->dev_ops = &igbvf_eth_dev_ops; - eth_dev->rx_descriptor_done = eth_igb_rx_descriptor_done; eth_dev->rx_descriptor_status = eth_igb_rx_descriptor_status; eth_dev->tx_descriptor_status = eth_igb_tx_descriptor_status; eth_dev->rx_pkt_burst = ð_igb_recv_pkts; diff --git a/drivers/net/e1000/igb_rxtx.c b/drivers/net/e1000/igb_rxtx.c index 8d64d7397a..7b2a6b0490 100644 --- a/drivers/net/e1000/igb_rxtx.c +++ b/drivers/net/e1000/igb_rxtx.c @@ -1798,23 +1798,6 @@ eth_igb_rx_queue_count(struct rte_eth_dev *dev, uint16_t rx_queue_id) return desc; } -int -eth_igb_rx_descriptor_done(void *rx_queue, uint16_t offset) -{ - volatile union e1000_adv_rx_desc *rxdp; - struct igb_rx_queue *rxq = rx_queue; - uint32_t desc; - - if (unlikely(offset >= rxq->nb_rx_desc)) - return 0; - desc = rxq->rx_tail + offset; - if (desc >= rxq->nb_rx_desc) - desc -= rxq->nb_rx_desc; - - rxdp = &rxq->rx_ring[desc]; - return !!(rxdp->wb.upper.status_error & E1000_RXD_STAT_DD); -} - int eth_igb_rx_descriptor_status(void *rx_queue, uint16_t offset) { diff --git a/drivers/net/fm10k/fm10k.h b/drivers/net/fm10k/fm10k.h index 916b856acc..2e47ada829 100644 --- a/drivers/net/fm10k/fm10k.h +++ b/drivers/net/fm10k/fm10k.h @@ -326,9 +326,6 @@ uint16_t fm10k_recv_scattered_pkts(void *rx_queue, uint32_t fm10k_dev_rx_queue_count(struct rte_eth_dev *dev, uint16_t rx_queue_id); -int -fm10k_dev_rx_descriptor_done(void *rx_queue, uint16_t offset); - int fm10k_dev_rx_descriptor_status(void *rx_queue, uint16_t offset); diff --git a/drivers/net/fm10k/fm10k_ethdev.c b/drivers/net/fm10k/fm10k_ethdev.c index 7075d69022..c436263c7c 100644 --- a/drivers/net/fm10k/fm10k_ethdev.c +++ b/drivers/net/fm10k/fm10k_ethdev.c @@ -3062,7 +3062,6 @@ eth_fm10k_dev_init(struct rte_eth_dev *dev) dev->dev_ops = &fm10k_eth_dev_ops; dev->rx_queue_count = fm10k_dev_rx_queue_count; - dev->rx_descriptor_done = fm10k_dev_rx_descriptor_done; dev->rx_descriptor_status = fm10k_dev_rx_descriptor_status; dev->tx_descriptor_status = fm10k_dev_tx_descriptor_status; dev->rx_pkt_burst = &fm10k_recv_pkts; diff --git a/drivers/net/fm10k/fm10k_rxtx.c b/drivers/net/fm10k/fm10k_rxtx.c index 0a9a27aa5a..d9833505d1 100644 --- a/drivers/net/fm10k/fm10k_rxtx.c +++ b/drivers/net/fm10k/fm10k_rxtx.c @@ -393,31 +393,6 @@ fm10k_dev_rx_queue_count(struct rte_eth_dev *dev, uint16_t rx_queue_id) return desc; } -int -fm10k_dev_rx_descriptor_done(void *rx_queue, uint16_t offset) -{ - volatile union fm10k_rx_desc *rxdp; - struct fm10k_rx_queue *rxq = rx_queue; - uint16_t desc; - int ret; - - if (unlikely(offset >= rxq->nb_desc)) { - PMD_DRV_LOG(ERR, "Invalid RX descriptor offset %u", offset); - return 0; - } - - desc = rxq->next_dd + offset; - if (desc >= rxq->nb_desc) - desc -= rxq->nb_desc; - - rxdp = &rxq->hw_ring[desc]; - - ret = !!(rxdp->w.status & - rte_cpu_to_le_16(FM10K_RXD_STATUS_DD)); - - return ret; -} - int fm10k_dev_rx_descriptor_status(void *rx_queue, uint16_t offset) { diff --git a/drivers/net/i40e/i40e_ethdev.c b/drivers/net/i40e/i40e_ethdev.c index 1fc3d897a8..a2e35ebcfe 100644 --- a/drivers/net/i40e/i40e_ethdev.c +++ b/drivers/net/i40e/i40e_ethdev.c @@ -1422,7 +1422,6 @@ eth_i40e_dev_init(struct rte_eth_dev *dev, void *init_params __rte_unused) dev->dev_ops = &i40e_eth_dev_ops; dev->rx_queue_count = i40e_dev_rx_queue_count; - dev->rx_descriptor_done = i40e_dev_rx_descriptor_done; dev->rx_descriptor_status = i40e_dev_rx_descriptor_status; dev->tx_descriptor_status = i40e_dev_tx_descriptor_status; dev->rx_pkt_burst = i40e_recv_pkts; diff --git a/drivers/net/i40e/i40e_rxtx.c b/drivers/net/i40e/i40e_rxtx.c index 807e1a4133..ab77ec04b5 100644 --- a/drivers/net/i40e/i40e_rxtx.c +++ b/drivers/net/i40e/i40e_rxtx.c @@ -2149,32 +2149,6 @@ i40e_dev_rx_queue_count(struct rte_eth_dev *dev, uint16_t rx_queue_id) return desc; } -int -i40e_dev_rx_descriptor_done(void *rx_queue, uint16_t offset) -{ - volatile union i40e_rx_desc *rxdp; - struct i40e_rx_queue *rxq = rx_queue; - uint16_t desc; - int ret; - - if (unlikely(offset >= rxq->nb_rx_desc)) { - PMD_DRV_LOG(ERR, "Invalid RX descriptor id %u", offset); - return 0; - } - - desc = rxq->rx_tail + offset; - if (desc >= rxq->nb_rx_desc) - desc -= rxq->nb_rx_desc; - - rxdp = &(rxq->rx_ring[desc]); - - ret = !!(((rte_le_to_cpu_64(rxdp->wb.qword1.status_error_len) & - I40E_RXD_QW1_STATUS_MASK) >> I40E_RXD_QW1_STATUS_SHIFT) & - (1 << I40E_RX_DESC_STATUS_DD_SHIFT)); - - return ret; -} - int i40e_dev_rx_descriptor_status(void *rx_queue, uint16_t offset) { diff --git a/drivers/net/i40e/i40e_rxtx.h b/drivers/net/i40e/i40e_rxtx.h index 5a99da1d3e..7a24dd6be5 100644 --- a/drivers/net/i40e/i40e_rxtx.h +++ b/drivers/net/i40e/i40e_rxtx.h @@ -231,7 +231,6 @@ void i40e_rx_queue_release_mbufs(struct i40e_rx_queue *rxq); uint32_t i40e_dev_rx_queue_count(struct rte_eth_dev *dev, uint16_t rx_queue_id); -int i40e_dev_rx_descriptor_done(void *rx_queue, uint16_t offset); int i40e_dev_rx_descriptor_status(void *rx_queue, uint16_t offset); int i40e_dev_tx_descriptor_status(void *tx_queue, uint16_t offset); diff --git a/drivers/net/igc/igc_ethdev.c b/drivers/net/igc/igc_ethdev.c index 0e41c85d29..03a77b3771 100644 --- a/drivers/net/igc/igc_ethdev.c +++ b/drivers/net/igc/igc_ethdev.c @@ -1227,7 +1227,6 @@ eth_igc_dev_init(struct rte_eth_dev *dev) PMD_INIT_FUNC_TRACE(); dev->dev_ops = ð_igc_ops; - dev->rx_descriptor_done = eth_igc_rx_descriptor_done; dev->rx_queue_count = eth_igc_rx_queue_count; dev->rx_descriptor_status = eth_igc_rx_descriptor_status; dev->tx_descriptor_status = eth_igc_tx_descriptor_status; diff --git a/drivers/net/igc/igc_txrx.c b/drivers/net/igc/igc_txrx.c index 7dee1bb0fa..a66ce1d2b7 100644 --- a/drivers/net/igc/igc_txrx.c +++ b/drivers/net/igc/igc_txrx.c @@ -757,24 +757,6 @@ uint32_t eth_igc_rx_queue_count(struct rte_eth_dev *dev, return desc; } -int eth_igc_rx_descriptor_done(void *rx_queue, uint16_t offset) -{ - volatile union igc_adv_rx_desc *rxdp; - struct igc_rx_queue *rxq = rx_queue; - uint32_t desc; - - if (unlikely(!rxq || offset >= rxq->nb_rx_desc)) - return 0; - - desc = rxq->rx_tail + offset; - if (desc >= rxq->nb_rx_desc) - desc -= rxq->nb_rx_desc; - - rxdp = &rxq->rx_ring[desc]; - return !!(rxdp->wb.upper.status_error & - rte_cpu_to_le_32(IGC_RXD_STAT_DD)); -} - int eth_igc_rx_descriptor_status(void *rx_queue, uint16_t offset) { struct igc_rx_queue *rxq = rx_queue; diff --git a/drivers/net/igc/igc_txrx.h b/drivers/net/igc/igc_txrx.h index 57bb87b3e4..bb040366f0 100644 --- a/drivers/net/igc/igc_txrx.h +++ b/drivers/net/igc/igc_txrx.h @@ -25,8 +25,6 @@ int eth_igc_rx_queue_setup(struct rte_eth_dev *dev, uint16_t rx_queue_id, uint32_t eth_igc_rx_queue_count(struct rte_eth_dev *dev, uint16_t rx_queue_id); -int eth_igc_rx_descriptor_done(void *rx_queue, uint16_t offset); - int eth_igc_rx_descriptor_status(void *rx_queue, uint16_t offset); int eth_igc_tx_descriptor_status(void *tx_queue, uint16_t offset); diff --git a/drivers/net/ixgbe/ixgbe_ethdev.c b/drivers/net/ixgbe/ixgbe_ethdev.c index a1b7f5053d..73aa043ba2 100644 --- a/drivers/net/ixgbe/ixgbe_ethdev.c +++ b/drivers/net/ixgbe/ixgbe_ethdev.c @@ -1050,7 +1050,6 @@ eth_ixgbe_dev_init(struct rte_eth_dev *eth_dev, void *init_params __rte_unused) eth_dev->dev_ops = &ixgbe_eth_dev_ops; eth_dev->rx_queue_count = ixgbe_dev_rx_queue_count; - eth_dev->rx_descriptor_done = ixgbe_dev_rx_descriptor_done; eth_dev->rx_descriptor_status = ixgbe_dev_rx_descriptor_status; eth_dev->tx_descriptor_status = ixgbe_dev_tx_descriptor_status; eth_dev->rx_pkt_burst = &ixgbe_recv_pkts; @@ -1539,7 +1538,6 @@ eth_ixgbevf_dev_init(struct rte_eth_dev *eth_dev) PMD_INIT_FUNC_TRACE(); eth_dev->dev_ops = &ixgbevf_eth_dev_ops; - eth_dev->rx_descriptor_done = ixgbe_dev_rx_descriptor_done; eth_dev->rx_descriptor_status = ixgbe_dev_rx_descriptor_status; eth_dev->tx_descriptor_status = ixgbe_dev_tx_descriptor_status; eth_dev->rx_pkt_burst = &ixgbe_recv_pkts; diff --git a/drivers/net/ixgbe/ixgbe_ethdev.h b/drivers/net/ixgbe/ixgbe_ethdev.h index 3156a64753..1d41f558ae 100644 --- a/drivers/net/ixgbe/ixgbe_ethdev.h +++ b/drivers/net/ixgbe/ixgbe_ethdev.h @@ -596,8 +596,6 @@ int ixgbe_dev_tx_queue_setup(struct rte_eth_dev *dev, uint16_t tx_queue_id, uint32_t ixgbe_dev_rx_queue_count(struct rte_eth_dev *dev, uint16_t rx_queue_id); -int ixgbe_dev_rx_descriptor_done(void *rx_queue, uint16_t offset); - int ixgbe_dev_rx_descriptor_status(void *rx_queue, uint16_t offset); int ixgbe_dev_tx_descriptor_status(void *tx_queue, uint16_t offset); diff --git a/drivers/net/ixgbe/ixgbe_rxtx.c b/drivers/net/ixgbe/ixgbe_rxtx.c index 349180e7c1..0ac89cb711 100644 --- a/drivers/net/ixgbe/ixgbe_rxtx.c +++ b/drivers/net/ixgbe/ixgbe_rxtx.c @@ -3285,24 +3285,6 @@ ixgbe_dev_rx_queue_count(struct rte_eth_dev *dev, uint16_t rx_queue_id) return desc; } -int -ixgbe_dev_rx_descriptor_done(void *rx_queue, uint16_t offset) -{ - volatile union ixgbe_adv_rx_desc *rxdp; - struct ixgbe_rx_queue *rxq = rx_queue; - uint32_t desc; - - if (unlikely(offset >= rxq->nb_rx_desc)) - return 0; - desc = rxq->rx_tail + offset; - if (desc >= rxq->nb_rx_desc) - desc -= rxq->nb_rx_desc; - - rxdp = &rxq->rx_ring[desc]; - return !!(rxdp->wb.upper.status_error & - rte_cpu_to_le_32(IXGBE_RXDADV_STAT_DD)); -} - int ixgbe_dev_rx_descriptor_status(void *rx_queue, uint16_t offset) { diff --git a/drivers/net/octeontx2/otx2_ethdev.c b/drivers/net/octeontx2/otx2_ethdev.c index d576bc6989..e0eb2b0307 100644 --- a/drivers/net/octeontx2/otx2_ethdev.c +++ b/drivers/net/octeontx2/otx2_ethdev.c @@ -2440,7 +2440,6 @@ otx2_eth_dev_init(struct rte_eth_dev *eth_dev) int rc, max_entries; eth_dev->dev_ops = &otx2_eth_dev_ops; - eth_dev->rx_descriptor_done = otx2_nix_rx_descriptor_done; eth_dev->rx_queue_count = otx2_nix_rx_queue_count; eth_dev->rx_descriptor_status = otx2_nix_rx_descriptor_status; eth_dev->tx_descriptor_status = otx2_nix_tx_descriptor_status; diff --git a/drivers/net/octeontx2/otx2_ethdev.h b/drivers/net/octeontx2/otx2_ethdev.h index b1575f59a2..0d73013433 100644 --- a/drivers/net/octeontx2/otx2_ethdev.h +++ b/drivers/net/octeontx2/otx2_ethdev.h @@ -433,7 +433,6 @@ int otx2_tx_burst_mode_get(struct rte_eth_dev *dev, uint16_t queue_id, struct rte_eth_burst_mode *mode); uint32_t otx2_nix_rx_queue_count(struct rte_eth_dev *eth_dev, uint16_t qidx); int otx2_nix_tx_done_cleanup(void *txq, uint32_t free_cnt); -int otx2_nix_rx_descriptor_done(void *rxq, uint16_t offset); int otx2_nix_rx_descriptor_status(void *rx_queue, uint16_t offset); int otx2_nix_tx_descriptor_status(void *tx_queue, uint16_t offset); diff --git a/drivers/net/octeontx2/otx2_ethdev_ops.c b/drivers/net/octeontx2/otx2_ethdev_ops.c index 552e6bd43d..5cb3905b64 100644 --- a/drivers/net/octeontx2/otx2_ethdev_ops.c +++ b/drivers/net/octeontx2/otx2_ethdev_ops.c @@ -365,18 +365,6 @@ nix_offset_has_packet(uint32_t head, uint32_t tail, uint16_t offset) return 0; } -int -otx2_nix_rx_descriptor_done(void *rx_queue, uint16_t offset) -{ - struct otx2_eth_rxq *rxq = rx_queue; - uint32_t head, tail; - - nix_rx_head_tail_get(otx2_eth_pmd_priv(rxq->eth_dev), - &head, &tail, rxq->rq); - - return nix_offset_has_packet(head, tail, offset); -} - int otx2_nix_rx_descriptor_status(void *rx_queue, uint16_t offset) { diff --git a/drivers/net/sfc/sfc_ethdev.c b/drivers/net/sfc/sfc_ethdev.c index 9dc5e5b3a3..7d1d7b1be4 100644 --- a/drivers/net/sfc/sfc_ethdev.c +++ b/drivers/net/sfc/sfc_ethdev.c @@ -1297,21 +1297,6 @@ sfc_rx_queue_count(struct rte_eth_dev *dev, uint16_t ethdev_qid) return sap->dp_rx->qdesc_npending(rxq_info->dp); } -/* - * The function is used by the secondary process as well. It must not - * use any process-local pointers from the adapter data. - */ -static int -sfc_rx_descriptor_done(void *queue, uint16_t offset) -{ - struct sfc_dp_rxq *dp_rxq = queue; - const struct sfc_dp_rx *dp_rx; - - dp_rx = sfc_dp_rx_by_dp_rxq(dp_rxq); - - return offset < dp_rx->qdesc_npending(dp_rxq); -} - /* * The function is used by the secondary process as well. It must not * use any process-local pointers from the adapter data. @@ -2046,7 +2031,6 @@ sfc_eth_dev_set_ops(struct rte_eth_dev *dev) dev->tx_pkt_burst = dp_tx->pkt_burst; dev->rx_queue_count = sfc_rx_queue_count; - dev->rx_descriptor_done = sfc_rx_descriptor_done; dev->rx_descriptor_status = sfc_rx_descriptor_status; dev->tx_descriptor_status = sfc_tx_descriptor_status; dev->dev_ops = &sfc_eth_dev_ops; @@ -2154,7 +2138,6 @@ sfc_eth_dev_secondary_init(struct rte_eth_dev *dev, uint32_t logtype_main) dev->tx_pkt_prepare = dp_tx->pkt_prepare; dev->tx_pkt_burst = dp_tx->pkt_burst; dev->rx_queue_count = sfc_rx_queue_count; - dev->rx_descriptor_done = sfc_rx_descriptor_done; dev->rx_descriptor_status = sfc_rx_descriptor_status; dev->tx_descriptor_status = sfc_tx_descriptor_status; dev->dev_ops = &sfc_eth_dev_secondary_ops; diff --git a/drivers/net/virtio/virtio_ethdev.c b/drivers/net/virtio/virtio_ethdev.c index 6aa36b3f39..aff791fbd0 100644 --- a/drivers/net/virtio/virtio_ethdev.c +++ b/drivers/net/virtio/virtio_ethdev.c @@ -1899,7 +1899,6 @@ eth_virtio_dev_init(struct rte_eth_dev *eth_dev) } eth_dev->dev_ops = &virtio_eth_dev_ops; - eth_dev->rx_descriptor_done = virtio_dev_rx_queue_done; if (rte_eal_process_type() == RTE_PROC_SECONDARY) { set_rxtx_funcs(eth_dev); diff --git a/drivers/net/virtio/virtio_ethdev.h b/drivers/net/virtio/virtio_ethdev.h index 2f63ef2b2d..40be484218 100644 --- a/drivers/net/virtio/virtio_ethdev.h +++ b/drivers/net/virtio/virtio_ethdev.h @@ -58,8 +58,6 @@ void virtio_dev_cq_start(struct rte_eth_dev *dev); * RX/TX function prototypes */ -int virtio_dev_rx_queue_done(void *rxq, uint16_t offset); - int virtio_dev_rx_queue_setup(struct rte_eth_dev *dev, uint16_t rx_queue_id, uint16_t nb_rx_desc, unsigned int socket_id, const struct rte_eth_rxconf *rx_conf, diff --git a/drivers/net/virtio/virtio_rxtx.c b/drivers/net/virtio/virtio_rxtx.c index e8e6ed20a5..e378e66ad5 100644 --- a/drivers/net/virtio/virtio_rxtx.c +++ b/drivers/net/virtio/virtio_rxtx.c @@ -39,15 +39,6 @@ #define VIRTIO_DUMP_PACKET(m, len) do { } while (0) #endif -int -virtio_dev_rx_queue_done(void *rxq, uint16_t offset) -{ - struct virtnet_rx *rxvq = rxq; - struct virtqueue *vq = virtnet_rxq_to_vq(rxvq); - - return virtqueue_nused(vq) >= offset; -} - void vq_ring_free_inorder(struct virtqueue *vq, uint16_t desc_idx, uint16_t num) { diff --git a/lib/ethdev/rte_ethdev.c b/lib/ethdev/rte_ethdev.c index 028907bc4b..b3af7fe789 100644 --- a/lib/ethdev/rte_ethdev.c +++ b/lib/ethdev/rte_ethdev.c @@ -588,7 +588,6 @@ rte_eth_dev_release_port(struct rte_eth_dev *eth_dev) eth_dev->tx_pkt_burst = NULL; eth_dev->tx_pkt_prepare = NULL; eth_dev->rx_queue_count = NULL; - eth_dev->rx_descriptor_done = NULL; eth_dev->rx_descriptor_status = NULL; eth_dev->tx_descriptor_status = NULL; eth_dev->dev_ops = NULL; diff --git a/lib/ethdev/rte_ethdev.h b/lib/ethdev/rte_ethdev.h index 6d80514ba7..91fa28ba8e 100644 --- a/lib/ethdev/rte_ethdev.h +++ b/lib/ethdev/rte_ethdev.h @@ -4989,31 +4989,6 @@ rte_eth_rx_queue_count(uint16_t port_id, uint16_t queue_id) return (int)(*dev->rx_queue_count)(dev, queue_id); } -/** - * Check if the DD bit of the specific RX descriptor in the queue has been set - * - * @param port_id - * The port identifier of the Ethernet device. - * @param queue_id - * The queue id on the specific port. - * @param offset - * The offset of the descriptor ID from tail. - * @return - * - (1) if the specific DD bit is set. - * - (0) if the specific DD bit is not set. - * - (-ENODEV) if *port_id* invalid. - * - (-ENOTSUP) if the device does not support this function - */ -__rte_deprecated -static inline int -rte_eth_rx_descriptor_done(uint16_t port_id, uint16_t queue_id, uint16_t offset) -{ - struct rte_eth_dev *dev = &rte_eth_devices[port_id]; - RTE_ETH_VALID_PORTID_OR_ERR_RET(port_id, -ENODEV); - RTE_FUNC_PTR_OR_ERR_RET(*dev->rx_descriptor_done, -ENOTSUP); - return (*dev->rx_descriptor_done)(dev->data->rx_queues[queue_id], offset); -} - /**@{@name Rx hardware descriptor states * @see rte_eth_rx_descriptor_status */ diff --git a/lib/ethdev/rte_ethdev_core.h b/lib/ethdev/rte_ethdev_core.h index d2c9ec42c7..2296872888 100644 --- a/lib/ethdev/rte_ethdev_core.h +++ b/lib/ethdev/rte_ethdev_core.h @@ -45,9 +45,6 @@ typedef uint32_t (*eth_rx_queue_count_t)(struct rte_eth_dev *dev, uint16_t rx_queue_id); /**< @internal Get number of used descriptors on a receive queue. */ -typedef int (*eth_rx_descriptor_done_t)(void *rxq, uint16_t offset); -/**< @internal Check DD bit of specific RX descriptor */ - typedef int (*eth_rx_descriptor_status_t)(void *rxq, uint16_t offset); /**< @internal Check the status of a Rx descriptor */ @@ -85,7 +82,6 @@ struct rte_eth_dev { eth_tx_prep_t tx_pkt_prepare; /**< Pointer to PMD transmit prepare function. */ eth_rx_queue_count_t rx_queue_count; /**< Get the number of used RX descriptors. */ - eth_rx_descriptor_done_t rx_descriptor_done; /**< Check rxd DD bit. */ eth_rx_descriptor_status_t rx_descriptor_status; /**< Check the status of a Rx descriptor. */ eth_tx_descriptor_status_t tx_descriptor_status; /**< Check the status of a Tx descriptor. */ -- 2.30.2 ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [dpdk-dev] [PATCH v2] ethdev: remove legacy Rx descriptor done API 2021-10-11 13:24 ` [dpdk-dev] [PATCH v2] " Andrew Rybchenko @ 2021-10-11 14:47 ` Ferruh Yigit 0 siblings, 0 replies; 9+ messages in thread From: Ferruh Yigit @ 2021-10-11 14:47 UTC (permalink / raw) To: Andrew Rybchenko, Ray Kinsella, Haiyue Wang, Qi Zhang, Xiao Wang, Beilei Xing, Jerin Jacob, Nithin Dabilpuram, Kiran Kumar K, Maxime Coquelin, Chenbo Xia, Thomas Monjalon Cc: dev On 10/11/2021 2:24 PM, Andrew Rybchenko wrote: > rte_eth_rx_descriptor_status() should be used as a replacement. > > Signed-off-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru> > Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com> > Acked-by: Thomas Monjalon <thomas@monjalon.net> Applied to dpdk-next-net/main, thanks. ^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2021-10-11 14:47 UTC | newest] Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2021-09-28 15:48 [dpdk-dev] [PATCH] ethdev: remove legacy Rx descriptor done API Andrew Rybchenko 2021-09-30 13:26 ` Ferruh Yigit 2021-10-05 19:16 ` Thomas Monjalon 2021-10-11 13:22 ` Andrew Rybchenko 2021-10-06 8:51 ` Ferruh Yigit 2021-10-06 9:09 ` Andrew Rybchenko 2021-10-11 13:23 ` Andrew Rybchenko 2021-10-11 13:24 ` [dpdk-dev] [PATCH v2] " Andrew Rybchenko 2021-10-11 14:47 ` Ferruh Yigit
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).