From 1cc8413aaf5f8fa6595aece1933462c096e88639 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Mon, 29 Apr 2024 06:41:05 +0200 Subject: Adding upstream version 2.4+really2.3. Signed-off-by: Daniel Baumann --- Documentation/nvme-fw-download.txt | 68 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 Documentation/nvme-fw-download.txt (limited to 'Documentation/nvme-fw-download.txt') diff --git a/Documentation/nvme-fw-download.txt b/Documentation/nvme-fw-download.txt new file mode 100644 index 0000000..84e407e --- /dev/null +++ b/Documentation/nvme-fw-download.txt @@ -0,0 +1,68 @@ +nvme-fw-download(1) +=================== + +NAME +---- +nvme-fw-download - Download all or a portion of an nvme firmware image. + +SYNOPSIS +-------- +[verse] +'nvme fw-download' [--fw= | -f ] + [--xfer= | -x ] + [--offset= | -o ] + +DESCRIPTION +----------- +The Firmware Image Download command is used to download all or a portion +of the firmware image for a future update to the controller. The Firmware +Image Download command may be submitted while other commands on the Admin +Submission Queue or I/O Submission Queues are outstanding. The Firmware +Image Download command copies the new firmware image (in whole or in part) +to the controller. + +The firmware image may be constructed of multiple pieces that +are individually downloaded with separate Firmware Image Download +commands. Each Firmware Image Download command includes a Dword +Offset and Number of Dwords that specify a Dword range. The host +software shall ensure that firmware pieces do not have Dword ranges +that overlap. Firmware portions may be submitted out of order to the +controller. + +The new firmware image is not applied as part of the Firmware Image +Download command. It is applied following a reset, where the image to +apply and the firmware slot it should be committed to is specified with +the Firmware Commit command (nvme fw-commit ). + +OPTIONS +------- +-f :: +--fw=:: + Required argument. This specifies the path to the device's + firmware file on your system that will be read by the program + and sent to the device. + +-x :: +--xfer=:: + This specifies the size to split each transfer. This is useful if + the device has a max transfer size requirement for firmware. It + defaults to 4k. + +-o :: +--offset=:: + This specifies the starting offset in dwords. This is really only + useful if your firmware is split in multiple files; otherwise + the offset starts at zero and automatically adjusts based on the + 'xfer' size given. + +EXAMPLES +-------- +* Transfer a firmware size 128KiB at a time: ++ +------------ +# nvme fw-download /dev/nvme0 --fw=/path/to/nvme.fw --xfer=0x20000 +------------ + +NVME +---- +Part of the nvme-user suite -- cgit v1.2.3