OSDN Git Service

nfp: nsp: set higher timeout for flash bundle
authorDirk van der Merwe <dirk.vandermerwe@netronome.com>
Wed, 27 Feb 2019 04:19:33 +0000 (20:19 -0800)
committerDavid S. Miller <davem@davemloft.net>
Fri, 1 Mar 2019 19:36:01 +0000 (11:36 -0800)
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.vandermerwe@netronome.com>
Reviewed-by: Jakub Kicinski <jakub.kicinski@netronome.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/netronome/nfp/nfpcore/nfp_nsp.c

index dd62568..3a4e224 100644 (file)
@@ -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,