usr/src/cmd/fm/fmd/common/fmd_event.c
132
uint64_t ena;
usr/src/cmd/fm/fmd/common/fmd_event.c
163
nvlist_lookup_uint64(nvl, FM_EREPORT_ENA, &ena) == 0 &&
usr/src/cmd/fm/fmd/common/fmd_event.c
165
hrt = fmd_time_ena2hrt(hrt, ena);
usr/src/cmd/fm/fmd/common/fmd_protocol.c
264
uint64_t ena = fmd_ena();
usr/src/cmd/fm/fmd/common/fmd_protocol.c
282
err |= nvlist_add_uint64(nvl, FM_EREPORT_ENA, ena);
usr/src/cmd/fm/fmd/common/fmd_protocol.c
296
uint64_t ena = fmd_ena();
usr/src/cmd/fm/fmd/common/fmd_protocol.c
311
err |= nvlist_add_uint64(nvl, FM_EREPORT_ENA, ena);
usr/src/cmd/fm/fmd/common/fmd_sysevent.c
286
uint64_t ena;
usr/src/cmd/fm/fmd/common/fmd_sysevent.c
367
if (nvlist_lookup_uint64(nvl, FM_EREPORT_ENA, &ena) == 0)
usr/src/cmd/fm/fmd/common/fmd_sysevent.c
368
hrt = fmd_time_ena2hrt(hrt, ena);
usr/src/cmd/fm/fmd/common/fmd_time.c
192
fmd_time_ena2hrt(hrtime_t hrt, uint64_t ena)
usr/src/cmd/fm/fmd/common/fmd_time.c
196
switch (ENA_FORMAT(ena)) {
usr/src/cmd/fm/fmd/common/fmd_time.c
198
t0 = (ena & ENA_FMT1_TIME_MASK) >> ENA_FMT1_TIME_SHFT;
usr/src/cmd/fm/fmd/common/fmd_time.c
204
t0 = (ena & ENA_FMT2_TIME_MASK) >> ENA_FMT2_TIME_SHFT;
usr/src/cmd/fm/fmdump/common/error.c
46
uint64_t ena = 0;
usr/src/cmd/fm/fmdump/common/error.c
49
(void) nvlist_lookup_uint64(rp->rec_nvl, FM_EREPORT_ENA, &ena);
usr/src/cmd/fm/fmdump/common/error.c
52
fmdump_date(buf, sizeof (buf), rp), rp->rec_class, ena);
usr/src/cmd/fm/modules/common/disk-transport/disk_transport.c
77
const char *faultname, uint64_t ena, nvlist_t *detector, nvlist_t *payload)
usr/src/cmd/fm/modules/common/disk-transport/disk_transport.c
89
e |= nvlist_add_uint64(nvl, FM_EREPORT_ENA, ena);
usr/src/cmd/fm/modules/common/fabric-xlate/fx_subr.c
127
uint64_t ena;
usr/src/cmd/fm/modules/common/fabric-xlate/fx_subr.c
143
err |= nvlist_lookup_uint64(nvl, "ena", &ena);
usr/src/cmd/fm/modules/common/fabric-xlate/fx_subr.c
146
(void) nvlist_add_uint64(erpt, FM_EREPORT_ENA, ena);
usr/src/cmd/fm/modules/common/fabric-xlate/fx_subr.c
49
uint64_t ena;
usr/src/cmd/fm/modules/common/fabric-xlate/fx_subr.c
57
err |= nvlist_lookup_uint64(nvl, "ena", &ena);
usr/src/cmd/fm/modules/common/fabric-xlate/fx_subr.c
68
(void) nvlist_add_uint64(erpt, FM_EREPORT_ENA, ena);
usr/src/cmd/fm/modules/common/sensor-transport/sensor_transport.c
254
ena = fmd_event_ena_create(hdl);
usr/src/cmd/fm/modules/common/sensor-transport/sensor_transport.c
269
(void) nvlist_add_uint64(event, FM_EREPORT_ENA, ena);
usr/src/cmd/fm/modules/common/sensor-transport/sensor_transport.c
91
uint64_t ena;
usr/src/cmd/fm/modules/common/ses-log-transport/ses_log_transport.c
161
uint64_t ena, nvlist_t *detector, nvlist_t *payload)
usr/src/cmd/fm/modules/common/ses-log-transport/ses_log_transport.c
174
e |= nvlist_add_uint64(nvl, FM_EREPORT_ENA, ena);
usr/src/cmd/fm/modules/common/ses-log-transport/ses_log_transport.c
688
uint64_t ena;
usr/src/cmd/fm/modules/common/ses-log-transport/ses_log_transport.c
730
ena = fmd_event_ena_create(slmp->slt_hdl);
usr/src/cmd/fm/modules/common/ses-log-transport/ses_log_transport.c
733
class_sev, ena, expander->fmri, entry_data);
usr/src/cmd/fm/modules/common/zfs-diagnosis/zfs_de.c
564
uint64_t ena, pool_guid, vdev_guid;
usr/src/cmd/fm/modules/common/zfs-diagnosis/zfs_de.c
655
if (nvlist_lookup_uint64(nvl, FM_EREPORT_ENA, &ena) != 0)
usr/src/cmd/fm/modules/common/zfs-diagnosis/zfs_de.c
656
ena = 0;
usr/src/cmd/fm/modules/common/zfs-diagnosis/zfs_de.c
749
data.zc_ena = ena;
usr/src/cmd/mdb/common/modules/genunix/fm.c
155
uint64_t ena = 0;
usr/src/cmd/mdb/common/modules/genunix/fm.c
221
NVP_TYPE(nvpair) == DATA_TYPE_UINT64 && ena == 0) {
usr/src/cmd/mdb/common/modules/genunix/fm.c
222
bcopy(NVP_VALUE(nvpair), (char *)&ena,
usr/src/cmd/mdb/common/modules/genunix/fm.c
226
if (class != NULL && ena != 0) {
usr/src/cmd/mdb/common/modules/genunix/fm.c
227
mdb_printf("0x%016llx %s\n", ena, class);
usr/src/lib/libsmbfs/netsmb/smbfs_api.h
125
int smb_ctx_setsigning(struct smb_ctx *, int ena, int req);
usr/src/lib/libsmbfs/netsmb/smbfs_api.h
129
int smb_ctx_setnbflags(struct smb_ctx *, int ena, int bcast);
usr/src/uts/common/crypto/io/dca.c
2377
uint64_t ena = 0;
usr/src/uts/common/crypto/io/dca.c
2382
ena = dca_ena(ena);
usr/src/uts/common/crypto/io/dca.c
2384
DCA_FM_ECLASS_NONE, ena, CRYPTO_DEVICE_ERROR,
usr/src/uts/common/crypto/io/dca.c
2405
uint64_t ena, int errno, char *mess, ...)
usr/src/uts/common/crypto/io/dca.c
2421
ddi_fm_ereport_post(dca->dca_dip, eclass, ena,
usr/src/uts/common/crypto/io/dca.c
415
static uint64_t dca_ena(uint64_t ena);
usr/src/uts/common/crypto/io/dca.c
4893
dca_ena(uint64_t ena)
usr/src/uts/common/crypto/io/dca.c
4895
if (ena == 0)
usr/src/uts/common/crypto/io/dca.c
4896
ena = fm_ena_generate(0, FM_ENA_FMT1);
usr/src/uts/common/crypto/io/dca.c
4898
ena = fm_ena_increment(ena);
usr/src/uts/common/crypto/io/dca.c
4899
return (ena);
usr/src/uts/common/fs/zfs/zfs_fm.c
116
uint64_t ena;
usr/src/uts/common/fs/zfs/zfs_fm.c
143
ena = spa->spa_ena;
usr/src/uts/common/fs/zfs/zfs_fm.c
148
ena = zio->io_logical->io_ena;
usr/src/uts/common/fs/zfs/zfs_fm.c
150
ena = fm_ena_generate(0, FM_ENA_FMT1);
usr/src/uts/common/fs/zfs/zfs_fm.c
162
fm_ereport_set(ereport, FM_EREPORT_VERSION, class, ena, detector, NULL);
usr/src/uts/common/io/aac/aac.c
7052
uint64_t ena;
usr/src/uts/common/io/aac/aac.c
7056
ena = fm_ena_generate(0, FM_ENA_FMT1);
usr/src/uts/common/io/aac/aac.c
7058
ddi_fm_ereport_post(softs->devinfo_p, buf, ena, DDI_NOSLEEP,
usr/src/uts/common/io/bge/bge_log.c
127
uint64_t ena;
usr/src/uts/common/io/bge/bge_log.c
131
ena = fm_ena_generate(0, FM_ENA_FMT1);
usr/src/uts/common/io/bge/bge_log.c
133
ddi_fm_ereport_post(bgep->devinfo, buf, ena, DDI_NOSLEEP,
usr/src/uts/common/io/bnx/570x/driver/common/lmdev/bnx_lm_main.c
3727
u8_t ena;
usr/src/uts/common/io/bnx/570x/driver/common/lmdev/bnx_lm_main.c
3738
u8_t ena;
usr/src/uts/common/io/bnx/570x/driver/common/lmdev/bnx_lm_main.c
3798
wol_pat.as_u8.ena = 0;
usr/src/uts/common/io/bnx/570x/driver/common/lmdev/bnx_lm_main.c
3817
wol_pat.as_u8.ena |= 1 << k;
usr/src/uts/common/io/bnxe/bnxe_main.c
441
uint64_t ena;
usr/src/uts/common/io/bnxe/bnxe_main.c
446
ena = fm_ena_generate(0, FM_ENA_FMT1);
usr/src/uts/common/io/bnxe/bnxe_main.c
450
ddi_fm_ereport_post(pUM->pDev, buf, ena, DDI_NOSLEEP,
usr/src/uts/common/io/bofi.c
2358
uint64_t ena;
usr/src/uts/common/io/bofi.c
2363
ena = fm_ena_generate(0, FM_ENA_FMT1);
usr/src/uts/common/io/bofi.c
2364
ddi_fm_ereport_post(hp->dip, buf, ena,
usr/src/uts/common/io/bofi.c
2479
uint64_t ena;
usr/src/uts/common/io/bofi.c
2485
ena = fm_ena_generate(0, FM_ENA_FMT1);
usr/src/uts/common/io/bofi.c
2486
ddi_fm_ereport_post(hp->dip, buf, ena,
usr/src/uts/common/io/bofi.c
2578
uint64_t ena;
usr/src/uts/common/io/bofi.c
2584
ena = fm_ena_generate(0, FM_ENA_FMT1);
usr/src/uts/common/io/bofi.c
2585
ddi_fm_ereport_post(hp->dip, buf, ena,
usr/src/uts/common/io/e1000g/e1000g_main.c
6626
uint64_t ena;
usr/src/uts/common/io/e1000g/e1000g_main.c
6630
ena = fm_ena_generate(0, FM_ENA_FMT1);
usr/src/uts/common/io/e1000g/e1000g_main.c
6632
ddi_fm_ereport_post(Adapter->dip, buf, ena, DDI_NOSLEEP,
usr/src/uts/common/io/ena/ena.c
1000
ena->ena_rx_l4_ipv4_csum = false;
usr/src/uts/common/io/ena/ena.c
1001
ena->ena_rx_l4_ipv6_csum = false;
usr/src/uts/common/io/ena/ena.c
1002
ena->ena_rx_hash = false;
usr/src/uts/common/io/ena/ena.c
1005
ret = ena_get_feature(ena, &resp, ENAHW_FEAT_STATELESS_OFFLOAD_CONFIG,
usr/src/uts/common/io/ena/ena.c
1016
ena_err(ena, "error getting stateless offload: %d", ret);
usr/src/uts/common/io/ena/ena.c
1020
ena->ena_tx_l3_ipv4_csum = ENAHW_FEAT_OFFLOAD_TX_L3_IPV4_CSUM(feat);
usr/src/uts/common/io/ena/ena.c
1022
ena->ena_tx_l4_ipv4_part_csum =
usr/src/uts/common/io/ena/ena.c
1024
ena->ena_tx_l4_ipv4_full_csum =
usr/src/uts/common/io/ena/ena.c
1026
ena->ena_tx_l4_ipv4_lso = ENAHW_FEAT_OFFLOAD_TSO_IPV4(feat);
usr/src/uts/common/io/ena/ena.c
1028
ena->ena_tx_l4_ipv6_part_csum =
usr/src/uts/common/io/ena/ena.c
1030
ena->ena_tx_l4_ipv6_full_csum =
usr/src/uts/common/io/ena/ena.c
1032
ena->ena_tx_l4_ipv6_lso = ENAHW_FEAT_OFFLOAD_TSO_IPV6(feat);
usr/src/uts/common/io/ena/ena.c
1034
ena->ena_rx_l3_ipv4_csum = ENAHW_FEAT_OFFLOAD_RX_L3_IPV4_CSUM(feat);
usr/src/uts/common/io/ena/ena.c
1035
ena->ena_rx_l4_ipv4_csum = ENAHW_FEAT_OFFLOAD_RX_L4_IPV4_CSUM(feat);
usr/src/uts/common/io/ena/ena.c
1036
ena->ena_rx_l4_ipv6_csum = ENAHW_FEAT_OFFLOAD_RX_L4_IPV6_CSUM(feat);
usr/src/uts/common/io/ena/ena.c
1041
ena_get_prop(ena_t *ena, char *propname, const int minval, const int maxval,
usr/src/uts/common/io/ena/ena.c
1044
int value = ddi_prop_get_int(DDI_DEV_T_ANY, ena->ena_dip,
usr/src/uts/common/io/ena/ena.c
1048
ena_err(ena, "user value %s=%d exceeded maximum, setting to %d",
usr/src/uts/common/io/ena/ena.c
1054
ena_err(ena, "user value %s=%d below minimum, setting to %d",
usr/src/uts/common/io/ena/ena.c
1063
ena_set_mtu(ena_t *ena)
usr/src/uts/common/io/ena/ena.c
1072
feat->efm_mtu = ena->ena_mtu;
usr/src/uts/common/io/ena/ena.c
1074
if ((ret = ena_set_feature(ena, &cmd, &resp, ENAHW_FEAT_MTU,
usr/src/uts/common/io/ena/ena.c
1076
ena_err(ena, "failed to set device MTU to %u: %d", ena->ena_mtu,
usr/src/uts/common/io/ena/ena.c
1085
ena_get_link_config(ena_t *ena)
usr/src/uts/common/io/ena/ena.c
1094
if (ena_get_feature(ena, &resp, ENAHW_FEAT_LINK_CONFIG,
usr/src/uts/common/io/ena/ena.c
1102
ena->ena_link_speed_mbits = 1000;
usr/src/uts/common/io/ena/ena.c
1103
ena->ena_link_speeds = ENAHW_LINK_SPEED_1G;
usr/src/uts/common/io/ena/ena.c
1104
ena->ena_link_duplex = LINK_DUPLEX_FULL;
usr/src/uts/common/io/ena/ena.c
1105
ena->ena_link_autoneg = true;
usr/src/uts/common/io/ena/ena.c
1109
ena->ena_link_speed_mbits = feat->eflc_speed;
usr/src/uts/common/io/ena/ena.c
1110
ena->ena_link_speeds = feat->eflc_supported;
usr/src/uts/common/io/ena/ena.c
1112
ena->ena_link_duplex = full_duplex ? LINK_DUPLEX_FULL :
usr/src/uts/common/io/ena/ena.c
1114
ena->ena_link_autoneg = ENAHW_FEAT_LINK_CONF_AUTONEG(feat);
usr/src/uts/common/io/ena/ena.c
1132
ena_attach_read_conf(ena_t *ena)
usr/src/uts/common/io/ena/ena.c
1141
gcv = MIN(ena->ena_rx_max_sq_num_descs, ena->ena_rx_max_cq_num_descs);
usr/src/uts/common/io/ena/ena.c
1143
ena->ena_rxq_num_descs = ena_get_prop(ena, ENA_PROP_RXQ_NUM_DESCS,
usr/src/uts/common/io/ena/ena.c
1146
ena->ena_rxq_intr_limit = ena_get_prop(ena, ENA_PROP_RXQ_INTR_LIMIT,
usr/src/uts/common/io/ena/ena.c
1150
gcv = MIN(ena->ena_tx_max_sq_num_descs, ena->ena_tx_max_cq_num_descs);
usr/src/uts/common/io/ena/ena.c
1152
ena->ena_txq_num_descs = ena_get_prop(ena, ENA_PROP_TXQ_NUM_DESCS,
usr/src/uts/common/io/ena/ena.c
1163
ena_attach_dev_cfg(ena_t *ena)
usr/src/uts/common/io/ena/ena.c
1165
ASSERT3U(ena->ena_attach_seq, >=, ENA_ATTACH_READ_CONF);
usr/src/uts/common/io/ena/ena.c
1167
if (!ena_set_mtu(ena)) {
usr/src/uts/common/io/ena/ena.c
1172
ena->ena_mtu = 1500;
usr/src/uts/common/io/ena/ena.c
1173
ena_err(ena, "trying fallback MTU: %u", ena->ena_mtu);
usr/src/uts/common/io/ena/ena.c
1175
if (!ena_set_mtu(ena)) {
usr/src/uts/common/io/ena/ena.c
1184
ena_check_versions(ena_t *ena)
usr/src/uts/common/io/ena/ena.c
1186
uint32_t dev_vsn = ena_hw_bar_read32(ena, ENAHW_REG_VERSION);
usr/src/uts/common/io/ena/ena.c
1188
ena_hw_bar_read32(ena, ENAHW_REG_CONTROLLER_VERSION);
usr/src/uts/common/io/ena/ena.c
1190
ena->ena_dev_major_vsn = ENAHW_DEV_MAJOR_VSN(dev_vsn);
usr/src/uts/common/io/ena/ena.c
1191
ena->ena_dev_minor_vsn = ENAHW_DEV_MINOR_VSN(dev_vsn);
usr/src/uts/common/io/ena/ena.c
1193
ena->ena_ctrl_major_vsn = ENAHW_CTRL_MAJOR_VSN(ctrl_vsn);
usr/src/uts/common/io/ena/ena.c
1194
ena->ena_ctrl_minor_vsn = ENAHW_CTRL_MINOR_VSN(ctrl_vsn);
usr/src/uts/common/io/ena/ena.c
1195
ena->ena_ctrl_subminor_vsn = ENAHW_CTRL_SUBMINOR_VSN(ctrl_vsn);
usr/src/uts/common/io/ena/ena.c
1196
ena->ena_ctrl_impl_id = ENAHW_CTRL_IMPL_ID(ctrl_vsn);
usr/src/uts/common/io/ena/ena.c
1198
ena_dbg(ena, "device version: %u.%u",
usr/src/uts/common/io/ena/ena.c
1199
ena->ena_dev_major_vsn, ena->ena_dev_minor_vsn);
usr/src/uts/common/io/ena/ena.c
1200
ena_dbg(ena, "controller version: %u.%u.%u implementation %u",
usr/src/uts/common/io/ena/ena.c
1201
ena->ena_ctrl_major_vsn, ena->ena_ctrl_minor_vsn,
usr/src/uts/common/io/ena/ena.c
1202
ena->ena_ctrl_subminor_vsn, ena->ena_ctrl_impl_id);
usr/src/uts/common/io/ena/ena.c
1204
if (ena->ena_ctrl_subminor_vsn < ENA_CTRL_SUBMINOR_VSN_MIN) {
usr/src/uts/common/io/ena/ena.c
1205
ena_err(ena, "unsupported controller version: %u.%u.%u",
usr/src/uts/common/io/ena/ena.c
1206
ena->ena_ctrl_major_vsn, ena->ena_ctrl_minor_vsn,
usr/src/uts/common/io/ena/ena.c
1207
ena->ena_ctrl_subminor_vsn);
usr/src/uts/common/io/ena/ena.c
1215
ena_adminq_init(ena_t *ena)
usr/src/uts/common/io/ena/ena.c
1217
ena_adminq_t *aq = &ena->ena_aq;
usr/src/uts/common/io/ena/ena.c
1238
ena_create_cmd_ctx(ena);
usr/src/uts/common/io/ena/ena.c
1244
ena_hw_bar_write32(ena, ENAHW_REG_INTERRUPT_MASK, ENAHW_INTR_MASK);
usr/src/uts/common/io/ena/ena.c
1254
ena_cleanup_device_init(ena_t *ena, bool resetting)
usr/src/uts/common/io/ena/ena.c
1256
ena_adminq_t *aq = &ena->ena_aq;
usr/src/uts/common/io/ena/ena.c
1260
if (ena->ena_llq_bar_mapped) {
usr/src/uts/common/io/ena/ena.c
1261
ddi_regs_map_free(&ena->ena_llq_bar_hdl);
usr/src/uts/common/io/ena/ena.c
1262
ena->ena_llq_bar_mapped = false;
usr/src/uts/common/io/ena/ena.c
1265
ena_free_host_info(ena);
usr/src/uts/common/io/ena/ena.c
1272
ena_admin_sq_free(ena);
usr/src/uts/common/io/ena/ena.c
1273
ena_admin_cq_free(ena);
usr/src/uts/common/io/ena/ena.c
1274
ena_aenq_free(ena);
usr/src/uts/common/io/ena/ena.c
1275
ena_stat_device_cleanup(ena);
usr/src/uts/common/io/ena/ena.c
1276
ena_stat_device_basic_cleanup(ena);
usr/src/uts/common/io/ena/ena.c
1277
ena_stat_device_extended_cleanup(ena);
usr/src/uts/common/io/ena/ena.c
1278
ena_stat_aenq_cleanup(ena);
usr/src/uts/common/io/ena/ena.c
1288
ena_disable_hw_timestamp(ena_t *ena)
usr/src/uts/common/io/ena/ena.c
1296
if (!ena_is_feat_avail(ena, ENAHW_FEAT_HW_TIMESTAMP))
usr/src/uts/common/io/ena/ena.c
1299
ena_dbg(ena, "Disabling HW timestamping");
usr/src/uts/common/io/ena/ena.c
1305
ret = ena_set_feature(ena, &cmd, &resp, ENAHW_FEAT_HW_TIMESTAMP,
usr/src/uts/common/io/ena/ena.c
1308
ena_err(ena, "failed to disable HW timestamping: %d", ret);
usr/src/uts/common/io/ena/ena.c
1320
ena_map_llq_mem_bar(ena_t *ena)
usr/src/uts/common/io/ena/ena.c
1325
rnumber = ena_bar_to_rnumber(ena, ENA_LLQ_BAR);
usr/src/uts/common/io/ena/ena.c
1327
ena_err(ena, "failed to find rnumber for BAR %d", ENA_LLQ_BAR);
usr/src/uts/common/io/ena/ena.c
1331
if (ddi_dev_regsize(ena->ena_dip, rnumber, &ena->ena_llq_bar_size) !=
usr/src/uts/common/io/ena/ena.c
1333
ena_err(ena, "failed to get mem BAR %d size", ENA_LLQ_BAR);
usr/src/uts/common/io/ena/ena.c
1347
ret = ddi_regs_map_setup(ena->ena_dip, rnumber,
usr/src/uts/common/io/ena/ena.c
1348
&ena->ena_llq_bar_base, 0, ena->ena_llq_bar_size, &attr,
usr/src/uts/common/io/ena/ena.c
1349
&ena->ena_llq_bar_hdl);
usr/src/uts/common/io/ena/ena.c
1352
ena_err(ena, "failed to map mem BAR %d (reg %d): %d",
usr/src/uts/common/io/ena/ena.c
1357
ena->ena_llq_bar_mapped = true;
usr/src/uts/common/io/ena/ena.c
1358
ena_dbg(ena, "LLQ BAR %d mapped to base: 0x%p size: %ld", ENA_LLQ_BAR,
usr/src/uts/common/io/ena/ena.c
1359
(void *)ena->ena_llq_bar_base, ena->ena_llq_bar_size);
usr/src/uts/common/io/ena/ena.c
1374
ena_configure_llq(ena_t *ena)
usr/src/uts/common/io/ena/ena.c
1386
ret = ena_get_feature(ena, &resp, ENAHW_FEAT_LLQ, ENAHW_FEAT_LLQ_VER);
usr/src/uts/common/io/ena/ena.c
1388
ena_dbg(ena, "LLQ not supported, using host placement");
usr/src/uts/common/io/ena/ena.c
1391
ena_err(ena, "failed to query LLQ feature: %d", ret);
usr/src/uts/common/io/ena/ena.c
1397
ena_dbg(ena, "LLQ max_num=%u max_depth=%u",
usr/src/uts/common/io/ena/ena.c
1399
ena_dbg(ena, "LLQ header_location supported=0x%x "
usr/src/uts/common/io/ena/ena.c
1404
ena_dbg(ena, "LLQ descs_before_header supported=0x%x "
usr/src/uts/common/io/ena/ena.c
1408
ena_dbg(ena, "LLQ accel_mode supported_flags=0x%x "
usr/src/uts/common/io/ena/ena.c
1419
ena_err(ena, "device does not support inline header "
usr/src/uts/common/io/ena/ena.c
1423
ena->ena_llq_header_location = ENAHW_LLQ_HEADER_INLINE;
usr/src/uts/common/io/ena/ena.c
1428
ena->ena_llq_stride_ctrl = ENAHW_LLQ_MULTIPLE_DESCS_PER_ENTRY;
usr/src/uts/common/io/ena/ena.c
1430
ena->ena_llq_stride_ctrl = ENAHW_LLQ_SINGLE_DESC_PER_ENTRY;
usr/src/uts/common/io/ena/ena.c
1432
ena_err(ena, "no supported LLQ stride control (0x%x)",
usr/src/uts/common/io/ena/ena.c
1441
ena->ena_llq_entry_size =
usr/src/uts/common/io/ena/ena.c
1444
ena->ena_llq_entry_size = ENAHW_LLQ_ENTRY_SIZE_128B;
usr/src/uts/common/io/ena/ena.c
1446
ena->ena_llq_entry_size = ENAHW_LLQ_ENTRY_SIZE_192B;
usr/src/uts/common/io/ena/ena.c
1448
ena->ena_llq_entry_size = ENAHW_LLQ_ENTRY_SIZE_256B;
usr/src/uts/common/io/ena/ena.c
1450
ena_err(ena, "no supported LLQ entry size (0x%x)", supported);
usr/src/uts/common/io/ena/ena.c
1454
switch (ena->ena_llq_entry_size) {
usr/src/uts/common/io/ena/ena.c
1456
ena->ena_llq_entry_size_bytes = 128;
usr/src/uts/common/io/ena/ena.c
1459
ena->ena_llq_entry_size_bytes = 192;
usr/src/uts/common/io/ena/ena.c
1462
ena->ena_llq_entry_size_bytes = 256;
usr/src/uts/common/io/ena/ena.c
1473
ena->ena_llq_num_descs_before_header =
usr/src/uts/common/io/ena/ena.c
1476
ena->ena_llq_num_descs_before_header =
usr/src/uts/common/io/ena/ena.c
1479
ena->ena_llq_num_descs_before_header =
usr/src/uts/common/io/ena/ena.c
1482
ena_err(ena, "no supported descs_before_header (0x%x)",
usr/src/uts/common/io/ena/ena.c
1493
ena->ena_llq_max_tx_burst_size =
usr/src/uts/common/io/ena/ena.c
1497
ena_dbg(ena, "LLQ negotiated: header_location=%u entry_size=%uB "
usr/src/uts/common/io/ena/ena.c
1499
ena->ena_llq_header_location,
usr/src/uts/common/io/ena/ena.c
1500
ena->ena_llq_entry_size_bytes,
usr/src/uts/common/io/ena/ena.c
1501
ena->ena_llq_num_descs_before_header,
usr/src/uts/common/io/ena/ena.c
1502
ena->ena_llq_stride_ctrl,
usr/src/uts/common/io/ena/ena.c
1503
ena->ena_llq_max_tx_burst_size);
usr/src/uts/common/io/ena/ena.c
1512
ena->ena_tx_max_sq_num_descs = llq_feat->efllq_max_llq_depth;
usr/src/uts/common/io/ena/ena.c
1514
if (ena->ena_llq_entry_size == ENAHW_LLQ_ENTRY_SIZE_256B) {
usr/src/uts/common/io/ena/ena.c
1516
ena->ena_tx_max_sq_num_descs = MIN(
usr/src/uts/common/io/ena/ena.c
1517
ena->ena_tx_max_sq_num_descs,
usr/src/uts/common/io/ena/ena.c
1520
ena->ena_tx_max_sq_num_descs /= 2;
usr/src/uts/common/io/ena/ena.c
1529
ena->ena_llq_header_location;
usr/src/uts/common/io/ena/ena.c
1530
llq_cmd->efllq_entry_size_ctrl_enabled = ena->ena_llq_entry_size;
usr/src/uts/common/io/ena/ena.c
1532
ena->ena_llq_num_descs_before_header;
usr/src/uts/common/io/ena/ena.c
1533
llq_cmd->efllq_descs_stride_ctrl_enabled = ena->ena_llq_stride_ctrl;
usr/src/uts/common/io/ena/ena.c
1539
ret = ena_set_feature(ena, &cmd, &resp, ENAHW_FEAT_LLQ,
usr/src/uts/common/io/ena/ena.c
1542
ena_err(ena, "failed to set LLQ feature: %d", ret);
usr/src/uts/common/io/ena/ena.c
1546
if (!ena_map_llq_mem_bar(ena))
usr/src/uts/common/io/ena/ena.c
1549
ena->ena_llq_enabled = true;
usr/src/uts/common/io/ena/ena.c
1550
ena_dbg(ena, "LLQ enabled");
usr/src/uts/common/io/ena/ena.c
1556
ena_attach_device_init(ena_t *ena)
usr/src/uts/common/io/ena/ena.c
1558
ena_adminq_t *aq = &ena->ena_aq;
usr/src/uts/common/io/ena/ena.c
1568
ena->ena_reset_reason = ENAHW_RESET_NORMAL;
usr/src/uts/common/io/ena/ena.c
1569
if (!ena_device_reset(ena, ena->ena_reset_reason))
usr/src/uts/common/io/ena/ena.c
1572
if (!ena_check_versions(ena))
usr/src/uts/common/io/ena/ena.c
1575
ena_init_regcache(ena);
usr/src/uts/common/io/ena/ena.c
1577
rval = ena_hw_bar_read32(ena, ENAHW_REG_CAPS);
usr/src/uts/common/io/ena/ena.c
1579
ena->ena_dma_width = dma_width;
usr/src/uts/common/io/ena/ena.c
1592
if (!ena_adminq_init(ena))
usr/src/uts/common/io/ena/ena.c
1595
if (!ena_admin_sq_init(ena))
usr/src/uts/common/io/ena/ena.c
1598
if (!ena_admin_cq_init(ena))
usr/src/uts/common/io/ena/ena.c
1601
if (!ena_aenq_init(ena))
usr/src/uts/common/io/ena/ena.c
1609
if (!ena_init_host_info(ena))
usr/src/uts/common/io/ena/ena.c
1613
ret = ena_get_feature(ena, &resp, ENAHW_FEAT_DEVICE_ATTRIBUTES,
usr/src/uts/common/io/ena/ena.c
1617
ena_err(ena, "failed to get device attributes: %d", ret);
usr/src/uts/common/io/ena/ena.c
1621
ena_dbg(ena, "impl ID: %u", feat->efda_impl_id);
usr/src/uts/common/io/ena/ena.c
1622
ena_dbg(ena, "device version: %u", feat->efda_device_version);
usr/src/uts/common/io/ena/ena.c
1623
ena_dbg(ena, "supported features: 0x%x",
usr/src/uts/common/io/ena/ena.c
1625
ena_dbg(ena, "device capabilities: 0x%x", feat->efda_capabilities);
usr/src/uts/common/io/ena/ena.c
1626
ena_dbg(ena, "phys addr width: %u", feat->efda_phys_addr_width);
usr/src/uts/common/io/ena/ena.c
1627
ena_dbg(ena, "virt addr width: %u", feat->efda_virt_addr_with);
usr/src/uts/common/io/ena/ena.c
1629
ena_dbg(ena, "mac addr: %x:%x:%x:%x:%x:%x", maddr[0], maddr[1],
usr/src/uts/common/io/ena/ena.c
1631
ena_dbg(ena, "max MTU: %u", feat->efda_max_mtu);
usr/src/uts/common/io/ena/ena.c
1633
bcopy(maddr, ena->ena_mac_addr, ETHERADDRL);
usr/src/uts/common/io/ena/ena.c
1634
ena->ena_max_mtu = feat->efda_max_mtu;
usr/src/uts/common/io/ena/ena.c
1635
ena->ena_capabilities = feat->efda_capabilities;
usr/src/uts/common/io/ena/ena.c
1637
ena->ena_supported_features = supported_features;
usr/src/uts/common/io/ena/ena.c
1641
if (ena_is_feat_avail(ena, ENAHW_FEAT_MAX_QUEUES_EXT)) {
usr/src/uts/common/io/ena/ena.c
1645
ret = ena_get_feature(ena, &resp, ENAHW_FEAT_MAX_QUEUES_EXT,
usr/src/uts/common/io/ena/ena.c
1649
ena_err(ena, "failed to query max queues ext: %d", ret);
usr/src/uts/common/io/ena/ena.c
1653
ena->ena_tx_max_sq_num = feat_mqe->efmqe_max_tx_sq_num;
usr/src/uts/common/io/ena/ena.c
1654
ena->ena_tx_max_sq_num_descs = feat_mqe->efmqe_max_tx_sq_depth;
usr/src/uts/common/io/ena/ena.c
1655
ena->ena_tx_max_cq_num = feat_mqe->efmqe_max_tx_cq_num;
usr/src/uts/common/io/ena/ena.c
1656
ena->ena_tx_max_cq_num_descs = feat_mqe->efmqe_max_tx_cq_depth;
usr/src/uts/common/io/ena/ena.c
1657
ena->ena_tx_max_desc_per_pkt =
usr/src/uts/common/io/ena/ena.c
1659
ena->ena_tx_max_hdr_len = feat_mqe->efmqe_max_tx_header_size;
usr/src/uts/common/io/ena/ena.c
1661
ena->ena_rx_max_sq_num = feat_mqe->efmqe_max_rx_sq_num;
usr/src/uts/common/io/ena/ena.c
1662
ena->ena_rx_max_sq_num_descs = feat_mqe->efmqe_max_rx_sq_depth;
usr/src/uts/common/io/ena/ena.c
1663
ena->ena_rx_max_cq_num = feat_mqe->efmqe_max_rx_cq_num;
usr/src/uts/common/io/ena/ena.c
1664
ena->ena_rx_max_cq_num_descs = feat_mqe->efmqe_max_rx_cq_depth;
usr/src/uts/common/io/ena/ena.c
1665
ena->ena_rx_max_desc_per_pkt =
usr/src/uts/common/io/ena/ena.c
1668
ena_set_max_io_queues(ena);
usr/src/uts/common/io/ena/ena.c
1673
ret = ena_get_feature(ena, &resp, ENAHW_FEAT_MAX_QUEUES_NUM,
usr/src/uts/common/io/ena/ena.c
1677
ena_err(ena, "failed to query max queues: %d", ret);
usr/src/uts/common/io/ena/ena.c
1681
ena->ena_tx_max_sq_num = feat_mq->efmq_max_sq_num;
usr/src/uts/common/io/ena/ena.c
1682
ena->ena_tx_max_sq_num_descs = feat_mq->efmq_max_sq_depth;
usr/src/uts/common/io/ena/ena.c
1683
ena->ena_tx_max_cq_num = feat_mq->efmq_max_cq_num;
usr/src/uts/common/io/ena/ena.c
1684
ena->ena_tx_max_cq_num_descs = feat_mq->efmq_max_cq_depth;
usr/src/uts/common/io/ena/ena.c
1685
ena->ena_tx_max_desc_per_pkt =
usr/src/uts/common/io/ena/ena.c
1687
ena->ena_tx_max_hdr_len = feat_mq->efmq_max_header_size;
usr/src/uts/common/io/ena/ena.c
1689
ena->ena_rx_max_sq_num = feat_mq->efmq_max_sq_num;
usr/src/uts/common/io/ena/ena.c
1690
ena->ena_rx_max_sq_num_descs = feat_mq->efmq_max_sq_depth;
usr/src/uts/common/io/ena/ena.c
1691
ena->ena_rx_max_cq_num = feat_mq->efmq_max_cq_num;
usr/src/uts/common/io/ena/ena.c
1692
ena->ena_rx_max_cq_num_descs = feat_mq->efmq_max_cq_depth;
usr/src/uts/common/io/ena/ena.c
1693
ena->ena_rx_max_desc_per_pkt =
usr/src/uts/common/io/ena/ena.c
1696
ena_set_max_io_queues(ena);
usr/src/uts/common/io/ena/ena.c
1699
ena->ena_mtu = ena->ena_max_mtu;
usr/src/uts/common/io/ena/ena.c
1700
ena_update_buf_sizes(ena);
usr/src/uts/common/io/ena/ena.c
1702
if (!ena_get_hints(ena))
usr/src/uts/common/io/ena/ena.c
1705
ena->ena_tx_sgl_max_sz = 1;
usr/src/uts/common/io/ena/ena.c
1706
ena->ena_rx_sgl_max_sz = 1;
usr/src/uts/common/io/ena/ena.c
1707
if (ena->ena_device_hints.eh_max_tx_sgl != 0)
usr/src/uts/common/io/ena/ena.c
1708
ena->ena_tx_sgl_max_sz = ena->ena_device_hints.eh_max_tx_sgl;
usr/src/uts/common/io/ena/ena.c
1709
if (ena->ena_device_hints.eh_max_rx_sgl != 0)
usr/src/uts/common/io/ena/ena.c
1710
ena->ena_rx_sgl_max_sz = ena->ena_device_hints.eh_max_rx_sgl;
usr/src/uts/common/io/ena/ena.c
1712
if (!ena_disable_hw_timestamp(ena))
usr/src/uts/common/io/ena/ena.c
1715
if (!ena_configure_llq(ena))
usr/src/uts/common/io/ena/ena.c
1718
if (!ena_aenq_configure(ena))
usr/src/uts/common/io/ena/ena.c
1721
ena_get_link_config(ena);
usr/src/uts/common/io/ena/ena.c
1723
if (!ena_get_offloads(ena))
usr/src/uts/common/io/ena/ena.c
1726
if (!ena_stat_device_init(ena))
usr/src/uts/common/io/ena/ena.c
1729
if (!ena_stat_device_basic_init(ena))
usr/src/uts/common/io/ena/ena.c
1732
if (!ena_stat_device_extended_init(ena))
usr/src/uts/common/io/ena/ena.c
1735
if (!ena_stat_aenq_init(ena))
usr/src/uts/common/io/ena/ena.c
1738
ena_update_regcache(ena);
usr/src/uts/common/io/ena/ena.c
1744
ena_cleanup_intr_alloc(ena_t *ena, bool resetting)
usr/src/uts/common/io/ena/ena.c
1748
for (int i = 0; i < ena->ena_num_intrs; i++) {
usr/src/uts/common/io/ena/ena.c
1749
int ret = ddi_intr_free(ena->ena_intr_handles[i]);
usr/src/uts/common/io/ena/ena.c
1751
ena_err(ena, "failed to free interrupt %d: %d", i, ret);
usr/src/uts/common/io/ena/ena.c
1755
if (ena->ena_intr_handles != NULL) {
usr/src/uts/common/io/ena/ena.c
1756
kmem_free(ena->ena_intr_handles, ena->ena_intr_handles_sz);
usr/src/uts/common/io/ena/ena.c
1757
ena->ena_intr_handles = NULL;
usr/src/uts/common/io/ena/ena.c
1758
ena->ena_intr_handles_sz = 0;
usr/src/uts/common/io/ena/ena.c
1768
ena_attach_intr_alloc(ena_t *ena)
usr/src/uts/common/io/ena/ena.c
1774
ret = ddi_intr_get_supported_types(ena->ena_dip, &types);
usr/src/uts/common/io/ena/ena.c
1776
ena_err(ena, "failed to get interrupt types: %d", ret);
usr/src/uts/common/io/ena/ena.c
1780
ena_dbg(ena, "supported interrupt types: 0x%x", types);
usr/src/uts/common/io/ena/ena.c
1782
ena_err(ena, "the ena driver only supports MSI-X interrupts");
usr/src/uts/common/io/ena/ena.c
1788
ideal = ena->ena_max_io_queues + 1;
usr/src/uts/common/io/ena/ena.c
1789
ret = ddi_intr_get_nintrs(ena->ena_dip, DDI_INTR_TYPE_MSIX, &avail);
usr/src/uts/common/io/ena/ena.c
1791
ena_err(ena, "failed to get number of MSI-X interrupts: %d",
usr/src/uts/common/io/ena/ena.c
1797
ena_err(ena, "number of MSI-X interrupts is %d, but the driver "
usr/src/uts/common/io/ena/ena.c
1802
ena_dbg(ena, "%d MSI-X interrupts available", avail);
usr/src/uts/common/io/ena/ena.c
1804
ret = ddi_intr_get_navail(ena->ena_dip, DDI_INTR_TYPE_MSIX, &avail);
usr/src/uts/common/io/ena/ena.c
1806
ena_err(ena, "failed to get available interrupts: %d", ret);
usr/src/uts/common/io/ena/ena.c
1811
ena_err(ena, "number of available MSI-X interrupts is %d, "
usr/src/uts/common/io/ena/ena.c
1817
ena->ena_intr_handles_sz = req * sizeof (ddi_intr_handle_t);
usr/src/uts/common/io/ena/ena.c
1818
ena->ena_intr_handles = kmem_zalloc(ena->ena_intr_handles_sz, KM_SLEEP);
usr/src/uts/common/io/ena/ena.c
1820
ret = ddi_intr_alloc(ena->ena_dip, ena->ena_intr_handles,
usr/src/uts/common/io/ena/ena.c
1823
ena_err(ena, "failed to allocate %d MSI-X interrupts: %d",
usr/src/uts/common/io/ena/ena.c
1829
ena_err(ena, "number of allocated interrupts is %d, but the "
usr/src/uts/common/io/ena/ena.c
1834
ena->ena_num_intrs = actual;
usr/src/uts/common/io/ena/ena.c
1836
ret = ddi_intr_get_cap(ena->ena_intr_handles[0], &ena->ena_intr_caps);
usr/src/uts/common/io/ena/ena.c
1838
ena_err(ena, "failed to get interrupt capability: %d", ret);
usr/src/uts/common/io/ena/ena.c
1842
ret = ddi_intr_get_pri(ena->ena_intr_handles[0], &ena->ena_intr_pri);
usr/src/uts/common/io/ena/ena.c
1844
ena_err(ena, "failed to get interrupt priority: %d", ret);
usr/src/uts/common/io/ena/ena.c
1848
ena_dbg(ena, "MSI-X interrupts allocated: %d, cap: 0x%x, pri: %u",
usr/src/uts/common/io/ena/ena.c
1849
actual, ena->ena_intr_caps, ena->ena_intr_pri);
usr/src/uts/common/io/ena/ena.c
1857
mutex_init(&ena->ena_lock, NULL, MUTEX_DRIVER,
usr/src/uts/common/io/ena/ena.c
1858
DDI_INTR_PRI(ena->ena_intr_pri));
usr/src/uts/common/io/ena/ena.c
1859
mutex_init(&ena->ena_watchdog_lock, NULL, MUTEX_DRIVER, NULL);
usr/src/uts/common/io/ena/ena.c
1870
ena_attach_alloc_rxqs(ena_t *ena)
usr/src/uts/common/io/ena/ena.c
1874
if (ena->ena_rxqs == NULL) {
usr/src/uts/common/io/ena/ena.c
1879
VERIFY3U(ena->ena_attach_seq, >=, ENA_ATTACH_INTR_ALLOC);
usr/src/uts/common/io/ena/ena.c
1880
ena->ena_num_rxqs = ena->ena_num_intrs - 1;
usr/src/uts/common/io/ena/ena.c
1881
ASSERT3U(ena->ena_num_rxqs, >, 0);
usr/src/uts/common/io/ena/ena.c
1882
ena->ena_rxqs = kmem_zalloc(
usr/src/uts/common/io/ena/ena.c
1883
ena->ena_num_rxqs * sizeof (*ena->ena_rxqs), KM_SLEEP);
usr/src/uts/common/io/ena/ena.c
1888
for (uint_t i = 0; i < ena->ena_num_rxqs; i++) {
usr/src/uts/common/io/ena/ena.c
1889
ena_rxq_t *rxq = &ena->ena_rxqs[i];
usr/src/uts/common/io/ena/ena.c
1898
DDI_INTR_PRI(ena->ena_intr_pri));
usr/src/uts/common/io/ena/ena.c
1900
DDI_INTR_PRI(ena->ena_intr_pri));
usr/src/uts/common/io/ena/ena.c
1903
rxq->er_ena = ena;
usr/src/uts/common/io/ena/ena.c
1904
rxq->er_sq_num_descs = ena->ena_rxq_num_descs;
usr/src/uts/common/io/ena/ena.c
1905
rxq->er_cq_num_descs = ena->ena_rxq_num_descs;
usr/src/uts/common/io/ena/ena.c
1921
ena_cleanup_rxqs(ena_t *ena, bool resetting)
usr/src/uts/common/io/ena/ena.c
1923
for (uint_t i = 0; i < ena->ena_num_rxqs; i++) {
usr/src/uts/common/io/ena/ena.c
1924
ena_rxq_t *rxq = &ena->ena_rxqs[i];
usr/src/uts/common/io/ena/ena.c
1935
kmem_free(ena->ena_rxqs,
usr/src/uts/common/io/ena/ena.c
1936
ena->ena_num_rxqs * sizeof (*ena->ena_rxqs));
usr/src/uts/common/io/ena/ena.c
1937
ena->ena_rxqs = NULL;
usr/src/uts/common/io/ena/ena.c
1947
ena_attach_alloc_txqs(ena_t *ena)
usr/src/uts/common/io/ena/ena.c
1951
if (ena->ena_txqs == NULL) {
usr/src/uts/common/io/ena/ena.c
1956
VERIFY3U(ena->ena_attach_seq, >=, ENA_ATTACH_INTR_ALLOC);
usr/src/uts/common/io/ena/ena.c
1957
ena->ena_num_txqs = ena->ena_num_intrs - 1;
usr/src/uts/common/io/ena/ena.c
1958
ASSERT3U(ena->ena_num_txqs, >, 0);
usr/src/uts/common/io/ena/ena.c
1959
ena->ena_txqs = kmem_zalloc(
usr/src/uts/common/io/ena/ena.c
1960
ena->ena_num_txqs * sizeof (*ena->ena_txqs), KM_SLEEP);
usr/src/uts/common/io/ena/ena.c
1965
for (uint_t i = 0; i < ena->ena_num_txqs; i++) {
usr/src/uts/common/io/ena/ena.c
1966
ena_txq_t *txq = &ena->ena_txqs[i];
usr/src/uts/common/io/ena/ena.c
1975
DDI_INTR_PRI(ena->ena_intr_pri));
usr/src/uts/common/io/ena/ena.c
1977
DDI_INTR_PRI(ena->ena_intr_pri));
usr/src/uts/common/io/ena/ena.c
1980
txq->et_ena = ena;
usr/src/uts/common/io/ena/ena.c
1981
txq->et_sq_num_descs = ena->ena_txq_num_descs;
usr/src/uts/common/io/ena/ena.c
1982
txq->et_cq_num_descs = ena->ena_txq_num_descs;
usr/src/uts/common/io/ena/ena.c
1998
ena_cleanup_txqs(ena_t *ena, bool resetting)
usr/src/uts/common/io/ena/ena.c
2000
for (uint_t i = 0; i < ena->ena_num_txqs; i++) {
usr/src/uts/common/io/ena/ena.c
2001
ena_txq_t *txq = &ena->ena_txqs[i];
usr/src/uts/common/io/ena/ena.c
2012
kmem_free(ena->ena_txqs,
usr/src/uts/common/io/ena/ena.c
2013
ena->ena_num_txqs * sizeof (*ena->ena_txqs));
usr/src/uts/common/io/ena/ena.c
2014
ena->ena_txqs = NULL;
usr/src/uts/common/io/ena/ena.c
2045
ena_reset(ena_t *ena, const enahw_reset_reason_t reason)
usr/src/uts/common/io/ena/ena.c
2047
ena_txq_state_t tx_state[ena->ena_num_txqs];
usr/src/uts/common/io/ena/ena.c
2048
ena_rxq_state_t rx_state[ena->ena_num_rxqs];
usr/src/uts/common/io/ena/ena.c
2051
ena_err(ena, "resetting device with reason 0x%x [%s]",
usr/src/uts/common/io/ena/ena.c
2054
VERIFY0(ena->ena_state & ENA_STATE_RESETTING);
usr/src/uts/common/io/ena/ena.c
2055
atomic_or_32(&ena->ena_state, ENA_STATE_RESETTING);
usr/src/uts/common/io/ena/ena.c
2057
VERIFY(ena->ena_state & ENA_STATE_STARTED);
usr/src/uts/common/io/ena/ena.c
2058
atomic_and_32(&ena->ena_state, ~ENA_STATE_STARTED);
usr/src/uts/common/io/ena/ena.c
2060
mutex_enter(&ena->ena_lock);
usr/src/uts/common/io/ena/ena.c
2062
ena_update_regcache(ena);
usr/src/uts/common/io/ena/ena.c
2064
for (uint_t i = 0; i < ena->ena_num_txqs; i++) {
usr/src/uts/common/io/ena/ena.c
2065
ena_txq_t *txq = &ena->ena_txqs[i];
usr/src/uts/common/io/ena/ena.c
2073
for (uint_t i = 0; i < ena->ena_num_rxqs; i++) {
usr/src/uts/common/io/ena/ena.c
2074
ena_rxq_t *rxq = &ena->ena_rxqs[i];
usr/src/uts/common/io/ena/ena.c
2082
if (!ena_device_reset(ena, reason)) {
usr/src/uts/common/io/ena/ena.c
2083
ena_err(ena, "reset: failed to reset device");
usr/src/uts/common/io/ena/ena.c
2088
ena_hw_bar_write32(ena, ENAHW_REG_INTERRUPT_MASK, ENAHW_INTR_MASK);
usr/src/uts/common/io/ena/ena.c
2090
ena_cleanup_txqs(ena, true);
usr/src/uts/common/io/ena/ena.c
2091
ena_cleanup_rxqs(ena, true);
usr/src/uts/common/io/ena/ena.c
2093
ena_release_all_cmd_ctx(ena);
usr/src/uts/common/io/ena/ena.c
2095
if (!ena_admin_cq_init(ena) || !ena_admin_sq_init(ena)) {
usr/src/uts/common/io/ena/ena.c
2096
ena_err(ena, "reset: failed to program admin queues");
usr/src/uts/common/io/ena/ena.c
2100
if (!ena_init_host_info(ena)) {
usr/src/uts/common/io/ena/ena.c
2101
ena_err(ena, "reset: failed to set host info");
usr/src/uts/common/io/ena/ena.c
2105
if (!ena_aenq_init(ena) || !ena_aenq_configure(ena)) {
usr/src/uts/common/io/ena/ena.c
2106
ena_err(ena, "reset: failed to configure aenq");
usr/src/uts/common/io/ena/ena.c
2110
if (!ena_set_mtu(ena)) {
usr/src/uts/common/io/ena/ena.c
2111
ena_err(ena, "reset: failed to set MTU");
usr/src/uts/common/io/ena/ena.c
2115
if (!ena_attach_alloc_txqs(ena) || !ena_attach_alloc_rxqs(ena)) {
usr/src/uts/common/io/ena/ena.c
2116
ena_err(ena, "reset: failed to program IO queues");
usr/src/uts/common/io/ena/ena.c
2120
ena_aenq_enable(ena);
usr/src/uts/common/io/ena/ena.c
2121
ena_hw_bar_write32(ena, ENAHW_REG_INTERRUPT_MASK, ENAHW_INTR_UNMASK);
usr/src/uts/common/io/ena/ena.c
2123
for (uint_t i = 0; i < ena->ena_num_rxqs; i++) {
usr/src/uts/common/io/ena/ena.c
2124
ena_rxq_t *rxq = &ena->ena_rxqs[i];
usr/src/uts/common/io/ena/ena.c
2133
for (uint_t i = 0; i < ena->ena_num_txqs; i++) {
usr/src/uts/common/io/ena/ena.c
2134
ena_txq_t *txq = &ena->ena_txqs[i];
usr/src/uts/common/io/ena/ena.c
2143
atomic_or_32(&ena->ena_state, ENA_STATE_STARTED);
usr/src/uts/common/io/ena/ena.c
2147
atomic_and_32(&ena->ena_state, ~ENA_STATE_RESETTING);
usr/src/uts/common/io/ena/ena.c
2148
mutex_exit(&ena->ena_lock);
usr/src/uts/common/io/ena/ena.c
2150
ena_update_regcache(ena);
usr/src/uts/common/io/ena/ena.c
2257
ena_cleanup(ena_t *ena)
usr/src/uts/common/io/ena/ena.c
2259
if (ena == NULL || ena->ena_attach_seq == 0) {
usr/src/uts/common/io/ena/ena.c
2267
VERIFY3U(ena->ena_attach_seq, <, ENA_ATTACH_NUM_ENTRIES);
usr/src/uts/common/io/ena/ena.c
2269
while (ena->ena_attach_seq > 0) {
usr/src/uts/common/io/ena/ena.c
2270
int idx = ena->ena_attach_seq - 1;
usr/src/uts/common/io/ena/ena.c
2273
ena_dbg(ena, "running cleanup sequence: %s (%d)",
usr/src/uts/common/io/ena/ena.c
2277
desc->ead_cleanup_fn(ena, false);
usr/src/uts/common/io/ena/ena.c
2278
ena->ena_attach_seq--;
usr/src/uts/common/io/ena/ena.c
2281
ASSERT3U(ena->ena_attach_seq, ==, 0);
usr/src/uts/common/io/ena/ena.c
2282
mutex_destroy(&ena->ena_lock);
usr/src/uts/common/io/ena/ena.c
2283
mutex_destroy(&ena->ena_watchdog_lock);
usr/src/uts/common/io/ena/ena.c
2289
ena_t *ena;
usr/src/uts/common/io/ena/ena.c
2295
ena = kmem_zalloc(sizeof (ena_t), KM_SLEEP);
usr/src/uts/common/io/ena/ena.c
2296
ena->ena_instance = ddi_get_instance(dip);
usr/src/uts/common/io/ena/ena.c
2297
ena->ena_dip = dip;
usr/src/uts/common/io/ena/ena.c
2298
ena->ena_instance = ddi_get_instance(dip);
usr/src/uts/common/io/ena/ena.c
2299
ena->ena_page_sz = ddi_ptob(dip, 1);
usr/src/uts/common/io/ena/ena.c
2305
ena_dbg(ena, "running attach sequence: %s (%d)", desc->ead_name,
usr/src/uts/common/io/ena/ena.c
2308
if (!(success = desc->ead_attach_fn(ena))) {
usr/src/uts/common/io/ena/ena.c
2309
ena_err(ena, "attach sequence failed: %s (%d)",
usr/src/uts/common/io/ena/ena.c
2312
if (ena->ena_attach_seq == ENA_ATTACH_MAC_REGISTER) {
usr/src/uts/common/io/ena/ena.c
2338
if (ena_mac_unregister(ena) != 0) {
usr/src/uts/common/io/ena/ena.c
2342
ena->ena_attach_seq--;
usr/src/uts/common/io/ena/ena.c
2355
desc->ead_cleanup_fn(ena, false);
usr/src/uts/common/io/ena/ena.c
2358
ena_cleanup(ena);
usr/src/uts/common/io/ena/ena.c
2359
kmem_free(ena, sizeof (ena_t));
usr/src/uts/common/io/ena/ena.c
2364
ena_dbg(ena, "attach sequence completed: %s (%d)",
usr/src/uts/common/io/ena/ena.c
2368
ena->ena_attach_seq = desc->ead_seq;
usr/src/uts/common/io/ena/ena.c
2378
ena_hw_bar_write32(ena, ENAHW_REG_INTERRUPT_MASK, ENAHW_INTR_UNMASK);
usr/src/uts/common/io/ena/ena.c
2379
ena_aenq_enable(ena);
usr/src/uts/common/io/ena/ena.c
2381
ddi_set_driver_private(dip, ena);
usr/src/uts/common/io/ena/ena.c
2383
ena_update_regcache(ena);
usr/src/uts/common/io/ena/ena.c
2385
atomic_or_32(&ena->ena_state, ENA_STATE_INITIALIZED);
usr/src/uts/common/io/ena/ena.c
2393
ena_t *ena = ddi_get_driver_private(dip);
usr/src/uts/common/io/ena/ena.c
2395
if (ena == NULL) {
usr/src/uts/common/io/ena/ena.c
2411
if (!ena_intrs_disable(ena)) {
usr/src/uts/common/io/ena/ena.c
2416
if (ena_mac_unregister(ena) != 0) {
usr/src/uts/common/io/ena/ena.c
2417
(void) ena_intrs_enable(ena);
usr/src/uts/common/io/ena/ena.c
2425
ena->ena_attach_seq = ENA_ATTACH_RXQS_ALLOC;
usr/src/uts/common/io/ena/ena.c
2426
ena_cleanup(ena);
usr/src/uts/common/io/ena/ena.c
2428
kmem_free(ena, sizeof (ena_t));
usr/src/uts/common/io/ena/ena.c
449
ena_err(const ena_t *ena, const char *fmt, ...)
usr/src/uts/common/io/ena/ena.c
454
if (ena != NULL && ena->ena_dip != NULL) {
usr/src/uts/common/io/ena/ena.c
455
vdev_err(ena->ena_dip, CE_WARN, fmt, ap);
usr/src/uts/common/io/ena/ena.c
463
ena_panic(const ena_t *ena, const char *fmt, ...)
usr/src/uts/common/io/ena/ena.c
468
if (ena != NULL && ena->ena_dip != NULL) {
usr/src/uts/common/io/ena/ena.c
469
vdev_err(ena->ena_dip, CE_PANIC, fmt, ap);
usr/src/uts/common/io/ena/ena.c
486
ena_dbg(const ena_t *ena, const char *fmt, ...)
usr/src/uts/common/io/ena/ena.c
497
if (ena != NULL && ena->ena_dip != NULL) {
usr/src/uts/common/io/ena/ena.c
498
dev_err(ena->ena_dip, CE_NOTE, "!%s", msg);
usr/src/uts/common/io/ena/ena.c
506
ena_trigger_reset(ena_t *ena, enahw_reset_reason_t reason)
usr/src/uts/common/io/ena/ena.c
508
mutex_enter(&ena->ena_lock);
usr/src/uts/common/io/ena/ena.c
509
ena->ena_reset_reason = reason;
usr/src/uts/common/io/ena/ena.c
510
mutex_exit(&ena->ena_lock);
usr/src/uts/common/io/ena/ena.c
511
atomic_or_32(&ena->ena_state, ENA_STATE_ERROR);
usr/src/uts/common/io/ena/ena.c
518
ena_is_feat_avail(ena_t *ena, const enahw_feature_id_t feat_id)
usr/src/uts/common/io/ena/ena.c
534
return ((ena->ena_supported_features & mask) != 0);
usr/src/uts/common/io/ena/ena.c
541
ena_is_cap_avail(ena_t *ena, const enahw_capability_id_t cap_id)
usr/src/uts/common/io/ena/ena.c
546
return ((ena->ena_capabilities & mask) != 0);
usr/src/uts/common/io/ena/ena.c
550
ena_device_reset(ena_t *ena, enum enahw_reset_reason_types reason)
usr/src/uts/common/io/ena/ena.c
555
rval = ena_hw_bar_read32(ena, ENAHW_REG_DEV_STS);
usr/src/uts/common/io/ena/ena.c
557
ena_err(ena, "reset: device is not ready");
usr/src/uts/common/io/ena/ena.c
561
rval = ena_hw_bar_read32(ena, ENAHW_REG_CAPS);
usr/src/uts/common/io/ena/ena.c
570
ena_err(ena, "device gave invalid (0) reset timeout");
usr/src/uts/common/io/ena/ena.c
583
if (ena_is_cap_avail(ena, ENAHW_CAP_EXTENDED_RESET_REASONS)) {
usr/src/uts/common/io/ena/ena.c
594
ena_hw_bar_write32(ena, ENAHW_REG_DEV_CTL, wval);
usr/src/uts/common/io/ena/ena.c
600
rval = ena_hw_bar_read32(ena, ENAHW_REG_DEV_STS);
usr/src/uts/common/io/ena/ena.c
606
ena_err(ena, "device reset start timed out");
usr/src/uts/common/io/ena/ena.c
622
ena_hw_bar_write32(ena, ENAHW_REG_DEV_CTL, 0);
usr/src/uts/common/io/ena/ena.c
624
rval = ena_hw_bar_read32(ena, ENAHW_REG_DEV_STS);
usr/src/uts/common/io/ena/ena.c
631
ena_err(ena, "device reset timed out");
usr/src/uts/common/io/ena/ena.c
639
ena_dbg(ena, "device reset succeeded");
usr/src/uts/common/io/ena/ena.c
645
ena_attach_pci(ena_t *ena)
usr/src/uts/common/io/ena/ena.c
649
if (pci_config_setup(ena->ena_dip, &hdl) != 0) {
usr/src/uts/common/io/ena/ena.c
653
ena->ena_pci_hdl = hdl;
usr/src/uts/common/io/ena/ena.c
654
ena->ena_pci_vid = pci_config_get16(hdl, PCI_CONF_VENID);
usr/src/uts/common/io/ena/ena.c
655
ena->ena_pci_did = pci_config_get16(hdl, PCI_CONF_DEVID);
usr/src/uts/common/io/ena/ena.c
656
ena->ena_pci_rev = pci_config_get8(hdl, PCI_CONF_REVID);
usr/src/uts/common/io/ena/ena.c
657
ena->ena_pci_svid = pci_config_get16(hdl, PCI_CONF_SUBVENID);
usr/src/uts/common/io/ena/ena.c
658
ena->ena_pci_sdid = pci_config_get16(hdl, PCI_CONF_SUBSYSID);
usr/src/uts/common/io/ena/ena.c
659
ena_dbg(ena, "vid: 0x%x did: 0x%x rev: 0x%x svid: 0x%x sdid: 0x%x",
usr/src/uts/common/io/ena/ena.c
660
ena->ena_pci_vid, ena->ena_pci_did, ena->ena_pci_rev,
usr/src/uts/common/io/ena/ena.c
661
ena->ena_pci_svid, ena->ena_pci_sdid);
usr/src/uts/common/io/ena/ena.c
667
ena_cleanup_pci(ena_t *ena, bool resetting)
usr/src/uts/common/io/ena/ena.c
670
pci_config_teardown(&ena->ena_pci_hdl);
usr/src/uts/common/io/ena/ena.c
674
ena_cleanup_regs_map(ena_t *ena, bool resetting)
usr/src/uts/common/io/ena/ena.c
677
ddi_regs_map_free(&ena->ena_reg_hdl);
usr/src/uts/common/io/ena/ena.c
684
ena_bar_to_rnumber(ena_t *ena, uint8_t bar)
usr/src/uts/common/io/ena/ena.c
698
if (ddi_prop_lookup_int_array(DDI_DEV_T_ANY, ena->ena_dip,
usr/src/uts/common/io/ena/ena.c
719
ena_attach_regs_map(ena_t *ena)
usr/src/uts/common/io/ena/ena.c
725
rnumber = ena_bar_to_rnumber(ena, ENA_REG_BAR);
usr/src/uts/common/io/ena/ena.c
727
ena_err(ena, "failed to find rnumber for BAR %d", ENA_REG_BAR);
usr/src/uts/common/io/ena/ena.c
731
if (ddi_dev_regsize(ena->ena_dip, rnumber, &ena->ena_reg_size) !=
usr/src/uts/common/io/ena/ena.c
733
ena_err(ena, "failed to get register set %d size", rnumber);
usr/src/uts/common/io/ena/ena.c
737
ena_dbg(ena, "register size: %ld", ena->ena_reg_size);
usr/src/uts/common/io/ena/ena.c
749
ret = ddi_regs_map_setup(ena->ena_dip, rnumber,
usr/src/uts/common/io/ena/ena.c
750
&ena->ena_reg_base, 0, ena->ena_reg_size, &attr,
usr/src/uts/common/io/ena/ena.c
751
&ena->ena_reg_hdl);
usr/src/uts/common/io/ena/ena.c
754
ena_err(ena, "failed to map BAR %d (reg %d): %d",
usr/src/uts/common/io/ena/ena.c
759
ena_dbg(ena, "registers BAR %d mapped to base: 0x%p size: %ld",
usr/src/uts/common/io/ena/ena.c
760
ENA_REG_BAR, (void *)ena->ena_reg_base, ena->ena_reg_size);
usr/src/uts/common/io/ena/ena.c
769
ena_admin_sq_free(ena_t *ena)
usr/src/uts/common/io/ena/ena.c
771
ena_dma_free(&ena->ena_aq.ea_sq.eas_dma);
usr/src/uts/common/io/ena/ena.c
778
ena_admin_sq_init(ena_t *ena)
usr/src/uts/common/io/ena/ena.c
780
ena_adminq_t *aq = &ena->ena_aq;
usr/src/uts/common/io/ena/ena.c
794
if (!ena_dma_alloc(ena, dma, &conf, size)) {
usr/src/uts/common/io/ena/ena.c
795
ena_err(ena, "failed to allocate DMA for Admin SQ");
usr/src/uts/common/io/ena/ena.c
799
ENA_DMA_VERIFY_ADDR(ena, dma->edb_cookie->dmac_laddress);
usr/src/uts/common/io/ena/ena.c
808
(uint32_t *)(ena->ena_reg_base + ENAHW_REG_ASQ_DB);
usr/src/uts/common/io/ena/ena.c
811
ena_hw_bar_write32(ena, ENAHW_REG_ASQ_BASE_LO, addr_low);
usr/src/uts/common/io/ena/ena.c
812
ena_hw_bar_write32(ena, ENAHW_REG_ASQ_BASE_HI, addr_high);
usr/src/uts/common/io/ena/ena.c
815
ena_hw_bar_write32(ena, ENAHW_REG_ASQ_CAPS, wval);
usr/src/uts/common/io/ena/ena.c
824
ena_admin_cq_free(ena_t *ena)
usr/src/uts/common/io/ena/ena.c
826
ena_dma_free(&ena->ena_aq.ea_cq.eac_dma);
usr/src/uts/common/io/ena/ena.c
833
ena_admin_cq_init(ena_t *ena)
usr/src/uts/common/io/ena/ena.c
835
ena_adminq_t *aq = &ena->ena_aq;
usr/src/uts/common/io/ena/ena.c
849
if (!ena_dma_alloc(ena, dma, &conf, size)) {
usr/src/uts/common/io/ena/ena.c
850
ena_err(ena, "failed to allocate DMA for Admin CQ");
usr/src/uts/common/io/ena/ena.c
854
ENA_DMA_VERIFY_ADDR(ena, dma->edb_cookie->dmac_laddress);
usr/src/uts/common/io/ena/ena.c
864
ena_hw_bar_write32(ena, ENAHW_REG_ACQ_BASE_LO, addr_low);
usr/src/uts/common/io/ena/ena.c
865
ena_hw_bar_write32(ena, ENAHW_REG_ACQ_BASE_HI, addr_high);
usr/src/uts/common/io/ena/ena.c
868
ena_hw_bar_write32(ena, ENAHW_REG_ACQ_CAPS, wval);
usr/src/uts/common/io/ena/ena.c
874
ena_update_hints(ena_t *ena, enahw_device_hints_t *hints)
usr/src/uts/common/io/ena/ena.c
876
ena->ena_device_hints.eh_mmio_read_timeout =
usr/src/uts/common/io/ena/ena.c
878
ena->ena_device_hints.eh_keep_alive_timeout =
usr/src/uts/common/io/ena/ena.c
880
ena->ena_device_hints.eh_tx_comp_timeout = hints->edh_tx_comp_timeout;
usr/src/uts/common/io/ena/ena.c
881
ena->ena_device_hints.eh_missed_tx_reset_threshold =
usr/src/uts/common/io/ena/ena.c
883
ena->ena_device_hints.eh_admin_comp_timeout =
usr/src/uts/common/io/ena/ena.c
885
ena->ena_device_hints.eh_max_tx_sgl = hints->edh_max_tx_sgl;
usr/src/uts/common/io/ena/ena.c
886
ena->ena_device_hints.eh_max_rx_sgl = hints->edh_max_rx_sgl;
usr/src/uts/common/io/ena/ena.c
911
ena_set_max_io_queues(ena_t *ena)
usr/src/uts/common/io/ena/ena.c
923
max = MIN(ena->ena_tx_max_sq_num, max);
usr/src/uts/common/io/ena/ena.c
924
max = MIN(ena->ena_tx_max_cq_num, max);
usr/src/uts/common/io/ena/ena.c
925
max = MIN(ena->ena_rx_max_sq_num, max);
usr/src/uts/common/io/ena/ena.c
926
max = MIN(ena->ena_rx_max_cq_num, max);
usr/src/uts/common/io/ena/ena.c
934
ena->ena_max_io_queues = max;
usr/src/uts/common/io/ena/ena.c
945
ena_update_buf_sizes(ena_t *ena)
usr/src/uts/common/io/ena/ena.c
947
ena->ena_max_frame_hdr = sizeof (struct ether_vlan_header);
usr/src/uts/common/io/ena/ena.c
948
ena->ena_max_frame_total = ena->ena_max_frame_hdr + ena->ena_mtu;
usr/src/uts/common/io/ena/ena.c
949
ena->ena_tx_buf_sz = P2ROUNDUP_TYPED(ena->ena_max_frame_total,
usr/src/uts/common/io/ena/ena.c
950
ena->ena_page_sz, uint32_t);
usr/src/uts/common/io/ena/ena.c
951
ena->ena_rx_buf_sz = P2ROUNDUP_TYPED(ena->ena_max_frame_total +
usr/src/uts/common/io/ena/ena.c
952
ENA_RX_BUF_IPHDR_ALIGNMENT, ena->ena_page_sz, uint32_t);
usr/src/uts/common/io/ena/ena.c
956
ena_get_hints(ena_t *ena)
usr/src/uts/common/io/ena/ena.c
962
ena_dbg(ena, "Requesting hints");
usr/src/uts/common/io/ena/ena.c
965
ret = ena_get_feature(ena, &resp, ENAHW_FEAT_HW_HINTS,
usr/src/uts/common/io/ena/ena.c
970
ena_dbg(ena, "Hints are unsupported");
usr/src/uts/common/io/ena/ena.c
973
ena_err(ena, "Error getting hints: %d", ret);
usr/src/uts/common/io/ena/ena.c
977
ena_update_hints(ena, hints);
usr/src/uts/common/io/ena/ena.c
983
ena_get_offloads(ena_t *ena)
usr/src/uts/common/io/ena/ena.c
989
ena->ena_tx_l3_ipv4_csum = false;
usr/src/uts/common/io/ena/ena.c
991
ena->ena_tx_l4_ipv4_part_csum = false;
usr/src/uts/common/io/ena/ena.c
992
ena->ena_tx_l4_ipv4_full_csum = false;
usr/src/uts/common/io/ena/ena.c
993
ena->ena_tx_l4_ipv4_lso = false;
usr/src/uts/common/io/ena/ena.c
995
ena->ena_tx_l4_ipv6_part_csum = false;
usr/src/uts/common/io/ena/ena.c
996
ena->ena_tx_l4_ipv6_full_csum = false;
usr/src/uts/common/io/ena/ena.c
997
ena->ena_tx_l4_ipv6_lso = false;
usr/src/uts/common/io/ena/ena.c
999
ena->ena_rx_l3_ipv4_csum = false;
usr/src/uts/common/io/ena/ena.h
148
#define ENA_DMA_VERIFY_ADDR(ena, phys_addr) \
usr/src/uts/common/io/ena/ena.h
149
VERIFY3U(ENA_DMA_BIT_MASK((ena)->ena_dma_width) & (phys_addr), \
usr/src/uts/common/io/ena/ena.h
318
struct ena;
usr/src/uts/common/io/ena/ena.h
319
typedef bool (*ena_attach_fn_t)(struct ena *);
usr/src/uts/common/io/ena/ena.h
320
typedef void (*ena_cleanup_fn_t)(struct ena *, bool);
usr/src/uts/common/io/ena/ena.h
404
struct ena *et_ena; /* WO */
usr/src/uts/common/io/ena/ena.h
591
struct ena *er_ena; /* WO */
usr/src/uts/common/io/ena/ena_admin.c
112
ena_admin_submit_cmd(ena_t *ena, enahw_cmd_desc_t *cmd, enahw_resp_desc_t *resp,
usr/src/uts/common/io/ena/ena_admin.c
116
ena_adminq_t *aq = &ena->ena_aq;
usr/src/uts/common/io/ena/ena_admin.c
155
ena_hw_abs_write32(ena, sq->eas_dbaddr, sq->eas_tail);
usr/src/uts/common/io/ena/ena_admin.c
165
ena_admin_read_resp(ena_t *ena, enahw_resp_desc_t *hwresp)
usr/src/uts/common/io/ena/ena_admin.c
167
ena_adminq_t *aq = &ena->ena_aq;
usr/src/uts/common/io/ena/ena_admin.c
200
ena_admin_process_responses(ena_t *ena)
usr/src/uts/common/io/ena/ena_admin.c
202
ena_adminq_t *aq = &ena->ena_aq;
usr/src/uts/common/io/ena/ena_admin.c
214
ena_admin_read_resp(ena, hwresp);
usr/src/uts/common/io/ena/ena_admin.c
235
ena_admin_poll_for_resp(ena_t *ena, ena_cmd_ctx_t *ctx)
usr/src/uts/common/io/ena/ena_admin.c
238
hrtime_t expire = gethrtime() + ena->ena_aq.ea_cmd_timeout_ns;
usr/src/uts/common/io/ena/ena_admin.c
241
ena_admin_process_responses(ena);
usr/src/uts/common/io/ena/ena_admin.c
266
ena_err(ena, "timed out waiting for admin response");
usr/src/uts/common/io/ena/ena_admin.c
267
ena_trigger_reset(ena, ENAHW_RESET_ADMIN_TO);
usr/src/uts/common/io/ena/ena_admin.c
272
ret = enahw_resp_status_to_errno(ena, ctx->ectx_resp->erd_status);
usr/src/uts/common/io/ena/ena_admin.c
273
ena_release_cmd_ctx(ena, ctx);
usr/src/uts/common/io/ena/ena_admin.c
278
ena_free_host_info(ena_t *ena)
usr/src/uts/common/io/ena/ena_admin.c
280
ena_dma_free(&ena->ena_host_info);
usr/src/uts/common/io/ena/ena_admin.c
284
ena_init_host_info(ena_t *ena)
usr/src/uts/common/io/ena/ena_admin.c
296
hi_dma = &ena->ena_host_info;
usr/src/uts/common/io/ena/ena_admin.c
307
if (!ena_dma_alloc(ena, hi_dma, &conf, 4096)) {
usr/src/uts/common/io/ena/ena_admin.c
308
ena_err(ena, "failed to allocate DMA for host info");
usr/src/uts/common/io/ena/ena_admin.c
319
if (ddi_prop_lookup_int_array(DDI_DEV_T_ANY, ena->ena_dip,
usr/src/uts/common/io/ena/ena_admin.c
411
ena_set_dma_addr(ena, hi_dma->edb_cookie->dmac_laddress,
usr/src/uts/common/io/ena/ena_admin.c
436
ret = ena_set_feature(ena, &cmd, &resp, ENAHW_FEAT_HOST_ATTR_CONFIG,
usr/src/uts/common/io/ena/ena_admin.c
439
ena_err(ena, "failed to set host attributes: %d", ret);
usr/src/uts/common/io/ena/ena_admin.c
448
ena_create_cq(ena_t *ena, uint16_t num_descs, uint64_t phys_addr,
usr/src/uts/common/io/ena/ena_admin.c
46
ena_release_cmd_ctx(ena_t *ena, ena_cmd_ctx_t *ctx)
usr/src/uts/common/io/ena/ena_admin.c
470
ena_set_dma_addr(ena, phys_addr, &cmd_cq->ecq_addr);
usr/src/uts/common/io/ena/ena_admin.c
472
if ((ret = ena_admin_submit_cmd(ena, &cmd, &resp, &ctx)) != 0) {
usr/src/uts/common/io/ena/ena_admin.c
473
ena_err(ena, "failed to submit Create CQ command: %d", ret);
usr/src/uts/common/io/ena/ena_admin.c
477
if ((ret = ena_admin_poll_for_resp(ena, ctx)) != 0) {
usr/src/uts/common/io/ena/ena_admin.c
478
ena_err(ena,
usr/src/uts/common/io/ena/ena_admin.c
485
*unmask_addr = (uint32_t *)(ena->ena_reg_base +
usr/src/uts/common/io/ena/ena_admin.c
489
*numanode = (uint32_t *)(ena->ena_reg_base +
usr/src/uts/common/io/ena/ena_admin.c
505
ena_destroy_cq(ena_t *ena, uint16_t hw_idx)
usr/src/uts/common/io/ena/ena_admin.c
51
mutex_enter(&ena->ena_aq.ea_sq_lock);
usr/src/uts/common/io/ena/ena_admin.c
517
if ((ret = ena_admin_submit_cmd(ena, &cmd, &resp, &ctx)) != 0) {
usr/src/uts/common/io/ena/ena_admin.c
518
ena_err(ena, "failed to submit Destroy CQ command: %d", ret);
usr/src/uts/common/io/ena/ena_admin.c
522
if ((ret = ena_admin_poll_for_resp(ena, ctx)) != 0) {
usr/src/uts/common/io/ena/ena_admin.c
523
ena_err(ena, "failed to Destroy CQ: %d", ret);
usr/src/uts/common/io/ena/ena_admin.c
531
ena_create_sq(ena_t *ena, uint16_t num_descs, uint64_t phys_addr,
usr/src/uts/common/io/ena/ena_admin.c
546
ena_err(ena, "the number of descs must be a power of 2, but "
usr/src/uts/common/io/ena/ena_admin.c
555
if (is_tx && ena->ena_llq_enabled)
usr/src/uts/common/io/ena/ena_admin.c
579
ena_set_dma_addr(ena, phys_addr, &cmd_sq->ecsq_base);
usr/src/uts/common/io/ena/ena_admin.c
58
list_remove(&ena->ena_aq.ea_cmd_ctxs_used, ctx);
usr/src/uts/common/io/ena/ena_admin.c
581
if ((ret = ena_admin_submit_cmd(ena, &cmd, &resp, &ctx)) != 0) {
usr/src/uts/common/io/ena/ena_admin.c
582
ena_err(ena, "failed to submit Create SQ command: %d", ret);
usr/src/uts/common/io/ena/ena_admin.c
586
if ((ret = ena_admin_poll_for_resp(ena, ctx)) != 0) {
usr/src/uts/common/io/ena/ena_admin.c
587
ena_err(ena,
usr/src/uts/common/io/ena/ena_admin.c
59
list_insert_tail(&ena->ena_aq.ea_cmd_ctxs_free, ctx);
usr/src/uts/common/io/ena/ena_admin.c
594
*db_addr = (uint32_t *)(ena->ena_reg_base +
usr/src/uts/common/io/ena/ena_admin.c
60
ena->ena_aq.ea_pending_cmds--;
usr/src/uts/common/io/ena/ena_admin.c
604
*llq_descs_addrp = (void *)(ena->ena_llq_bar_base +
usr/src/uts/common/io/ena/ena_admin.c
61
mutex_exit(&ena->ena_aq.ea_sq_lock);
usr/src/uts/common/io/ena/ena_admin.c
612
ena_destroy_sq(ena_t *ena, uint16_t hw_idx, bool is_tx)
usr/src/uts/common/io/ena/ena_admin.c
628
if ((ret = ena_admin_submit_cmd(ena, &cmd, &resp, &ctx)) != 0) {
usr/src/uts/common/io/ena/ena_admin.c
629
ena_err(ena, "failed to submit Destroy SQ command: %d", ret);
usr/src/uts/common/io/ena/ena_admin.c
633
if ((ret = ena_admin_poll_for_resp(ena, ctx)) != 0) {
usr/src/uts/common/io/ena/ena_admin.c
634
ena_err(ena,
usr/src/uts/common/io/ena/ena_admin.c
644
ena_set_feature(ena_t *ena, enahw_cmd_desc_t *cmd, enahw_resp_desc_t *resp,
usr/src/uts/common/io/ena/ena_admin.c
65
ena_release_all_cmd_ctx(ena_t *ena)
usr/src/uts/common/io/ena/ena_admin.c
651
if (!ena_is_feat_avail(ena, feat_id)) {
usr/src/uts/common/io/ena/ena_admin.c
652
ena_err(ena, "attempted to set unsupported feature: 0x%x %d"
usr/src/uts/common/io/ena/ena_admin.c
653
" (0x%x)", feat_id, feat_ver, ena->ena_supported_features);
usr/src/uts/common/io/ena/ena_admin.c
662
if ((ret = ena_admin_submit_cmd(ena, cmd, resp, &ctx)) != 0) {
usr/src/uts/common/io/ena/ena_admin.c
663
ena_err(ena, "failed to submit Set Feature command: %d", ret);
usr/src/uts/common/io/ena/ena_admin.c
667
return (ena_admin_poll_for_resp(ena, ctx));
usr/src/uts/common/io/ena/ena_admin.c
67
ena_adminq_t *aq = &ena->ena_aq;
usr/src/uts/common/io/ena/ena_admin.c
671
ena_get_feature(ena_t *ena, enahw_resp_desc_t *resp,
usr/src/uts/common/io/ena/ena_admin.c
679
if (!ena_is_feat_avail(ena, feat_id)) {
usr/src/uts/common/io/ena/ena_admin.c
689
if ((ret = ena_admin_submit_cmd(ena, &cmd, resp, &ctx)) != 0) {
usr/src/uts/common/io/ena/ena_admin.c
690
ena_err(ena, "failed to submit Get Feature command: %d", ret);
usr/src/uts/common/io/ena/ena_admin.c
694
return (ena_admin_poll_for_resp(ena, ctx));
usr/src/uts/common/io/ena/ena_admin.c
698
ena_admin_get_basic_stats(ena_t *ena, enahw_resp_desc_t *resp)
usr/src/uts/common/io/ena/ena_admin.c
712
if ((ret = ena_admin_submit_cmd(ena, &cmd, resp, &ctx)) != 0) {
usr/src/uts/common/io/ena/ena_admin.c
713
ena_err(ena, "failed to submit Get Basic Stats command: %d",
usr/src/uts/common/io/ena/ena_admin.c
718
if ((ret = ena_admin_poll_for_resp(ena, ctx)) != 0) {
usr/src/uts/common/io/ena/ena_admin.c
719
ena_err(ena, "failed to Get Basic Stats: %d", ret);
usr/src/uts/common/io/ena/ena_admin.c
727
ena_admin_get_eni_stats(ena_t *ena, enahw_resp_desc_t *resp)
usr/src/uts/common/io/ena/ena_admin.c
741
if ((ret = ena_admin_submit_cmd(ena, &cmd, resp, &ctx)) != 0) {
usr/src/uts/common/io/ena/ena_admin.c
742
ena_err(ena, "failed to submit Get ENI Stats command: %d", ret);
usr/src/uts/common/io/ena/ena_admin.c
746
if ((ret = ena_admin_poll_for_resp(ena, ctx)) != 0) {
usr/src/uts/common/io/ena/ena_admin.c
747
ena_err(ena, "failed to Get ENI Stats: %d", ret);
usr/src/uts/common/io/ena/ena_admin.c
80
ena_create_cmd_ctx(ena_t *ena)
usr/src/uts/common/io/ena/ena_admin.c
82
ena_adminq_t *aq = &ena->ena_aq;
usr/src/uts/common/io/ena/ena_aenq.c
102
if (ena_get_feature(ena, &resp, ENAHW_FEAT_AENQ_CONFIG,
usr/src/uts/common/io/ena/ena_aenq.c
107
ena->ena_aenq_supported_groups = resp_feat->efa_supported_groups;
usr/src/uts/common/io/ena/ena_aenq.c
108
ena->ena_aenq_enabled_groups = resp_feat->efa_enabled_groups;
usr/src/uts/common/io/ena/ena_aenq.c
117
ena_dbg(ena, "%s supported: %s enabled: %s", grpstr->eag_str,
usr/src/uts/common/io/ena/ena_aenq.c
125
ena_aenq_work(ena_t *ena)
usr/src/uts/common/io/ena/ena_aenq.c
127
ena_aenq_t *aenq = &ena->ena_aenq;
usr/src/uts/common/io/ena/ena_aenq.c
149
ena_dbg(ena,
usr/src/uts/common/io/ena/ena_aenq.c
156
hdlr = ena->ena_aenq.eaenq_hdlrs[desc->ead_group];
usr/src/uts/common/io/ena/ena_aenq.c
157
hdlr(ena, desc);
usr/src/uts/common/io/ena/ena_aenq.c
169
ena_hw_bar_write32(ena, ENAHW_REG_AENQ_HEAD_DB,
usr/src/uts/common/io/ena/ena_aenq.c
177
ena_t *ena = data;
usr/src/uts/common/io/ena/ena_aenq.c
186
ASSERT3U(ena->ena_attach_seq, >=, ENA_ATTACH_MAC_REGISTER);
usr/src/uts/common/io/ena/ena_aenq.c
187
ena->ena_aenq_stat.eaes_link_change.value.ui64++;
usr/src/uts/common/io/ena/ena_aenq.c
189
ena_dbg(ena, "link is %s", is_up ? "UP" : "DOWN");
usr/src/uts/common/io/ena/ena_aenq.c
191
mutex_enter(&ena->ena_lock);
usr/src/uts/common/io/ena/ena_aenq.c
196
if (ena->ena_link_state != new_state) {
usr/src/uts/common/io/ena/ena_aenq.c
197
mac_link_update(ena->ena_mh, new_state);
usr/src/uts/common/io/ena/ena_aenq.c
198
ena->ena_link_state = new_state;
usr/src/uts/common/io/ena/ena_aenq.c
201
mutex_exit(&ena->ena_lock);
usr/src/uts/common/io/ena/ena_aenq.c
207
ena_t *ena = data;
usr/src/uts/common/io/ena/ena_aenq.c
213
ena_update_hints(ena, hints);
usr/src/uts/common/io/ena/ena_aenq.c
215
ena_err(ena, "Invalid aenq notification syndrome 0x%x",
usr/src/uts/common/io/ena/ena_aenq.c
219
ena->ena_aenq_stat.eaes_notification.value.ui64++;
usr/src/uts/common/io/ena/ena_aenq.c
225
ena_t *ena = data;
usr/src/uts/common/io/ena/ena_aenq.c
227
ena_basic_stat_t *ebs = ena->ena_device_basic_kstat->ks_data;
usr/src/uts/common/io/ena/ena_aenq.c
230
(void) atomic_swap_64(&ena->ena_watchdog_last_keepalive, now);
usr/src/uts/common/io/ena/ena_aenq.c
242
mutex_enter(&ena->ena_device_basic_stat_lock);
usr/src/uts/common/io/ena/ena_aenq.c
246
mutex_exit(&ena->ena_device_basic_stat_lock);
usr/src/uts/common/io/ena/ena_aenq.c
248
ena->ena_aenq_stat.eaes_keep_alive.value.ui64++;
usr/src/uts/common/io/ena/ena_aenq.c
254
ena_t *ena = data;
usr/src/uts/common/io/ena/ena_aenq.c
256
ena->ena_reset_reason = ENAHW_RESET_DEVICE_REQUEST;
usr/src/uts/common/io/ena/ena_aenq.c
257
atomic_or_32(&ena->ena_state, ENA_STATE_ERROR);
usr/src/uts/common/io/ena/ena_aenq.c
259
ena->ena_aenq_stat.eaes_request_reset.value.ui64++;
usr/src/uts/common/io/ena/ena_aenq.c
265
ena_t *ena = data;
usr/src/uts/common/io/ena/ena_aenq.c
273
ena->ena_aenq_stat.eaes_fatal_error.value.ui64++;
usr/src/uts/common/io/ena/ena_aenq.c
279
ena_t *ena = data;
usr/src/uts/common/io/ena/ena_aenq.c
285
ena->ena_aenq_stat.eaes_warning.value.ui64++;
usr/src/uts/common/io/ena/ena_aenq.c
291
ena_t *ena = data;
usr/src/uts/common/io/ena/ena_aenq.c
293
ena->ena_aenq_stat.eaes_default.value.ui64++;
usr/src/uts/common/io/ena/ena_aenq.c
298
ena_dbg(ena, "unimplemented handler for aenq group: %s",
usr/src/uts/common/io/ena/ena_aenq.c
326
ena_aenq_init(ena_t *ena)
usr/src/uts/common/io/ena/ena_aenq.c
328
ena_aenq_t *aenq = &ena->ena_aenq;
usr/src/uts/common/io/ena/ena_aenq.c
345
if (!ena_dma_alloc(ena, &aenq->eaenq_dma, &conf, size)) {
usr/src/uts/common/io/ena/ena_aenq.c
346
ena_err(ena, "failed to allocate DMA for AENQ");
usr/src/uts/common/io/ena/ena_aenq.c
350
ENA_DMA_VERIFY_ADDR(ena,
usr/src/uts/common/io/ena/ena_aenq.c
363
ena_hw_bar_write32(ena, ENAHW_REG_AENQ_BASE_LO, addr_low);
usr/src/uts/common/io/ena/ena_aenq.c
364
ena_hw_bar_write32(ena, ENAHW_REG_AENQ_BASE_HI, addr_high);
usr/src/uts/common/io/ena/ena_aenq.c
368
ena_hw_bar_write32(ena, ENAHW_REG_AENQ_CAPS, wval);
usr/src/uts/common/io/ena/ena_aenq.c
374
ena_aenq_enable(ena_t *ena)
usr/src/uts/common/io/ena/ena_aenq.c
381
ena->ena_watchdog_last_keepalive = 0;
usr/src/uts/common/io/ena/ena_aenq.c
382
ena_hw_bar_write32(ena, ENAHW_REG_AENQ_HEAD_DB,
usr/src/uts/common/io/ena/ena_aenq.c
383
ena->ena_aenq.eaenq_head);
usr/src/uts/common/io/ena/ena_aenq.c
387
ena_aenq_free(ena_t *ena)
usr/src/uts/common/io/ena/ena_aenq.c
389
ena_dma_free(&ena->ena_aenq.eaenq_dma);
usr/src/uts/common/io/ena/ena_aenq.c
69
ena_aenq_configure(ena_t *ena)
usr/src/uts/common/io/ena/ena_aenq.c
79
if (ena_get_feature(ena, &resp, ENAHW_FEAT_AENQ_CONFIG,
usr/src/uts/common/io/ena/ena_aenq.c
96
if (ena_set_feature(ena, &cmd, &resp, ENAHW_FEAT_AENQ_CONFIG,
usr/src/uts/common/io/ena/ena_dma.c
115
ena_dma_alloc(ena_t *ena, ena_dma_buf_t *edb, ena_dma_conf_t *conf, size_t size)
usr/src/uts/common/io/ena/ena_dma.c
124
ena_dma_attr(ena, &attr, conf);
usr/src/uts/common/io/ena/ena_dma.c
130
ret = ddi_dma_alloc_handle(ena->ena_dip, &attr, DDI_DMA_DONTWAIT, NULL,
usr/src/uts/common/io/ena/ena_dma.c
133
ena_err(ena, "!failed to allocate DMA handle: %d", ret);
usr/src/uts/common/io/ena/ena_dma.c
141
ena_err(ena, "!failed to allocate %lu bytes of DMA "
usr/src/uts/common/io/ena/ena_dma.c
153
ena_err(ena, "!failed to bind %lu bytes of DMA "
usr/src/uts/common/io/ena/ena_dma.c
178
ena_set_dma_addr(const ena_t *ena, const uint64_t phys_addr,
usr/src/uts/common/io/ena/ena_dma.c
181
ENA_DMA_VERIFY_ADDR(ena, phys_addr);
usr/src/uts/common/io/ena/ena_dma.c
192
ena_set_dma_addr_values(const ena_t *ena, const uint64_t phys_addr,
usr/src/uts/common/io/ena/ena_dma.c
195
ENA_DMA_VERIFY_ADDR(ena, phys_addr);
usr/src/uts/common/io/ena/ena_dma.c
22
ena_dma_attr(const ena_t *ena, ddi_dma_attr_t *attrp,
usr/src/uts/common/io/ena/ena_dma.c
32
P2ROUNDUP_TYPED(conf->edc_size, ena->ena_page_sz, size_t);
usr/src/uts/common/io/ena/ena_dma.c
40
ASSERT3U(ena->ena_dma_width, >=, 32);
usr/src/uts/common/io/ena/ena_dma.c
41
ASSERT3U(ena->ena_dma_width, <=, 48);
usr/src/uts/common/io/ena/ena_dma.c
43
attrp->dma_attr_addr_hi = ENA_DMA_BIT_MASK(ena->ena_dma_width);
usr/src/uts/common/io/ena/ena_gld.c
102
infop->mgi_driver = (mac_group_driver_t)ena;
usr/src/uts/common/io/ena/ena_gld.c
107
infop->mgi_count = ena->ena_num_intrs - 1;
usr/src/uts/common/io/ena/ena_gld.c
114
ena_t *ena = arg;
usr/src/uts/common/io/ena/ena_gld.c
115
ena_txq_t *txq = &ena->ena_txqs[ring_index];
usr/src/uts/common/io/ena/ena_gld.c
118
VERIFY3S(ring_index, <, ena->ena_num_txqs);
usr/src/uts/common/io/ena/ena_gld.c
132
ena_t *ena = arg;
usr/src/uts/common/io/ena/ena_gld.c
133
ena_rxq_t *rxq = &ena->ena_rxqs[ring_index];
usr/src/uts/common/io/ena/ena_gld.c
136
VERIFY3S(ring_index, <, ena->ena_num_rxqs);
usr/src/uts/common/io/ena/ena_gld.c
147
ena->ena_intr_handles[rxq->er_intr_vector];
usr/src/uts/common/io/ena/ena_gld.c
153
ena_t *ena = arg;
usr/src/uts/common/io/ena/ena_gld.c
155
atomic_or_32(&ena->ena_state, ENA_STATE_STARTED);
usr/src/uts/common/io/ena/ena_gld.c
156
ena_enable_watchdog(ena);
usr/src/uts/common/io/ena/ena_gld.c
164
ena_t *ena = arg;
usr/src/uts/common/io/ena/ena_gld.c
166
ena_disable_watchdog(ena);
usr/src/uts/common/io/ena/ena_gld.c
167
atomic_and_32(&ena->ena_state, ~ENA_STATE_STARTED);
usr/src/uts/common/io/ena/ena_gld.c
200
ena_t *ena = arg;
usr/src/uts/common/io/ena/ena_gld.c
209
ASSERT3U(ena->ena_num_intrs, >=, 2);
usr/src/uts/common/io/ena/ena_gld.c
217
cap_rings->mr_rnum = ena->ena_num_intrs - 1;
usr/src/uts/common/io/ena/ena_gld.c
221
cap_rings->mr_rnum = ena->ena_num_intrs - 1;
usr/src/uts/common/io/ena/ena_gld.c
259
ena_t *ena = arg;
usr/src/uts/common/io/ena/ena_gld.c
264
mutex_enter(&ena->ena_lock);
usr/src/uts/common/io/ena/ena_gld.c
273
bcopy(&ena->ena_link_duplex, pr_val, sizeof (link_duplex_t));
usr/src/uts/common/io/ena/ena_gld.c
282
speed = ena->ena_link_speed_mbits * 1000000ULL;
usr/src/uts/common/io/ena/ena_gld.c
292
bcopy(&ena->ena_link_state, pr_val, sizeof (link_state_t));
usr/src/uts/common/io/ena/ena_gld.c
302
*u8 = (ena->ena_link_autoneg ? 0 : 1);
usr/src/uts/common/io/ena/ena_gld.c
31
ena_t *ena = arg;
usr/src/uts/common/io/ena/ena_gld.c
311
bcopy(&ena->ena_mtu, pr_val, sizeof (uint32_t));
usr/src/uts/common/io/ena/ena_gld.c
322
*u8 = (ena->ena_link_speeds & ENAHW_LINK_SPEED_1G) != 0;
usr/src/uts/common/io/ena/ena_gld.c
333
*u8 = (ena->ena_link_speeds & ENAHW_LINK_SPEED_2_HALF_G) != 0;
usr/src/uts/common/io/ena/ena_gld.c
344
*u8 = (ena->ena_link_speeds & ENAHW_LINK_SPEED_5G) != 0;
usr/src/uts/common/io/ena/ena_gld.c
355
*u8 = (ena->ena_link_speeds & ENAHW_LINK_SPEED_10G) != 0;
usr/src/uts/common/io/ena/ena_gld.c
366
*u8 = (ena->ena_link_speeds & ENAHW_LINK_SPEED_25G) != 0;
usr/src/uts/common/io/ena/ena_gld.c
37
if (bcmp(ena->ena_mac_addr, mac_addr, ETHERADDRL) == 0) {
usr/src/uts/common/io/ena/ena_gld.c
377
*u8 = (ena->ena_link_speeds & ENAHW_LINK_SPEED_40G) != 0;
usr/src/uts/common/io/ena/ena_gld.c
388
*u8 = (ena->ena_link_speeds & ENAHW_LINK_SPEED_100G) != 0;
usr/src/uts/common/io/ena/ena_gld.c
396
mutex_exit(&ena->ena_lock);
usr/src/uts/common/io/ena/ena_gld.c
420
ena_mac_unregister(ena_t *ena)
usr/src/uts/common/io/ena/ena_gld.c
422
if (ena->ena_mh == NULL) {
usr/src/uts/common/io/ena/ena_gld.c
426
return (mac_unregister(ena->ena_mh));
usr/src/uts/common/io/ena/ena_gld.c
430
ena_mac_register(ena_t *ena)
usr/src/uts/common/io/ena/ena_gld.c
436
ena_err(ena, "failed to allocate MAC handle");
usr/src/uts/common/io/ena/ena_gld.c
441
regp->m_driver = ena;
usr/src/uts/common/io/ena/ena_gld.c
442
regp->m_dip = ena->ena_dip;
usr/src/uts/common/io/ena/ena_gld.c
444
regp->m_src_addr = ena->ena_mac_addr;
usr/src/uts/common/io/ena/ena_gld.c
448
regp->m_max_sdu = ena->ena_mtu;
usr/src/uts/common/io/ena/ena_gld.c
455
if ((ret = mac_register(regp, &ena->ena_mh)) != 0) {
usr/src/uts/common/io/ena/ena_gld.c
456
ena_err(ena, "failed to register ena with mac: %d", ret);
usr/src/uts/common/io/ena/ena_gld.c
466
mac_link_update(ena->ena_mh, LINK_STATE_UNKNOWN);
usr/src/uts/common/io/ena/ena_gld.c
47
ena_t *ena = arg;
usr/src/uts/common/io/ena/ena_gld.c
53
if (bcmp(ena->ena_mac_addr, mac_addr, ETHERADDRL) == 0) {
usr/src/uts/common/io/ena/ena_gld.c
94
ena_t *ena = arg;
usr/src/uts/common/io/ena/ena_hw.c
20
ena_hw_bar_read32(const ena_t *ena, const uint16_t offset)
usr/src/uts/common/io/ena/ena_hw.c
22
caddr_t addr = ena->ena_reg_base + offset;
usr/src/uts/common/io/ena/ena_hw.c
23
return (ena_hw_abs_read32(ena, (uint32_t *)addr));
usr/src/uts/common/io/ena/ena_hw.c
257
ena_update_regcache(ena_t *ena)
usr/src/uts/common/io/ena/ena_hw.c
260
ena_reg_t *r = &ena->ena_reg[i];
usr/src/uts/common/io/ena/ena_hw.c
262
r->er_value = ena_hw_bar_read32(ena, r->er_offset);
usr/src/uts/common/io/ena/ena_hw.c
267
ena_init_regcache(ena_t *ena)
usr/src/uts/common/io/ena/ena_hw.c
269
bcopy(reg_cache_template, ena->ena_reg, sizeof (ena->ena_reg));
usr/src/uts/common/io/ena/ena_hw.c
27
ena_hw_abs_read32(const ena_t *ena, uint32_t *addr)
usr/src/uts/common/io/ena/ena_hw.c
270
ena_update_regcache(ena);
usr/src/uts/common/io/ena/ena_hw.c
29
VERIFY3U(addr, >=, ena->ena_reg_base);
usr/src/uts/common/io/ena/ena_hw.c
30
VERIFY3U(addr, <, ena->ena_reg_base + (ena->ena_reg_size - 4));
usr/src/uts/common/io/ena/ena_hw.c
32
return (ddi_get32(ena->ena_reg_hdl, addr));
usr/src/uts/common/io/ena/ena_hw.c
36
ena_hw_bar_write32(const ena_t *ena, const uint16_t offset, const uint32_t val)
usr/src/uts/common/io/ena/ena_hw.c
38
caddr_t addr = ena->ena_reg_base + offset;
usr/src/uts/common/io/ena/ena_hw.c
39
ena_hw_abs_write32(ena, (uint32_t *)addr, val);
usr/src/uts/common/io/ena/ena_hw.c
43
ena_hw_abs_write32(const ena_t *ena, uint32_t *addr, const uint32_t val)
usr/src/uts/common/io/ena/ena_hw.c
45
VERIFY3P(ena, !=, NULL);
usr/src/uts/common/io/ena/ena_hw.c
47
VERIFY3U(addr, >=, ena->ena_reg_base);
usr/src/uts/common/io/ena/ena_hw.c
48
VERIFY3U(addr, <, ena->ena_reg_base + (ena->ena_reg_size - 4));
usr/src/uts/common/io/ena/ena_hw.c
50
ddi_put32(ena->ena_reg_hdl, addr, val);
usr/src/uts/common/io/ena/ena_hw.c
54
enahw_resp_status_to_errno(ena_t *ena, enahw_resp_status_t status)
usr/src/uts/common/io/ena/ena_hw.c
87
ena_err(ena, "unexpected status code: %d", status);
usr/src/uts/common/io/ena/ena_intr.c
111
ena->ena_intr_handles[i]);
usr/src/uts/common/io/ena/ena_intr.c
122
ena_intrs_disable(ena_t *ena)
usr/src/uts/common/io/ena/ena_intr.c
126
if (ena->ena_intr_caps & DDI_INTR_FLAG_BLOCK) {
usr/src/uts/common/io/ena/ena_intr.c
127
if ((ret = ddi_intr_block_disable(ena->ena_intr_handles,
usr/src/uts/common/io/ena/ena_intr.c
128
ena->ena_num_intrs)) != DDI_SUCCESS) {
usr/src/uts/common/io/ena/ena_intr.c
129
ena_err(ena, "failed to block disable interrupts: %d",
usr/src/uts/common/io/ena/ena_intr.c
134
for (int i = 0; i < ena->ena_num_intrs; i++) {
usr/src/uts/common/io/ena/ena_intr.c
135
ret = ddi_intr_disable(ena->ena_intr_handles[i]);
usr/src/uts/common/io/ena/ena_intr.c
137
ena_err(ena, "failed to disable interrupt "
usr/src/uts/common/io/ena/ena_intr.c
148
ena_intrs_enable(ena_t *ena)
usr/src/uts/common/io/ena/ena_intr.c
152
if (ena->ena_intr_caps & DDI_INTR_FLAG_BLOCK) {
usr/src/uts/common/io/ena/ena_intr.c
153
if ((ret = ddi_intr_block_enable(ena->ena_intr_handles,
usr/src/uts/common/io/ena/ena_intr.c
154
ena->ena_num_intrs)) != DDI_SUCCESS) {
usr/src/uts/common/io/ena/ena_intr.c
155
ena_err(ena, "failed to block enable interrupts: %d",
usr/src/uts/common/io/ena/ena_intr.c
160
for (int i = 0; i < ena->ena_num_intrs; i++) {
usr/src/uts/common/io/ena/ena_intr.c
161
if ((ret = ddi_intr_enable(ena->ena_intr_handles[i])) !=
usr/src/uts/common/io/ena/ena_intr.c
163
ena_err(ena, "failed to enable interrupt "
usr/src/uts/common/io/ena/ena_intr.c
173
ena->ena_intr_handles[i]);
usr/src/uts/common/io/ena/ena_intr.c
25
ena_t *ena = (ena_t *)arg1;
usr/src/uts/common/io/ena/ena_intr.c
28
ASSERT3U(vector, <, ena->ena_num_intrs);
usr/src/uts/common/io/ena/ena_intr.c
29
ena_txq_t *txq = &ena->ena_txqs[vector - 1];
usr/src/uts/common/io/ena/ena_intr.c
30
ena_rxq_t *rxq = &ena->ena_rxqs[vector - 1];
usr/src/uts/common/io/ena/ena_intr.c
33
if ((ena->ena_state & ENA_STATE_STARTED) == 0)
usr/src/uts/common/io/ena/ena_intr.c
45
intr_ctrl = ena_hw_abs_read32(ena, txq->et_cq_unmask_addr);
usr/src/uts/common/io/ena/ena_intr.c
47
ena_hw_abs_write32(ena, txq->et_cq_unmask_addr, intr_ctrl);
usr/src/uts/common/io/ena/ena_intr.c
54
ena_t *ena = (ena_t *)arg1;
usr/src/uts/common/io/ena/ena_intr.c
56
if ((ena->ena_state & ENA_STATE_STARTED) != 0)
usr/src/uts/common/io/ena/ena_intr.c
57
ena_aenq_work(ena);
usr/src/uts/common/io/ena/ena_intr.c
62
ena_intr_remove_handlers(ena_t *ena, bool resetting)
usr/src/uts/common/io/ena/ena_intr.c
66
for (int i = 0; i < ena->ena_num_intrs; i++) {
usr/src/uts/common/io/ena/ena_intr.c
67
int ret = ddi_intr_remove_handler(ena->ena_intr_handles[i]);
usr/src/uts/common/io/ena/ena_intr.c
71
ena_err(ena, "failed to remove interrupt handler for "
usr/src/uts/common/io/ena/ena_intr.c
82
ena_intr_add_handlers(ena_t *ena)
usr/src/uts/common/io/ena/ena_intr.c
84
ASSERT3S(ena->ena_num_intrs, >=, 2);
usr/src/uts/common/io/ena/ena_intr.c
85
if (ddi_intr_add_handler(ena->ena_intr_handles[0], ena_admin_intr, ena,
usr/src/uts/common/io/ena/ena_intr.c
87
ena_err(ena, "failed to add admin interrupt handler");
usr/src/uts/common/io/ena/ena_intr.c
91
for (int i = 1; i < ena->ena_num_intrs; i++) {
usr/src/uts/common/io/ena/ena_intr.c
93
int ret = ddi_intr_add_handler(ena->ena_intr_handles[i],
usr/src/uts/common/io/ena/ena_intr.c
94
ena_io_intr, ena, vector);
usr/src/uts/common/io/ena/ena_intr.c
97
ena_err(ena, "failed to add I/O interrupt handler "
usr/src/uts/common/io/ena/ena_rx.c
112
if (!ena_dma_alloc(ena, &rxq->er_sq_dma, &sq_conf, sq_descs_sz)) {
usr/src/uts/common/io/ena/ena_rx.c
123
.edc_size = ena->ena_rx_buf_sz,
usr/src/uts/common/io/ena/ena_rx.c
125
.edc_sgl = ena->ena_rx_sgl_max_sz,
usr/src/uts/common/io/ena/ena_rx.c
130
if (!ena_dma_alloc(ena, &rcb->ercb_dma, &buf_conf,
usr/src/uts/common/io/ena/ena_rx.c
131
ena->ena_rx_buf_sz)) {
usr/src/uts/common/io/ena/ena_rx.c
145
if (!ena_dma_alloc(ena, &rxq->er_cq_dma, &cq_conf, cq_descs_sz)) {
usr/src/uts/common/io/ena/ena_rx.c
163
ena_t *ena = rxq->er_ena;
usr/src/uts/common/io/ena/ena_rx.c
172
ena_err(ena, "failed to allocate Rx queue %u data buffers: %d",
usr/src/uts/common/io/ena/ena_rx.c
182
ret = ena_create_cq(ena, rxq->er_cq_num_descs,
usr/src/uts/common/io/ena/ena_rx.c
187
ena_err(ena, "failed to create Rx CQ %u: %d", rxq->er_rxqs_idx,
usr/src/uts/common/io/ena/ena_rx.c
209
ret = ena_create_sq(ena, rxq->er_sq_num_descs,
usr/src/uts/common/io/ena/ena_rx.c
214
ena_err(ena, "failed to create Rx SQ %u: %d", rxq->er_rxqs_idx,
usr/src/uts/common/io/ena/ena_rx.c
236
ena_t *ena = rxq->er_ena;
usr/src/uts/common/io/ena/ena_rx.c
240
ret = ena_destroy_sq(ena, rxq->er_sq_hw_idx, false);
usr/src/uts/common/io/ena/ena_rx.c
243
ena_err(ena, "failed to destroy Rx SQ %u: %d",
usr/src/uts/common/io/ena/ena_rx.c
258
ret = ena_destroy_cq(ena, rxq->er_cq_hw_idx);
usr/src/uts/common/io/ena/ena_rx.c
261
ena_err(ena, "failed to destroy Rx CQ %u: %d",
usr/src/uts/common/io/ena/ena_rx.c
296
ena_t *ena = rxq->er_ena;
usr/src/uts/common/io/ena/ena_rx.c
299
ena_dbg(ena, "ring_rx_start %p: state 0x%x", rxq, rxq->er_state);
usr/src/uts/common/io/ena/ena_rx.c
322
rxq->er_intr_limit = ena->ena_rxq_intr_limit;
usr/src/uts/common/io/ena/ena_rx.c
327
intr_ctrl = ena_hw_abs_read32(ena, rxq->er_cq_unmask_addr);
usr/src/uts/common/io/ena/ena_rx.c
329
ena_hw_abs_write32(ena, rxq->er_cq_unmask_addr, intr_ctrl);
usr/src/uts/common/io/ena/ena_rx.c
337
ena_t *ena = rxq->er_ena;
usr/src/uts/common/io/ena/ena_rx.c
396
ASSERT3U(rcb->ercb_length, <=, ena->ena_max_frame_total);
usr/src/uts/common/io/ena/ena_rx.c
452
if (ena->ena_rx_l3_ipv4_csum &&
usr/src/uts/common/io/ena/ena_rx.c
468
if (ena->ena_rx_l4_ipv4_csum && l4csum_checked &&
usr/src/uts/common/io/ena/ena_rx.c
96
ena_t *ena = rxq->er_ena;
usr/src/uts/common/io/ena/ena_stats.c
102
ena_t *ena = ksp->ks_private;
usr/src/uts/common/io/ena/ena_stats.c
113
mutex_enter(&ena->ena_device_basic_stat_lock);
usr/src/uts/common/io/ena/ena_stats.c
114
fetch = gethrtime() - ena->ena_device_basic_stat_last_update >
usr/src/uts/common/io/ena/ena_stats.c
116
mutex_exit(&ena->ena_device_basic_stat_lock);
usr/src/uts/common/io/ena/ena_stats.c
121
if ((ret = ena_admin_get_basic_stats(ena, &resp)) != 0)
usr/src/uts/common/io/ena/ena_stats.c
124
mutex_enter(&ena->ena_device_basic_stat_lock);
usr/src/uts/common/io/ena/ena_stats.c
125
ena->ena_device_basic_stat_last_update = gethrtime();
usr/src/uts/common/io/ena/ena_stats.c
150
mutex_exit(&ena->ena_device_basic_stat_lock);
usr/src/uts/common/io/ena/ena_stats.c
156
ena_stat_device_basic_cleanup(ena_t *ena)
usr/src/uts/common/io/ena/ena_stats.c
158
if (ena->ena_device_basic_kstat != NULL) {
usr/src/uts/common/io/ena/ena_stats.c
159
mutex_destroy(&ena->ena_device_basic_stat_lock);
usr/src/uts/common/io/ena/ena_stats.c
160
kstat_delete(ena->ena_device_basic_kstat);
usr/src/uts/common/io/ena/ena_stats.c
161
ena->ena_device_basic_kstat = NULL;
usr/src/uts/common/io/ena/ena_stats.c
166
ena_stat_device_basic_init(ena_t *ena)
usr/src/uts/common/io/ena/ena_stats.c
169
ddi_get_instance(ena->ena_dip), "device_basic", "net",
usr/src/uts/common/io/ena/ena_stats.c
175
ena_err(ena, "!failed to create device_basic kstats");
usr/src/uts/common/io/ena/ena_stats.c
179
mutex_init(&ena->ena_device_basic_stat_lock, NULL, MUTEX_DRIVER,
usr/src/uts/common/io/ena/ena_stats.c
180
DDI_INTR_PRI(ena->ena_intr_pri));
usr/src/uts/common/io/ena/ena_stats.c
181
ena->ena_device_basic_stat_last_update = 0;
usr/src/uts/common/io/ena/ena_stats.c
183
ena->ena_device_basic_kstat = ksp;
usr/src/uts/common/io/ena/ena_stats.c
186
ksp->ks_private = ena;
usr/src/uts/common/io/ena/ena_stats.c
205
kstat_install(ena->ena_device_basic_kstat);
usr/src/uts/common/io/ena/ena_stats.c
212
ena_t *ena = ksp->ks_private;
usr/src/uts/common/io/ena/ena_stats.c
222
if ((ret = ena_admin_get_eni_stats(ena, &resp)) != 0) {
usr/src/uts/common/io/ena/ena_stats.c
226
mutex_enter(&ena->ena_lock);
usr/src/uts/common/io/ena/ena_stats.c
234
mutex_exit(&ena->ena_lock);
usr/src/uts/common/io/ena/ena_stats.c
240
ena_stat_device_extended_cleanup(ena_t *ena)
usr/src/uts/common/io/ena/ena_stats.c
242
if (ena->ena_device_extended_kstat != NULL) {
usr/src/uts/common/io/ena/ena_stats.c
243
kstat_delete(ena->ena_device_extended_kstat);
usr/src/uts/common/io/ena/ena_stats.c
244
ena->ena_device_extended_kstat = NULL;
usr/src/uts/common/io/ena/ena_stats.c
249
ena_stat_device_extended_init(ena_t *ena)
usr/src/uts/common/io/ena/ena_stats.c
252
ddi_get_instance(ena->ena_dip), "device_ext", "net",
usr/src/uts/common/io/ena/ena_stats.c
258
ena_err(ena, "!failed to create device_ext kstats");
usr/src/uts/common/io/ena/ena_stats.c
262
ena->ena_device_extended_kstat = ksp;
usr/src/uts/common/io/ena/ena_stats.c
265
ksp->ks_private = ena;
usr/src/uts/common/io/ena/ena_stats.c
287
kstat_install(ena->ena_device_extended_kstat);
usr/src/uts/common/io/ena/ena_stats.c
292
ena_stat_aenq_cleanup(ena_t *ena)
usr/src/uts/common/io/ena/ena_stats.c
294
if (ena->ena_aenq_kstat != NULL) {
usr/src/uts/common/io/ena/ena_stats.c
295
kstat_delete(ena->ena_aenq_kstat);
usr/src/uts/common/io/ena/ena_stats.c
296
ena->ena_aenq_kstat = NULL;
usr/src/uts/common/io/ena/ena_stats.c
301
ena_stat_aenq_init(ena_t *ena)
usr/src/uts/common/io/ena/ena_stats.c
304
ddi_get_instance(ena->ena_dip), "aenq", "net", KSTAT_TYPE_NAMED,
usr/src/uts/common/io/ena/ena_stats.c
307
ena_aenq_stat_t *eas = &ena->ena_aenq_stat;
usr/src/uts/common/io/ena/ena_stats.c
310
ena_err(ena, "!failed to create aenq kstats");
usr/src/uts/common/io/ena/ena_stats.c
314
ena->ena_aenq_kstat = ksp;
usr/src/uts/common/io/ena/ena_stats.c
343
kstat_install(ena->ena_aenq_kstat);
usr/src/uts/common/io/ena/ena_stats.c
359
ena_t *ena = txq->et_ena;
usr/src/uts/common/io/ena/ena_stats.c
366
ksp = kstat_create(ENA_MODULE_NAME, ddi_get_instance(ena->ena_dip), buf,
usr/src/uts/common/io/ena/ena_stats.c
372
ena_err(ena, "!failed to create %s kstats", buf);
usr/src/uts/common/io/ena/ena_stats.c
414
ena_t *ena = rxq->er_ena;
usr/src/uts/common/io/ena/ena_stats.c
421
ksp = kstat_create(ENA_MODULE_NAME, ddi_get_instance(ena->ena_dip), buf,
usr/src/uts/common/io/ena/ena_stats.c
427
ena_err(ena, "!failed to create %s kstats", buf);
usr/src/uts/common/io/ena/ena_stats.c
512
ena_t *ena = arg;
usr/src/uts/common/io/ena/ena_stats.c
540
ret = ena_stat_device_basic_update(ena->ena_device_basic_kstat,
usr/src/uts/common/io/ena/ena_stats.c
547
mutex_enter(&ena->ena_device_basic_stat_lock);
usr/src/uts/common/io/ena/ena_stats.c
548
ebs = ena->ena_device_basic_kstat->ks_data;
usr/src/uts/common/io/ena/ena_stats.c
552
*val = ena->ena_link_duplex;
usr/src/uts/common/io/ena/ena_stats.c
556
*val = ena->ena_link_speed_mbits * 1000000ULL;
usr/src/uts/common/io/ena/ena_stats.c
588
dev_err(ena->ena_dip, CE_PANIC, "unhandled stat, 0x%x", stat);
usr/src/uts/common/io/ena/ena_stats.c
59
ena_stat_device_cleanup(ena_t *ena)
usr/src/uts/common/io/ena/ena_stats.c
591
mutex_exit(&ena->ena_device_basic_stat_lock);
usr/src/uts/common/io/ena/ena_stats.c
61
if (ena->ena_device_kstat != NULL) {
usr/src/uts/common/io/ena/ena_stats.c
62
kstat_delete(ena->ena_device_kstat);
usr/src/uts/common/io/ena/ena_stats.c
63
ena->ena_device_kstat = NULL;
usr/src/uts/common/io/ena/ena_stats.c
68
ena_stat_device_init(ena_t *ena)
usr/src/uts/common/io/ena/ena_stats.c
71
ddi_get_instance(ena->ena_dip), "device", "net", KSTAT_TYPE_NAMED,
usr/src/uts/common/io/ena/ena_stats.c
74
ena_device_stat_t *eds = &ena->ena_device_stat;
usr/src/uts/common/io/ena/ena_stats.c
77
ena_err(ena, "!failed to create device kstats");
usr/src/uts/common/io/ena/ena_stats.c
81
ena->ena_device_kstat = ksp;
usr/src/uts/common/io/ena/ena_stats.c
95
kstat_install(ena->ena_device_kstat);
usr/src/uts/common/io/ena/ena_tx.c
110
if (!ena_dma_alloc(ena, &txq->et_cq_dma, &cq_conf, cq_descs_sz)) {
usr/src/uts/common/io/ena/ena_tx.c
128
ena_t *ena = txq->et_ena;
usr/src/uts/common/io/ena/ena_tx.c
139
ena_err(ena, "failed to allocate Tx queue %u data buffers: %d",
usr/src/uts/common/io/ena/ena_tx.c
149
ret = ena_create_cq(ena, txq->et_cq_num_descs,
usr/src/uts/common/io/ena/ena_tx.c
154
ena_err(ena, "failed to create Tx CQ %u: %d", txq->et_txqs_idx,
usr/src/uts/common/io/ena/ena_tx.c
175
ret = ena_create_sq(ena, txq->et_sq_num_descs,
usr/src/uts/common/io/ena/ena_tx.c
180
ena_err(ena, "failed to create Tx SQ %u: %d", txq->et_txqs_idx,
usr/src/uts/common/io/ena/ena_tx.c
198
if (ena->ena_llq_enabled) {
usr/src/uts/common/io/ena/ena_tx.c
199
txq->et_sq_llq_buf = kmem_zalloc(ena->ena_llq_entry_size_bytes,
usr/src/uts/common/io/ena/ena_tx.c
201
txq->et_sq_llq_entries_left = ena->ena_llq_max_tx_burst_size /
usr/src/uts/common/io/ena/ena_tx.c
202
ena->ena_llq_entry_size_bytes;
usr/src/uts/common/io/ena/ena_tx.c
212
ena_t *ena = txq->et_ena;
usr/src/uts/common/io/ena/ena_tx.c
216
ret = ena_destroy_sq(ena, txq->et_sq_hw_idx, true);
usr/src/uts/common/io/ena/ena_tx.c
219
ena_err(ena, "failed to destroy Tx SQ %u: %d",
usr/src/uts/common/io/ena/ena_tx.c
226
ena->ena_llq_entry_size_bytes);
usr/src/uts/common/io/ena/ena_tx.c
240
ret = ena_destroy_cq(ena, txq->et_cq_hw_idx);
usr/src/uts/common/io/ena/ena_tx.c
243
ena_err(ena, "failed to destroy Tx CQ %u: %d",
usr/src/uts/common/io/ena/ena_tx.c
278
ena_t *ena = txq->et_ena;
usr/src/uts/common/io/ena/ena_tx.c
281
ena_dbg(ena, "ring_tx_start %p: state 0x%x", txq, txq->et_state);
usr/src/uts/common/io/ena/ena_tx.c
289
intr_ctrl = ena_hw_abs_read32(ena, txq->et_cq_unmask_addr);
usr/src/uts/common/io/ena/ena_tx.c
291
ena_hw_abs_write32(ena, txq->et_cq_unmask_addr, intr_ctrl);
usr/src/uts/common/io/ena/ena_tx.c
347
ena_t *ena = txq->et_ena;
usr/src/uts/common/io/ena/ena_tx.c
350
VERIFY3U(msgsize(mp), <, ena->ena_tx_buf_sz);
usr/src/uts/common/io/ena/ena_tx.c
470
ena_t *ena = txq->et_ena;
usr/src/uts/common/io/ena/ena_tx.c
472
ena_hw_abs_write32(ena, txq->et_sq_db_addr, desc_idx);
usr/src/uts/common/io/ena/ena_tx.c
475
if (ena->ena_llq_enabled) {
usr/src/uts/common/io/ena/ena_tx.c
476
txq->et_sq_llq_entries_left = ena->ena_llq_max_tx_burst_size /
usr/src/uts/common/io/ena/ena_tx.c
477
ena->ena_llq_entry_size_bytes;
usr/src/uts/common/io/ena/ena_tx.c
489
ena_t *ena = txq->et_ena;
usr/src/uts/common/io/ena/ena_tx.c
503
if (!(ena->ena_state & ENA_STATE_STARTED) ||
usr/src/uts/common/io/ena/ena_tx.c
52
ena_t *ena = txq->et_ena;
usr/src/uts/common/io/ena/ena_tx.c
539
ASSERT3U(meo.meoi_len, <=, ena->ena_max_frame_total);
usr/src/uts/common/io/ena/ena_tx.c
549
if (ena->ena_llq_enabled) {
usr/src/uts/common/io/ena/ena_tx.c
571
bzero(buf, ena->ena_llq_entry_size_bytes);
usr/src/uts/common/io/ena/ena_tx.c
58
ASSERT3P(ena, !=, NULL);
usr/src/uts/common/io/ena/ena_tx.c
584
hdr_off = ena->ena_llq_num_descs_before_header *
usr/src/uts/common/io/ena/ena_tx.c
586
hdr_space = ena->ena_llq_entry_size_bytes - hdr_off;
usr/src/uts/common/io/ena/ena_tx.c
605
ena_llq_write_to_dev(txq, buf, ena->ena_llq_entry_size_bytes);
usr/src/uts/common/io/ena/ena_tx.c
616
if (ena->ena_llq_max_tx_burst_size > 0) {
usr/src/uts/common/io/ena/ena_tx.c
665
ena_t *ena = txq->et_ena;
usr/src/uts/common/io/ena/ena_tx.c
679
ena_err(ena, "invalid Tx request ID: 0x%x", req_id);
usr/src/uts/common/io/ena/ena_tx.c
680
ena_trigger_reset(ena, ENAHW_RESET_INV_TX_REQ_ID);
usr/src/uts/common/io/ena/ena_tx.c
708
mac_tx_ring_update(ena->ena_mh, txq->et_mrh);
usr/src/uts/common/io/ena/ena_tx.c
71
if (!ena_dma_alloc(ena, &txq->et_sq_dma, &sq_conf, sq_descs_sz)) {
usr/src/uts/common/io/ena/ena_tx.c
84
.edc_size = ena->ena_tx_buf_sz,
usr/src/uts/common/io/ena/ena_tx.c
86
.edc_sgl = ena->ena_tx_sgl_max_sz,
usr/src/uts/common/io/ena/ena_tx.c
91
if (!ena_dma_alloc(ena, &tcb->etcb_dma, &buf_conf,
usr/src/uts/common/io/ena/ena_tx.c
92
ena->ena_tx_buf_sz)) {
usr/src/uts/common/io/ena/ena_watchdog.c
101
ena->ena_device_stat.eds_reset_error.value.ui64++;
usr/src/uts/common/io/ena/ena_watchdog.c
102
ena_err(ena, "error state detected");
usr/src/uts/common/io/ena/ena_watchdog.c
103
reason = ena->ena_reset_reason;
usr/src/uts/common/io/ena/ena_watchdog.c
106
ena->ena_device_stat.eds_reset_fatal.value.ui64++;
usr/src/uts/common/io/ena/ena_watchdog.c
107
ena_err(ena, "device reports fatal error (status 0x%x)"
usr/src/uts/common/io/ena/ena_watchdog.c
112
ena->ena_device_stat.eds_reset_keepalive.value.ui64++;
usr/src/uts/common/io/ena/ena_watchdog.c
113
ena_err(ena, "device keepalive timeout");
usr/src/uts/common/io/ena/ena_watchdog.c
117
ena->ena_device_stat.eds_reset_txstall.value.ui64++;
usr/src/uts/common/io/ena/ena_watchdog.c
118
ena_err(ena, "TX ring 0x%x appears stalled, resetting",
usr/src/uts/common/io/ena/ena_watchdog.c
123
ena_panic(ena, "unhandled case in reset switch");
usr/src/uts/common/io/ena/ena_watchdog.c
125
ena->ena_reset_reason = reason;
usr/src/uts/common/io/ena/ena_watchdog.c
126
mutex_exit(&ena->ena_lock);
usr/src/uts/common/io/ena/ena_watchdog.c
128
if (!ena_reset(ena, reason))
usr/src/uts/common/io/ena/ena_watchdog.c
129
ena_panic(ena, "failed to reset device");
usr/src/uts/common/io/ena/ena_watchdog.c
134
ena_enable_watchdog(ena_t *ena)
usr/src/uts/common/io/ena/ena_watchdog.c
136
mutex_enter(&ena->ena_watchdog_lock);
usr/src/uts/common/io/ena/ena_watchdog.c
137
if (ena->ena_watchdog_periodic == NULL) {
usr/src/uts/common/io/ena/ena_watchdog.c
138
ena->ena_watchdog_periodic = ddi_periodic_add(ena_watchdog,
usr/src/uts/common/io/ena/ena_watchdog.c
139
(void *)ena, ENA_WATCHDOG_INTERVAL_NS, DDI_IPL_0);
usr/src/uts/common/io/ena/ena_watchdog.c
141
mutex_exit(&ena->ena_watchdog_lock);
usr/src/uts/common/io/ena/ena_watchdog.c
145
ena_disable_watchdog(ena_t *ena)
usr/src/uts/common/io/ena/ena_watchdog.c
147
mutex_enter(&ena->ena_watchdog_lock);
usr/src/uts/common/io/ena/ena_watchdog.c
148
if (ena->ena_watchdog_periodic != NULL) {
usr/src/uts/common/io/ena/ena_watchdog.c
149
ddi_periodic_delete(ena->ena_watchdog_periodic);
usr/src/uts/common/io/ena/ena_watchdog.c
150
ena->ena_watchdog_periodic = NULL;
usr/src/uts/common/io/ena/ena_watchdog.c
152
mutex_exit(&ena->ena_watchdog_lock);
usr/src/uts/common/io/ena/ena_watchdog.c
24
ena_t *ena = arg;
usr/src/uts/common/io/ena/ena_watchdog.c
41
if (ena->ena_state & ENA_STATE_ERROR) {
usr/src/uts/common/io/ena/ena_watchdog.c
42
atomic_and_32(&ena->ena_state, ~ENA_STATE_ERROR);
usr/src/uts/common/io/ena/ena_watchdog.c
47
statusreg = ena_hw_bar_read32(ena, ENAHW_REG_DEV_STS);
usr/src/uts/common/io/ena/ena_watchdog.c
54
if (ena->ena_watchdog_last_keepalive > 0 &&
usr/src/uts/common/io/ena/ena_watchdog.c
55
gethrtime() - ena->ena_watchdog_last_keepalive >
usr/src/uts/common/io/ena/ena_watchdog.c
63
for (uint_t i = 0; i < ena->ena_num_txqs; i++) {
usr/src/uts/common/io/ena/ena_watchdog.c
64
ena_txq_t *txq = &ena->ena_txqs[i];
usr/src/uts/common/io/ena/ena_watchdog.c
89
mutex_enter(&ena->ena_lock);
usr/src/uts/common/io/ena/ena_watchdog.c
92
ena->ena_device_stat.eds_reset_forced.value.ui64++;
usr/src/uts/common/io/ena/ena_watchdog.c
93
ena_err(ena, "forced reset");
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_solaris.c
12163
uint64_t ena;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_solaris.c
12175
ena = fm_ena_generate(0, FM_ENA_FMT1);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_solaris.c
12177
ddi_fm_ereport_post(hba->dip, buf, ena, DDI_NOSLEEP,
usr/src/uts/common/io/fibre-channel/fca/oce/oce_fm.c
141
uint64_t ena;
usr/src/uts/common/io/fibre-channel/fca/oce/oce_fm.c
148
ena = fm_ena_generate(0, FM_ENA_FMT1);
usr/src/uts/common/io/fibre-channel/fca/oce/oce_fm.c
150
ddi_fm_ereport_post(dev->dip, buf, ena, DDI_NOSLEEP,
usr/src/uts/common/io/fibre-channel/fca/qlc/ql_fm.c
289
uint64_t ena;
usr/src/uts/common/io/fibre-channel/fca/qlc/ql_fm.c
309
ena = fm_ena_generate(0, FM_ENA_FMT1);
usr/src/uts/common/io/fibre-channel/fca/qlc/ql_fm.c
320
ddi_fm_ereport_post(ha->dip, eclass, ena,
usr/src/uts/common/io/fibre-channel/fca/qlc/ql_fm.c
339
ddi_fm_ereport_post(ha->dip, eclass, ena,
usr/src/uts/common/io/fibre-channel/fca/qlc/ql_fm.c
349
ddi_fm_ereport_post(ha->dip, eclass, ena,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_fm.c
33
uint64_t ena;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_fm.c
37
ena = fm_ena_generate(0, FM_ENA_FMT1);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_fm.c
39
ddi_fm_ereport_post(qlge->dip, buf, ena, DDI_NOSLEEP,
usr/src/uts/common/io/hxge/hxge_fm.c
321
uint64_t ena;
usr/src/uts/common/io/hxge/hxge_fm.c
330
ena = fm_ena_generate(0, FM_ENA_FMT1);
usr/src/uts/common/io/hxge/hxge_fm.c
335
ddi_fm_ereport_post(hxgep->dip, eclass, ena, DDI_NOSLEEP,
usr/src/uts/common/io/hxge/hxge_fm.c
341
ddi_fm_ereport_post(hxgep->dip, eclass, ena, DDI_NOSLEEP,
usr/src/uts/common/io/hxge/hxge_fm.c
349
ddi_fm_ereport_post(hxgep->dip, eclass, ena, DDI_NOSLEEP,
usr/src/uts/common/io/hxge/hxge_fm.c
357
ddi_fm_ereport_post(hxgep->dip, eclass, ena, DDI_NOSLEEP,
usr/src/uts/common/io/hxge/hxge_fm.c
371
ddi_fm_ereport_post(hxgep->dip, eclass, ena, DDI_NOSLEEP,
usr/src/uts/common/io/hxge/hxge_fm.c
389
ddi_fm_ereport_post(hxgep->dip, eclass, ena, DDI_NOSLEEP,
usr/src/uts/common/io/hxge/hxge_fm.c
400
ddi_fm_ereport_post(hxgep->dip, eclass, ena, DDI_NOSLEEP,
usr/src/uts/common/io/hxge/hxge_fm.c
412
ddi_fm_ereport_post(hxgep->dip, eclass, ena, DDI_NOSLEEP,
usr/src/uts/common/io/hxge/hxge_fm.c
427
ddi_fm_ereport_post(hxgep->dip, eclass, ena, DDI_NOSLEEP,
usr/src/uts/common/io/hxge/hxge_fm.c
435
ddi_fm_ereport_post(hxgep->dip, eclass, ena, DDI_NOSLEEP,
usr/src/uts/common/io/hxge/hxge_fm.c
444
ddi_fm_ereport_post(hxgep->dip, eclass, ena, DDI_NOSLEEP,
usr/src/uts/common/io/hxge/hxge_fm.c
452
ddi_fm_ereport_post(hxgep->dip, eclass, ena, DDI_NOSLEEP,
usr/src/uts/common/io/hxge/hxge_fm.c
460
ddi_fm_ereport_post(hxgep->dip, eclass, ena, DDI_NOSLEEP,
usr/src/uts/common/io/i40e/i40e_main.c
763
uint64_t ena;
usr/src/uts/common/io/i40e/i40e_main.c
767
ena = fm_ena_generate(0, FM_ENA_FMT1);
usr/src/uts/common/io/i40e/i40e_main.c
769
ddi_fm_ereport_post(i40e->i40e_dip, buf, ena, DDI_NOSLEEP,
usr/src/uts/common/io/ib/adapters/hermon/hermon_fm.c
1916
uint64_t ena;
usr/src/uts/common/io/ib/adapters/hermon/hermon_fm.c
1921
ena = fm_ena_generate(0, FM_ENA_FMT1);
usr/src/uts/common/io/ib/adapters/hermon/hermon_fm.c
1924
ena = fm_ena_increment(ena);
usr/src/uts/common/io/ib/adapters/hermon/hermon_fm.c
1927
ddi_fm_ereport_post(dip, buf, ena, DDI_NOSLEEP,
usr/src/uts/common/io/ib/ibtl/ibtl_impl.c
1041
ibt_get_module_failure(ibt_failure_type_t type, uint64_t ena)
usr/src/uts/common/io/ib/ibtl/ibtl_impl.c
1045
IBTF_DPRINTF_L3(ibtf, "ibt_get_module_failure(%d, 0x%llX)", type, ena);
usr/src/uts/common/io/ib/ibtl/ibtl_impl.c
1079
ibc_get_ci_failure(uint64_t ena)
usr/src/uts/common/io/ib/ibtl/ibtl_impl.c
1081
return (ibt_get_module_failure(IBT_FAILURE_CI, ena));
usr/src/uts/common/io/igb/igb_main.c
5399
uint64_t ena;
usr/src/uts/common/io/igb/igb_main.c
5403
ena = fm_ena_generate(0, FM_ENA_FMT1);
usr/src/uts/common/io/igb/igb_main.c
5405
ddi_fm_ereport_post(igb->dip, buf, ena, DDI_NOSLEEP,
usr/src/uts/common/io/iwn/if_iwn.c
3361
int ena = (r1 & (IWN_INT_FH_RX | IWN_INT_SW_RX));
usr/src/uts/common/io/iwn/if_iwn.c
3363
if (ena)
usr/src/uts/common/io/iwn/if_iwn.c
3368
if (ena)
usr/src/uts/common/io/ixgbe/ixgbe_main.c
6538
uint64_t ena;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
6542
ena = fm_ena_generate(0, FM_ENA_FMT1);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
6544
ddi_fm_ereport_post(ixgbe->dip, buf, ena, DDI_NOSLEEP,
usr/src/uts/common/io/mega_sas/megaraid_sas.c
4970
uint64_t ena;
usr/src/uts/common/io/mega_sas/megaraid_sas.c
4974
ena = fm_ena_generate(0, FM_ENA_FMT1);
usr/src/uts/common/io/mega_sas/megaraid_sas.c
4976
ddi_fm_ereport_post(instance->dip, buf, ena, DDI_NOSLEEP,
usr/src/uts/common/io/mlxcx/mlxcx.c
1481
uint64_t ena;
usr/src/uts/common/io/mlxcx/mlxcx.c
1489
ena = fm_ena_generate(0, FM_ENA_FMT1);
usr/src/uts/common/io/mlxcx/mlxcx.c
1491
ddi_fm_ereport_post(mlxp->mlx_dip, buf, ena, DDI_NOSLEEP,
usr/src/uts/common/io/mlxcx/mlxcx.c
729
uint64_t ena;
usr/src/uts/common/io/mlxcx/mlxcx.c
736
ena = fm_ena_generate(0, FM_ENA_FMT1);
usr/src/uts/common/io/mlxcx/mlxcx.c
737
ddi_fm_ereport_post(mlxp->mlx_dip, buf, ena, DDI_NOSLEEP,
usr/src/uts/common/io/mlxcx/mlxcx_intr.c
637
uint64_t ena;
usr/src/uts/common/io/mlxcx/mlxcx_intr.c
677
ena = fm_ena_generate(0, FM_ENA_FMT1);
usr/src/uts/common/io/mlxcx/mlxcx_intr.c
681
ddi_fm_ereport_post(mlxp->mlx_dip, buf, ena, DDI_NOSLEEP,
usr/src/uts/common/io/mlxcx/mlxcx_ring.c
1968
uint64_t ena;
usr/src/uts/common/io/mlxcx/mlxcx_ring.c
1977
ena = fm_ena_generate(0, FM_ENA_FMT1);
usr/src/uts/common/io/mlxcx/mlxcx_ring.c
1979
ddi_fm_ereport_post(mlxp->mlx_dip, buf, ena, DDI_NOSLEEP,
usr/src/uts/common/io/mr_sas/mr_sas.c
7235
uint64_t ena;
usr/src/uts/common/io/mr_sas/mr_sas.c
7239
ena = fm_ena_generate(0, FM_ENA_FMT1);
usr/src/uts/common/io/mr_sas/mr_sas.c
7241
ddi_fm_ereport_post(instance->dip, buf, ena, DDI_NOSLEEP,
usr/src/uts/common/io/mwl/mwl.c
2107
mwl_hal_setpromisc(struct mwl_softc *sc, int ena)
usr/src/uts/common/io/mwl/mwl.c
2112
mwl_ctl_write4(sc, MACREG_REG_PROMISCUOUS, ena ? v | 1 : v & ~1);
usr/src/uts/common/io/nxge/nxge_fm.c
518
uint64_t ena;
usr/src/uts/common/io/nxge/nxge_fm.c
526
ena = fm_ena_generate(0, FM_ENA_FMT1);
usr/src/uts/common/io/nxge/nxge_fm.c
535
ddi_fm_ereport_post(nxgep->dip, eclass, ena,
usr/src/uts/common/io/nxge/nxge_fm.c
544
ddi_fm_ereport_post(nxgep->dip, eclass, ena,
usr/src/uts/common/io/nxge/nxge_fm.c
556
ddi_fm_ereport_post(nxgep->dip, eclass, ena,
usr/src/uts/common/io/nxge/nxge_fm.c
568
ddi_fm_ereport_post(nxgep->dip, eclass, ena,
usr/src/uts/common/io/nxge/nxge_fm.c
579
ddi_fm_ereport_post(nxgep->dip, eclass, ena,
usr/src/uts/common/io/nxge/nxge_fm.c
588
ddi_fm_ereport_post(nxgep->dip, eclass, ena,
usr/src/uts/common/io/nxge/nxge_fm.c
599
ddi_fm_ereport_post(nxgep->dip, eclass, ena,
usr/src/uts/common/io/nxge/nxge_fm.c
607
ddi_fm_ereport_post(nxgep->dip, eclass, ena,
usr/src/uts/common/io/nxge/nxge_fm.c
616
ddi_fm_ereport_post(nxgep->dip, eclass, ena,
usr/src/uts/common/io/nxge/nxge_fm.c
634
ena, DDI_NOSLEEP,
usr/src/uts/common/io/nxge/nxge_fm.c
648
ddi_fm_ereport_post(nxgep->dip, eclass, ena,
usr/src/uts/common/io/nxge/nxge_fm.c
674
ddi_fm_ereport_post(nxgep->dip, eclass, ena,
usr/src/uts/common/io/nxge/nxge_fm.c
692
ddi_fm_ereport_post(nxgep->dip, eclass, ena,
usr/src/uts/common/io/nxge/nxge_fm.c
707
ddi_fm_ereport_post(nxgep->dip, eclass, ena,
usr/src/uts/common/io/nxge/nxge_fm.c
725
ddi_fm_ereport_post(nxgep->dip, eclass, ena,
usr/src/uts/common/io/nxge/nxge_fm.c
734
ddi_fm_ereport_post(nxgep->dip, eclass, ena,
usr/src/uts/common/io/nxge/nxge_fm.c
756
ddi_fm_ereport_post(nxgep->dip, eclass, ena,
usr/src/uts/common/io/nxge/nxge_fm.c
765
ddi_fm_ereport_post(nxgep->dip, eclass, ena,
usr/src/uts/common/io/nxge/nxge_fm.c
779
ddi_fm_ereport_post(nxgep->dip, eclass, ena,
usr/src/uts/common/io/nxge/nxge_fm.c
794
ddi_fm_ereport_post(nxgep->dip, eclass, ena,
usr/src/uts/common/io/nxge/nxge_fm.c
820
ddi_fm_ereport_post(nxgep->dip, eclass, ena,
usr/src/uts/common/io/nxge/nxge_fm.c
841
ddi_fm_ereport_post(nxgep->dip, eclass, ena,
usr/src/uts/common/io/nxge/nxge_fm.c
875
ddi_fm_ereport_post(nxgep->dip, eclass, ena,
usr/src/uts/common/io/pciex/pcie_fault.c
2460
pf_hdl_lookup(dev_info_t *dip, uint64_t ena, uint32_t flag, uint64_t addr,
usr/src/uts/common/io/pciex/pcie_fault.c
2481
derr.fme_ena = ena;
usr/src/uts/common/io/pciex/pcie_fault.c
2793
pf_ereport_setup(dev_info_t *dip, uint64_t ena, nvlist_t **ereport,
usr/src/uts/common/io/pciex/pcie_fault.c
2826
if (ena == 0)
usr/src/uts/common/io/pciex/pcie_fault.c
2827
ena = fm_ena_generate(0, FM_ENA_FMT1);
usr/src/uts/common/io/pciex/pcie_fault.c
2829
fm_ereport_set(*ereport, 0, PCIE_EREPORT, ena, *detector, NULL);
usr/src/uts/common/io/sata/adapters/ahci/ahci.c
3578
uint64_t ena;
usr/src/uts/common/io/sata/adapters/ahci/ahci.c
3582
ena = fm_ena_generate(0, FM_ENA_FMT1);
usr/src/uts/common/io/sata/adapters/ahci/ahci.c
3584
ddi_fm_ereport_post(ahci_ctlp->ahcictl_dip, buf, ena,
usr/src/uts/common/io/sata/adapters/si3124/si3124.c
5840
uint64_t ena;
usr/src/uts/common/io/sata/adapters/si3124/si3124.c
5844
ena = fm_ena_generate(0, FM_ENA_FMT1);
usr/src/uts/common/io/sata/adapters/si3124/si3124.c
5847
ddi_fm_ereport_post(si_ctlp->sictl_devinfop, buf, ena,
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
899
uint64_t ena;
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
903
ena = fm_ena_generate(0, FM_ENA_FMT1);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
905
ddi_fm_ereport_post(lmrc->l_dip, buf, ena, DDI_NOSLEEP,
usr/src/uts/common/io/scsi/adapters/mpt_sas/mptsas.c
13868
uint64_t ena;
usr/src/uts/common/io/scsi/adapters/mpt_sas/mptsas.c
13872
ena = fm_ena_generate(0, FM_ENA_FMT1);
usr/src/uts/common/io/scsi/adapters/mpt_sas/mptsas.c
13874
ddi_fm_ereport_post(mpt->m_dip, buf, ena, DDI_NOSLEEP,
usr/src/uts/common/io/scsi/adapters/pmcs/pmcs_subr.c
7614
uint64_t ena;
usr/src/uts/common/io/scsi/adapters/pmcs/pmcs_subr.c
7618
ena = fm_ena_generate(0, FM_ENA_FMT1);
usr/src/uts/common/io/scsi/adapters/pmcs/pmcs_subr.c
7620
ddi_fm_ereport_post(pwp->dip, buf, ena, DDI_NOSLEEP,
usr/src/uts/common/io/scsi/impl/scsi_fm.c
150
class, ena, sflag, pl, ap);
usr/src/uts/common/io/scsi/impl/scsi_fm.c
38
const char *tpl0, const char *error_class, uint64_t ena, int sflag,
usr/src/uts/common/io/scsi/impl/scsi_fm.c
95
char *devpath, const char *error_class, uint64_t ena,
usr/src/uts/common/os/ddifm.c
1012
i_ddi_fm_acc_err_set(ddi_acc_handle_t handle, uint64_t ena, int status,
usr/src/uts/common/os/ddifm.c
1019
i_hdlp->ahi_err->err_ena = ena;
usr/src/uts/common/os/ddifm.c
1026
i_ddi_fm_dma_err_set(ddi_dma_handle_t handle, uint64_t ena, int status,
usr/src/uts/common/os/ddifm.c
1032
hdlp->dmai_error.err_ena = ena;
usr/src/uts/common/os/ddifm.c
157
uint64_t ena;
usr/src/uts/common/os/ddifm.c
160
ena = fm_ena_generate(0, FM_ENA_FMT1);
usr/src/uts/common/os/ddifm.c
168
ddi_fm_ereport_post(dip, buf, ena, DDI_NOSLEEP,
usr/src/uts/common/os/ddifm.c
178
ddi_fm_ereport_post(dip, buf, ena, DDI_NOSLEEP,
usr/src/uts/common/os/ddifm.c
185
ddi_fm_ereport_post(dip, buf, ena, DDI_NOSLEEP,
usr/src/uts/common/os/ddifm.c
194
ddi_fm_ereport_post(dip, buf, ena, DDI_NOSLEEP,
usr/src/uts/common/os/ddifm.c
201
ddi_fm_ereport_post(dip, buf, ena, DDI_NOSLEEP,
usr/src/uts/common/os/ddifm.c
340
const char *tpl0, const char *error_class, uint64_t ena, int sflag,
usr/src/uts/common/os/ddifm.c
417
if (ena == 0)
usr/src/uts/common/os/ddifm.c
418
ena = fm_ena_generate(0, FM_ENA_FMT1);
usr/src/uts/common/os/ddifm.c
439
fm_ereport_set(ereport, version, class, ena, detector, NULL);
usr/src/uts/common/os/ddifm.c
486
const char *error_class, uint64_t ena, int sflag, ...)
usr/src/uts/common/os/ddifm.c
493
error_class, ena, sflag, NULL, ap);
usr/src/uts/common/os/ddifm.c
499
const char *error_class, uint64_t ena, int sflag, ...)
usr/src/uts/common/os/ddifm.c
506
error_class, ena, sflag, NULL, ap);
usr/src/uts/common/os/fm.c
1133
fm_ena_increment(uint64_t ena)
usr/src/uts/common/os/fm.c
1137
switch (ENA_FORMAT(ena)) {
usr/src/uts/common/os/fm.c
1139
new_ena = ena + (1 << ENA_FMT1_GEN_SHFT);
usr/src/uts/common/os/fm.c
1142
new_ena = ena + (1 << ENA_FMT2_GEN_SHFT);
usr/src/uts/common/os/fm.c
1154
uint64_t ena = 0;
usr/src/uts/common/os/fm.c
1159
ena = (uint64_t)((format & ENA_FORMAT_MASK) |
usr/src/uts/common/os/fm.c
1165
ena = (uint64_t)((format & ENA_FORMAT_MASK) |
usr/src/uts/common/os/fm.c
1173
ena = (uint64_t)((format & ENA_FORMAT_MASK) |
usr/src/uts/common/os/fm.c
1180
return (ena);
usr/src/uts/common/os/fm.c
1190
fm_ena_generation_get(uint64_t ena)
usr/src/uts/common/os/fm.c
1194
switch (ENA_FORMAT(ena)) {
usr/src/uts/common/os/fm.c
1196
gen = (ena & ENA_FMT1_GEN_MASK) >> ENA_FMT1_GEN_SHFT;
usr/src/uts/common/os/fm.c
1199
gen = (ena & ENA_FMT2_GEN_MASK) >> ENA_FMT2_GEN_SHFT;
usr/src/uts/common/os/fm.c
1210
fm_ena_format_get(uint64_t ena)
usr/src/uts/common/os/fm.c
1213
return (ENA_FORMAT(ena));
usr/src/uts/common/os/fm.c
1217
fm_ena_id_get(uint64_t ena)
usr/src/uts/common/os/fm.c
1221
switch (ENA_FORMAT(ena)) {
usr/src/uts/common/os/fm.c
1223
id = (ena & ENA_FMT1_ID_MASK) >> ENA_FMT1_ID_SHFT;
usr/src/uts/common/os/fm.c
1226
id = (ena & ENA_FMT2_ID_MASK) >> ENA_FMT2_ID_SHFT;
usr/src/uts/common/os/fm.c
1236
fm_ena_time_get(uint64_t ena)
usr/src/uts/common/os/fm.c
1240
switch (ENA_FORMAT(ena)) {
usr/src/uts/common/os/fm.c
1242
time = (ena & ENA_FMT1_TIME_MASK) >> ENA_FMT1_TIME_SHFT;
usr/src/uts/common/os/fm.c
1245
time = (ena & ENA_FMT2_TIME_MASK) >> ENA_FMT2_TIME_SHFT;
usr/src/uts/common/os/fm.c
820
uint64_t ena, const nvlist_t *detector, ...)
usr/src/uts/common/os/fm.c
839
if (nvlist_add_uint64(ereport, FM_EREPORT_ENA, ena)) {
usr/src/uts/common/os/ndifm.c
463
ndi_fmc_error(dev_info_t *dip, dev_info_t *tdip, int flag, uint64_t ena,
usr/src/uts/common/os/ndifm.c
480
derr.fme_ena = ena;
usr/src/uts/common/os/pcifm.c
1168
pci_fm_ereport_post(dev_info_t *dip, const char *error_class, uint64_t ena,
usr/src/uts/common/os/pcifm.c
1197
fm_ereport_set(ereport, version, ddi_error_class, ena, detector, NULL);
usr/src/uts/common/os/pcifm.c
1477
pci_target_enqueue(uint64_t ena, char *class, char *bridge_type, uint64_t addr)
usr/src/uts/common/os/pcifm.c
1481
tgt_err.tgt_err_ena = ena;
usr/src/uts/common/sys/fm/protocol.h
150
#define ENA_FORMAT(ena) ((ena) & ENA_FORMAT_MASK)
usr/src/uts/common/sys/ib/ibtl/ibci.h
497
ibt_status_t ibc_get_ci_failure(uint64_t ena);
usr/src/uts/common/sys/ib/ibtl/ibvti.h
238
ibt_status_t ibt_get_module_failure(ibt_failure_type_t type, uint64_t ena);
usr/src/uts/common/sys/scsi/scsi_fm.h
42
char *devpath, const char *error_class, uint64_t ena,
usr/src/uts/sun4u/io/pci/pci_fm.c
326
pbm_ereport_post(dev_info_t *dip, uint64_t ena, pbm_errstate_t *pbm_err)
usr/src/uts/sun4u/io/pci/pci_fm.c
333
ena = ena ? ena : fm_ena_generate(0, FM_ENA_FMT1);
usr/src/uts/sun4u/io/pci/pci_fm.c
335
ddi_fm_ereport_post(dip, buf, ena, DDI_NOSLEEP,
usr/src/uts/sun4u/io/pci/pcisch.c
1944
pcix_lookup_err_msgs(dev_info_t *dip, uint64_t ena, pcix_err_tbl_t t,
usr/src/uts/sun4u/io/pci/pcisch.c
1964
pcix_ereport_post(dip, ena, pbm_err_p);
usr/src/uts/sun4u/io/pci/pcisch.c
1975
pcix_log_split_err(dev_info_t *dip, uint64_t ena, pbm_errstate_t *pbm_err_p)
usr/src/uts/sun4u/io/pci/pcisch.c
1985
(void) pcix_lookup_err_msgs(dip, ena,
usr/src/uts/sun4u/io/pci/pcisch.c
1999
pcix_log_pbm(pci_t *pci_p, uint64_t ena, pbm_errstate_t *pbm_err_p)
usr/src/uts/sun4u/io/pci/pcisch.c
2018
pcix_log_split_err(pci_p->pci_dip, ena, pbm_err_p);
usr/src/uts/sun4u/io/pci/pcisch.c
2024
pcix_log_split_err(pci_p->pci_dip, ena, pbm_err_p);
usr/src/uts/sun4u/io/pci/pcisch.c
2033
if (pcix_lookup_err_msgs(pci_p->pci_dip, ena,
usr/src/uts/sun4u/io/pci/pcisch.c
2045
if (pcix_lookup_err_msgs(pci_p->pci_dip, ena,
usr/src/uts/sun4u/io/pci/pcisch.c
2140
iommu_err_handler(dev_info_t *dip, uint64_t ena, pbm_errstate_t *pbm_err_p)
usr/src/uts/sun4u/io/pci/pcisch.c
2155
iommu_ereport_post(dip, ena, pbm_err_p);
usr/src/uts/sun4u/io/pci/pcisch.c
2172
iommu_ereport_post(dip, ena, pbm_err_p);
usr/src/uts/sun4u/io/pci/pcisch.c
2182
iommu_ereport_post(dip, ena, pbm_err_p);
usr/src/uts/sun4u/io/pci/pcisch.c
2195
iommu_ereport_post(dip, ena, pbm_err_p);
usr/src/uts/sun4u/io/pci/pcisch.c
2205
ena, (void *)&pbm_err_p->pbm_iommu.iommu_tfar);
usr/src/uts/sun4u/io/pci/pcisch.c
2215
iommu_ereport_post(dip, ena, pbm_err_p);
usr/src/uts/sun4u/io/pci/pcisch.c
2220
iommu_ereport_post(dip, ena, pbm_err_p);
usr/src/uts/sun4u/io/pci/pcisch.c
2224
iommu_ereport_post(dip, ena, pbm_err_p);
usr/src/uts/sun4u/io/pci/pcisch.c
2800
cb_ereport_post(dev_info_t *dip, uint64_t ena, cb_errstate_t *cb_err)
usr/src/uts/sun4u/io/pci/pcisch.c
2821
ena = ena ? ena : fm_ena_generate(0, FM_ENA_FMT1);
usr/src/uts/sun4u/io/pci/pcisch.c
2848
fm_ereport_set(ereport, FM_EREPORT_VERSION, buf, ena, detector,
usr/src/uts/sun4u/io/pci/pcisch.c
2856
fm_ereport_set(ereport, FM_EREPORT_VERSION, buf, ena, detector,
usr/src/uts/sun4u/io/pci/pcisch.c
2871
iommu_ereport_post(dev_info_t *dip, uint64_t ena, pbm_errstate_t *pbm_err)
usr/src/uts/sun4u/io/pci/pcisch.c
2878
ena = ena ? ena : fm_ena_generate(0, FM_ENA_FMT1);
usr/src/uts/sun4u/io/pci/pcisch.c
2882
ddi_fm_ereport_post(dip, buf, ena, DDI_NOSLEEP,
usr/src/uts/sun4u/io/pci/pcisch.c
2900
pcix_ereport_post(dev_info_t *dip, uint64_t ena, pbm_errstate_t *pbm_err)
usr/src/uts/sun4u/io/pci/pcisch.c
2907
ena = ena ? ena : fm_ena_generate(0, FM_ENA_FMT1);
usr/src/uts/sun4u/io/pci/pcisch.c
2911
ddi_fm_ereport_post(dip, buf, ena, DDI_NOSLEEP,
usr/src/uts/sun4u/opl/io/pcicmu/pcicmu.c
2183
pcmu_pbm_ereport_post(dev_info_t *dip, uint64_t ena,
usr/src/uts/sun4u/opl/io/pcicmu/pcicmu.c
2191
ena = ena ? ena : fm_ena_generate(0, FM_ENA_FMT1);
usr/src/uts/sun4u/opl/sys/pcicmu/pcicmu.h
448
void pcmu_pbm_ereport_post(dev_info_t *dip, uint64_t ena,
usr/src/uts/sun4u/opl/sys/pcicmu/pcmu_err.h
120
extern void pcmu_pbm_ereport_post(dev_info_t *dip, uint64_t ena,
usr/src/uts/sun4u/sys/pci/pci_fm.h
206
extern void pbm_ereport_post(dev_info_t *dip, uint64_t ena,