[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20220725082925.366455-1-jiri@resnulli.us>
Date: Mon, 25 Jul 2022 10:29:13 +0200
From: Jiri Pirko <jiri@...nulli.us>
To: netdev@...r.kernel.org
Cc: davem@...emloft.net, kuba@...nel.org, idosch@...dia.com,
petrm@...dia.com, pabeni@...hat.com, edumazet@...gle.com,
mlxsw@...dia.com, saeedm@...dia.com, snelson@...sando.io
Subject: [patch net-next v4 00/12] Implement dev info and dev flash for line cards
From: Jiri Pirko <jiri@...dia.com>
This patchset implements two features:
1) "devlink dev info" is exposed for line card (patches 6-9)
2) "devlink dev flash" is implemented for line card gearbox
flashing (patch 10)
For every line card, "a nested" auxiliary device is created which
allows to bind the features mentioned above (patch 4).
The relationship between line card and its auxiliary dev devlink
is carried over extra line card netlink attribute (patches 3 and 5).
The first patch removes devlink_mutex from devlink_register/unregister()
which eliminates possible deadlock during devlink reload command. The
second patchset follows up with putting net pointer check into new
helper.
Examples:
$ devlink lc show pci/0000:01:00.0 lc 1
pci/0000:01:00.0:
lc 1 state active type 16x100G nested_devlink auxiliary/mlxsw_core.lc.0
supported_types:
16x100G
$ devlink dev show auxiliary/mlxsw_core.lc.0
auxiliary/mlxsw_core.lc.0
$ devlink dev info auxiliary/mlxsw_core.lc.0
auxiliary/mlxsw_core.lc.0:
versions:
fixed:
hw.revision 0
fw.psid MT_0000000749
running:
ini.version 4
fw 19.2010.1312
$ devlink dev flash auxiliary/mlxsw_core.lc.0 file mellanox/fw-AGB-rel-19_2010_1312-022-EVB.mfa2
Jiri Pirko (12):
net: devlink: make sure that devlink_try_get() works with valid
pointer during xarray iteration
net: devlink: move net check into
devlinks_xa_for_each_registered_get()
net: devlink: introduce nested devlink entity for line card
mlxsw: core_linecards: Introduce per line card auxiliary device
mlxsw: core_linecards: Expose HW revision and INI version
mlxsw: reg: Extend MDDQ by device_info
mlxsw: core_linecards: Probe active line cards for devices and expose
FW version
mlxsw: reg: Add Management DownStream Device Tunneling Register
mlxsw: core_linecards: Expose device PSID over device info
mlxsw: core_linecards: Implement line card device flashing
selftests: mlxsw: Check line card info on provisioned line card
selftests: mlxsw: Check line card info on activated line card
Documentation/networking/devlink/mlxsw.rst | 24 ++
drivers/net/ethernet/mellanox/mlxsw/Kconfig | 1 +
drivers/net/ethernet/mellanox/mlxsw/Makefile | 2 +-
drivers/net/ethernet/mellanox/mlxsw/core.c | 44 +-
drivers/net/ethernet/mellanox/mlxsw/core.h | 35 ++
.../mellanox/mlxsw/core_linecard_dev.c | 184 ++++++++
.../ethernet/mellanox/mlxsw/core_linecards.c | 405 ++++++++++++++++++
drivers/net/ethernet/mellanox/mlxsw/reg.h | 173 +++++++-
include/net/devlink.h | 2 +
include/uapi/linux/devlink.h | 2 +
net/core/devlink.c | 288 ++++++-------
.../drivers/net/mlxsw/devlink_linecard.sh | 54 +++
12 files changed, 1043 insertions(+), 171 deletions(-)
create mode 100644 drivers/net/ethernet/mellanox/mlxsw/core_linecard_dev.c
--
2.35.3
Powered by blists - more mailing lists