|
|
e0018b |
From 475cb041a97d3c7140efd1b0cda820fb22b69d11 Mon Sep 17 00:00:00 2001
|
|
|
e0018b |
From: Dan Williams <dan.j.williams@intel.com>
|
|
|
e0018b |
Date: Wed, 5 Jan 2022 13:31:44 -0800
|
|
|
e0018b |
Subject: [PATCH 069/217] ndctl/docs: Clarify update-firwmware activation
|
|
|
e0018b |
'overflow' conditions
|
|
|
e0018b |
|
|
|
e0018b |
Give examples and remediation for "overflow" events, i.e. where the
|
|
|
e0018b |
estimated time to complete activation exceeds the platform advertised
|
|
|
e0018b |
maximum. When that happens forced activation can lead to undefined results.
|
|
|
e0018b |
|
|
|
e0018b |
Link: https://lore.kernel.org/r/164141830490.3990253.6263569501446070716.stgit@dwillia2-desk3.amr.corp.intel.com
|
|
|
e0018b |
Tested-by: Alison Schofield <alison.schofield@intel.com>
|
|
|
e0018b |
Tested-by: Vaibhav Jain <vaibhav@linux.ibm.com>
|
|
|
e0018b |
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
|
|
|
e0018b |
Signed-off-by: Vishal Verma <vishal.l.verma@intel.com>
|
|
|
e0018b |
---
|
|
|
e0018b |
Documentation/ndctl/ndctl-update-firmware.txt | 64 ++++++++++++++++++-
|
|
|
e0018b |
1 file changed, 63 insertions(+), 1 deletion(-)
|
|
|
e0018b |
|
|
|
e0018b |
diff --git a/Documentation/ndctl/ndctl-update-firmware.txt b/Documentation/ndctl/ndctl-update-firmware.txt
|
|
|
e0018b |
index 1080d62..6166457 100644
|
|
|
e0018b |
--- a/Documentation/ndctl/ndctl-update-firmware.txt
|
|
|
e0018b |
+++ b/Documentation/ndctl/ndctl-update-firmware.txt
|
|
|
e0018b |
@@ -58,7 +58,69 @@ include::xable-bus-options.txt[]
|
|
|
e0018b |
Arm a device for firmware activation. This is enabled by default
|
|
|
e0018b |
when a firmware image is specified. Specify --no-arm to disable
|
|
|
e0018b |
this default. Otherwise, without a firmware image, this option can be
|
|
|
e0018b |
- used to manually arm a device for firmware activate.
|
|
|
e0018b |
+ used to manually arm a device for firmware activate. When a
|
|
|
e0018b |
+ device transitions from unarmed to armed the platform recalculates the
|
|
|
e0018b |
+ firmware activation time and compares it against the maximum platform
|
|
|
e0018b |
+ supported time. If the activation time would exceed the platform maximum the
|
|
|
e0018b |
+ arm attempt is aborted:
|
|
|
e0018b |
+
|
|
|
e0018b |
+[verse]
|
|
|
e0018b |
+ndctl update-firmware --arm --bus=nfit_test.0 all
|
|
|
e0018b |
+ Error: update firmware: nmem4: arm aborted, tripped overflow
|
|
|
e0018b |
+[
|
|
|
e0018b |
+ {
|
|
|
e0018b |
+ "dev":"nmem1",
|
|
|
e0018b |
+ "id":"cdab-0a-07e0-ffffffff",
|
|
|
e0018b |
+ "handle":"0",
|
|
|
e0018b |
+ "phys_id":"0",
|
|
|
e0018b |
+ "security":"disabled",
|
|
|
e0018b |
+ "firmware":{
|
|
|
e0018b |
+ "current_version":"0",
|
|
|
e0018b |
+ "can_update":true
|
|
|
e0018b |
+ }
|
|
|
e0018b |
+ },
|
|
|
e0018b |
+ {
|
|
|
e0018b |
+ "dev":"nmem3",
|
|
|
e0018b |
+ "id":"cdab-0a-07e0-fffeffff",
|
|
|
e0018b |
+ "handle":"0x100",
|
|
|
e0018b |
+ "phys_id":"0x2",
|
|
|
e0018b |
+ "security":"disabled",
|
|
|
e0018b |
+ "firmware":{
|
|
|
e0018b |
+ "current_version":"0",
|
|
|
e0018b |
+ "can_update":true
|
|
|
e0018b |
+ }
|
|
|
e0018b |
+ },
|
|
|
e0018b |
+ {
|
|
|
e0018b |
+ "dev":"nmem2",
|
|
|
e0018b |
+ "id":"cdab-0a-07e0-feffffff",
|
|
|
e0018b |
+ "handle":"0x1",
|
|
|
e0018b |
+ "phys_id":"0x1",
|
|
|
e0018b |
+ "security":"disabled",
|
|
|
e0018b |
+ "firmware":{
|
|
|
e0018b |
+ "current_version":"0",
|
|
|
e0018b |
+ "can_update":true
|
|
|
e0018b |
+ }
|
|
|
e0018b |
+ }
|
|
|
e0018b |
+]
|
|
|
e0018b |
+updated 3 nmems.
|
|
|
e0018b |
+
|
|
|
e0018b |
+ It is possible, but not recommended, to ignore timeout overflows
|
|
|
e0018b |
+ with the --force option. At any point to view the 'armed' state of the
|
|
|
e0018b |
+ bus do:
|
|
|
e0018b |
+
|
|
|
e0018b |
+[verse]
|
|
|
e0018b |
+ndctl list -BF -b nfit_test.0
|
|
|
e0018b |
+[
|
|
|
e0018b |
+ {
|
|
|
e0018b |
+ "provider":"nfit_test.0",
|
|
|
e0018b |
+ "dev":"ndbus2",
|
|
|
e0018b |
+ "scrub_state":"idle",
|
|
|
e0018b |
+ "firmware":{
|
|
|
e0018b |
+ "activate_method":"suspend",
|
|
|
e0018b |
+ "activate_state":"overflow"
|
|
|
e0018b |
+ }
|
|
|
e0018b |
+ }
|
|
|
e0018b |
+]
|
|
|
e0018b |
|
|
|
e0018b |
-D::
|
|
|
e0018b |
--disarm::
|
|
|
e0018b |
--
|
|
|
e0018b |
2.27.0
|
|
|
e0018b |
|