From 81388ad14bce3b468d41e346953a0e16ecae1d48 Mon Sep 17 00:00:00 2001 From: Tomasz Duszynski Date: Sat, 4 Jun 2022 18:26:43 +0200 Subject: [PATCH] common/cnxk: use wider mask to extract RPM ID Some platforms have more RPMs available than the others. Take than into account when retrieving id of a particular RPM. Signed-off-by: Tomasz Duszynski Reviewed-by: Jakub Palider Reviewed-by: Jerin Jacob Tested-by: Jerin Jacob --- drivers/common/cnxk/roc_bphy_cgx.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/drivers/common/cnxk/roc_bphy_cgx.c b/drivers/common/cnxk/roc_bphy_cgx.c index 19baaa6757..a0a0d22f85 100644 --- a/drivers/common/cnxk/roc_bphy_cgx.c +++ b/drivers/common/cnxk/roc_bphy_cgx.c @@ -173,8 +173,14 @@ out: static unsigned int roc_bphy_cgx_dev_id(struct roc_bphy_cgx *roc_cgx) { - uint64_t cgx_id = roc_model_is_cn10k() ? GENMASK_ULL(26, 24) : - GENMASK_ULL(25, 24); + uint64_t cgx_id; + + if (roc_model_is_cnf10kb()) + cgx_id = GENMASK_ULL(27, 24); + else if (roc_model_is_cn10k()) + cgx_id = GENMASK_ULL(26, 24); + else + cgx_id = GENMASK_ULL(25, 24); return FIELD_GET(cgx_id, roc_cgx->bar0_pa); } -- 2.39.5