octeontx2-af: Fix depth of cam and mem table.
authorRatheesh Kannoth <rkannoth@marvell.com>
Wed, 3 May 2023 07:09:36 +0000 (12:39 +0530)
committerDavid S. Miller <davem@davemloft.net>
Wed, 3 May 2023 08:02:59 +0000 (09:02 +0100)
In current driver, NPC cam and mem table sizes are read from wrong
register offset. This patch fixes the register offset so that correct
values are populated on read.

Fixes: b747923afff8 ("octeontx2-af: Exact match support")
Signed-off-by: Ratheesh Kannoth <rkannoth@marvell.com>
Signed-off-by: Sunil Kovvuri Goutham <sgoutham@marvell.com>
Signed-off-by: Sai Krishna <saikrishnag@marvell.com>
Reviewed-by: Simon Horman <simon.horman@corigine.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/marvell/octeontx2/af/rvu_npc_hash.c

index 20ebb9c..6597af8 100644 (file)
@@ -1868,9 +1868,9 @@ int rvu_npc_exact_init(struct rvu *rvu)
        rvu->hw->table = table;
 
        /* Read table size, ways and depth */
-       table->mem_table.depth = FIELD_GET(GENMASK_ULL(31, 24), npc_const3);
        table->mem_table.ways = FIELD_GET(GENMASK_ULL(19, 16), npc_const3);
-       table->cam_table.depth = FIELD_GET(GENMASK_ULL(15, 0), npc_const3);
+       table->mem_table.depth = FIELD_GET(GENMASK_ULL(15, 0), npc_const3);
+       table->cam_table.depth = FIELD_GET(GENMASK_ULL(31, 24), npc_const3);
 
        dev_dbg(rvu->dev, "%s: NPC exact match 4way_2k table(ways=%d, depth=%d)\n",
                __func__,  table->mem_table.ways, table->cam_table.depth);