net: mscc: ocelot: debugging print for statistics regions
authorVladimir Oltean <vladimir.oltean@nxp.com>
Wed, 12 Apr 2023 12:47:32 +0000 (15:47 +0300)
committerJakub Kicinski <kuba@kernel.org>
Fri, 14 Apr 2023 04:56:06 +0000 (21:56 -0700)
To make it easier to debug future issues with statistics counters not
getting aggregated properly into regions, like what happened in commit
6acc72a43eac ("net: mscc: ocelot: fix stats region batching"), add some
dev_dbg() prints which show the regions that were dynamically
determined.

Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com>
Reviewed-by: Jacob Keller <jacob.e.keller@intel.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/mscc/ocelot_stats.c

index d0e6cd8..b50d9d9 100644 (file)
@@ -925,6 +925,15 @@ static int ocelot_prepare_stats_regions(struct ocelot *ocelot)
        }
 
        list_for_each_entry(region, &ocelot->stats_regions, node) {
+               enum ocelot_target target;
+               u32 addr;
+
+               ocelot_reg_to_target_addr(ocelot, region->base, &target,
+                                         &addr);
+
+               dev_dbg(ocelot->dev,
+                       "region of %d contiguous counters starting with SYS:STAT:CNT[0x%03x]\n",
+                       region->count, addr / 4);
                region->buf = devm_kcalloc(ocelot->dev, region->count,
                                           sizeof(*region->buf), GFP_KERNEL);
                if (!region->buf)