[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20250318153627.95030-5-jiri@resnulli.us>
Date: Tue, 18 Mar 2025 16:36:27 +0100
From: Jiri Pirko <jiri@...nulli.us>
To: netdev@...r.kernel.org
Cc: davem@...emloft.net,
edumazet@...gle.com,
kuba@...nel.org,
pabeni@...hat.com,
saeedm@...dia.com,
leon@...nel.org,
tariqt@...dia.com,
andrew+netdev@...n.ch,
horms@...nel.org,
donald.hunter@...il.com,
parav@...dia.com
Subject: [PATCH net-next 4/4] net/mlx5: Expose function UID in devlink info
From: Jiri Pirko <jiri@...dia.com>
Devlink info allows to expose function UID.
Get the value from PCI VPD and expose it.
$ devlink dev info
pci/0000:08:00.0:
driver mlx5_core
serial_number e4397f872caeed218000846daa7d2f49
board.serial_number MT2314XZ00YA
function.uid MT2314XZ00YAMLNXS0D0F0
versions:
fixed:
fw.psid MT_0000000894
running:
fw.version 28.41.1000
fw 28.41.1000
stored:
fw.version 28.41.1000
fw 28.41.1000
auxiliary/mlx5_core.eth.0:
driver mlx5_core.eth
pci/0000:08:00.1:
driver mlx5_core
serial_number e4397f872caeed218000846daa7d2f49
board.serial_number MT2314XZ00YA
function.uid MT2314XZ00YAMLNXS0D0F1
versions:
fixed:
fw.psid MT_0000000894
running:
fw.version 28.41.1000
fw 28.41.1000
stored:
fw.version 28.41.1000
fw 28.41.1000
auxiliary/mlx5_core.eth.1:
driver mlx5_core.eth
Signed-off-by: Jiri Pirko <jiri@...dia.com>
Reviewed-by: Parav Pandit <parav@...dia.com>
---
drivers/net/ethernet/mellanox/mlx5/core/devlink.c | 13 +++++++++++++
1 file changed, 13 insertions(+)
diff --git a/drivers/net/ethernet/mellanox/mlx5/core/devlink.c b/drivers/net/ethernet/mellanox/mlx5/core/devlink.c
index be0ae26d1582..6caaf174f44d 100644
--- a/drivers/net/ethernet/mellanox/mlx5/core/devlink.c
+++ b/drivers/net/ethernet/mellanox/mlx5/core/devlink.c
@@ -75,6 +75,19 @@ static int mlx5_devlink_serial_numbers_put(struct mlx5_core_dev *dev,
kfree(str);
}
+ start = pci_vpd_find_ro_info_keyword(vpd_data, vpd_size, "VU", &kw_len);
+ if (start >= 0) {
+ str = kstrndup(vpd_data + start, kw_len, GFP_KERNEL);
+ if (!str) {
+ err = -ENOMEM;
+ goto end;
+ }
+ end = strchrnul(str, ' ');
+ *end = '\0';
+ err = devlink_info_function_uid_put(req, str);
+ kfree(str);
+ }
+
end:
kfree(vpd_data);
return err;
--
2.48.1
Powered by blists - more mailing lists