X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=drivers%2Fnet%2Focteontx2%2Fotx2_stats.c;h=8aaf270a7ca369edef5c184b4c298537cce1bf9d;hb=b37ed6def36798342172f298516c5fc6d0d8e070;hp=5eca4184f4cef90637d5c837b7233eab613dab25;hpb=c870701592c2d8d92d836a68e029a74ca024aa98;p=dpdk.git diff --git a/drivers/net/octeontx2/otx2_stats.c b/drivers/net/octeontx2/otx2_stats.c index 5eca4184f4..8aaf270a7c 100644 --- a/drivers/net/octeontx2/otx2_stats.c +++ b/drivers/net/octeontx2/otx2_stats.c @@ -131,14 +131,16 @@ otx2_nix_dev_stats_get(struct rte_eth_dev *eth_dev, return 0; } -void +int otx2_nix_dev_stats_reset(struct rte_eth_dev *eth_dev) { struct otx2_eth_dev *dev = otx2_eth_pmd_priv(eth_dev); struct otx2_mbox *mbox = dev->mbox; - otx2_mbox_alloc_msg_nix_stats_rst(mbox); - otx2_mbox_process(mbox); + if (otx2_mbox_alloc_msg_nix_stats_rst(mbox) == NULL) + return -ENOMEM; + + return otx2_mbox_process(mbox); } int @@ -296,7 +298,7 @@ otx2_nix_xstats_get_by_id(struct rte_eth_dev *eth_dev, const uint64_t *ids, return n; } -static void +static int nix_queue_stats_reset(struct rte_eth_dev *eth_dev) { struct otx2_eth_dev *dev = otx2_eth_pmd_priv(eth_dev); @@ -314,7 +316,7 @@ nix_queue_stats_reset(struct rte_eth_dev *eth_dev) rc = otx2_mbox_process_msg(mbox, (void *)&rsp); if (rc) { otx2_err("Failed to read rq context"); - return; + return rc; } aq = otx2_mbox_alloc_msg_nix_aq_enq(mbox); aq->qidx = i; @@ -336,7 +338,7 @@ nix_queue_stats_reset(struct rte_eth_dev *eth_dev) rc = otx2_mbox_process(mbox); if (rc) { otx2_err("Failed to write rq context"); - return; + return rc; } } @@ -348,7 +350,7 @@ nix_queue_stats_reset(struct rte_eth_dev *eth_dev) rc = otx2_mbox_process_msg(mbox, (void *)&rsp); if (rc) { otx2_err("Failed to read sq context"); - return; + return rc; } aq = otx2_mbox_alloc_msg_nix_aq_enq(mbox); aq->qidx = i; @@ -368,20 +370,27 @@ nix_queue_stats_reset(struct rte_eth_dev *eth_dev) rc = otx2_mbox_process(mbox); if (rc) { otx2_err("Failed to write sq context"); - return; + return rc; } } + + return 0; } -void +int otx2_nix_xstats_reset(struct rte_eth_dev *eth_dev) { struct otx2_eth_dev *dev = otx2_eth_pmd_priv(eth_dev); struct otx2_mbox *mbox = dev->mbox; + int ret; + + if (otx2_mbox_alloc_msg_nix_stats_rst(mbox) == NULL) + return -ENOMEM; - otx2_mbox_alloc_msg_nix_stats_rst(mbox); - otx2_mbox_process(mbox); + ret = otx2_mbox_process(mbox); + if (ret != 0) + return ret; /* Reset queue stats */ - nix_queue_stats_reset(eth_dev); + return nix_queue_stats_reset(eth_dev); }