octeontx2-af: Fix start and end bit for scan config
authorRatheesh Kannoth <rkannoth@marvell.com>
Wed, 3 May 2023 07:09:35 +0000 (12:39 +0530)
committerDavid S. Miller <davem@davemloft.net>
Wed, 3 May 2023 08:02:59 +0000 (09:02 +0100)
In the current driver, NPC exact match feature was not getting
enabled as configured bit was not read properly.
for_each_set_bit_from() need end bit as one bit post
position in the bit map to read NPC exact nibble enable
bits properly. This patch fixes the same.

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>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/marvell/octeontx2/af/rvu_npc_fs.c

index 006beb5cf98dd16cff1bcc65562f827e112cee6b..f15efd41972ee04a46173b4a75a3f1af3bb85dfc 100644 (file)
@@ -594,8 +594,7 @@ static int npc_scan_kex(struct rvu *rvu, int blkaddr, u8 intf)
         */
        masked_cfg = cfg & NPC_EXACT_NIBBLE;
        bitnr = NPC_EXACT_NIBBLE_START;
-       for_each_set_bit_from(bitnr, (unsigned long *)&masked_cfg,
-                             NPC_EXACT_NIBBLE_START) {
+       for_each_set_bit_from(bitnr, (unsigned long *)&masked_cfg, NPC_EXACT_NIBBLE_END + 1) {
                npc_scan_exact_result(mcam, bitnr, key_nibble, intf);
                key_nibble++;
        }