[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <ZD/D7j+LPRIbP80J@corigine.com>
Date: Wed, 19 Apr 2023 12:35:26 +0200
From: Simon Horman <simon.horman@...igine.com>
To: Sai Krishna <saikrishnag@...vell.com>
Cc: davem@...emloft.net, edumazet@...gle.com, kuba@...nel.org,
pabeni@...hat.com, netdev@...r.kernel.org,
linux-kernel@...r.kernel.org, leon@...nel.org,
sgoutham@...vell.com, gakula@...vell.com, lcherian@...vell.com,
jerinj@...vell.com, hkelam@...vell.com, sbhatta@...vell.com,
Ratheesh Kannoth <rkannoth@...vell.com>
Subject: Re: [net PATCH v3 02/10] octeontx2-af: Fix start and end bit for
scan config
On Wed, Apr 19, 2023 at 11:50:10AM +0530, Sai Krishna wrote:
> From: Ratheesh Kannoth <rkannoth@...vell.com>
>
> Fix the NPC nibble start and end positions in the bit
> map. for_each_set_bit_from() needs start bit as one bit prior
> and end bit as one bit post position in the bit map
>
> Fixes: b747923afff8 ("octeontx2-af: Exact match support")
> Signed-off-by: Ratheesh Kannoth <rkannoth@...vell.com>
> Signed-off-by: Sunil Kovvuri Goutham <sgoutham@...vell.com>
> Signed-off-by: Sai Krishna <saikrishnag@...vell.com>
I think it would be nice to explain why, and what effect this has.
Also, TBH, I'm unsure why the start needs to be one bit prior.
> ---
> drivers/net/ethernet/marvell/octeontx2/af/rvu_npc_fs.c | 5 ++---
> 1 file changed, 2 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/net/ethernet/marvell/octeontx2/af/rvu_npc_fs.c b/drivers/net/ethernet/marvell/octeontx2/af/rvu_npc_fs.c
> index 006beb5cf98d..27603078689a 100644
> --- a/drivers/net/ethernet/marvell/octeontx2/af/rvu_npc_fs.c
> +++ b/drivers/net/ethernet/marvell/octeontx2/af/rvu_npc_fs.c
> @@ -593,9 +593,8 @@ static int npc_scan_kex(struct rvu *rvu, int blkaddr, u8 intf)
> * exact match code.
> */
> 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) {
> + bitnr = NPC_EXACT_NIBBLE_START - 1;
> + 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++;
> }
> --
> 2.25.1
>
Powered by blists - more mailing lists