otx2_get_qset_strings(pfvf, &data, 0);
 
-       for (stats = 0; stats < CGX_RX_STATS_COUNT; stats++) {
-               sprintf(data, "cgx_rxstat%d: ", stats);
-               data += ETH_GSTRING_LEN;
-       }
+       if (!test_bit(CN10K_RPM, &pfvf->hw.cap_flag)) {
+               for (stats = 0; stats < CGX_RX_STATS_COUNT; stats++) {
+                       sprintf(data, "cgx_rxstat%d: ", stats);
+                       data += ETH_GSTRING_LEN;
+               }
 
-       for (stats = 0; stats < CGX_TX_STATS_COUNT; stats++) {
-               sprintf(data, "cgx_txstat%d: ", stats);
-               data += ETH_GSTRING_LEN;
+               for (stats = 0; stats < CGX_TX_STATS_COUNT; stats++) {
+                       sprintf(data, "cgx_txstat%d: ", stats);
+                       data += ETH_GSTRING_LEN;
+               }
        }
 
        strcpy(data, "reset_count");
                                                [otx2_drv_stats[stat].index]);
 
        otx2_get_qset_stats(pfvf, stats, &data);
-       otx2_update_lmac_stats(pfvf);
-       for (stat = 0; stat < CGX_RX_STATS_COUNT; stat++)
-               *(data++) = pfvf->hw.cgx_rx_stats[stat];
-       for (stat = 0; stat < CGX_TX_STATS_COUNT; stat++)
-               *(data++) = pfvf->hw.cgx_tx_stats[stat];
+
+       if (!test_bit(CN10K_RPM, &pfvf->hw.cap_flag)) {
+               otx2_update_lmac_stats(pfvf);
+               for (stat = 0; stat < CGX_RX_STATS_COUNT; stat++)
+                       *(data++) = pfvf->hw.cgx_rx_stats[stat];
+               for (stat = 0; stat < CGX_TX_STATS_COUNT; stat++)
+                       *(data++) = pfvf->hw.cgx_tx_stats[stat];
+       }
+
        *(data++) = pfvf->reset_count;
 
        fec_corr_blks = pfvf->hw.cgx_fec_corr_blks;
 static int otx2_get_sset_count(struct net_device *netdev, int sset)
 {
        struct otx2_nic *pfvf = netdev_priv(netdev);
-       int qstats_count;
+       int qstats_count, mac_stats = 0;
 
        if (sset != ETH_SS_STATS)
                return -EINVAL;
 
        qstats_count = otx2_n_queue_stats *
                       (pfvf->hw.rx_queues + pfvf->hw.tx_queues);
+       if (!test_bit(CN10K_RPM, &pfvf->hw.cap_flag))
+               mac_stats = CGX_RX_STATS_COUNT + CGX_TX_STATS_COUNT;
        otx2_update_lmac_fec_stats(pfvf);
 
        return otx2_n_dev_stats + otx2_n_drv_stats + qstats_count +
-              CGX_RX_STATS_COUNT + CGX_TX_STATS_COUNT + OTX2_FEC_STATS_CNT
-              + 1;
+              mac_stats + OTX2_FEC_STATS_CNT + 1;
 }
 
 /* Get no of queues device supports and current queue count */