From: Dirk van der Merwe <dirk.vanderme...@netronome.com>

The management firmware now supports being passed a bundle with
multiple components to be stored in flash at once. This makes it
easier to update all components to a known state with a single
user command, however, this also has the potential to increase
the time required to perform the update significantly.

The management firmware only updates the components out of a bundle
which are outdated, however, we need to make sure we can handle
the absolute worst case where a CPLD update can take a long time
to perform.

We set a very conservative total timeout of 900s which already
adds a contingency.

Signed-off-by: Dirk van der Merwe <dirk.vanderme...@netronome.com>
Reviewed-by: Jakub Kicinski <jakub.kicin...@netronome.com>
---
 drivers/net/ethernet/netronome/nfp/nfpcore/nfp_nsp.c | 5 +----
 1 file changed, 1 insertion(+), 4 deletions(-)

diff --git a/drivers/net/ethernet/netronome/nfp/nfpcore/nfp_nsp.c 
b/drivers/net/ethernet/netronome/nfp/nfpcore/nfp_nsp.c
index dd6256841a37..3a4e224a64b7 100644
--- a/drivers/net/ethernet/netronome/nfp/nfpcore/nfp_nsp.c
+++ b/drivers/net/ethernet/netronome/nfp/nfpcore/nfp_nsp.c
@@ -799,10 +799,7 @@ int nfp_nsp_write_flash(struct nfp_nsp *state, const 
struct firmware *fw)
                {
                        .code           = SPCODE_NSP_WRITE_FLASH,
                        .option         = fw->size,
-                       /* The flash time is specified to take a maximum of 70s
-                        * so we add an additional factor to this spec time.
-                        */
-                       .timeout_sec    = 2.5 * 70,
+                       .timeout_sec    = 900,
                },
                .in_buf         = fw->data,
                .in_size        = fw->size,
-- 
2.19.2

Reply via email to