[PATCH 12/14] common/cnxk: update mode param for link speed

Rahul Bhansali rbhansali at marvell.com
Thu Sep 17 09:10:14 CEST 2026


From: Alok Mishra <almishra at marvell.com>

Populate mode for kernels that uses args.mode for link speed
update.

Signed-off-by: Alok Mishra <almishra at marvell.com>
---
 drivers/common/cnxk/roc_nix_mac.c | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/drivers/common/cnxk/roc_nix_mac.c b/drivers/common/cnxk/roc_nix_mac.c
index 4f856677e0..2c8c9a6443 100644
--- a/drivers/common/cnxk/roc_nix_mac.c
+++ b/drivers/common/cnxk/roc_nix_mac.c
@@ -316,6 +316,7 @@ roc_nix_mac_link_info_set(struct roc_nix *roc_nix,
 	struct dev *dev = &nix->dev;
 	struct mbox *mbox = mbox_get(dev->mbox);
 	struct cgx_set_link_mode_req *req;
+	struct cgx_set_link_mode_rsp *rsp;
 	int rc;
 
 	req = mbox_alloc_msg_cgx_set_link_mode(mbox);
@@ -329,8 +330,14 @@ roc_nix_mac_link_info_set(struct roc_nix *roc_nix,
 	req->args.duplex = link_info->full_duplex;
 	req->args.an = link_info->autoneg;
 
+	/* Populate mode for kernels that select it from args.mode. */
+	if (link_info->advertising)
+		req->args.mode = plt_ctz64(link_info->advertising);
+
 	/* Link mode changes takes more time. */
-	rc = mbox_process_tmo(mbox, mbox->rsp_tmo * 4);
+	rc = mbox_process_msg_tmo(mbox, (void **)&rsp, mbox->rsp_tmo * 4);
+	if (!rc)
+		rc = rsp->status;
 exit:
 	mbox_put(mbox);
 	return rc;
-- 
2.34.1



More information about the dev mailing list