On Monday 18 September 2017 08:27 PM, Ferruh Yigit wrote:
On 9/9/2017 12:21 PM, Shreyansh Jain wrote:
From: Hemant Agrawal <hemant.agra...@nxp.com>

Signed-off-by: Hemant Agrawal <hemant.agra...@nxp.com>

<...>

+static int
+dpaa_dev_xstats_get(struct rte_eth_dev *dev, struct rte_eth_xstat *xstats,
+                   unsigned int n)
+{
+       struct dpaa_if *dpaa_intf = dev->data->dev_private;
+       unsigned int i = 0, num = RTE_DIM(dpaa_xstats_strings);
+       uint64_t values[sizeof(struct dpaa_if_stats) / 8];
+
+       if (xstats == NULL)
+               return 0;

This is a little not clear from API definition, but I guess when xstats
is NULL, it should return num of available stats, "num" for this case. I
guess there are PMDs implements both, can you please double check?

Ok. I will check again.


+
+       if (n < num)
+               return num;
+
+       fman_if_stats_get_all(dpaa_intf->fif, values,
+                             sizeof(struct dpaa_if_stats) / 8);
+
+       for (i = 0; i < num; i++) {
+               xstats[i].id = i;
+               xstats[i].value = values[dpaa_xstats_strings[i].offset / 8];
+       }
+       return i;
+}

<...>


Reply via email to