/illumos-gate/usr/src/uts/common/io/ena/ |
H A D | ena.c | 355 ena_err(const ena_t *ena, const char *fmt, ...) in ena_err() argument 360 if (ena != NULL && ena->ena_dip != NULL) { in ena_err() 361 vdev_err(ena->ena_dip, CE_WARN, fmt, ap); in ena_err() 369 ena_panic(const ena_t *ena, const char *fmt, ...) in ena_panic() argument 374 if (ena != NULL && ena->ena_dip != NULL) { in ena_panic() 375 vdev_err(ena->ena_dip, CE_PANIC, fmt, ap); in ena_panic() 392 ena_dbg(const ena_t *ena, const char *fmt, ...) in ena_dbg() argument 403 if (ena != NULL && ena->ena_dip != NULL) { in ena_dbg() 404 dev_err(ena->ena_dip, CE_NOTE, "!%s", msg); in ena_dbg() 412 ena_trigger_reset(ena_t *ena, enahw_reset_reason_t reason) in ena_trigger_reset() argument [all …]
|
H A D | ena_intr.c | 25 ena_t *ena = (ena_t *)arg1; in ena_io_intr() local 28 ASSERT3U(vector, <, ena->ena_num_intrs); in ena_io_intr() 29 ena_txq_t *txq = &ena->ena_txqs[vector - 1]; in ena_io_intr() 30 ena_rxq_t *rxq = &ena->ena_rxqs[vector - 1]; in ena_io_intr() 33 if ((ena->ena_state & ENA_STATE_STARTED) == 0) in ena_io_intr() 45 intr_ctrl = ena_hw_abs_read32(ena, txq->et_cq_unmask_addr); in ena_io_intr() 47 ena_hw_abs_write32(ena, txq->et_cq_unmask_addr, intr_ctrl); in ena_io_intr() 54 ena_t *ena = (ena_t *)arg1; in ena_admin_intr() local 56 if ((ena->ena_state & ENA_STATE_STARTED) != 0) in ena_admin_intr() 57 ena_aenq_work(ena); in ena_admin_intr() [all …]
|
H A D | ena_watchdog.c | 24 ena_t *ena = arg; in ena_watchdog() local 41 if (ena->ena_state & ENA_STATE_ERROR) { in ena_watchdog() 42 atomic_and_32(&ena->ena_state, ~ENA_STATE_ERROR); in ena_watchdog() 47 statusreg = ena_hw_bar_read32(ena, ENAHW_REG_DEV_STS); in ena_watchdog() 54 if (ena->ena_watchdog_last_keepalive > 0 && in ena_watchdog() 55 gethrtime() - ena->ena_watchdog_last_keepalive > in ena_watchdog() 63 for (uint_t i = 0; i < ena->ena_num_txqs; i++) { in ena_watchdog() 64 ena_txq_t *txq = &ena->ena_txqs[i]; in ena_watchdog() 89 mutex_enter(&ena->ena_lock); in ena_watchdog() 92 ena->ena_device_stat.eds_reset_forced.value.ui64++; in ena_watchdog() [all …]
|
H A D | ena_aenq.c | 69 ena_aenq_configure(ena_t *ena) in ena_aenq_configure() argument 79 if (ena_get_feature(ena, &resp, ENAHW_FEAT_AENQ_CONFIG, in ena_aenq_configure() 96 if (ena_set_feature(ena, &cmd, &resp, ENAHW_FEAT_AENQ_CONFIG, in ena_aenq_configure() 102 if (ena_get_feature(ena, &resp, ENAHW_FEAT_AENQ_CONFIG, in ena_aenq_configure() 107 ena->ena_aenq_supported_groups = resp_feat->efa_supported_groups; in ena_aenq_configure() 108 ena->ena_aenq_enabled_groups = resp_feat->efa_enabled_groups; in ena_aenq_configure() 117 ena_dbg(ena, "%s supported: %s enabled: %s", grpstr->eag_str, in ena_aenq_configure() 125 ena_aenq_work(ena_t *ena) in ena_aenq_work() argument 127 ena_aenq_t *aenq = &ena->ena_aenq; in ena_aenq_work() 149 ena_dbg(ena, in ena_aenq_work() [all …]
|
H A D | ena_admin.c | 46 ena_release_cmd_ctx(ena_t *ena, ena_cmd_ctx_t *ctx) in ena_release_cmd_ctx() argument 51 mutex_enter(&ena->ena_aq.ea_sq_lock); in ena_release_cmd_ctx() 58 list_remove(&ena->ena_aq.ea_cmd_ctxs_used, ctx); in ena_release_cmd_ctx() 59 list_insert_tail(&ena->ena_aq.ea_cmd_ctxs_free, ctx); in ena_release_cmd_ctx() 60 ena->ena_aq.ea_pending_cmds--; in ena_release_cmd_ctx() 61 mutex_exit(&ena->ena_aq.ea_sq_lock); in ena_release_cmd_ctx() 65 ena_release_all_cmd_ctx(ena_t *ena) in ena_release_all_cmd_ctx() argument 67 ena_adminq_t *aq = &ena->ena_aq; in ena_release_all_cmd_ctx() 80 ena_create_cmd_ctx(ena_t *ena) in ena_create_cmd_ctx() argument 82 ena_adminq_t *aq = &ena->ena_aq; in ena_create_cmd_ctx() [all …]
|
H A D | ena_stats.c | 59 ena_stat_device_cleanup(ena_t *ena) in ena_stat_device_cleanup() argument 61 if (ena->ena_device_kstat != NULL) { in ena_stat_device_cleanup() 62 kstat_delete(ena->ena_device_kstat); in ena_stat_device_cleanup() 63 ena->ena_device_kstat = NULL; in ena_stat_device_cleanup() 68 ena_stat_device_init(ena_t *ena) in ena_stat_device_init() argument 71 ddi_get_instance(ena->ena_dip), "device", "net", KSTAT_TYPE_NAMED, in ena_stat_device_init() 74 ena_device_stat_t *eds = &ena->ena_device_stat; in ena_stat_device_init() 77 ena_err(ena, "!failed to create device kstats"); in ena_stat_device_init() 81 ena->ena_device_kstat = ksp; in ena_stat_device_init() 95 kstat_install(ena->ena_device_kstat); in ena_stat_device_init() [all …]
|
H A D | ena_gld.c | 31 ena_t *ena = arg; in ena_group_add_mac() local 37 if (bcmp(ena->ena_mac_addr, mac_addr, ETHERADDRL) == 0) { in ena_group_add_mac() 47 ena_t *ena = arg; in ena_group_rem_mac() local 53 if (bcmp(ena->ena_mac_addr, mac_addr, ETHERADDRL) == 0) { in ena_group_rem_mac() 94 ena_t *ena = arg; in ena_fill_rx_group() local 102 infop->mgi_driver = (mac_group_driver_t)ena; in ena_fill_rx_group() 107 infop->mgi_count = ena->ena_num_intrs - 1; in ena_fill_rx_group() 114 ena_t *ena = arg; in ena_fill_tx_ring() local 115 ena_txq_t *txq = &ena->ena_txqs[ring_index]; in ena_fill_tx_ring() 118 VERIFY3S(ring_index, <, ena->ena_num_txqs); in ena_fill_tx_ring() [all …]
|
H A D | ena_hw.c | 20 ena_hw_bar_read32(const ena_t *ena, const uint16_t offset) in ena_hw_bar_read32() argument 22 caddr_t addr = ena->ena_reg_base + offset; in ena_hw_bar_read32() 23 return (ena_hw_abs_read32(ena, (uint32_t *)addr)); in ena_hw_bar_read32() 27 ena_hw_abs_read32(const ena_t *ena, uint32_t *addr) in ena_hw_abs_read32() argument 29 VERIFY3U(addr, >=, ena->ena_reg_base); in ena_hw_abs_read32() 30 VERIFY3U(addr, <, ena->ena_reg_base + (ena->ena_reg_size - 4)); in ena_hw_abs_read32() 32 return (ddi_get32(ena->ena_reg_hdl, addr)); in ena_hw_abs_read32() 36 ena_hw_bar_write32(const ena_t *ena, const uint16_t offset, const uint32_t val) in ena_hw_bar_write32() argument 38 caddr_t addr = ena->ena_reg_base + offset; in ena_hw_bar_write32() 39 ena_hw_abs_write32(ena, (uint32_t *)addr, val); in ena_hw_bar_write32() [all …]
|
H A D | ena_dma.c | 22 ena_dma_attr(const ena_t *ena, ddi_dma_attr_t *attrp, in ena_dma_attr() argument 32 P2ROUNDUP_TYPED(conf->edc_size, ena->ena_page_sz, size_t); in ena_dma_attr() 40 ASSERT3U(ena->ena_dma_width, >=, 32); in ena_dma_attr() 41 ASSERT3U(ena->ena_dma_width, <=, 48); in ena_dma_attr() 43 attrp->dma_attr_addr_hi = ENA_DMA_BIT_MASK(ena->ena_dma_width); in ena_dma_attr() 115 ena_dma_alloc(ena_t *ena, ena_dma_buf_t *edb, ena_dma_conf_t *conf, size_t size) in ena_dma_alloc() argument 124 ena_dma_attr(ena, &attr, conf); in ena_dma_alloc() 130 ret = ddi_dma_alloc_handle(ena->ena_dip, &attr, DDI_DMA_DONTWAIT, NULL, in ena_dma_alloc() 133 ena_err(ena, "!failed to allocate DMA handle: %d", ret); in ena_dma_alloc() 141 ena_err(ena, "!failed to allocate %lu bytes of DMA " in ena_dma_alloc() [all …]
|
H A D | ena_tx.c | 51 ena_t *ena = txq->et_ena; in ena_alloc_tx_dma() local 57 ASSERT3P(ena, !=, NULL); in ena_alloc_tx_dma() 70 if (!ena_dma_alloc(ena, &txq->et_sq_dma, &sq_conf, sq_descs_sz)) { in ena_alloc_tx_dma() 83 .edc_size = ena->ena_tx_buf_sz, in ena_alloc_tx_dma() 85 .edc_sgl = ena->ena_tx_sgl_max_sz, in ena_alloc_tx_dma() 90 if (!ena_dma_alloc(ena, &tcb->etcb_dma, &buf_conf, in ena_alloc_tx_dma() 91 ena->ena_tx_buf_sz)) { in ena_alloc_tx_dma() 109 if (!ena_dma_alloc(ena, &txq->et_cq_dma, &cq_conf, cq_descs_sz)) { in ena_alloc_tx_dma() 127 ena_t *ena = txq->et_ena; in ena_alloc_txq() local 138 ena_err(ena, "failed to allocate Tx queue %u data buffers: %d", in ena_alloc_txq() [all …]
|
H A D | ena_rx.c | 96 ena_t *ena = rxq->er_ena; in ena_alloc_rx_dma() local 112 if (!ena_dma_alloc(ena, &rxq->er_sq_dma, &sq_conf, sq_descs_sz)) { in ena_alloc_rx_dma() 123 .edc_size = ena->ena_rx_buf_sz, in ena_alloc_rx_dma() 125 .edc_sgl = ena->ena_rx_sgl_max_sz, in ena_alloc_rx_dma() 130 if (!ena_dma_alloc(ena, &rcb->ercb_dma, &buf_conf, in ena_alloc_rx_dma() 131 ena->ena_rx_buf_sz)) { in ena_alloc_rx_dma() 145 if (!ena_dma_alloc(ena, &rxq->er_cq_dma, &cq_conf, cq_descs_sz)) { in ena_alloc_rx_dma() 163 ena_t *ena = rxq->er_ena; in ena_alloc_rxq() local 172 ena_err(ena, "failed to allocate Rx queue %u data buffers: %d", in ena_alloc_rxq() 182 ret = ena_create_cq(ena, rxq->er_cq_num_descs, in ena_alloc_rxq() [all …]
|
H A D | ena.h | 137 #define ENA_DMA_VERIFY_ADDR(ena, phys_addr) \ argument 138 VERIFY3U(ENA_DMA_BIT_MASK((ena)->ena_dma_width) & (phys_addr), \ 307 struct ena; 308 typedef bool (*ena_attach_fn_t)(struct ena *); 309 typedef void (*ena_cleanup_fn_t)(struct ena *, bool); 393 struct ena *et_ena; /* WO */ 564 struct ena *er_ena; /* WO */ 659 typedef struct ena { struct
|
/illumos-gate/usr/src/uts/common/io/hxge/ |
H A D | hxge_fm.c | 321 uint64_t ena; in hxge_fm_ereport() local 330 ena = fm_ena_generate(0, FM_ENA_FMT1); in hxge_fm_ereport() 335 ddi_fm_ereport_post(hxgep->dip, eclass, ena, DDI_NOSLEEP, in hxge_fm_ereport() 341 ddi_fm_ereport_post(hxgep->dip, eclass, ena, DDI_NOSLEEP, in hxge_fm_ereport() 349 ddi_fm_ereport_post(hxgep->dip, eclass, ena, DDI_NOSLEEP, in hxge_fm_ereport() 357 ddi_fm_ereport_post(hxgep->dip, eclass, ena, DDI_NOSLEEP, in hxge_fm_ereport() 371 ddi_fm_ereport_post(hxgep->dip, eclass, ena, DDI_NOSLEEP, in hxge_fm_ereport() 389 ddi_fm_ereport_post(hxgep->dip, eclass, ena, DDI_NOSLEEP, in hxge_fm_ereport() 400 ddi_fm_ereport_post(hxgep->dip, eclass, ena, DDI_NOSLEEP, in hxge_fm_ereport() 412 ddi_fm_ereport_post(hxgep->dip, eclass, ena, DDI_NOSLEEP, in hxge_fm_ereport() [all …]
|
/illumos-gate/usr/src/uts/common/io/nxge/ |
H A D | nxge_fm.c | 518 uint64_t ena; in nxge_fm_ereport() local 526 ena = fm_ena_generate(0, FM_ENA_FMT1); in nxge_fm_ereport() 535 ddi_fm_ereport_post(nxgep->dip, eclass, ena, in nxge_fm_ereport() 544 ddi_fm_ereport_post(nxgep->dip, eclass, ena, in nxge_fm_ereport() 556 ddi_fm_ereport_post(nxgep->dip, eclass, ena, in nxge_fm_ereport() 568 ddi_fm_ereport_post(nxgep->dip, eclass, ena, in nxge_fm_ereport() 579 ddi_fm_ereport_post(nxgep->dip, eclass, ena, in nxge_fm_ereport() 588 ddi_fm_ereport_post(nxgep->dip, eclass, ena, in nxge_fm_ereport() 599 ddi_fm_ereport_post(nxgep->dip, eclass, ena, in nxge_fm_ereport() 607 ddi_fm_ereport_post(nxgep->dip, eclass, ena, in nxge_fm_ereport() [all …]
|
/illumos-gate/usr/src/pkg/manifests/ |
H A D | driver-network-ena.p5m | 17 set name=pkg.fmri value=pkg:/driver/network/ena@$(PKGVERS) 26 file path=kernel/drv/$(ARCH64)/ena group=sys 27 file path=kernel/drv/ena.conf group=sys 30 file path=usr/share/man/man4d/ena.4d 31 driver name=ena perms="* 0666 root sys" clone_perms="ena 0666 root sys" \
|
/illumos-gate/usr/src/uts/common/os/ |
H A D | ddifm.c | 157 uint64_t ena; in ddi_fm_service_impact() local 160 ena = fm_ena_generate(0, FM_ENA_FMT1); in ddi_fm_service_impact() 168 ddi_fm_ereport_post(dip, buf, ena, DDI_NOSLEEP, in ddi_fm_service_impact() 178 ddi_fm_ereport_post(dip, buf, ena, DDI_NOSLEEP, in ddi_fm_service_impact() 185 ddi_fm_ereport_post(dip, buf, ena, DDI_NOSLEEP, in ddi_fm_service_impact() 194 ddi_fm_ereport_post(dip, buf, ena, DDI_NOSLEEP, in ddi_fm_service_impact() 201 ddi_fm_ereport_post(dip, buf, ena, DDI_NOSLEEP, in ddi_fm_service_impact() 340 const char *tpl0, const char *error_class, uint64_t ena, int sflag, in fm_dev_ereport_postv() argument 417 if (ena == 0) in fm_dev_ereport_postv() 418 ena = fm_ena_generate(0, FM_ENA_FMT1); in fm_dev_ereport_postv() [all …]
|
H A D | fm.c | 820 uint64_t ena, const nvlist_t *detector, ...) in fm_ereport_set() argument 839 if (nvlist_add_uint64(ereport, FM_EREPORT_ENA, ena)) { in fm_ereport_set() 1133 fm_ena_increment(uint64_t ena) in fm_ena_increment() argument 1137 switch (ENA_FORMAT(ena)) { in fm_ena_increment() 1139 new_ena = ena + (1 << ENA_FMT1_GEN_SHFT); in fm_ena_increment() 1142 new_ena = ena + (1 << ENA_FMT2_GEN_SHFT); in fm_ena_increment() 1154 uint64_t ena = 0; in fm_ena_generate_cpu() local 1159 ena = (uint64_t)((format & ENA_FORMAT_MASK) | in fm_ena_generate_cpu() 1165 ena = (uint64_t)((format & ENA_FORMAT_MASK) | in fm_ena_generate_cpu() 1173 ena = (uint64_t)((format & ENA_FORMAT_MASK) | in fm_ena_generate_cpu() [all …]
|
/illumos-gate/usr/src/uts/common/io/fibre-channel/fca/qlge/ |
H A D | qlge_fm.c | 33 uint64_t ena; in ql_fm_ereport() local 37 ena = fm_ena_generate(0, FM_ENA_FMT1); in ql_fm_ereport() 39 ddi_fm_ereport_post(qlge->dip, buf, ena, DDI_NOSLEEP, in ql_fm_ereport()
|
/illumos-gate/usr/src/uts/intel/ena/ |
H A D | Makefile | 18 MODULE = ena 21 CONF_SRCDIR = $(UTSBASE)/common/io/ena 25 CPPFLAGS += -I$(UTSBASE)/common/io/ena
|
/illumos-gate/usr/src/cmd/mdb/common/modules/genunix/ |
H A D | fm.c | 155 uint64_t ena = 0; in ereport() local 221 NVP_TYPE(nvpair) == DATA_TYPE_UINT64 && ena == 0) { in ereport() 222 bcopy(NVP_VALUE(nvpair), (char *)&ena, in ereport() 226 if (class != NULL && ena != 0) { in ereport() 227 mdb_printf("0x%016llx %s\n", ena, class); in ereport()
|
/illumos-gate/usr/src/uts/common/io/fibre-channel/fca/qlc/ |
H A D | ql_fm.c | 289 uint64_t ena; in qlc_fm_report_err_impact() local 309 ena = fm_ena_generate(0, FM_ENA_FMT1); in qlc_fm_report_err_impact() 320 ddi_fm_ereport_post(ha->dip, eclass, ena, in qlc_fm_report_err_impact() 339 ddi_fm_ereport_post(ha->dip, eclass, ena, in qlc_fm_report_err_impact() 349 ddi_fm_ereport_post(ha->dip, eclass, ena, in qlc_fm_report_err_impact()
|
/illumos-gate/usr/src/uts/common/io/scsi/impl/ |
H A D | scsi_fm.c | 38 const char *tpl0, const char *error_class, uint64_t ena, int sflag, 95 char *devpath, const char *error_class, uint64_t ena, in scsi_fm_ereport_post() argument 150 class, ena, sflag, pl, ap); in scsi_fm_ereport_post()
|
/illumos-gate/usr/src/cmd/fm/fmdump/common/ |
H A D | error.c | 46 uint64_t ena = 0; in err_verb1() local 49 (void) nvlist_lookup_uint64(rp->rec_nvl, FM_EREPORT_ENA, &ena); in err_verb1() 52 fmdump_date(buf, sizeof (buf), rp), rp->rec_class, ena); in err_verb1()
|
/illumos-gate/usr/src/uts/common/io/fibre-channel/fca/oce/ |
H A D | oce_fm.c | 141 uint64_t ena; in oce_fm_ereport() local 148 ena = fm_ena_generate(0, FM_ENA_FMT1); in oce_fm_ereport() 150 ddi_fm_ereport_post(dev->dip, buf, ena, DDI_NOSLEEP, in oce_fm_ereport()
|
/illumos-gate/usr/src/uts/sun4u/io/pci/ |
H A D | pci_fm.c | 326 pbm_ereport_post(dev_info_t *dip, uint64_t ena, pbm_errstate_t *pbm_err) in pbm_ereport_post() argument 333 ena = ena ? ena : fm_ena_generate(0, FM_ENA_FMT1); in pbm_ereport_post() 335 ddi_fm_ereport_post(dip, buf, ena, DDI_NOSLEEP, in pbm_ereport_post()
|