net/cnxk: fix extended statistics
authorRakesh Kudurumalla <rkudurumalla@marvell.com>
Fri, 1 Jul 2022 12:51:10 +0000 (18:21 +0530)
committerJerin Jacob <jerinj@marvell.com>
Mon, 4 Jul 2022 12:47:03 +0000 (14:47 +0200)
This fix replaces the usage of roc_nix_num_xstats_get() which is compile
time RoC API with runtime RoC  roc_nix_xstats_names_get() API resolving
xstat count difference for cn9k and cn10k while displaying xstats
for ethdev ports

Fixes: 825bd1d9d8e6 ("common/cnxk: update extra stats for inline device")
Cc: stable@dpdk.org
Signed-off-by: Rakesh Kudurumalla <rkudurumalla@marvell.com>
drivers/net/cnxk/cnxk_stats.c

index 4b0deac..f2f2222 100644 (file)
@@ -172,7 +172,7 @@ cnxk_nix_xstats_get_names(struct rte_eth_dev *eth_dev,
        struct roc_nix *nix = &dev->nix;
        int roc_size, size, i, q;
 
-       roc_size = roc_nix_num_xstats_get(nix);
+       roc_size = roc_nix_xstats_names_get(nix, NULL, 0);
        /* Per Queue statistics also returned as part of xstats */
        size = roc_size + (dev->nb_rxq * CNXK_NB_RXQ_STATS) +
               (dev->nb_txq * CNXK_NB_TXQ_STATS);
@@ -232,7 +232,7 @@ cnxk_nix_xstats_get_names_by_id(struct rte_eth_dev *eth_dev,
                                unsigned int limit)
 {
        struct cnxk_eth_dev *dev = cnxk_eth_pmd_priv(eth_dev);
-       uint32_t nix_cnt = roc_nix_num_xstats_get(&dev->nix);
+       uint32_t nix_cnt = roc_nix_xstats_names_get(&dev->nix, NULL, 0);
        uint32_t stat_cnt = nix_cnt + (dev->nb_rxq * CNXK_NB_RXQ_STATS) +
                            (dev->nb_txq * CNXK_NB_TXQ_STATS);
        struct rte_eth_xstat_name xnames[stat_cnt];
@@ -265,7 +265,7 @@ cnxk_nix_xstats_get_by_id(struct rte_eth_dev *eth_dev, const uint64_t *ids,
                          uint64_t *values, unsigned int n)
 {
        struct cnxk_eth_dev *dev = cnxk_eth_pmd_priv(eth_dev);
-       uint32_t nix_cnt = roc_nix_num_xstats_get(&dev->nix);
+       uint32_t nix_cnt = roc_nix_xstats_names_get(&dev->nix, NULL, 0);
        uint32_t stat_cnt = nix_cnt + (dev->nb_rxq * CNXK_NB_RXQ_STATS) +
                            (dev->nb_txq * CNXK_NB_TXQ_STATS);
        struct rte_eth_xstat xstats[stat_cnt];