octeontx2-af: Fix issue with loading coalesced KPU profiles

commit 0ba80d96585662299d4ea4624043759ce9015421 upstream.

The current implementation for loading coalesced KPU profiles has
a limitation.  The "offset" field, which is used to locate profiles
within the profile is restricted to a u16.

This restricts the number of profiles that can be loaded. This patch
addresses this limitation by increasing the size of the "offset" field.

Fixes: 11c730bfbf ("octeontx2-af: support for coalescing KPU profiles")
Signed-off-by: Hariprasad Kelam <hkelam@marvell.com>
Reviewed-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Hariprasad Kelam
2024-03-26 17:51:49 +05:30
committed by Greg Kroah-Hartman
parent 940ff35ae8
commit 39efe5b6f6

View File

@@ -1669,7 +1669,7 @@ static int npc_fwdb_detect_load_prfl_img(struct rvu *rvu, uint64_t prfl_sz,
struct npc_coalesced_kpu_prfl *img_data = NULL; struct npc_coalesced_kpu_prfl *img_data = NULL;
int i = 0, rc = -EINVAL; int i = 0, rc = -EINVAL;
void __iomem *kpu_prfl_addr; void __iomem *kpu_prfl_addr;
u16 offset; u32 offset;
img_data = (struct npc_coalesced_kpu_prfl __force *)rvu->kpu_prfl_addr; img_data = (struct npc_coalesced_kpu_prfl __force *)rvu->kpu_prfl_addr;
if (le64_to_cpu(img_data->signature) == KPU_SIGN && if (le64_to_cpu(img_data->signature) == KPU_SIGN &&