octeontx2-af: Check whether ipolicers exists
authorSubbaraya Sundeep <sbhatta@marvell.com>
Wed, 27 Oct 2021 17:32:32 +0000 (23:02 +0530)
committerDavid S. Miller <davem@davemloft.net>
Thu, 28 Oct 2021 13:47:36 +0000 (14:47 +0100)
While displaying ingress policers information in
debugfs check whether ingress policers exist in
the hardware or not because some platforms(CN9XXX)
do not have this feature.

Fixes: e7d8971763f3 ("octeontx2-af: cn10k: Debugfs support for bandwidth")
Signed-off-by: Subbaraya Sundeep <sbhatta@marvell.com>
Signed-off-by: Rakesh Babu <rsaladi2@marvell.com>
Signed-off-by: Sunil Kovvuri Goutham <sgoutham@marvell.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/marvell/octeontx2/af/rvu_debugfs.c

index 9338765da048be9eb9050b7e34a87370b0da14e7..6c589ca9b577e4cb6a097b7ca8f8fc796ca5bdd3 100644 (file)
@@ -1719,6 +1719,10 @@ static int rvu_dbg_nix_band_prof_ctx_display(struct seq_file *m, void *unused)
        u16 pcifunc;
        char *str;
 
+       /* Ingress policers do not exist on all platforms */
+       if (!nix_hw->ipolicer)
+               return 0;
+
        for (layer = 0; layer < BAND_PROF_NUM_LAYERS; layer++) {
                if (layer == BAND_PROF_INVAL_LAYER)
                        continue;
@@ -1768,6 +1772,10 @@ static int rvu_dbg_nix_band_prof_rsrc_display(struct seq_file *m, void *unused)
        int layer;
        char *str;
 
+       /* Ingress policers do not exist on all platforms */
+       if (!nix_hw->ipolicer)
+               return 0;
+
        seq_puts(m, "\nBandwidth profile resource free count\n");
        seq_puts(m, "=====================================\n");
        for (layer = 0; layer < BAND_PROF_NUM_LAYERS; layer++) {