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 <tduszyn...@marvell.com>
Reviewed-by: Jakub Palider <jpali...@marvell.com>
Reviewed-by: Jerin Jacob Kollanukkaran <jer...@marvell.com>
Tested-by: Jerin Jacob Kollanukkaran <jer...@marvell.com>
---
 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 @@ roc_bphy_cgx_intf_req(struct roc_bphy_cgx *roc_cgx, 
unsigned int lmac,
 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.25.1

Reply via email to