The queue stats mapping feature has been deprecated since 25.11. Remove support in this driver for stats map.
Signed-off-by: Stephen Hemminger <[email protected]> --- drivers/net/cnxk/cnxk_ethdev.c | 1 - drivers/net/cnxk/cnxk_ethdev.h | 6 --- drivers/net/cnxk/cnxk_stats.c | 76 ++++++++++++++-------------------- 3 files changed, 31 insertions(+), 52 deletions(-) diff --git a/drivers/net/cnxk/cnxk_ethdev.c b/drivers/net/cnxk/cnxk_ethdev.c index 06d1c9b362..c8e7d70c2a 100644 --- a/drivers/net/cnxk/cnxk_ethdev.c +++ b/drivers/net/cnxk/cnxk_ethdev.c @@ -2104,7 +2104,6 @@ struct eth_dev_ops cnxk_eth_dev_ops = { .rx_queue_intr_enable = cnxk_nix_rx_queue_intr_enable, .rx_queue_intr_disable = cnxk_nix_rx_queue_intr_disable, .pool_ops_supported = cnxk_nix_pool_ops_supported, - .queue_stats_mapping_set = cnxk_nix_queue_stats_mapping, .stats_get = cnxk_nix_stats_get, .stats_reset = cnxk_nix_stats_reset, .xstats_get = cnxk_nix_xstats_get, diff --git a/drivers/net/cnxk/cnxk_ethdev.h b/drivers/net/cnxk/cnxk_ethdev.h index 8691acc642..d73a4ff3d3 100644 --- a/drivers/net/cnxk/cnxk_ethdev.h +++ b/drivers/net/cnxk/cnxk_ethdev.h @@ -416,10 +416,6 @@ struct cnxk_eth_dev { /* LSO Tunnel format indices */ uint64_t lso_tun_fmt; - /* Per queue statistics counters */ - uint32_t txq_stat_map[RTE_ETHDEV_QUEUE_STAT_CNTRS]; - uint32_t rxq_stat_map[RTE_ETHDEV_QUEUE_STAT_CNTRS]; - /* Security data */ struct cnxk_eth_dev_sec_inb inb; struct cnxk_eth_dev_sec_outb outb; @@ -687,8 +683,6 @@ void cnxk_eth_dev_link_status_get_cb(struct roc_nix *nix, void cnxk_eth_dev_q_err_cb(struct roc_nix *nix, void *data); int cnxk_nix_link_info_configure(struct rte_eth_dev *eth_dev); int cnxk_nix_link_update(struct rte_eth_dev *eth_dev, int wait_to_complete); -int cnxk_nix_queue_stats_mapping(struct rte_eth_dev *dev, uint16_t queue_id, - uint8_t stat_idx, uint8_t is_rx); int cnxk_nix_stats_reset(struct rte_eth_dev *dev); int cnxk_nix_stats_get(struct rte_eth_dev *dev, struct rte_eth_stats *stats, struct eth_queue_stats *qstats); diff --git a/drivers/net/cnxk/cnxk_stats.c b/drivers/net/cnxk/cnxk_stats.c index d57659ef51..e5d29a78b3 100644 --- a/drivers/net/cnxk/cnxk_stats.c +++ b/drivers/net/cnxk/cnxk_stats.c @@ -14,7 +14,8 @@ cnxk_nix_stats_get(struct rte_eth_dev *eth_dev, struct rte_eth_stats *stats, struct cnxk_eth_dev *dev = cnxk_eth_pmd_priv(eth_dev); struct roc_nix *nix = &dev->nix; struct roc_nix_stats nix_stats; - int rc = 0, i; + unsigned int i; + int rc = 0; rc = roc_nix_stats_get(nix, &nix_stats); if (rc) @@ -33,31 +34,35 @@ cnxk_nix_stats_get(struct rte_eth_dev *eth_dev, struct rte_eth_stats *stats, stats->ibytes = nix_stats.rx_octs; stats->ierrors = nix_stats.rx_err; - if (qstats != NULL) { - for (i = 0; i < RTE_ETHDEV_QUEUE_STAT_CNTRS; i++) { - struct roc_nix_stats_queue qstats_data; - uint16_t qidx; - - if (dev->txq_stat_map[i] & (1U << 31)) { - qidx = dev->txq_stat_map[i] & 0xFFFF; - rc = roc_nix_stats_queue_get(nix, qidx, 0, &qstats_data); - if (rc) - goto exit; - qstats->q_opackets[i] = qstats_data.tx_pkts; - qstats->q_obytes[i] = qstats_data.tx_octs; - qstats->q_errors[i] = qstats_data.tx_drop_pkts; - } - - if (dev->rxq_stat_map[i] & (1U << 31)) { - qidx = dev->rxq_stat_map[i] & 0xFFFF; - rc = roc_nix_stats_queue_get(nix, qidx, 1, &qstats_data); - if (rc) - goto exit; - qstats->q_ipackets[i] = qstats_data.rx_pkts; - qstats->q_ibytes[i] = qstats_data.rx_octs; - qstats->q_errors[i] += qstats_data.rx_drop_pkts; - } - } + if (qstats == NULL) + goto exit; + + for (i = 0; i < eth_dev->data->nb_tx_queues; i++) { + struct roc_nix_stats_queue qstats_data; + + if (i >= RTE_ETHDEV_QUEUE_STAT_CNTRS) + break; + + rc = roc_nix_stats_queue_get(nix, i, 0, &qstats_data); + if (rc) + goto exit; + qstats->q_opackets[i] = qstats_data.tx_pkts; + qstats->q_obytes[i] = qstats_data.tx_octs; + qstats->q_errors[i] = qstats_data.tx_drop_pkts; + } + + for (i = 0; i < eth_dev->data->nb_rx_queues; i++) { + struct roc_nix_stats_queue qstats_data; + + if (i >= RTE_ETHDEV_QUEUE_STAT_CNTRS) + break; + + rc = roc_nix_stats_queue_get(nix, i, 1, &qstats_data); + if (rc) + goto exit; + qstats->q_ipackets[i] = qstats_data.rx_pkts; + qstats->q_ibytes[i] = qstats_data.rx_octs; + qstats->q_errors[i] += qstats_data.rx_drop_pkts; } exit: return rc; @@ -71,25 +76,6 @@ cnxk_nix_stats_reset(struct rte_eth_dev *eth_dev) return roc_nix_stats_reset(&dev->nix); } -int -cnxk_nix_queue_stats_mapping(struct rte_eth_dev *eth_dev, uint16_t queue_id, - uint8_t stat_idx, uint8_t is_rx) -{ - struct cnxk_eth_dev *dev = cnxk_eth_pmd_priv(eth_dev); - - if (is_rx) { - if (queue_id >= dev->nb_rxq) - return -EINVAL; - dev->rxq_stat_map[stat_idx] = ((1U << 31) | queue_id); - } else { - if (queue_id >= dev->nb_txq) - return -EINVAL; - dev->txq_stat_map[stat_idx] = ((1U << 31) | queue_id); - } - - return 0; -} - int cnxk_nix_xstats_get(struct rte_eth_dev *eth_dev, struct rte_eth_xstat *xstats, unsigned int n) -- 2.53.0

