Skip to content

Commit 87c374d

Browse files
Michael Chandavem330
authored andcommitted
bnxt_en: Update firmware header file to latest 1.6.0.
Latest interface has the latest DCB command structs. Get and store the max number of lossless TCs the hardware can support. Signed-off-by: Michael Chan <[email protected]> Signed-off-by: David S. Miller <[email protected]>
1 parent c5e3deb commit 87c374d

File tree

4 files changed

+1069
-697
lines changed

4 files changed

+1069
-697
lines changed

drivers/net/ethernet/broadcom/bnxt/bnxt.c

Lines changed: 16 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -186,11 +186,11 @@ static const u16 bnxt_vf_req_snif[] = {
186186
};
187187

188188
static const u16 bnxt_async_events_arr[] = {
189-
HWRM_ASYNC_EVENT_CMPL_EVENT_ID_LINK_STATUS_CHANGE,
190-
HWRM_ASYNC_EVENT_CMPL_EVENT_ID_PF_DRVR_UNLOAD,
191-
HWRM_ASYNC_EVENT_CMPL_EVENT_ID_PORT_CONN_NOT_ALLOWED,
192-
HWRM_ASYNC_EVENT_CMPL_EVENT_ID_VF_CFG_CHANGE,
193-
HWRM_ASYNC_EVENT_CMPL_EVENT_ID_LINK_SPEED_CFG_CHANGE,
189+
ASYNC_EVENT_CMPL_EVENT_ID_LINK_STATUS_CHANGE,
190+
ASYNC_EVENT_CMPL_EVENT_ID_PF_DRVR_UNLOAD,
191+
ASYNC_EVENT_CMPL_EVENT_ID_PORT_CONN_NOT_ALLOWED,
192+
ASYNC_EVENT_CMPL_EVENT_ID_VF_CFG_CHANGE,
193+
ASYNC_EVENT_CMPL_EVENT_ID_LINK_SPEED_CFG_CHANGE,
194194
};
195195

196196
static bool bnxt_vf_pciid(enum board_idx idx)
@@ -1476,8 +1476,8 @@ static int bnxt_rx_pkt(struct bnxt *bp, struct bnxt_napi *bnapi, u32 *raw_cons,
14761476
}
14771477

14781478
#define BNXT_GET_EVENT_PORT(data) \
1479-
((data) & \
1480-
HWRM_ASYNC_EVENT_CMPL_PORT_CONN_NOT_ALLOWED_EVENT_DATA1_PORT_ID_MASK)
1479+
((data) & \
1480+
ASYNC_EVENT_CMPL_PORT_CONN_NOT_ALLOWED_EVENT_DATA1_PORT_ID_MASK)
14811481

14821482
static int bnxt_async_event_process(struct bnxt *bp,
14831483
struct hwrm_async_event_cmpl *cmpl)
@@ -1486,7 +1486,7 @@ static int bnxt_async_event_process(struct bnxt *bp,
14861486

14871487
/* TODO CHIMP_FW: Define event id's for link change, error etc */
14881488
switch (event_id) {
1489-
case HWRM_ASYNC_EVENT_CMPL_EVENT_ID_LINK_SPEED_CFG_CHANGE: {
1489+
case ASYNC_EVENT_CMPL_EVENT_ID_LINK_SPEED_CFG_CHANGE: {
14901490
u32 data1 = le32_to_cpu(cmpl->event_data1);
14911491
struct bnxt_link_info *link_info = &bp->link_info;
14921492

@@ -1502,13 +1502,13 @@ static int bnxt_async_event_process(struct bnxt *bp,
15021502
set_bit(BNXT_LINK_SPEED_CHNG_SP_EVENT, &bp->sp_event);
15031503
/* fall thru */
15041504
}
1505-
case HWRM_ASYNC_EVENT_CMPL_EVENT_ID_LINK_STATUS_CHANGE:
1505+
case ASYNC_EVENT_CMPL_EVENT_ID_LINK_STATUS_CHANGE:
15061506
set_bit(BNXT_LINK_CHNG_SP_EVENT, &bp->sp_event);
15071507
break;
1508-
case HWRM_ASYNC_EVENT_CMPL_EVENT_ID_PF_DRVR_UNLOAD:
1508+
case ASYNC_EVENT_CMPL_EVENT_ID_PF_DRVR_UNLOAD:
15091509
set_bit(BNXT_HWRM_PF_UNLOAD_SP_EVENT, &bp->sp_event);
15101510
break;
1511-
case HWRM_ASYNC_EVENT_CMPL_EVENT_ID_PORT_CONN_NOT_ALLOWED: {
1511+
case ASYNC_EVENT_CMPL_EVENT_ID_PORT_CONN_NOT_ALLOWED: {
15121512
u32 data1 = le32_to_cpu(cmpl->event_data1);
15131513
u16 port_id = BNXT_GET_EVENT_PORT(data1);
15141514

@@ -1521,7 +1521,7 @@ static int bnxt_async_event_process(struct bnxt *bp,
15211521
set_bit(BNXT_HWRM_PORT_MODULE_SP_EVENT, &bp->sp_event);
15221522
break;
15231523
}
1524-
case HWRM_ASYNC_EVENT_CMPL_EVENT_ID_VF_CFG_CHANGE:
1524+
case ASYNC_EVENT_CMPL_EVENT_ID_VF_CFG_CHANGE:
15251525
if (BNXT_PF(bp))
15261526
goto async_event_process_exit;
15271527
set_bit(BNXT_RESET_TASK_SILENT_SP_EVENT, &bp->sp_event);
@@ -4261,12 +4261,16 @@ static int bnxt_hwrm_queue_qportcfg(struct bnxt *bp)
42614261
goto qportcfg_exit;
42624262
}
42634263
bp->max_tc = resp->max_configurable_queues;
4264+
bp->max_lltc = resp->max_configurable_lossless_queues;
42644265
if (bp->max_tc > BNXT_MAX_QUEUE)
42654266
bp->max_tc = BNXT_MAX_QUEUE;
42664267

42674268
if (resp->queue_cfg_info & QUEUE_QPORTCFG_RESP_QUEUE_CFG_INFO_ASYM_CFG)
42684269
bp->max_tc = 1;
42694270

4271+
if (bp->max_lltc > bp->max_tc)
4272+
bp->max_lltc = bp->max_tc;
4273+
42704274
qptr = &resp->queue_id0;
42714275
for (i = 0; i < bp->max_tc; i++) {
42724276
bp->q_info[i].queue_id = *qptr++;

drivers/net/ethernet/broadcom/bnxt/bnxt.h

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,10 @@
1111
#define BNXT_H
1212

1313
#define DRV_MODULE_NAME "bnxt_en"
14-
#define DRV_MODULE_VERSION "1.5.0"
14+
#define DRV_MODULE_VERSION "1.6.0"
1515

1616
#define DRV_VER_MAJ 1
17-
#define DRV_VER_MIN 5
17+
#define DRV_VER_MIN 6
1818
#define DRV_VER_UPD 0
1919

2020
struct tx_bd {
@@ -1010,6 +1010,7 @@ struct bnxt {
10101010
u32 rss_hash_cfg;
10111011

10121012
u8 max_tc;
1013+
u8 max_lltc; /* lossless TCs */
10131014
struct bnxt_queue_info q_info[BNXT_MAX_QUEUE];
10141015

10151016
unsigned int current_interval;

0 commit comments

Comments
 (0)