/illumos-gate/usr/src/uts/common/io/scsi/adapters/smrt/ |
H A D | smrt_ciss.c | 349 smrt_t *smrt = arg; in smrt_periodic() local 448 if (smrt_submit(smrt, smrt->smrt_event_cmd) == 0) { in smrt_periodic() 545 if (avl_numnodes(&smrt->smrt_inflight) >= smrt->smrt_maxcmds) { in smrt_submit() 832 cv_wait(&smrt->smrt_cv_finishq, &smrt->smrt_mutex); in smrt_poll_for() 950 ddi_put32(smrt->smrt_ct_handle, &smrt->smrt_ct->TransportRequest, in smrt_cfgtbl_transport_set() 1043 smrt->smrt_host_support = smrt_ctlr_get_hostdrvsup(smrt); in smrt_ctlr_init() 1044 smrt->smrt_bus_support = ddi_get32(smrt->smrt_ct_handle, in smrt_ctlr_init() 1051 smrt->smrt_last_heartbeat = ddi_get32(smrt->smrt_ct_handle, in smrt_ctlr_init() 1364 cv_wait(&smrt->smrt_cv_finishq, &smrt->smrt_mutex); in smrt_ctlr_reset() 1572 cv_wait(&smrt->smrt_cv_finishq, &smrt->smrt_mutex); in smrt_ctlr_reset() [all …]
|
H A D | smrt_interrupts.c | 34 smrt_try_msix(smrt_t *smrt) in smrt_try_msix() argument 74 smrt->smrt_ninterrupts)); in smrt_interrupts_disable() 91 smrt->smrt_ninterrupts); in smrt_interrupts_enable() 111 smrt->smrt_ninterrupts = 0; in smrt_interrupts_free() 112 smrt->smrt_interrupt_type = 0; in smrt_interrupts_free() 113 smrt->smrt_interrupt_cap = 0; in smrt_interrupts_free() 114 smrt->smrt_interrupt_pri = 0; in smrt_interrupts_free() 150 smrt_interrupts_free(smrt); in smrt_interrupts_alloc() 171 switch (smrt->smrt_ctlr_mode) { in smrt_interrupts_setup() 262 smrt_interrupts_teardown(smrt); in smrt_interrupts_setup() [all …]
|
H A D | smrt_ciss_simple.c | 24 smrt_t *smrt = (smrt_t *)arg1; in smrt_isr_hw_simple() 28 mutex_enter(&smrt->smrt_mutex); in smrt_isr_hw_simple() 37 mutex_exit(&smrt->smrt_mutex); in smrt_isr_hw_simple() 52 smrt_lockup_check(smrt); in smrt_isr_hw_simple() 54 mutex_exit(&smrt->smrt_mutex); in smrt_isr_hw_simple() 65 smrt_retrieve_simple(smrt); in smrt_isr_hw_simple() 70 smrt_process_finishq(smrt); in smrt_isr_hw_simple() 72 mutex_exit(&smrt->smrt_mutex); in smrt_isr_hw_simple() 208 if ((smrt->smrt_maxcmds = smrt_ctlr_get_cmdsoutmax(smrt)) == 0) { in smrt_ctlr_init_simple() 220 if ((smrt->smrt_sg_cnt = smrt_ctlr_get_maxsgelements(smrt)) == 0) { in smrt_ctlr_init_simple() [all …]
|
H A D | smrt.c | 174 smrt_t *smrt; in smrt_iport_attach() local 189 VERIFY(smrt != NULL); in smrt_iport_attach() 211 smrt_t *smrt; in smrt_iport_detach() local 219 VERIFY(smrt != NULL); in smrt_iport_detach() 241 smrt_t *smrt; in smrt_attach() local 271 smrt->smrt_dip = dip; in smrt_attach() 319 smrt->smrt_dma_attr.dma_attr_sgllen = smrt->smrt_sg_cnt; in smrt_attach() 366 smrt->smrt_periodic = ddi_periodic_add(smrt_periodic, smrt, in smrt_attach() 407 smrt_cleanup(smrt); in smrt_attach() 436 if (smrt->smrt_virt_iport != NULL || smrt->smrt_phys_iport != NULL) { in smrt_detach() [all …]
|
H A D | smrt_device.c | 97 smrt_identify_device(smrt_t *smrt) in smrt_identify_device() argument 113 smrt_map_device(smrt_t *smrt) in smrt_map_device() argument 117 dev_info_t *dip = smrt->smrt_dip; in smrt_map_device() 140 if (ddi_regs_map_setup(dip, smrt->smrt_i2o_bar, &smrt->smrt_i2o_space, in smrt_map_device() 148 if (smrt_locate_cfgtbl(smrt, regs, nregs, &smrt->smrt_ct_bar, in smrt_map_device() 158 (caddr_t *)&smrt->smrt_ct, smrt->smrt_ct_baseaddr, in smrt_map_device() 174 smrt_device_setup(smrt_t *smrt) in smrt_device_setup() argument 196 smrt_device_teardown(smrt); in smrt_device_setup() 201 smrt_device_teardown(smrt_t *smrt) in smrt_device_teardown() argument 204 ddi_regs_map_free(&smrt->smrt_ct_handle); in smrt_device_teardown() [all …]
|
H A D | smrt_hba.c | 131 smtg->smtg_ctlr = smrt; in smrt_logvol_tran_tgt_init() 244 smtg->smtg_ctlr = smrt; in smrt_phys_tran_tgt_init() 297 smrt_t *smrt; in smrt_tran_setup_pkt() local 307 VERIFY(smrt != NULL); in smrt_tran_setup_pkt() 448 smrt_t *smrt; in smrt_tran_start() local 458 VERIFY(smrt != NULL); in smrt_tran_start() 667 smrt_t *smrt; in smrt_tran_reset() local 705 cv_wait(&smrt->smrt_cv_finishq, &smrt->smrt_mutex); in smrt_tran_reset() 796 smrt_t *smrt; in smrt_tran_abort() local 805 VERIFY(smrt != NULL); in smrt_tran_abort() [all …]
|
H A D | smrt_logvol.c | 81 smlv->smlv_ctlr = smrt; in smrt_read_logvols() 149 smlv->smlv_ctlr = smrt; in smrt_read_logvols_ext() 191 mutex_enter(&smrt->smrt_mutex); in smrt_logvol_discover() 217 mutex_enter(&smrt->smrt_mutex); in smrt_logvol_discover() 305 mutex_exit(&smrt->smrt_mutex); in smrt_logvol_discover() 317 smrt_t *smrt = arg; in smrt_logvol_tgtmap_activate() local 326 mutex_enter(&smrt->smrt_mutex); in smrt_logvol_tgtmap_activate() 328 mutex_exit(&smrt->smrt_mutex); in smrt_logvol_tgtmap_activate() 336 smrt_t *smrt = arg; in smrt_logvol_tgtmap_deactivate() local 348 mutex_enter(&smrt->smrt_mutex); in smrt_logvol_tgtmap_deactivate() [all …]
|
H A D | smrt_physical.c | 152 mutex_enter(&smrt->smrt_mutex); in smrt_phys_identify() 159 mutex_exit(&smrt->smrt_mutex); in smrt_phys_identify() 179 mutex_exit(&smrt->smrt_mutex); in smrt_phys_identify() 182 mutex_exit(&smrt->smrt_mutex); in smrt_phys_identify() 247 mutex_exit(&smrt->smrt_mutex); in smrt_read_phys_ext() 338 smpt->smpt_ctlr = smrt; in smrt_read_phys_ext() 551 mutex_exit(&smrt->smrt_mutex); in smrt_phys_discover() 563 smrt_t *smrt = arg; in smrt_phys_tgtmap_activate() local 573 mutex_exit(&smrt->smrt_mutex); in smrt_phys_tgtmap_activate() 580 smrt_t *smrt = arg; in smrt_phys_tgtmap_deactivate() local [all …]
|
H A D | smrt_commands.c | 75 dev_info_t *dip = smrt->smrt_dip; in smrt_contig_alloc() 163 smcm->smcm_ctlr = smrt; in smrt_command_alloc_impl() 245 mutex_enter(&smrt->smrt_mutex); in smrt_command_alloc() 247 mutex_exit(&smrt->smrt_mutex); in smrt_command_alloc() 286 smrt_t *smrt = smcm->smcm_ctlr; in smrt_command_reuse() local 288 mutex_enter(&smrt->smrt_mutex); in smrt_command_reuse() 310 mutex_exit(&smrt->smrt_mutex); in smrt_command_reuse() 316 smrt_t *smrt = smcm->smcm_ctlr; in smrt_command_free() local 334 mutex_enter(&smrt->smrt_mutex); in smrt_command_free() 345 mutex_exit(&smrt->smrt_mutex); in smrt_command_free() [all …]
|
H A D | smrt_sata.c | 45 if ((smcm = smrt_command_alloc(smrt, SMRT_CMDTYPE_INTERNAL, in smrt_sata_determine_wwn() 46 KM_NOSLEEP)) == NULL || smrt_command_attach_internal(smrt, smcm, in smrt_sata_determine_wwn() 68 mutex_enter(&smrt->smrt_mutex); in smrt_sata_determine_wwn() 74 if ((r = smrt_submit(smrt, smcm)) != 0) { in smrt_sata_determine_wwn() 75 mutex_exit(&smrt->smrt_mutex); in smrt_sata_determine_wwn() 80 if ((r = smrt_poll_for(smrt, smcm)) != 0) { in smrt_sata_determine_wwn() 91 mutex_exit(&smrt->smrt_mutex); in smrt_sata_determine_wwn() 100 mutex_exit(&smrt->smrt_mutex); in smrt_sata_determine_wwn() 109 dev_err(smrt->smrt_dip, CE_WARN, "physical target " in smrt_sata_determine_wwn() 111 mutex_exit(&smrt->smrt_mutex); in smrt_sata_determine_wwn() [all …]
|
/illumos-gate/usr/src/pkg/manifests/ |
H A D | driver-storage-smrt.p5m | 17 set name=pkg.fmri value=pkg:/driver/storage/smrt@$(PKGVERS) 25 file path=kernel/drv/$(ARCH64)/smrt group=sys 26 file path=kernel/drv/smrt.conf group=sys 27 driver name=smrt class=scsi-self-identifying 29 # The smrt driver overlaps with cpqary3 and supports several of the same 31 # left all the devices supported by smrt commented out as they all
|
/illumos-gate/usr/src/uts/intel/smrt/ |
H A D | Makefile | 24 MODULE = smrt 27 CONF_SRCDIR = $(UTSBASE)/common/io/scsi/adapters/smrt
|
/illumos-gate/usr/src/uts/common/sys/scsi/adapters/smrt/ |
H A D | smrt.h | 228 typedef struct smrt smrt_t; 237 struct smrt { struct
|
/illumos-gate/usr/src/uts/intel/ |
H A D | Makefile.intel | 359 DRV_KMODS += smrt
|
/illumos-gate/usr/src/uts/common/ |
H A D | Makefile.rules | 1132 $(OBJS_DIR)/%.o: $(UTSBASE)/common/io/scsi/adapters/smrt/%.c
|
H A D | Makefile.files | 2194 SMRT_OBJS = smrt.o \
|