sys/dev/enic/enic.h
204
struct enic *next;
sys/dev/enic/enic.h
314
struct enic enic;
sys/dev/enic/enic.h
338
static inline unsigned int enic_cq_rq(struct enic *enic, unsigned int rq)
sys/dev/enic/enic.h
343
static inline unsigned int enic_cq_wq(struct enic *enic, unsigned int wq)
sys/dev/enic/enic.h
345
return enic->rq_count + wq;
sys/dev/enic/enic.h
357
int enic_setup_finish(struct enic *enic);
sys/dev/enic/enic.h
358
void enic_start_wq(struct enic *enic, uint16_t queue_idx);
sys/dev/enic/enic.h
359
int enic_stop_wq(struct enic *enic, uint16_t queue_idx);
sys/dev/enic/enic.h
360
void enic_start_rq(struct enic *enic, uint16_t queue_idx);
sys/dev/enic/enic.h
361
int enic_stop_rq(struct enic *enic, uint16_t queue_idx);
sys/dev/enic/enic.h
362
void enic_dev_disable(struct enic *enic);
sys/dev/enic/enic.h
363
int enic_enable(struct enic *enic);
sys/dev/enic/enic.h
364
int enic_disable(struct enic *enic);
sys/dev/enic/enic.h
365
int enic_link_update(struct enic *enic);
sys/dev/enic/enic.h
366
bool enic_use_vector_rx_handler(struct enic *enic);
sys/dev/enic/enic.h
367
void enic_fdir_info(struct enic *enic);
sys/dev/enic/enic.h
368
void enic_prep_wq_for_simple_tx(struct enic *, uint16_t);
sys/dev/enic/enic.h
83
#define ENICPMD_SETTING(enic, f) ((enic->config.flags & VENETF_##f) ? 1 : 0)
sys/dev/enic/enic_res.c
100
enic->mac_addr[3], enic->mac_addr[4], enic->mac_addr[5],
sys/dev/enic/enic_res.c
102
c->mtu, enic->max_mtu);
sys/dev/enic/enic_res.c
103
dev_info(enic_get_dev(enic), "vNIC csum tx/rx %s/%s "
sys/dev/enic/enic_res.c
106
ENIC_SETTING(enic, TXCSUM) ? "yes" : "no",
sys/dev/enic/enic_res.c
107
ENIC_SETTING(enic, RXCSUM) ? "yes" : "no",
sys/dev/enic/enic_res.c
108
ENIC_SETTING(enic, RSS) ?
sys/dev/enic/enic_res.c
109
(ENIC_SETTING(enic, RSSHASH_UDPIPV4) ? "+UDP" :
sys/dev/enic/enic_res.c
110
((enic->udp_rss_weak ? "+udp" :
sys/dev/enic/enic_res.c
123
enic->reta_size = ENIC_RSS_RETA_SIZE;
sys/dev/enic/enic_res.c
124
enic->hash_key_size = ENIC_RSS_HASH_KEY_SIZE;
sys/dev/enic/enic_res.c
125
enic->flow_type_rss_offloads = 0;
sys/dev/enic/enic_res.c
128
if (!ENIC_SETTING(enic, RSS))
sys/dev/enic/enic_res.c
129
enic->flow_type_rss_offloads = 0;
sys/dev/enic/enic_res.c
131
enic->vxlan = ENIC_SETTING(enic, VXLAN) &&
sys/dev/enic/enic_res.c
132
vnic_dev_capable_vxlan(enic->vdev);
sys/dev/enic/enic_res.c
137
enic->tx_queue_offload_capa = 0;
sys/dev/enic/enic_res.c
141
int enic_add_vlan(struct enic *enic, u16 vlanid)
sys/dev/enic/enic_res.c
147
err = vnic_dev_cmd(enic->vdev, CMD_VLAN_ADD, &a0, &a1, wait);
sys/dev/enic/enic_res.c
149
dev_err(enic_get_dev(enic), "Can't add vlan id, %d\n", err);
sys/dev/enic/enic_res.c
154
int enic_del_vlan(struct enic *enic, u16 vlanid)
sys/dev/enic/enic_res.c
160
err = vnic_dev_cmd(enic->vdev, CMD_VLAN_DEL, &a0, &a1, wait);
sys/dev/enic/enic_res.c
162
dev_err(enic_get_dev(enic), "Can't delete vlan id, %d\n", err);
sys/dev/enic/enic_res.c
167
int enic_set_nic_cfg(struct enic *enic, u8 rss_default_cpu, u8 rss_hash_type,
sys/dev/enic/enic_res.c
182
cmd = enic->nic_cfg_chk ? CMD_NIC_CFG_CHK : CMD_NIC_CFG;
sys/dev/enic/enic_res.c
183
return vnic_dev_cmd(enic->vdev, cmd, &a0, &a1, wait);
sys/dev/enic/enic_res.c
186
void enic_get_res_counts(struct enic *enic)
sys/dev/enic/enic_res.c
188
enic->conf_wq_count = vnic_dev_get_res_count(enic->vdev, RES_TYPE_WQ);
sys/dev/enic/enic_res.c
189
enic->conf_rq_count = vnic_dev_get_res_count(enic->vdev, RES_TYPE_RQ);
sys/dev/enic/enic_res.c
190
enic->conf_cq_count = vnic_dev_get_res_count(enic->vdev, RES_TYPE_CQ);
sys/dev/enic/enic_res.c
191
enic->conf_intr_count = vnic_dev_get_res_count(enic->vdev,
sys/dev/enic/enic_res.c
194
dev_info(enic_get_dev(enic),
sys/dev/enic/enic_res.c
196
enic->conf_wq_count, enic->conf_rq_count,
sys/dev/enic/enic_res.c
197
enic->conf_cq_count, enic->conf_intr_count);
sys/dev/enic/enic_res.c
198
enic->conf_rq_count = min(enic->conf_rq_count, enic->conf_wq_count);
sys/dev/enic/enic_res.c
199
enic->conf_wq_count = enic->conf_rq_count;
sys/dev/enic/enic_res.c
200
enic->conf_cq_count = enic->conf_rq_count + enic->conf_wq_count;
sys/dev/enic/enic_res.c
201
dev_info(enic_get_dev(enic),
sys/dev/enic/enic_res.c
203
enic->conf_wq_count, enic->conf_rq_count,
sys/dev/enic/enic_res.c
204
enic->conf_cq_count, enic->conf_intr_count);
sys/dev/enic/enic_res.c
205
dev_info(enic_get_dev(enic),
sys/dev/enic/enic_res.c
207
enic->config.wq_desc_count, enic->config.rq_desc_count);
sys/dev/enic/enic_res.c
209
enic->wq_count = enic->conf_wq_count;
sys/dev/enic/enic_res.c
210
enic->rq_count = enic->conf_rq_count;
sys/dev/enic/enic_res.c
211
enic->cq_count = enic->conf_cq_count;
sys/dev/enic/enic_res.c
24
int enic_get_vnic_config(struct enic *enic)
sys/dev/enic/enic_res.c
26
struct vnic_enet_config *c = &enic->config;
sys/dev/enic/enic_res.c
28
err = vnic_dev_get_mac_addr(enic->vdev, enic->mac_addr);
sys/dev/enic/enic_res.c
30
dev_err(enic_get_dev(enic),
sys/dev/enic/enic_res.c
37
err = vnic_dev_spec(enic->vdev, \
sys/dev/enic/enic_res.c
41
dev_err(enic_get_dev(enic), \
sys/dev/enic/enic_res.c
62
enic->max_mtu = c->max_pkt_size - (ETHER_HDR_LEN + 4);
sys/dev/enic/enic_res.c
64
enic->max_mtu = ENIC_DEFAULT_RX_MAX_PKT_SIZE
sys/dev/enic/enic_res.c
69
enic->adv_filters = vnic_dev_capable_adv_filters(enic->vdev);
sys/dev/enic/enic_res.c
71
err = vnic_dev_capable_filter_mode(enic->vdev, &enic->flow_filter_mode,
sys/dev/enic/enic_res.c
72
&enic->filter_actions);
sys/dev/enic/enic_res.c
74
dev_err(enic_get_dev(enic),
sys/dev/enic/enic_res.c
78
vnic_dev_capable_udp_rss_weak(enic->vdev, &enic->nic_cfg_chk,
sys/dev/enic/enic_res.c
79
&enic->udp_rss_weak);
sys/dev/enic/enic_res.c
94
vnic_dev_get_intr_coal_timer_max(enic->vdev));
sys/dev/enic/enic_res.c
96
dev_info(enic_get_dev(enic),
sys/dev/enic/enic_res.c
99
enic->mac_addr[0], enic->mac_addr[1], enic->mac_addr[2],
sys/dev/enic/enic_res.h
58
#define ENIC_SETTING(enic, f) ((enic->config.flags & VENETF_##f) ? 1 : 0)
sys/dev/enic/enic_res.h
60
struct enic;
sys/dev/enic/enic_res.h
62
int enic_get_vnic_config(struct enic *);
sys/dev/enic/enic_res.h
63
int enic_add_vlan(struct enic *enic, u16 vlanid);
sys/dev/enic/enic_res.h
64
int enic_del_vlan(struct enic *enic, u16 vlanid);
sys/dev/enic/enic_res.h
65
int enic_set_nic_cfg(struct enic *enic, u8 rss_default_cpu, u8 rss_hash_type,
sys/dev/enic/enic_res.h
68
void enic_get_res_counts(struct enic *enic);
sys/dev/enic/enic_res.h
69
void enic_init_vnic_resources(struct enic *enic);
sys/dev/enic/enic_txrx.c
105
enic = &softc->enic;
sys/dev/enic/enic_txrx.c
108
wq = &enic->wq[pi->ipi_qsidx];
sys/dev/enic/enic_txrx.c
153
struct enic *enic;
sys/dev/enic/enic_txrx.c
158
enic = &softc->enic;
sys/dev/enic/enic_txrx.c
161
wq = &enic->wq[txqid];
sys/dev/enic/enic_txrx.c
173
struct enic *enic;
sys/dev/enic/enic_txrx.c
182
enic = &softc->enic;
sys/dev/enic/enic_txrx.c
183
wq = &softc->enic.wq[txqid];
sys/dev/enic/enic_txrx.c
185
cq_wq = enic_cq_wq(enic, txqid);
sys/dev/enic/enic_txrx.c
186
cq = &enic->cq[cq_wq];
sys/dev/enic/enic_txrx.c
214
struct enic *enic;
sys/dev/enic/enic_txrx.c
221
enic = &softc->enic;
sys/dev/enic/enic_txrx.c
223
cq_rq = enic_cq_rq(&softc->enic, rxqid);
sys/dev/enic/enic_txrx.c
224
cq = &enic->cq[cq_rq];
sys/dev/enic/enic_txrx.c
234
struct enic *enic;
sys/dev/enic/enic_txrx.c
241
enic = &softc->enic;
sys/dev/enic/enic_txrx.c
243
cq_rq = enic_cq_rq(&softc->enic, ri->iri_qsidx);
sys/dev/enic/enic_txrx.c
244
cq = &enic->cq[cq_rq];
sys/dev/enic/enic_txrx.c
249
vnic_intr_return_credits(&enic->intr[cq_rq], rq_work_done, 0,
sys/dev/enic/enic_txrx.c
280
rq = &softc->enic.rq[iru->iru_qsidx];
sys/dev/enic/enic_txrx.c
300
enic_initial_post_rx(&softc->enic, rq);
sys/dev/enic/enic_txrx.c
311
rq = &softc->enic.rq[rxqid];
sys/dev/enic/enic_txrx.c
355
enic_initial_post_rx(struct enic *enic, struct vnic_rq *rq)
sys/dev/enic/enic_txrx.c
357
struct enic_softc *softc = enic->softc;
sys/dev/enic/enic_txrx.c
378
struct enic *enic = vnic_dev_priv(vdev);
sys/dev/enic/enic_txrx.c
380
vnic_wq_service(&enic->wq[q_number], cq_desc,
sys/dev/enic/enic_txrx.c
439
struct enic *enic = vnic_dev_priv(vdev);
sys/dev/enic/enic_txrx.c
442
vnic_rq_service(&enic->rq[ri->iri_qsidx], cq_desc, completed_index,
sys/dev/enic/enic_txrx.c
449
enic_prep_wq_for_simple_tx(struct enic *enic, uint16_t queue_idx)
sys/dev/enic/enic_txrx.c
460
wq = &enic->wq[queue_idx];
sys/dev/enic/enic_txrx.c
471
enic_start_wq(struct enic *enic, uint16_t queue_idx)
sys/dev/enic/enic_txrx.c
473
vnic_wq_enable(&enic->wq[queue_idx]);
sys/dev/enic/enic_txrx.c
477
enic_stop_wq(struct enic *enic, uint16_t queue_idx)
sys/dev/enic/enic_txrx.c
481
ret = vnic_wq_disable(&enic->wq[queue_idx]);
sys/dev/enic/enic_txrx.c
487
enic_start_rq(struct enic *enic, uint16_t queue_idx)
sys/dev/enic/enic_txrx.c
491
rq = &enic->rq[queue_idx];
sys/dev/enic/enic_txrx.c
493
enic_initial_post_rx(enic, rq);
sys/dev/enic/enic_txrx.c
497
enic_stop_rq(struct enic *enic, uint16_t queue_idx)
sys/dev/enic/enic_txrx.c
501
ret = vnic_rq_disable(&enic->rq[queue_idx]);
sys/dev/enic/enic_txrx.c
508
enic_dev_disable(struct enic *enic) {
sys/dev/enic/enic_txrx.c
509
vnic_dev_disable(enic->vdev);
sys/dev/enic/enic_txrx.c
65
static void enic_initial_post_rx(struct enic *, struct vnic_rq *);
sys/dev/enic/enic_txrx.c
86
struct enic *enic;
sys/dev/enic/if_enic.c
1003
struct enic *enic;
sys/dev/enic/if_enic.c
1006
enic = &softc->enic;
sys/dev/enic/if_enic.c
1008
vnic_dev_del_addr(enic->vdev, &softc->mta[i * ETHER_ADDR_LEN]);
sys/dev/enic/if_enic.c
1016
struct enic *enic;
sys/dev/enic/if_enic.c
1019
enic = &softc->enic;
sys/dev/enic/if_enic.c
1021
vnic_dev_add_addr(enic->vdev, &softc->mta[i * ETHER_ADDR_LEN]);
sys/dev/enic/if_enic.c
1065
enic_update_packet_filter(&softc->enic);
sys/dev/enic/if_enic.c
1072
struct enic *enic;
sys/dev/enic/if_enic.c
1076
enic = &softc->enic;
sys/dev/enic/if_enic.c
1079
if (mtu > enic->port_mtu){
sys/dev/enic/if_enic.c
108
static int enic_dev_open(struct enic *);
sys/dev/enic/if_enic.c
1083
enic->config.mtu = mtu;
sys/dev/enic/if_enic.c
109
static int enic_dev_init(struct enic *);
sys/dev/enic/if_enic.c
1145
enic_update_packet_filter(&softc->enic);
sys/dev/enic/if_enic.c
1174
struct enic *enic;
sys/dev/enic/if_enic.c
1179
enic = &softc->enic;
sys/dev/enic/if_enic.c
1182
ret = vnic_dev_stats_dump(enic->vdev, &stats);
sys/dev/enic/if_enic.c
1185
dev_err(enic, "Error in getting stats\n");
sys/dev/enic/if_enic.c
119
static void enic_update_packet_filter(struct enic *enic);
sys/dev/enic/if_enic.c
1222
struct enic *enic;
sys/dev/enic/if_enic.c
1223
enic = &softc->enic;
sys/dev/enic/if_enic.c
1226
vnic_dev_add_addr(enic->vdev, softc->lladdr);
sys/dev/enic/if_enic.c
1329
enic_setup_txq_sysctl(softc->enic.wq, 0, ctx, child);
sys/dev/enic/if_enic.c
1330
enic_setup_rxq_sysctl(softc->enic.rq, 0, ctx, child);
sys/dev/enic/if_enic.c
1352
struct enic *enic = &softc->enic;
sys/dev/enic/if_enic.c
1354
vnic_intr_unmask(&enic->intr[irq]);
sys/dev/enic/if_enic.c
1355
vnic_intr_return_all_credits(&enic->intr[irq]);
sys/dev/enic/if_enic.c
1361
struct enic *enic = &softc->enic;
sys/dev/enic/if_enic.c
1363
vnic_intr_mask(&enic->intr[irq]);
sys/dev/enic/if_enic.c
1364
vnic_intr_masked(&enic->intr[irq]); /* flush write */
sys/dev/enic/if_enic.c
1428
enic_dev_open(struct enic *enic)
sys/dev/enic/if_enic.c
1433
err = enic_dev_wait(enic->vdev, vnic_dev_open,
sys/dev/enic/if_enic.c
1436
dev_err(enic_get_dev(enic),
sys/dev/enic/if_enic.c
144
DRIVER_MODULE(enic, pci, enic_driver, 0, 0);
sys/dev/enic/if_enic.c
1443
enic_dev_init(struct enic *enic)
sys/dev/enic/if_enic.c
1447
vnic_dev_intr_coal_timer_info_default(enic->vdev);
sys/dev/enic/if_enic.c
145
IFLIB_PNP_INFO(pci, enic, enic_vendor_info_array);
sys/dev/enic/if_enic.c
1452
err = enic_get_vnic_config(enic);
sys/dev/enic/if_enic.c
1459
enic_get_res_counts(enic);
sys/dev/enic/if_enic.c
146
MODULE_VERSION(enic, 2);
sys/dev/enic/if_enic.c
1462
enic->intr_queues = malloc(sizeof(*enic->intr_queues) *
sys/dev/enic/if_enic.c
1463
enic->conf_intr_count, M_DEVBUF, M_NOWAIT | M_ZERO);
sys/dev/enic/if_enic.c
1465
vnic_dev_set_reset_flag(enic->vdev, 0);
sys/dev/enic/if_enic.c
1466
enic->max_flow_counter = -1;
sys/dev/enic/if_enic.c
1469
vnic_dev_notify_set(enic->vdev, -1); /* No Intr for notify */
sys/dev/enic/if_enic.c
1471
enic->overlay_offload = false;
sys/dev/enic/if_enic.c
1472
if (enic->disable_overlay && enic->vxlan) {
sys/dev/enic/if_enic.c
1477
if (vnic_dev_overlay_offload_ctrl(enic->vdev,
sys/dev/enic/if_enic.c
1479
dev_err(enic, "failed to disable overlay offload\n");
sys/dev/enic/if_enic.c
148
MODULE_DEPEND(enic, pci, 1, 1, 1);
sys/dev/enic/if_enic.c
1481
dev_info(enic, "Overlay offload is disabled\n");
sys/dev/enic/if_enic.c
1484
if (!enic->disable_overlay && enic->vxlan &&
sys/dev/enic/if_enic.c
1486
vnic_dev_overlay_offload_ctrl(enic->vdev,
sys/dev/enic/if_enic.c
1488
enic->overlay_offload = true;
sys/dev/enic/if_enic.c
1489
enic->vxlan_port = ENIC_DEFAULT_VXLAN_PORT;
sys/dev/enic/if_enic.c
149
MODULE_DEPEND(enic, ether, 1, 1, 1);
sys/dev/enic/if_enic.c
1490
dev_info(enic, "Overlay offload is enabled\n");
sys/dev/enic/if_enic.c
1495
if (vnic_dev_overlay_offload_cfg(enic->vdev,
sys/dev/enic/if_enic.c
1497
dev_err(enic, "failed to update vxlan port\n");
sys/dev/enic/if_enic.c
150
MODULE_DEPEND(enic, iflib, 1, 1, 1);
sys/dev/enic/if_enic.c
1510
struct enic *enic = (struct enic *)priv;
sys/dev/enic/if_enic.c
1513
rz = iflib_dma_alloc(enic->softc->ctx, size, res, BUS_DMA_NOWAIT);
sys/dev/enic/if_enic.c
1615
enic_init_vnic_resources(struct enic *enic)
sys/dev/enic/if_enic.c
1627
scctx = enic->softc->scctx;
sys/dev/enic/if_enic.c
1635
for (index = 0; index < enic->intr_count; index++) {
sys/dev/enic/if_enic.c
1636
vnic_intr_alloc(enic->vdev, &enic->intr[index], index);
sys/dev/enic/if_enic.c
1640
cq_idx = enic_cq_rq(enic, index);
sys/dev/enic/if_enic.c
1642
vnic_rq_clean(&enic->rq[index]);
sys/dev/enic/if_enic.c
1643
vnic_rq_init(&enic->rq[index], cq_idx, error_interrupt_enable,
sys/dev/enic/if_enic.c
1646
vnic_cq_clean(&enic->cq[cq_idx]);
sys/dev/enic/if_enic.c
1647
vnic_cq_init(&enic->cq[cq_idx],
sys/dev/enic/if_enic.c
1663
cq_idx = enic_cq_wq(enic, index);
sys/dev/enic/if_enic.c
1664
vnic_wq_clean(&enic->wq[index]);
sys/dev/enic/if_enic.c
1665
vnic_wq_init(&enic->wq[index], cq_idx, error_interrupt_enable,
sys/dev/enic/if_enic.c
1668
enic->wq[index].tx_offload_notsup_mask = 0;
sys/dev/enic/if_enic.c
1670
vnic_cq_clean(&enic->cq[cq_idx]);
sys/dev/enic/if_enic.c
1671
vnic_cq_init(&enic->cq[cq_idx],
sys/dev/enic/if_enic.c
1685
for (index = 0; index < enic->intr_count; index++) {
sys/dev/enic/if_enic.c
1686
vnic_intr_init(&enic->intr[index], 125,
sys/dev/enic/if_enic.c
1687
enic->config.intr_timer_type, /* mask_on_assertion */ 1);
sys/dev/enic/if_enic.c
1692
enic_update_packet_filter(struct enic *enic)
sys/dev/enic/if_enic.c
1694
struct enic_softc *softc = enic->softc;
sys/dev/enic/if_enic.c
1697
vnic_dev_packet_filter(enic->vdev,
sys/dev/enic/if_enic.c
1717
enic_setup_finish(struct enic *enic)
sys/dev/enic/if_enic.c
1719
struct enic_softc *softc = enic->softc;
sys/dev/enic/if_enic.c
1727
enic_update_packet_filter(enic);
sys/dev/enic/if_enic.c
301
static void enic_set_rx_coal_setting(struct enic *enic)
sys/dev/enic/if_enic.c
305
struct enic_rx_coal *rx_coal = &enic->rx_coalesce_setting;
sys/dev/enic/if_enic.c
311
speed = vnic_dev_port_speed(enic->vdev);
sys/dev/enic/if_enic.c
324
for (index = 0; index < enic->rq_count; index++)
sys/dev/enic/if_enic.c
325
enic->cq[index].cur_rx_coal_timeval =
sys/dev/enic/if_enic.c
326
enic->config.intr_timer_usec;
sys/dev/enic/if_enic.c
337
struct enic *enic;
sys/dev/enic/if_enic.c
369
enic = &softc->enic;
sys/dev/enic/if_enic.c
370
enic->softc = softc;
sys/dev/enic/if_enic.c
373
enic->vdev = vdev;
sys/dev/enic/if_enic.c
374
vdev->priv = enic;
sys/dev/enic/if_enic.c
378
enic->vdev = vdev;
sys/dev/enic/if_enic.c
379
vnic_dev_cmd_init(enic->vdev);
sys/dev/enic/if_enic.c
389
vnic_register_cbacks(enic->vdev, enic_alloc_consistent,
sys/dev/enic/if_enic.c
397
err = vnic_dev_alloc_stats_mem(enic->vdev);
sys/dev/enic/if_enic.c
400
dev_err(enic, "Failed to allocate cmd memory, aborting\n");
sys/dev/enic/if_enic.c
403
vnic_dev_stats_clear(enic->vdev);
sys/dev/enic/if_enic.c
404
ret = vnic_dev_stats_dump(enic->vdev, &stats);
sys/dev/enic/if_enic.c
406
dev_err(enic, "Error in getting stats\n");
sys/dev/enic/if_enic.c
409
err = vnic_dev_alloc_counter_mem(enic->vdev);
sys/dev/enic/if_enic.c
411
dev_err(enic, "Failed to allocate counter memory, aborting\n");
sys/dev/enic/if_enic.c
416
err = enic_dev_open(enic);
sys/dev/enic/if_enic.c
418
dev_err(enic, "vNIC dev open failed, aborting\n");
sys/dev/enic/if_enic.c
423
enic->ig_vlan_rewrite_mode = IG_VLAN_REWRITE_MODE_UNTAG_DEFAULT_VLAN;
sys/dev/enic/if_enic.c
424
enic->ig_vlan_rewrite_mode = IG_VLAN_REWRITE_MODE_PRIORITY_TAG_DEFAULT_VLAN;
sys/dev/enic/if_enic.c
425
err = vnic_dev_set_ig_vlan_rewrite_mode(enic->vdev,
sys/dev/enic/if_enic.c
426
enic->ig_vlan_rewrite_mode);
sys/dev/enic/if_enic.c
428
dev_err(enic,
sys/dev/enic/if_enic.c
441
err = vnic_dev_init(enic->vdev, 0);
sys/dev/enic/if_enic.c
443
dev_err(enic, "vNIC dev init failed, aborting\n");
sys/dev/enic/if_enic.c
447
err = enic_dev_init(enic);
sys/dev/enic/if_enic.c
449
dev_err(enic, "Device initialization failed, aborting\n");
sys/dev/enic/if_enic.c
454
enic->port_mtu = vnic_dev_mtu(enic->vdev);
sys/dev/enic/if_enic.c
462
if_setmtu(softc->ifp, enic->config.mtu);
sys/dev/enic/if_enic.c
463
scctx->isc_max_frame_size = enic->config.mtu + ETHER_HDR_LEN + \
sys/dev/enic/if_enic.c
465
scctx->isc_nrxqsets_max = enic->conf_rq_count;
sys/dev/enic/if_enic.c
466
scctx->isc_ntxqsets_max = enic->conf_wq_count;
sys/dev/enic/if_enic.c
467
scctx->isc_nrxqsets = enic->conf_rq_count;
sys/dev/enic/if_enic.c
468
scctx->isc_ntxqsets = enic->conf_wq_count;
sys/dev/enic/if_enic.c
469
for (i = 0; i < enic->conf_wq_count; i++) {
sys/dev/enic/if_enic.c
470
scctx->isc_ntxd[i] = enic->config.wq_desc_count;
sys/dev/enic/if_enic.c
473
scctx->isc_ntxd[i + enic->conf_wq_count] =
sys/dev/enic/if_enic.c
474
enic->config.wq_desc_count;
sys/dev/enic/if_enic.c
475
scctx->isc_txqsizes[i + enic->conf_wq_count] =
sys/dev/enic/if_enic.c
477
enic->conf_wq_count];
sys/dev/enic/if_enic.c
479
for (i = 0; i < enic->conf_rq_count; i++) {
sys/dev/enic/if_enic.c
480
scctx->isc_nrxd[i] = enic->config.rq_desc_count;
sys/dev/enic/if_enic.c
483
scctx->isc_nrxd[i + enic->conf_rq_count] =
sys/dev/enic/if_enic.c
484
enic->config.rq_desc_count;
sys/dev/enic/if_enic.c
485
scctx->isc_rxqsizes[i + enic->conf_rq_count] = sizeof(struct
sys/dev/enic/if_enic.c
486
cq_desc) * scctx->isc_nrxd[i + enic->conf_rq_count];
sys/dev/enic/if_enic.c
499
if (softc->enic.cq == NULL)
sys/dev/enic/if_enic.c
500
softc->enic.cq = malloc(sizeof(struct vnic_cq) *
sys/dev/enic/if_enic.c
501
softc->enic.wq_count + softc->enic.rq_count, M_DEVBUF,
sys/dev/enic/if_enic.c
503
if (softc->enic.cq == NULL)
sys/dev/enic/if_enic.c
510
err = vnic_dev_alloc_stats_mem(enic->vdev);
sys/dev/enic/if_enic.c
512
dev_err(enic, "Failed to allocate cmd memory, aborting\n");
sys/dev/enic/if_enic.c
518
dev_err(enic, "Failed to allocate MSIX, aborting\n");
sys/dev/enic/if_enic.c
525
vnic_dev_close(enic->vdev);
sys/dev/enic/if_enic.c
526
vnic_dev_deinit_devcmd2(enic->vdev);
sys/dev/enic/if_enic.c
529
free(softc->enic.intr_queues, M_DEVBUF);
sys/dev/enic/if_enic.c
530
free(softc->enic.cq, M_DEVBUF);
sys/dev/enic/if_enic.c
543
struct enic *enic;
sys/dev/enic/if_enic.c
551
enic = &softc->enic;
sys/dev/enic/if_enic.c
555
vnic_dev_set_intr_mode(enic->vdev, VNIC_DEV_INTR_MODE_MSIX);
sys/dev/enic/if_enic.c
558
enic->intr_queues = malloc(sizeof(*enic->intr_queues) *
sys/dev/enic/if_enic.c
559
enic->conf_intr_count, M_DEVBUF, M_NOWAIT | M_ZERO);
sys/dev/enic/if_enic.c
560
enic->intr = malloc(sizeof(*enic->intr) * msix, M_DEVBUF, M_NOWAIT
sys/dev/enic/if_enic.c
567
&enic->intr_queues[i].intr_irq, i + 1, IFLIB_INTR_RX,
sys/dev/enic/if_enic.c
568
enic_rxq_intr, &enic->rq[i], i, irq_name);
sys/dev/enic/if_enic.c
57
static SYSCTL_NODE(_hw, OID_AUTO, enic, CTLFLAG_RW | CTLFLAG_MPSAFE, 0,
sys/dev/enic/if_enic.c
574
enic->intr[i].index = i;
sys/dev/enic/if_enic.c
575
enic->intr[i].vdev = enic->vdev;
sys/dev/enic/if_enic.c
577
enic->intr[i].ctrl = vnic_dev_get_res(enic->vdev,
sys/dev/enic/if_enic.c
579
vnic_intr_mask(&enic->intr[i]);
sys/dev/enic/if_enic.c
588
&enic->intr_queues[i].intr_irq, IFLIB_INTR_TX,
sys/dev/enic/if_enic.c
589
&enic->wq[i - scctx->isc_nrxqsets], i - scctx->isc_nrxqsets,
sys/dev/enic/if_enic.c
592
enic->intr[i].index = i;
sys/dev/enic/if_enic.c
593
enic->intr[i].vdev = enic->vdev;
sys/dev/enic/if_enic.c
595
enic->intr[i].ctrl = vnic_dev_get_res(enic->vdev,
sys/dev/enic/if_enic.c
597
vnic_intr_mask(&enic->intr[i]);
sys/dev/enic/if_enic.c
610
enic->intr[i].index = i;
sys/dev/enic/if_enic.c
611
enic->intr[i].vdev = enic->vdev;
sys/dev/enic/if_enic.c
613
enic->intr[i].ctrl = vnic_dev_get_res(enic->vdev, RES_TYPE_INTR_CTRL,
sys/dev/enic/if_enic.c
615
vnic_intr_mask(&enic->intr[i]);
sys/dev/enic/if_enic.c
626
enic->intr[i].index = i;
sys/dev/enic/if_enic.c
627
enic->intr[i].vdev = enic->vdev;
sys/dev/enic/if_enic.c
629
enic->intr[i].ctrl = vnic_dev_get_res(enic->vdev, RES_TYPE_INTR_CTRL,
sys/dev/enic/if_enic.c
631
vnic_intr_mask(&enic->intr[i]);
sys/dev/enic/if_enic.c
634
enic->intr_count = msix;
sys/dev/enic/if_enic.c
644
struct enic *enic;
sys/dev/enic/if_enic.c
648
enic = &softc->enic;
sys/dev/enic/if_enic.c
651
iflib_irq_free(softc->ctx, &enic->intr_queues[i].intr_irq);
sys/dev/enic/if_enic.c
656
free(enic->intr_queues, M_DEVBUF);
sys/dev/enic/if_enic.c
657
free(enic->intr, M_DEVBUF);
sys/dev/enic/if_enic.c
663
struct enic *enic;
sys/dev/enic/if_enic.c
668
enic = &softc->enic;
sys/dev/enic/if_enic.c
672
enic_init_vnic_resources(enic);
sys/dev/enic/if_enic.c
673
enic_set_rx_coal_setting(enic);
sys/dev/enic/if_enic.c
674
enic_setup_finish(enic);
sys/dev/enic/if_enic.c
686
struct enic *enic;
sys/dev/enic/if_enic.c
689
enic = &softc->enic;
sys/dev/enic/if_enic.c
691
vnic_dev_notify_unset(enic->vdev);
sys/dev/enic/if_enic.c
696
vnic_dev_deinit(enic->vdev);
sys/dev/enic/if_enic.c
697
vnic_dev_close(enic->vdev);
sys/dev/enic/if_enic.c
698
vnic_dev_deinit_devcmd2(enic->vdev);
sys/dev/enic/if_enic.c
716
softc->enic.wq = malloc(sizeof(struct vnic_wq) *
sys/dev/enic/if_enic.c
718
if (softc->enic.wq == NULL)
sys/dev/enic/if_enic.c
737
wq = &softc->enic.wq[q];
sys/dev/enic/if_enic.c
738
cq_wq = enic_cq_wq(&softc->enic, q);
sys/dev/enic/if_enic.c
739
cq = &softc->enic.cq[cq_wq];
sys/dev/enic/if_enic.c
742
wq->vdev = softc->enic.vdev;
sys/dev/enic/if_enic.c
744
wq->ctrl = vnic_dev_get_res(softc->enic.vdev, RES_TYPE_WQ,
sys/dev/enic/if_enic.c
759
cq->vdev = softc->enic.vdev;
sys/dev/enic/if_enic.c
761
cq->ctrl = vnic_dev_get_res(softc->enic.vdev,
sys/dev/enic/if_enic.c
788
softc->enic.rq = malloc(sizeof(struct vnic_rq) * nrxqsets, M_DEVBUF,
sys/dev/enic/if_enic.c
790
if (softc->enic.rq == NULL)
sys/dev/enic/if_enic.c
809
rq = &softc->enic.rq[q];
sys/dev/enic/if_enic.c
810
cq_rq = enic_cq_rq(&softc->enic, q);
sys/dev/enic/if_enic.c
811
cq = &softc->enic.cq[cq_rq];
sys/dev/enic/if_enic.c
814
cq->vdev = softc->enic.vdev;
sys/dev/enic/if_enic.c
816
cq->ctrl = vnic_dev_get_res(softc->enic.vdev, RES_TYPE_CQ,
sys/dev/enic/if_enic.c
826
rq->vdev = softc->enic.vdev;
sys/dev/enic/if_enic.c
829
rq->ctrl = vnic_dev_get_res(softc->enic.vdev,
sys/dev/enic/if_enic.c
853
free(softc->enic.rq, M_DEVBUF);
sys/dev/enic/if_enic.c
854
free(softc->enic.wq, M_DEVBUF);
sys/dev/enic/if_enic.c
855
free(softc->enic.cq, M_DEVBUF);
sys/dev/enic/if_enic.c
876
struct enic *enic;
sys/dev/enic/if_enic.c
880
enic = &softc->enic;
sys/dev/enic/if_enic.c
882
mtu = vnic_dev_mtu(enic->vdev);
sys/dev/enic/if_enic.c
883
if (mtu && mtu != enic->port_mtu) {
sys/dev/enic/if_enic.c
884
enic->port_mtu = mtu;
sys/dev/enic/if_enic.c
909
struct enic *enic;
sys/dev/enic/if_enic.c
920
enic = &softc->enic;
sys/dev/enic/if_enic.c
927
enic_dev_disable(enic);
sys/dev/enic/if_enic.c
930
enic_stop_wq(enic, index);
sys/dev/enic/if_enic.c
931
vnic_wq_clean(&enic->wq[index]);
sys/dev/enic/if_enic.c
932
vnic_cq_clean(&enic->cq[enic_cq_rq(enic, index)]);
sys/dev/enic/if_enic.c
934
wq = &softc->enic.wq[index];
sys/dev/enic/if_enic.c
940
cq_wq = enic_cq_wq(&softc->enic, index);
sys/dev/enic/if_enic.c
941
cq = &softc->enic.cq[cq_wq];
sys/dev/enic/if_enic.c
946
enic_stop_rq(enic, index);
sys/dev/enic/if_enic.c
947
vnic_rq_clean(&enic->rq[index]);
sys/dev/enic/if_enic.c
948
vnic_cq_clean(&enic->cq[enic_cq_wq(enic, index)]);
sys/dev/enic/if_enic.c
950
rq = &softc->enic.rq[index];
sys/dev/enic/if_enic.c
951
cq_rq = enic_cq_rq(&softc->enic, index);
sys/dev/enic/if_enic.c
952
cq = &softc->enic.cq[cq_rq];
sys/dev/enic/if_enic.c
960
vnic_intr_clean(&enic->intr[index]);
sys/dev/enic/if_enic.c
968
struct enic *enic;
sys/dev/enic/if_enic.c
974
enic = &softc->enic;
sys/dev/enic/if_enic.c
977
enic_init_vnic_resources(enic);
sys/dev/enic/if_enic.c
980
enic_prep_wq_for_simple_tx(&softc->enic, index);
sys/dev/enic/if_enic.c
983
enic_start_wq(enic, index);
sys/dev/enic/if_enic.c
986
enic_start_rq(enic, index);
sys/dev/enic/if_enic.c
993
vnic_dev_enable_wait(enic->vdev);
sys/dev/enic/vnic_dev.h
144
struct enic;