[PATCH net-next v7 5/5] net: dsa: mxl862xx: document devlink flash and info support
Daniel Golle <[email protected]>
| Newsgroups | org.kernel.vger.linux-doc,org.kernel.vger.linux-kernel,org.kernel.vger.netdev |
|---|---|
| Message-ID | <3f8c975d3c4c609b0c373429ea24f8e9a65d9e44.1785274610.git.daniel@makrotopia.org> |
Describe the devlink info versions and the flash update behaviour, including the MCUboot rescue mode recovery, in a dedicated file under Documentation/networking/devlink/ and link it from the index. Add the new file to the driver's MAINTAINERS entry. Signed-off-by: Daniel Golle <[email protected]> --- v7: no changes v6: no changes v5: new patch, splitting the devlink documentation out of the flash update and rescue mode recovery patches so each keeps to code (Jakub Kicinski asked for the documentation) Documentation/networking/devlink/index.rst | 1 + Documentation/networking/devlink/mxl862xx.rst | 63 +++++++++++++++++++ MAINTAINERS | 1 + 3 files changed, 65 insertions(+) create mode 100644 Documentation/networking/devlink/mxl862xx.rst diff --git a/Documentation/networking/devlink/index.rst b/Documentation/networking/devlink/index.rst index 4745148fecf4..058999d0dc56 100644 --- a/Documentation/networking/devlink/index.rst +++ b/Documentation/networking/devlink/index.rst @@ -94,6 +94,7 @@ parameters, info versions, and other features it supports. mlx5 mlxsw mv88e6xxx + mxl862xx netdevsim nfp octeontx2 diff --git a/Documentation/networking/devlink/mxl862xx.rst b/Documentation/networking/devlink/mxl862xx.rst new file mode 100644 index 000000000000..b3e9f7d4d496 --- /dev/null +++ b/Documentation/networking/devlink/mxl862xx.rst @@ -0,0 +1,63 @@ +.. SPDX-License-Identifier: GPL-2.0 + +======================== +mxl862xx devlink support +======================== + +This document describes the devlink features implemented by the +``mxl862xx`` device driver. + +Info versions +============= + +The ``mxl862xx`` driver reports the following versions + +.. list-table:: devlink info versions implemented + :widths: 5 5 5 85 + + * - Name + - Type + - Example + - Description + * - ``asic.id`` + - fixed + - 8628 + - The chip part number read from the CHIP ID registers. Not + reported for a switch sitting in MCUboot rescue mode as the + registers are only accessible with a running firmware. + * - ``asic.rev`` + - fixed + - 0 + - The chip version read from the CHIP ID registers. Not reported + in MCUboot rescue mode either. + * - ``fw`` + - running, stored + - 1.0.70 + - Version of the firmware running on the switch, reported as both + running and stored since the switch boots it from its own flash. + In MCUboot rescue mode nothing is reported while an interrupted + download is still being recovered in the background; once the + loader is ready to accept a new image the version is reported (as + both running and stored), which is the signal that a flash will be + accepted. It reads "0.0.0" when the switch came up straight into + MCUboot without ever running firmware. + +Flash update +============ + +The ``mxl862xx`` driver implements support for ``devlink dev flash``. +The signed firmware image is transferred to the switch over the same +MDIO bus which is also used to manage the switch, then verified and +installed by the MCUboot bootloader running on the switch. All ports +of the switch are closed for the duration of the update and the driver +reprobes the switch after it has rebooted into the new firmware. A +complete flash and reprobe cycle takes about one minute. + +A switch stuck in MCUboot rescue mode, e.g. after an interrupted +update, is registered without user ports. If the previous download was +interrupted mid-transfer the loader is wedged; the driver drains it +back to a clean ready state in the background, which can easily take +more than 10 minutes. During that recovery ``devlink dev info`` reports +no firmware version and ``devlink dev flash`` returns ``-EBUSY``. +Once the loader is ready the firmware version appears and flashing a +firmware image through the regular update flow recovers the switch. diff --git a/MAINTAINERS b/MAINTAINERS index 2d420d40782e..ed58911ef264 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -16107,6 +16107,7 @@ M: Daniel Golle <[email protected]> L: [email protected] S: Maintained F: Documentation/devicetree/bindings/net/dsa/maxlinear,mxl862xx.yaml +F: Documentation/networking/devlink/mxl862xx.rst F: drivers/net/dsa/mxl862xx/ F: net/dsa/tag_mxl862xx.c -- 2.55.0