/illumos-gate/usr/src/uts/common/io/scsi/adapters/lmrc/ |
H A D | lmrc_ddi.c | 305 lmrc_t *lmrc; in lmrc_ctrl_attach() local 316 lmrc = ddi_get_soft_state(lmrc_state, instance); in lmrc_ctrl_attach() 317 lmrc->l_dip = dip; in lmrc_ctrl_attach() 319 lmrc->l_ctrl_info = kmem_zalloc(sizeof (mfi_ctrl_info_t), KM_SLEEP); in lmrc_ctrl_attach() 320 INITLEVEL_SET(lmrc, LMRC_INITLEVEL_BASIC); in lmrc_ctrl_attach() 322 lmrc->l_class = lmrc_get_class(lmrc); in lmrc_ctrl_attach() 324 if (lmrc->l_class == LMRC_ACLASS_OTHER) { in lmrc_ctrl_attach() 329 lmrc->l_acc_attr = lmrc_acc_attr; in lmrc_ctrl_attach() 330 lmrc->l_dma_attr = lmrc_dma_attr; in lmrc_ctrl_attach() 331 lmrc->l_dma_attr_32 = lmrc_dma_attr; in lmrc_ctrl_attach() [all …]
|
H A D | lmrc.c | 68 lmrc_read_reg_1(lmrc_t *lmrc, uint32_t reg) in lmrc_read_reg_1() argument 70 uint32_t *addr = (uint32_t *)((uintptr_t)lmrc->l_regmap + reg); in lmrc_read_reg_1() 71 return (ddi_get32(lmrc->l_reghandle, addr)); in lmrc_read_reg_1() 75 lmrc_read_reg(lmrc_t *lmrc, uint32_t reg) in lmrc_read_reg() argument 77 if (lmrc->l_class != LMRC_ACLASS_AERO) in lmrc_read_reg() 78 return (lmrc_read_reg_1(lmrc, reg)); in lmrc_read_reg() 82 uint32_t val = lmrc_read_reg_1(lmrc, reg); in lmrc_read_reg() 92 lmrc_write_reg(lmrc_t *lmrc, uint32_t reg, uint32_t val) in lmrc_write_reg() argument 94 uint32_t *addr = (uint32_t *)((uintptr_t)lmrc->l_regmap + reg); in lmrc_write_reg() 95 ddi_put32(lmrc->l_reghandle, addr, val); in lmrc_write_reg() [all …]
|
H A D | lmrc_phys.c | 61 lmrc_get_pdmap(lmrc_t *lmrc, mfi_pd_map_t **pdmap) in lmrc_get_pdmap() argument 69 mfi = lmrc_get_dcmd(lmrc, MFI_FRAME_DIR_READ, in lmrc_get_pdmap() 75 ret = lmrc_issue_blocked_mfi(lmrc, mfi); in lmrc_get_pdmap() 83 dev_err(lmrc->l_dip, CE_WARN, in lmrc_get_pdmap() 94 lmrc_put_dcmd(lmrc, mfi); in lmrc_get_pdmap() 108 lmrc_sync_pdmap(lmrc_t *lmrc, size_t pd_count) in lmrc_sync_pdmap() argument 115 mfi = lmrc_get_dcmd(lmrc, MFI_FRAME_DIR_WRITE, in lmrc_sync_pdmap() 125 lmrc_issue_mfi(lmrc, mfi, lmrc_complete_sync_pdmap); in lmrc_sync_pdmap() 138 lmrc_complete_sync_pdmap(lmrc_t *lmrc, lmrc_mfi_cmd_t *mfi) in lmrc_complete_sync_pdmap() argument 144 lmrc->l_pdmap->pm_count * sizeof (mfi_pd_cfg_t); in lmrc_complete_sync_pdmap() [all …]
|
H A D | lmrc_raid.c | 70 lmrc_get_raidmap(lmrc_t *lmrc, lmrc_fw_raid_map_t **raidmap) in lmrc_get_raidmap() argument 76 mfi = lmrc_get_dcmd(lmrc, MFI_FRAME_DIR_READ, MFI_DCMD_LD_MAP_GET_INFO, in lmrc_get_raidmap() 77 lmrc->l_max_map_sz, 4); in lmrc_get_raidmap() 82 ret = lmrc_issue_blocked_mfi(lmrc, mfi); in lmrc_get_raidmap() 91 if (rm->rm_raidmap_sz > lmrc->l_max_map_sz) { in lmrc_get_raidmap() 92 dev_err(lmrc->l_dip, CE_WARN, in lmrc_get_raidmap() 103 lmrc_put_dcmd(lmrc, mfi); in lmrc_get_raidmap() 121 lmrc_sync_raidmap(lmrc_t *lmrc) in lmrc_sync_raidmap() argument 127 rw_enter(&lmrc->l_raidmap_lock, RW_READER); in lmrc_sync_raidmap() 128 rm = lmrc->l_raidmap; in lmrc_sync_raidmap() [all …]
|
H A D | lmrc_scsa.c | 80 lmrc_t *lmrc = tgt->tgt_lmrc; in lmrc_getcap() local 83 VERIFY(lmrc != NULL); in lmrc_getcap() 93 if (lmrc->l_dma_attr.dma_attr_maxxfer > INT_MAX) in lmrc_getcap() 95 return (lmrc->l_dma_attr.dma_attr_maxxfer); in lmrc_getcap() 98 if (lmrc->l_dma_attr.dma_attr_granular > INT_MAX) in lmrc_getcap() 100 return (lmrc->l_dma_attr.dma_attr_granular); in lmrc_getcap() 135 lmrc_t *lmrc = tgt->tgt_lmrc; in lmrc_setcap() local 138 VERIFY(lmrc != NULL); in lmrc_setcap() 148 if (value <= lmrc->l_dma_attr.dma_attr_maxxfer) in lmrc_setcap() 192 lmrc_t *lmrc = hba_tran->tran_hba_private; in lmrc_tran_tgt_init() local [all …]
|
H A D | lmrc_ioctl.c | 73 lmrc_drv_ioctl_drv_version(lmrc_t *lmrc, void *ubuf, size_t len, int mode) in lmrc_drv_ioctl_drv_version() argument 98 lmrc_drv_ioctl_pci_info(lmrc_t *lmrc, void *ubuf, size_t len, int mode) in lmrc_drv_ioctl_pci_info() argument 107 ret = ddi_prop_lookup_int_array(DDI_DEV_T_ANY, lmrc->l_dip, 0, "reg", in lmrc_drv_ioctl_pci_info() 119 if (pci_config_setup(lmrc->l_dip, &pcih) != DDI_SUCCESS) in lmrc_drv_ioctl_pci_info() 125 if (lmrc_check_acc_handle(lmrc->l_reghandle) != DDI_SUCCESS) { in lmrc_drv_ioctl_pci_info() 127 lmrc_fm_ereport(lmrc, DDI_FM_DEVICE_NO_RESPONSE); in lmrc_drv_ioctl_pci_info() 128 ddi_fm_service_impact(lmrc->l_dip, DDI_SERVICE_LOST); in lmrc_drv_ioctl_pci_info() 148 lmrc_drv_ioctl(lmrc_t *lmrc, mfi_ioctl_t *ioc, int mode) in lmrc_drv_ioctl() argument 170 ret = lmrc_drv_ioctl_drv_version(lmrc, ubuf, xferlen, mode); in lmrc_drv_ioctl() 174 ret = lmrc_drv_ioctl_pci_info(lmrc, ubuf, xferlen, mode); in lmrc_drv_ioctl() [all …]
|
H A D | lmrc.h | 38 typedef struct lmrc lmrc_t; 169 struct lmrc { struct
|
/illumos-gate/usr/src/pkg/manifests/ |
H A D | driver-storage-lmrc.p5m | 22 set name=pkg.fmri value=pkg:/driver/storage/lmrc@$(PKGVERS) 31 file path=kernel/drv/$(ARCH64)/lmrc group=sys 32 file path=kernel/drv/lmrc.conf group=sys 35 file path=usr/share/man/man4d/lmrc.4d 36 driver name=lmrc class=scsi-self-identifying \
|
/illumos-gate/usr/src/uts/intel/lmrc/ |
H A D | Makefile | 24 MODULE = lmrc 27 CONF_SRCDIR = $(UTSBASE)/common/io/scsi/adapters/lmrc/
|
/illumos-gate/usr/src/man/man4d/ |
H A D | Makefile | 88 lmrc.4d \
|
/illumos-gate/usr/src/uts/intel/ |
H A D | Makefile.intel | 278 DRV_KMODS += lmrc
|
/illumos-gate/usr/src/uts/common/ |
H A D | Makefile.rules | 984 $(OBJS_DIR)/%.o: $(UTSBASE)/common/io/scsi/adapters/lmrc/%.c
|
H A D | Makefile.files | 2182 LMRC_OBJS += lmrc_ddi.o lmrc_ioctl.o lmrc_phys.o lmrc_raid.o lmrc_scsa.o lmrc.o
|