Skip to content

Commit 7b71214

Browse files
author
Paolo Abeni
committed
Merge branch 'bnxt_en-updates-for-net-next'
Michael Chan says: ==================== bnxt_en: Updates for net-next This series includes some code clean-ups and optimizations. New features include 2 new backing store memory types to collect FW logs for core dumps, dynamic SRIOV resource allocations for RoCE, and ethtool tunable for PFC watchdog. v2: Drop patch #4. The patch makes the code different from the original bnxt_hwrm_func_backing_store_cfg_v2() that allows instance_bmap to have bits that are not contiguous. It is safer to keep the original code. v1: https://lore.kernel.org/netdev/[email protected]/ ==================== Link: https://patch.msgid.link/[email protected] Signed-off-by: Paolo Abeni <[email protected]>
2 parents 64d2616 + fa18932 commit 7b71214

File tree

9 files changed

+180
-34
lines changed

9 files changed

+180
-34
lines changed

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

Lines changed: 43 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -265,6 +265,8 @@ const u16 bnxt_bstore_to_trace[] = {
265265
[BNXT_CTX_CA1] = DBG_LOG_BUFFER_FLUSH_REQ_TYPE_CA1_TRACE,
266266
[BNXT_CTX_CA2] = DBG_LOG_BUFFER_FLUSH_REQ_TYPE_CA2_TRACE,
267267
[BNXT_CTX_RIGP1] = DBG_LOG_BUFFER_FLUSH_REQ_TYPE_RIGP1_TRACE,
268+
[BNXT_CTX_KONG] = DBG_LOG_BUFFER_FLUSH_REQ_TYPE_AFM_KONG_HWRM_TRACE,
269+
[BNXT_CTX_QPC] = DBG_LOG_BUFFER_FLUSH_REQ_TYPE_ERR_QPC_TRACE,
268270
};
269271

270272
static struct workqueue_struct *bnxt_pf_wq;
@@ -6836,7 +6838,7 @@ int bnxt_hwrm_vnic_cfg(struct bnxt *bp, struct bnxt_vnic_info *vnic)
68366838
req->dflt_ring_grp = cpu_to_le16(bp->grp_info[grp_idx].fw_grp_id);
68376839
req->lb_rule = cpu_to_le16(0xffff);
68386840
vnic_mru:
6839-
vnic->mru = bp->dev->mtu + ETH_HLEN + VLAN_HLEN;
6841+
vnic->mru = bp->dev->mtu + VLAN_ETH_HLEN;
68406842
req->mru = cpu_to_le16(vnic->mru);
68416843

68426844
req->vnic_id = cpu_to_le16(vnic->fw_vnic_id);
@@ -9150,15 +9152,15 @@ static int bnxt_hwrm_func_backing_store_cfg_v2(struct bnxt *bp,
91509152
return rc;
91519153
}
91529154

