Skip to content

Commit 16e4762

Browse files
Hariprasad Shenaidavem330
authored andcommitted
cxgb4: Add new scheme to update T4/T5 firmware
Signed-off-by: Hariprasad Shenai <hariprasad@chelsio.com> Signed-off-by: David S. Miller <davem@davemloft.net>
1 parent 70ee366 commit 16e4762

File tree

4 files changed

+289
-190
lines changed

4 files changed

+289
-190
lines changed

drivers/net/ethernet/chelsio/cxgb4/cxgb4.h

Lines changed: 30 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -49,13 +49,15 @@
4949
#include <asm/io.h>
5050
#include "cxgb4_uld.h"
5151

52-
#define FW_VERSION_MAJOR 1
53-
#define FW_VERSION_MINOR 4
54-
#define FW_VERSION_MICRO 0
52+
#define T4FW_VERSION_MAJOR 0x01
53+
#define T4FW_VERSION_MINOR 0x06
54+
#define T4FW_VERSION_MICRO 0x18
55+
#define T4FW_VERSION_BUILD 0x00
5556

56-
#define FW_VERSION_MAJOR_T5 0
57-
#define FW_VERSION_MINOR_T5 0
58-
#define FW_VERSION_MICRO_T5 0
57+
#define T5FW_VERSION_MAJOR 0x01
58+
#define T5FW_VERSION_MINOR 0x08
59+
#define T5FW_VERSION_MICRO 0x1C
60+
#define T5FW_VERSION_BUILD 0x00
5961

6062
#define CH_WARN(adap, fmt, ...) dev_warn(adap->pdev_dev, fmt, ## __VA_ARGS__)
6163

@@ -287,6 +289,23 @@ struct adapter_params {
287289
unsigned int ofldq_wr_cred;
288290
};
289291

292+
#include "t4fw_api.h"
293+
294+
#define FW_VERSION(chip) ( \
295+
FW_HDR_FW_VER_MAJOR_GET(chip##FW_VERSION_MAJOR) | \
296+
FW_HDR_FW_VER_MINOR_GET(chip##FW_VERSION_MINOR) | \
297+
FW_HDR_FW_VER_MICRO_GET(chip##FW_VERSION_MICRO) | \
298+
FW_HDR_FW_VER_BUILD_GET(chip##FW_VERSION_BUILD))
299+
#define FW_INTFVER(chip, intf) (FW_HDR_INTFVER_##intf)
300+
301+
struct fw_info {
302+
u8 chip;
303+
char *fs_name;
304+
char *fw_mod_name;
305+
struct fw_hdr fw_hdr;
306+
};
307+
308+
290309
struct trace_params {
291310
u32 data[TRACE_LEN / 4];
292311
u32 mask[TRACE_LEN / 4];
@@ -901,7 +920,11 @@ int get_vpd_params(struct adapter *adapter, struct vpd_params *p);
901920
int t4_load_fw(struct adapter *adapter, const u8 *fw_data, unsigned int size);
902921
unsigned int t4_flash_cfg_addr(struct adapter *adapter);
903922
int t4_load_cfg(struct adapter *adapter, const u8 *cfg_data, unsigned int size);
904-
int t4_check_fw_version(struct adapter *adapter);
923+
int t4_get_fw_version(struct adapter *adapter, u32 *vers);
924+
int t4_get_tp_version(struct adapter *adapter, u32 *vers);
925+
int t4_prep_fw(struct adapter *adap, struct fw_info *fw_info,
926+
const u8 *fw_data, unsigned int fw_size,
927+
struct fw_hdr *card_fw, enum dev_state state, int *reset);
905928
int t4_prep_adapter(struct adapter *adapter);
906929
int t4_port_init(struct adapter *adap, int mbox, int pf, int vf);
907930
void t4_fatal_err(struct adapter *adapter);

0 commit comments

Comments
 (0)