9153-
static int bnxt_backing_store_cfg_v2(struct bnxt *bp, u32 ena)
9155+
static int bnxt_backing_store_cfg_v2(struct bnxt *bp)
91549156
{
91559157
struct bnxt_ctx_mem_info *ctx = bp->ctx;
91569158
struct bnxt_ctx_mem_type *ctxm;
91579159
u16 last_type = BNXT_CTX_INV;
91589160
int rc = 0;
91599161
u16 type;
91609162

9161-
for (type = BNXT_CTX_SRT; type <= BNXT_CTX_RIGP1; type++) {
9163+
for (type = BNXT_CTX_SRT; type <= BNXT_CTX_QPC; type++) {
91629164
ctxm = &ctx->ctx_arr[type];
91639165
if (!bnxt_bs_trace_avail(bp, type))
91649166
continue;
@@ -9176,12 +9178,13 @@ static int bnxt_backing_store_cfg_v2(struct bnxt *bp, u32 ena)
91769178
}
91779179

91789180
if (last_type == BNXT_CTX_INV) {
9179-
if (!ena)
9181+
for (type = 0; type < BNXT_CTX_MAX; type++) {
9182+
ctxm = &ctx->ctx_arr[type];
9183+
if (ctxm->mem_valid)
9184+
last_type = type;
9185+
}
9186+
if (last_type == BNXT_CTX_INV)
91809187
return 0;
9181-
else if (ena & FUNC_BACKING_STORE_CFG_REQ_ENABLES_TIM)
9182-
last_type = BNXT_CTX_MAX - 1;
9183-
else
9184-
last_type = BNXT_CTX_L2_MAX - 1;
91859188
}
91869189
ctx->ctx_arr[last_type].last = 1;
91879190

@@ -9308,6 +9311,10 @@ static int bnxt_alloc_ctx_mem(struct bnxt *bp)
93089311
if (!ctx || (ctx->flags & BNXT_CTX_FLAG_INITED))
93099312
return 0;
93109313

9314+
ena = 0;
9315+
if (!(bp->flags & BNXT_FLAG_CHIP_P5_PLUS))
9316+
goto skip_legacy;
9317+
93119318
ctxm = &ctx->ctx_arr[BNXT_CTX_QP];
93129319
l2_qps = ctxm->qp_l2_entries;
93139320
qp1_qps = ctxm->qp_qp1_entries;
@@ -9316,7 +9323,6 @@ static int bnxt_alloc_ctx_mem(struct bnxt *bp)
93169323
ctxm = &ctx->ctx_arr[BNXT_CTX_SRQ];
93179324
srqs = ctxm->srq_l2_entries;
93189325
max_srqs = ctxm->max_entries;
9319-
ena = 0;
93209326
if ((bp->flags & BNXT_FLAG_ROCE_CAP) && !is_kdump_kernel()) {
93219327
pg_lvl = 2;
93229328
if (BNXT_SW_RES_LMT(bp)) {
@@ -9410,8 +9416,9 @@ static int bnxt_alloc_ctx_mem(struct bnxt *bp)
94109416
ena |= FUNC_BACKING_STORE_CFG_REQ_ENABLES_TQM_SP << i;
94119417
ena |= FUNC_BACKING_STORE_CFG_REQ_DFLT_ENABLES;
94129418

9419+
skip_legacy:
94139420
if (bp->fw_cap & BNXT_FW_CAP_BACKING_STORE_V2)
9414-
rc = bnxt_backing_store_cfg_v2(bp, ena);
9421+
rc = bnxt_backing_store_cfg_v2(bp);
94159422
else
94169423
rc = bnxt_hwrm_func_backing_store_cfg(bp, ena);
94179424
if (rc) {
@@ -9625,10 +9632,10 @@ static int __bnxt_hwrm_ptp_qcfg(struct bnxt *bp)
96259632

96269633
static int __bnxt_hwrm_func_qcaps(struct bnxt *bp)
96279634
{
9635+
u32 flags, flags_ext, flags_ext2, flags_ext3;
9636+
struct bnxt_hw_resc *hw_resc = &bp->hw_resc;
96289637
struct hwrm_func_qcaps_output *resp;
96299638
struct hwrm_func_qcaps_input *req;
9630-
struct bnxt_hw_resc *hw_resc = &bp->hw_resc;
9631-
u32 flags, flags_ext, flags_ext2;
96329639
int rc;
96339640

96349641
rc = hwrm_req_init(bp, req, HWRM_FUNC_QCAPS);
@@ -9695,6 +9702,10 @@ static int __bnxt_hwrm_func_qcaps(struct bnxt *bp)
96959702
(flags_ext2 & FUNC_QCAPS_RESP_FLAGS_EXT2_ROCE_VF_RESOURCE_MGMT_SUPPORTED))
96969703
bp->fw_cap |= BNXT_FW_CAP_ROCE_VF_RESC_MGMT_SUPPORTED;
96979704

9705+
flags_ext3 = le32_to_cpu(resp->flags_ext3);
9706+
if (flags_ext3 & FUNC_QCAPS_RESP_FLAGS_EXT3_ROCE_VF_DYN_ALLOC_SUPPORT)
9707+
bp->fw_cap |= BNXT_FW_CAP_ROCE_VF_DYN_ALLOC_SUPPORT;
9708+
96989709
bp->tx_push_thresh = 0;
96999710
if ((flags & FUNC_QCAPS_RESP_FLAGS_PUSH_MODE_SUPPORTED) &&
97009711
BNXT_FW_MAJ(bp) > 217)
@@ -14737,6 +14748,23 @@ static bool bnxt_fw_pre_resv_vnics(struct bnxt *bp)
1473714748
return false;
1473814749
}
1473914750

14751+
static void bnxt_hwrm_pfcwd_qcaps(struct bnxt *bp)
14752+
{
14753+
struct hwrm_queue_pfcwd_timeout_qcaps_output *resp;
14754+
struct hwrm_queue_pfcwd_timeout_qcaps_input *req;
14755+
int rc;
14756+
14757+
bp->max_pfcwd_tmo_ms = 0;
14758+
rc = hwrm_req_init(bp, req, HWRM_QUEUE_PFCWD_TIMEOUT_QCAPS);
14759+
if (rc)
14760+
return;
14761+
resp = hwrm_req_hold(bp, req);
14762+
rc = hwrm_req_send_silent(bp, req);
14763+
if (!rc)
14764+
bp->max_pfcwd_tmo_ms = le16_to_cpu(resp->max_pfcwd_timeout);
14765+
hwrm_req_drop(bp, req);
14766+
}
14767+
1474014768
static int bnxt_fw_init_one_p1(struct bnxt *bp)
1474114769
{
1474214770
int rc;
@@ -14814,6 +14842,7 @@ static int bnxt_fw_init_one_p2(struct bnxt *bp)
1481414842
if (bnxt_fw_pre_resv_vnics(bp))
1481514843
bp->fw_cap |= BNXT_FW_CAP_PRE_RESV_VNICS;
1481614844

14845+
bnxt_hwrm_pfcwd_qcaps(bp);
1481714846
bnxt_hwrm_func_qcfg(bp);
1481814847
bnxt_hwrm_vnic_qcaps(bp);
1481914848
bnxt_hwrm_port_led_qcaps(bp);
@@ -16075,7 +16104,7 @@ static int bnxt_queue_start(struct net_device *dev, void *qmem, int idx)
1607516104
napi_enable_locked(&bnapi->napi);
1607616105
bnxt_db_nq_arm(bp, &cpr->cp_db, cpr->cp_raw_cons);
1607716106

16078-
mru = bp->dev->mtu + ETH_HLEN + VLAN_HLEN;
16107+
mru = bp->dev->mtu + VLAN_ETH_HLEN;
1607916108
for (i = 0; i < bp->nr_vnics; i++) {
1608016109
vnic = &bp->vnic_info[i];
1608116110

@@ -16156,7 +16185,7 @@ static void bnxt_remove_one(struct pci_dev *pdev)
1615616185
struct bnxt *bp = netdev_priv(dev);
1615716186

1615816187
if (BNXT_PF(bp))
16159-
bnxt_sriov_disable(bp);
16188+
__bnxt_sriov_disable(bp);
1616016189

1616116190
bnxt_rdma_aux_device_del(bp);
1616216191

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

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1968,10 +1968,12 @@ struct bnxt_ctx_mem_type {
19681968
#define BNXT_CTX_CA1 FUNC_BACKING_STORE_QCAPS_V2_REQ_TYPE_CA1_TRACE
19691969
#define BNXT_CTX_CA2 FUNC_BACKING_STORE_QCAPS_V2_REQ_TYPE_CA2_TRACE
19701970
#define BNXT_CTX_RIGP1 FUNC_BACKING_STORE_QCAPS_V2_REQ_TYPE_RIGP1_TRACE
1971+
#define BNXT_CTX_KONG FUNC_BACKING_STORE_QCAPS_V2_REQ_TYPE_AFM_KONG_HWRM_TRACE
1972+
#define BNXT_CTX_QPC FUNC_BACKING_STORE_QCAPS_V2_REQ_TYPE_ERR_QPC_TRACE
19711973

19721974
#define BNXT_CTX_MAX (BNXT_CTX_TIM + 1)
19731975
#define BNXT_CTX_L2_MAX (BNXT_CTX_FTQM + 1)
1974-
#define BNXT_CTX_V2_MAX (BNXT_CTX_RIGP1 + 1)
1976+
#define BNXT_CTX_V2_MAX (BNXT_CTX_QPC + 1)
19751977
#define BNXT_CTX_INV ((u16)-1)
19761978

19771979
struct bnxt_ctx_mem_info {
@@ -2424,6 +2426,8 @@ struct bnxt {
24242426
u8 max_q;
24252427
u8 num_tc;
24262428

2429+
u16 max_pfcwd_tmo_ms;
2430+
24272431
u8 tph_mode;
24282432

24292433
unsigned int current_interval;
@@ -2477,6 +2481,7 @@ struct bnxt {
24772481
#define BNXT_FW_CAP_ENABLE_RDMA_SRIOV BIT_ULL(5)
24782482
#define BNXT_FW_CAP_ROCE_VF_RESC_MGMT_SUPPORTED BIT_ULL(6)
24792483
#define BNXT_FW_CAP_KONG_MB_CHNL BIT_ULL(7)
2484+
#define BNXT_FW_CAP_ROCE_VF_DYN_ALLOC_SUPPORT BIT_ULL(8)
24802485
#define BNXT_FW_CAP_OVS_64BIT_HANDLE BIT_ULL(10)
24812486
#define BNXT_FW_CAP_TRUSTED_VF BIT_ULL(11)
24822487
#define BNXT_FW_CAP_ERROR_RECOVERY BIT_ULL(13)
@@ -2521,6 +2526,8 @@ struct bnxt {
25212526
#define BNXT_SUPPORTS_MULTI_RSS_CTX(bp) \
25222527
(BNXT_PF(bp) && BNXT_SUPPORTS_NTUPLE_VNIC(bp) && \
25232528
((bp)->rss_cap & BNXT_RSS_CAP_MULTI_RSS_CTX))
2529+
#define BNXT_ROCE_VF_DYN_ALLOC_CAP(bp) \
2530+
((bp)->fw_cap & BNXT_FW_CAP_ROCE_VF_DYN_ALLOC_SUPPORT)
25242531
#define BNXT_SUPPORTS_QUEUE_API(bp) \
25252532
(BNXT_PF(bp) && BNXT_SUPPORTS_NTUPLE_VNIC(bp) && \
25262533
((bp)->fw_cap & BNXT_FW_CAP_VNIC_RE_FLUSH))

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

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,8 @@ static const u16 bnxt_bstore_to_seg_id[] = {
3636
[BNXT_CTX_CA1] = BNXT_CTX_MEM_SEG_CA1,
3737
[BNXT_CTX_CA2] = BNXT_CTX_MEM_SEG_CA2,
3838
[BNXT_CTX_RIGP1] = BNXT_CTX_MEM_SEG_RIGP1,
39+
[BNXT_CTX_KONG] = BNXT_CTX_MEM_SEG_KONG,
40+
[BNXT_CTX_QPC] = BNXT_CTX_MEM_SEG_QPC,
3941
};
4042

4143
static int bnxt_dbg_hwrm_log_buffer_flush(struct bnxt *bp, u16 type, u32 flags,
@@ -359,7 +361,7 @@ static u32 bnxt_get_ctx_coredump(struct bnxt *bp, void *buf, u32 offset,
359361

360362
if (buf)
361363
buf += offset;
362-
for (type = 0 ; type <= BNXT_CTX_RIGP1; type++) {
364+
for (type = 0; type < BNXT_CTX_V2_MAX; type++) {
363365
struct bnxt_ctx_mem_type *ctxm = &ctx->ctx_arr[type];
364366
bool trace = bnxt_bs_trace_avail(bp, type);
365367
u32 seg_id = bnxt_bstore_to_seg_id[type];

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,8 @@ struct bnxt_driver_segment_record {
102102
#define BNXT_CTX_MEM_SEG_CA1 0x9
103103
#define BNXT_CTX_MEM_SEG_CA2 0xa
104104
#define BNXT_CTX_MEM_SEG_RIGP1 0xb
105+
#define BNXT_CTX_MEM_SEG_QPC 0xc
106+
#define BNXT_CTX_MEM_SEG_KONG 0xd
105107

106108
#define BNXT_CRASH_DUMP_LEN (8 << 20)
107109

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

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -40,12 +40,6 @@ bnxt_dl_flash_update(struct devlink *dl,
4040
struct bnxt *bp = bnxt_get_bp_from_dl(dl);
4141
int rc;
4242

43-
if (!BNXT_PF(bp)) {
44-
NL_SET_ERR_MSG_MOD(extack,
45-
"flash update not supported from a VF");
46-
return -EPERM;
47-
}
48-
4943
devlink_flash_update_status_notify(dl, "Preparing to flash", NULL, 0, 0);
5044
rc = bnxt_flash_package_from_fw_obj(bp->dev, params->fw, 0, extack);
5145
if (!rc)
@@ -1080,16 +1074,9 @@ static int __bnxt_hwrm_nvm_req(struct bnxt *bp,
10801074
static int bnxt_hwrm_nvm_req(struct bnxt *bp, u32 param_id, void *msg,
10811075
union devlink_param_value *val)
10821076
{
1083-
struct hwrm_nvm_get_variable_input *req = msg;
10841077
const struct bnxt_dl_nvm_param *nvm_param;
10851078
int i;
10861079

1087-
/* Get/Set NVM CFG parameter is supported only on PFs */
1088-
if (BNXT_VF(bp)) {
1089-
hwrm_req_drop(bp, req);
1090-
return -EPERM;
1091-
}
1092-
10931080
for (i = 0; i < ARRAY_SIZE(nvm_params); i++) {
10941081
nvm_param = &nvm_params[i];
10951082
if (nvm_param->id == param_id)

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

Lines changed: 44 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4399,12 +4399,42 @@ static int bnxt_get_eee(struct net_device *dev, struct ethtool_keee *edata)
43994399
return 0;
44004400
}
44014401

4402+
static int bnxt_hwrm_pfcwd_qcfg(struct bnxt *bp, u16 *val)
4403+
{
4404+
struct hwrm_queue_pfcwd_timeout_qcfg_output *resp;
4405+
struct hwrm_queue_pfcwd_timeout_qcfg_input *req;
4406+
int rc;
4407+
4408+
rc = hwrm_req_init(bp, req, HWRM_QUEUE_PFCWD_TIMEOUT_QCFG);
4409+
if (rc)
4410+
return rc;
4411+
resp = hwrm_req_hold(bp, req);
4412+
rc = hwrm_req_send(bp, req);
4413+
if (!rc)
4414+
*val = le16_to_cpu(resp->pfcwd_timeout_value);
4415+
hwrm_req_drop(bp, req);
4416+
return rc;
4417+
}
4418+
4419+
static int bnxt_hwrm_pfcwd_cfg(struct bnxt *bp, u16 val)
4420+
{
4421+
struct hwrm_queue_pfcwd_timeout_cfg_input *req;
4422+
int rc;
4423+
4424+
rc = hwrm_req_init(bp, req, HWRM_QUEUE_PFCWD_TIMEOUT_CFG);
4425+
if (rc)
4426+
return rc;
4427+
req->pfcwd_timeout_value = cpu_to_le16(val);
4428+
rc = hwrm_req_send(bp, req);
4429+
return rc;
4430+
}
4431+
44024432
static int bnxt_set_tunable(struct net_device *dev,
44034433
const struct ethtool_tunable *tuna,
44044434
const void *data)
44054435
{
44064436
struct bnxt *bp = netdev_priv(dev);
4407-
u32 rx_copybreak;
4437+
u32 rx_copybreak, val;
44084438

44094439
switch (tuna->id) {
44104440
case ETHTOOL_RX_COPYBREAK:
@@ -4417,6 +4447,15 @@ static int bnxt_set_tunable(struct net_device *dev,
44174447
bp->rx_copybreak = rx_copybreak;
44184448
}
44194449
return 0;
4450+
case ETHTOOL_PFC_PREVENTION_TOUT:
4451+
if (BNXT_VF(bp) || !bp->max_pfcwd_tmo_ms)
4452+
return -EOPNOTSUPP;
4453+
4454+
val = *(u16 *)data;
4455+
if (val > bp->max_pfcwd_tmo_ms &&
4456+
val != PFC_STORM_PREVENTION_AUTO)
4457+
return -EINVAL;
4458+
return bnxt_hwrm_pfcwd_cfg(bp, val);
44204459
default:
44214460
return -EOPNOTSUPP;
44224461
}
@@ -4431,6 +4470,10 @@ static int bnxt_get_tunable(struct net_device *dev,
44314470
case ETHTOOL_RX_COPYBREAK:
44324471
*(u32 *)data = bp->rx_copybreak;
44334472
break;
4473+
case ETHTOOL_PFC_PREVENTION_TOUT:
4474+
if (!bp->max_pfcwd_tmo_ms)
4475+
return -EOPNOTSUPP;
4476+
return bnxt_hwrm_pfcwd_qcfg(bp, data);
44344477
default:
44354478
return -EOPNOTSUPP;
44364479
}

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

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -541,6 +541,13 @@ static void bnxt_hwrm_roce_sriov_cfg(struct bnxt *bp, int num_vfs)
541541
if (rc)
542542
goto err;
543543

544+
/* In case of VF Dynamic resource allocation, driver will provision
545+
* maximum resources to all the VFs. FW will dynamically allocate
546+
* resources to VFs on the fly, so always divide the resources by 1.
547+
*/
548+
if (BNXT_ROCE_VF_DYN_ALLOC_CAP(bp))
549+
num_vfs = 1;
550+
544551
cfg_req->fid = cpu_to_le16(0xffff);
545552
cfg_req->enables2 =
546553
cpu_to_le32(FUNC_CFG_REQ_ENABLES2_ROCE_MAX_AV_PER_VF |
@@ -734,7 +741,7 @@ static int bnxt_hwrm_func_cfg(struct bnxt *bp, int num_vfs)
734741
FUNC_CFG_REQ_ENABLES_NUM_VNICS |
735742
FUNC_CFG_REQ_ENABLES_NUM_HW_RING_GRPS);
736743

737-
mtu = bp->dev->mtu + ETH_HLEN + VLAN_HLEN;
744+
mtu = bp->dev->mtu + VLAN_ETH_HLEN;
738745
req->mru = cpu_to_le16(mtu);
739746
req->admin_mtu = cpu_to_le16(mtu);
740747

@@ -919,7 +926,7 @@ static int bnxt_sriov_enable(struct bnxt *bp, int *num_vfs)
919926
return rc;
920927
}
921928

922-
void bnxt_sriov_disable(struct bnxt *bp)
929+
void __bnxt_sriov_disable(struct bnxt *bp)
923930
{
924931
u16 num_vfs = pci_num_vf(bp->pdev);
925932

@@ -943,6 +950,14 @@ void bnxt_sriov_disable(struct bnxt *bp)
943950
devl_unlock(bp->dl);
944951

945952
bnxt_free_vf_resources(bp);
953+
}
954+
955+
static void bnxt_sriov_disable(struct bnxt *bp)
956+
{
957+
if (!pci_num_vf(bp->pdev))
958+
return;
959+
960+
__bnxt_sriov_disable(bp);
946961

947962
/* Reclaim all resources for the PF. */
948963
rtnl_lock();
@@ -1321,7 +1336,7 @@ int bnxt_cfg_hw_sriov(struct bnxt *bp, int *num_vfs, bool reset)
13211336
return 0;
13221337
}
13231338

1324-
void bnxt_sriov_disable(struct bnxt *bp)
1339+
void __bnxt_sriov_disable(struct bnxt *bp)
13251340
{
13261341
}
13271342

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ bool bnxt_is_trusted_vf(struct bnxt *bp, struct bnxt_vf_info *vf);
3838
int bnxt_set_vf_trust(struct net_device *dev, int vf_id, bool trust);
3939
int bnxt_sriov_configure(struct pci_dev *pdev, int num_vfs);
4040
int bnxt_cfg_hw_sriov(struct bnxt *bp, int *num_vfs, bool reset);
41-
void bnxt_sriov_disable(struct bnxt *);
41+
void __bnxt_sriov_disable(struct bnxt *bp);
4242
void bnxt_hwrm_exec_fwd_req(struct bnxt *);
4343
void bnxt_update_vf_mac(struct bnxt *);
4444
int bnxt_approve_mac(struct bnxt *, const u8 *, bool);

0 commit comments

Comments
 (0)