Symbol: lmrc
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
1001
dev_err(lmrc->l_dip, CE_WARN, "resetting...");
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
1003
if (lmrc_hard_reset(lmrc) != DDI_SUCCESS)
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
1009
status = lmrc_read_reg(lmrc, MPI26_SCRATCHPAD0_OFFSET);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
101
uint64_t *addr = (uint64_t *)((uintptr_t)lmrc->l_regmap + reg);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
1017
dev_err(lmrc->l_dip, CE_WARN,
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
102
ddi_put64(lmrc->l_reghandle, addr, val);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
1026
dev_err(lmrc->l_dip, CE_WARN, "reset failed");
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
1029
lmrc_write_reg(lmrc, MPI2_DOORBELL_OFFSET, MFI_STOP_ADP);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
1030
(void) lmrc_read_reg(lmrc, MPI2_DOORBELL_OFFSET);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
1046
lmrc_t *lmrc;
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
1056
lmrc = cmd->sc_mpt->mpt_lmrc;
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
1065
atomic_dec_uint(&lmrc->l_fw_outstanding_cmds);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
1077
lmrc_tgt_complete_cmds(lmrc_t *lmrc, lmrc_tgt_t *tgt)
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
1099
taskq_dispatch_ent(lmrc->l_taskq, lmrc_tgt_complete_cmd, cmd,
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
1112
lmrc_tgt_timeout_cmds(lmrc_t *lmrc, lmrc_tgt_t *tgt)
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
113
lmrc_disable_intr(lmrc_t *lmrc)
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
1147
if (lmrc_abort_mpt(lmrc, tgt, mpt) != 1) {
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
115
uint32_t mask = lmrc_read_reg(lmrc, MPI2_HOST_INTERRUPT_MASK_OFFSET);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
1169
lmrc_t *lmrc = arg;
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
1175
mutex_enter(&lmrc->l_thread_lock);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
1176
(void) cv_reltimedwait(&lmrc->l_thread_cv, &lmrc->l_thread_lock,
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
1178
mutex_exit(&lmrc->l_thread_lock);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
1180
if (lmrc->l_thread_stop)
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
1183
lmrc->l_fw_fault = lmrc_check_fw_fault(lmrc);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
1190
if (!lmrc->l_fw_fault) {
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
1191
for (i = 0; i < ARRAY_SIZE(lmrc->l_targets); i++) {
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
1192
if (lmrc_tgt_timeout_cmds(lmrc,
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
1193
&lmrc->l_targets[i]) != DDI_SUCCESS) {
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
1194
lmrc->l_fw_fault = B_TRUE;
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
1203
if (lmrc->l_fw_fault) {
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
1206
lmrc_disable_intr(lmrc);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
1213
ret = lmrc_reset_ctrl(lmrc);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
1215
(void) lmrc_abort_outstanding_mfi(lmrc,
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
1218
for (i = 0; i < ARRAY_SIZE(lmrc->l_targets); i++)
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
1219
lmrc_tgt_complete_cmds(lmrc,
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
122
lmrc_write_reg(lmrc, MPI2_HOST_INTERRUPT_MASK_OFFSET, mask);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
1220
&lmrc->l_targets[i]);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
1223
dev_err(lmrc->l_dip, CE_WARN, "reset failed");
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
1227
if (lmrc_transition_to_ready(lmrc) != DDI_SUCCESS)
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
1230
if (lmrc_ioc_init(lmrc) != DDI_SUCCESS)
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
1233
lmrc_enable_intr(lmrc);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
1235
if (lmrc_start_aen(lmrc) != DDI_SUCCESS) {
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
1236
dev_err(lmrc->l_dip, CE_WARN,
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
1241
lmrc->l_fw_fault = lmrc_check_fw_fault(lmrc);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
1243
} while (!lmrc->l_thread_stop);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
125
(void) lmrc_read_reg(lmrc, MPI2_HOST_INTERRUPT_MASK_OFFSET);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
1257
lmrc_transition_to_ready(lmrc_t *lmrc)
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
1264
status = lmrc_read_reg(lmrc, MPI26_SCRATCHPAD0_OFFSET);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
1271
dev_err(lmrc->l_dip, CE_NOTE, "FW is in fault state!");
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
1272
if (lmrc_reset_ctrl(lmrc) != DDI_SUCCESS)
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
1278
lmrc_write_reg(lmrc, MPI2_DOORBELL_OFFSET,
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
1283
lmrc_write_reg(lmrc, MPI2_DOORBELL_OFFSET,
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
1289
lmrc_disable_intr(lmrc);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
129
lmrc_enable_intr(lmrc_t *lmrc)
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
1290
lmrc_write_reg(lmrc, MPI2_DOORBELL_OFFSET,
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
1292
(void) lmrc_wait_for_reg(lmrc, MPI2_DOORBELL_OFFSET, 1,
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
1305
dev_err(lmrc->l_dip, CE_WARN, "Unknown FW state %x",
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
131
uint32_t mask = lmrc_read_reg(lmrc, MPI2_HOST_INTERRUPT_MASK_OFFSET);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
1315
new_status = lmrc_read_reg(lmrc,
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
1325
dev_err(lmrc->l_dip, CE_WARN,
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
1335
if (lmrc_check_acc_handle(lmrc->l_reghandle) != DDI_FM_OK)
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
1348
lmrc_adapter_init(lmrc_t *lmrc)
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
1354
ret = lmrc_transition_to_ready(lmrc);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
1361
reg = lmrc_read_reg(lmrc, MPI26_SCRATCHPAD2_OFFSET);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
1362
lmrc->l_max_raid_map_sz = LMRC_MAX_RAID_MAP_SZ(reg);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
1364
lmrc->l_max_reply_queues = 1;
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
1365
lmrc->l_rphi[0] = MPI2_REPLY_POST_HOST_INDEX_OFFSET;
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
1371
reg = lmrc_read_reg(lmrc, MPI26_SCRATCHPAD0_OFFSET);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
1374
lmrc->l_fw_msix_enabled = B_TRUE;
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
1376
reg = lmrc_read_reg(lmrc, MPI26_SCRATCHPAD1_OFFSET);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
1377
lmrc->l_max_reply_queues = LMRC_MAX_REPLY_QUEUES_EXT(reg);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
1379
if (lmrc->l_max_reply_queues > LMRC_MAX_REPLY_POST_HOST_INDEX) {
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
138
lmrc_write_reg(lmrc, MPI2_HOST_INTERRUPT_STATUS_OFFSET, 0);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
1380
lmrc->l_msix_combined = B_TRUE;
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
1381
lmrc->l_rphi[0] =
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
1389
lmrc->l_rphi[i] = i * 0x10 +
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
1398
reg = lmrc_read_reg(lmrc, MPI26_SCRATCHPAD0_OFFSET);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
1399
lmrc->l_max_fw_cmds = LMRC_FW_MAX_CMD(reg) - 1;
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
140
(void) lmrc_read_reg(lmrc, MPI2_HOST_INTERRUPT_STATUS_OFFSET);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
1401
if (lmrc->l_max_fw_cmds < LMRC_MAX_MFI_CMDS) {
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
1402
dev_err(lmrc->l_dip, CE_WARN, "!max_fw_cmds too low: %d",
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
1403
lmrc->l_max_fw_cmds);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
1410
lmrc->l_max_scsi_cmds = lmrc->l_max_fw_cmds - LMRC_MAX_MFI_CMDS;
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
142
lmrc_write_reg(lmrc, MPI2_HOST_INTERRUPT_MASK_OFFSET, mask);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
1423
lmrc->l_reply_q_depth = (lmrc->l_max_fw_cmds + 1 + 15) / 16 * 16 * 2;
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
1426
lmrc->l_reply_alloc_sz =
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
1427
sizeof (Mpi2ReplyDescriptorsUnion_t) * lmrc->l_reply_q_depth;
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
1430
lmrc->l_io_frames_alloc_sz = LMRC_MPI2_RAID_DEFAULT_IO_FRAME_SIZE *
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
1431
(lmrc->l_max_fw_cmds + 2);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
144
(void) lmrc_read_reg(lmrc, MPI2_HOST_INTERRUPT_MASK_OFFSET);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
1440
reg = lmrc_read_reg(lmrc, MPI26_SCRATCHPAD1_OFFSET);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
1441
lmrc->l_max_chain_frame_sz = LMRC_MAX_CHAIN_SIZE(reg) *
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
1448
lmrc->l_64bit_dma_support = LMRC_64BIT_DMA_SUPPORT(reg);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
1457
lmrc->l_max_sge_in_main_msg =
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
1464
lmrc->l_max_sge_in_chain =
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
1465
lmrc->l_max_chain_frame_sz / sizeof (Mpi25SGEIOUnion_t);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
1473
lmrc->l_max_num_sge =
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
1474
lmrc->l_max_sge_in_main_msg + lmrc->l_max_sge_in_chain - 2;
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
148
lmrc_intr_ack(lmrc_t *lmrc)
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
1480
lmrc->l_chain_offset_io_request =
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
1489
lmrc->l_chain_offset_mfi_pthru =
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
1493
reg = lmrc_read_reg(lmrc, MPI26_SCRATCHPAD3_OFFSET);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
1495
lmrc->l_nvme_page_sz = 1 << LMRC_NVME_PAGE_SHIFT(reg);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
1496
dev_err(lmrc->l_dip, CE_NOTE, "!NVME page size: %ld",
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
1497
lmrc->l_nvme_page_sz);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
1500
reg = lmrc_read_reg(lmrc, MPI26_SCRATCHPAD1_OFFSET);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
1501
lmrc->l_fw_sync_cache_support = LMRC_SYNC_CACHE_SUPPORT(reg);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
1503
if (lmrc->l_class == LMRC_ACLASS_AERO) {
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
1504
reg = lmrc_read_reg(lmrc, MPI26_SCRATCHPAD1_OFFSET);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
1505
lmrc->l_atomic_desc_support =
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
1525
lmrc_ioc_init(lmrc_t *lmrc)
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
1527
lmrc_mfi_cmd_t *mfi = lmrc_get_mfi(lmrc);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
1535
ret = lmrc_dma_alloc(lmrc, lmrc->l_dma_attr, &dma,
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
1539
dev_err(lmrc->l_dip, CE_WARN,
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
154
status = lmrc_read_reg(lmrc, MPI2_HOST_INTERRUPT_STATUS_OFFSET);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
1551
IOCInitMsg->ReplyDescriptorPostQueueDepth = lmrc->l_reply_q_depth;
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
1552
lmrc_dma_set_addr64(&lmrc->l_reply_dma,
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
1554
lmrc_dma_set_addr64(&lmrc->l_ioreq_dma,
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
1556
IOCInitMsg->HostMSIxVectors = lmrc->l_max_reply_queues;
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
1578
lmrc_disable_intr(lmrc);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
1579
if (!lmrc_wait_for_reg(lmrc, MPI2_DOORBELL_OFFSET, 1, 0, 10))
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
1586
lmrc_send_request(lmrc, req_desc);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
1589
ret = lmrc_poll_mfi(lmrc, mfi, LMRC_INTERNAL_CMD_WAIT_TIME);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
159
if (lmrc_check_acc_handle(lmrc->l_reghandle) != DDI_SUCCESS) {
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
1594
dev_err(lmrc->l_dip, CE_WARN,
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
160
ddi_fm_service_impact(lmrc->l_dip, DDI_SERVICE_LOST);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
1612
lmrc_get_ctrl_info(lmrc_t *lmrc)
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
1614
mfi_ctrl_info_t *ci = lmrc->l_ctrl_info;
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
1618
mfi = lmrc_get_dcmd(lmrc, MFI_FRAME_DIR_READ, MFI_DCMD_CTRL_GET_INFO,
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
1624
ret = lmrc_issue_blocked_mfi(lmrc, mfi);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
1634
lmrc_put_dcmd(lmrc, mfi);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
1648
lmrc_fw_init(lmrc_t *lmrc)
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
1651
mfi_ctrl_info_t *ci = lmrc->l_ctrl_info;
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
1654
ret = lmrc_get_ctrl_info(lmrc);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
1656
dev_err(lmrc->l_dip, CE_WARN, "!Unable to get FW ctrl info.");
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
1660
lmrc->l_disable_online_ctrl_reset =
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
1663
lmrc->l_max_256_vd_support =
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
1667
lmrc->l_max_256_vd_support = B_TRUE;
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
1671
lmrc->l_fw_supported_vd_count = min(ci->ci_max_lds, drv_max_lds);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
1673
lmrc->l_fw_supported_pd_count = min(ci->ci_max_pds,
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
1676
lmrc->l_max_map_sz = lmrc->l_current_map_sz =
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
1677
lmrc->l_max_raid_map_sz * LMRC_MIN_MAP_SIZE;
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
1679
lmrc->l_use_seqnum_jbod_fp =
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
1682
lmrc->l_pdmap_tgtid_support =
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
1696
lmrc_ctrl_shutdown(lmrc_t *lmrc)
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
1698
lmrc_mfi_cmd_t *mfi = list_remove_head(&lmrc->l_mfi_cmd_list);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
1712
lmrc_disable_intr(lmrc);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
1713
lmrc_issue_mfi(lmrc, mfi, NULL);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
1793
lmrc_tgt_find(lmrc_t *lmrc, struct scsi_device *sd)
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
1812
tgtid <= lmrc->l_fw_supported_vd_count) {
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
1813
tgt = &lmrc->l_targets[tgtid];
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
1830
for (i = 0; i < ARRAY_SIZE(lmrc->l_targets); i++) {
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
1831
tgt = &lmrc->l_targets[i];
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
1841
for (i = 0; i < ARRAY_SIZE(lmrc->l_targets); i++) {
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
1842
tgt = &lmrc->l_targets[i];
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
187
lmrc_send_atomic_request(lmrc_t *lmrc, lmrc_atomic_req_desc_t req_desc)
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
1879
lmrc_get_mpt(lmrc_t *lmrc)
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
1884
mutex_enter(&lmrc->l_mpt_cmd_lock);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
1885
mpt = list_remove_head(&lmrc->l_mpt_cmd_list);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
1886
mutex_exit(&lmrc->l_mpt_cmd_lock);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
189
if (lmrc->l_atomic_desc_support) {
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
190
lmrc_write_reg(lmrc,
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
1919
lmrc_t *lmrc = mpt->mpt_lmrc;
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
1921
VERIFY(lmrc != NULL);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
1927
mutex_enter(&lmrc->l_mpt_cmd_lock);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
1928
list_insert_tail(&lmrc->l_mpt_cmd_list, mpt);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
1929
mutex_exit(&lmrc->l_mpt_cmd_lock);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
1939
lmrc_get_mfi(lmrc_t *lmrc)
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
1943
mutex_enter(&lmrc->l_mfi_cmd_lock);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
1944
mfi = list_remove_head(&lmrc->l_mfi_cmd_list);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
1945
mutex_exit(&lmrc->l_mfi_cmd_lock);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
1968
lmrc_t *lmrc = mfi->mfi_lmrc;
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
1970
VERIFY(lmrc != NULL);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
1978
mutex_enter(&lmrc->l_mfi_cmd_lock);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
1979
list_insert_tail(&lmrc->l_mfi_cmd_list, mfi);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
1980
mutex_exit(&lmrc->l_mfi_cmd_lock);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
199
lmrc_send_request(lmrc, rd);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
1994
lmrc_abort_outstanding_mfi(lmrc_t *lmrc, const size_t ncmd)
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
2000
lmrc_mfi_cmd_t *mfi = lmrc->l_mfi_cmds[i];
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
2012
if (lmrc->l_fw_fault) {
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
2014
mfi->mfi_callback(lmrc, mfi);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
2019
ret = lmrc_abort_cmd(lmrc, mfi);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
2037
lmrc_get_dcmd(lmrc_t *lmrc, uint16_t flags, uint32_t opcode, uint32_t xferlen,
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
204
lmrc_send_request(lmrc_t *lmrc, lmrc_req_desc_t req_desc)
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
2040
lmrc_mfi_cmd_t *mfi = lmrc_get_mfi(lmrc);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
2053
ret = lmrc_dma_alloc(lmrc, lmrc->l_dma_attr, dma, xferlen,
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
206
lmrc_write_reg64(lmrc, MPI2_REQUEST_DESCRIPTOR_POST_LOW_OFFSET,
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
2077
lmrc_put_dcmd(lmrc_t *lmrc, lmrc_mfi_cmd_t *mfi)
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
2093
lmrc_get_event_log_info(lmrc_t *lmrc, mfi_evt_log_info_t *eli)
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
2098
mfi = lmrc_get_dcmd(lmrc, MFI_FRAME_DIR_READ,
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
2104
ret = lmrc_issue_blocked_mfi(lmrc, mfi);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
211
lmrc_build_atomic_request(lmrc_t *lmrc, lmrc_mpt_cmd_t *mpt, uint8_t flags)
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
2112
lmrc_put_dcmd(lmrc, mfi);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
2126
lmrc_t *lmrc = mfi->mfi_lmrc;
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
2136
ret = lmrc_get_pd_list(lmrc);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
2140
ret = lmrc_get_ld_list(lmrc);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
2144
ret = lmrc_get_ctrl_info(lmrc);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
2162
ret = lmrc_raid_aen_handler(lmrc, evt);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
2166
ret = lmrc_phys_aen_handler(lmrc, evt);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
2169
dev_err(lmrc->l_dip, CE_NOTE, "!unknown AEN received, "
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
2178
dev_err(lmrc->l_dip, CE_NOTE, "!%s", evt->evt_descr);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
2186
lmrc_issue_mfi(lmrc, mfi, lmrc_complete_aen);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
2196
lmrc_complete_aen(lmrc_t *lmrc, lmrc_mfi_cmd_t *mfi)
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
2207
dev_err(lmrc->l_dip, CE_WARN,
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
221
mpt->mpt_queue = CPU->cpu_id % lmrc->l_max_reply_queues;
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
2210
taskq_dispatch_ent(lmrc->l_taskq, (task_func_t *)lmrc_put_mfi,
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
2215
taskq_dispatch_ent(lmrc->l_taskq, lmrc_aen_handler, mfi, TQ_NOSLEEP,
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
2232
lmrc_register_aen(lmrc_t *lmrc, uint32_t seqnum)
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
2237
mfi = lmrc_get_dcmd(lmrc, MFI_FRAME_DIR_READ, MFI_DCMD_CTRL_EVENT_WAIT,
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
2249
lmrc_issue_mfi(lmrc, mfi, lmrc_complete_aen);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
2261
lmrc_start_aen(lmrc_t *lmrc)
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
2269
ret = lmrc_get_event_log_info(lmrc, &eli);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
2274
ret = lmrc_register_aen(lmrc, eli.eli_newest_seqnum + 1);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
256
lmrc_get_next_reply_desc(lmrc_t *lmrc, int queue)
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
260
desc = lmrc->l_reply_dma.ld_buf;
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
262
desc += (queue * lmrc->l_reply_alloc_sz) / sizeof (*desc);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
263
desc += lmrc->l_last_reply_idx[queue];
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
265
VERIFY3S(ddi_dma_sync(lmrc->l_reply_dma.ld_hdl,
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
266
(void *)desc - lmrc->l_reply_dma.ld_buf, sizeof (*desc),
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
280
lmrc->l_last_reply_idx[queue]++;
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
281
if (lmrc->l_last_reply_idx[queue] >= lmrc->l_reply_q_depth)
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
282
lmrc->l_last_reply_idx[queue] = 0;
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
293
lmrc_write_rphi(lmrc_t *lmrc, uint32_t queue)
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
296
uint32_t val = (queue << 24) | lmrc->l_last_reply_idx[queue];
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
298
if (lmrc->l_intr_type != DDI_INTR_TYPE_MSIX)
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
301
if (lmrc->l_msix_combined) {
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
306
lmrc_write_reg(lmrc, lmrc->l_rphi[reg], val);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
316
lmrc_process_mpt_pkt(lmrc_t *lmrc, struct scsi_pkt *pkt, uint8_t status,
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
356
dev_err(lmrc->l_dip, CE_WARN, "!command failed, status = %x, "
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
373
lmrc_poll_for_reply(lmrc_t *lmrc, lmrc_mpt_cmd_t *mpt)
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
387
desc = lmrc_get_next_reply_desc(lmrc, mpt->mpt_queue);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
403
lmrc_write_rphi(lmrc, mpt->mpt_queue);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
406
VERIFY3S(ddi_dma_sync(lmrc->l_ioreq_dma.ld_hdl,
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
407
(void *)io_req - lmrc->l_ioreq_dma.ld_buf,
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
414
lmrc_process_mpt_pkt(lmrc, mpt->mpt_pkt,
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
428
lmrc_process_replies(lmrc_t *lmrc, uint8_t queue)
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
433
for (desc = lmrc_get_next_reply_desc(lmrc, queue);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
435
desc = lmrc_get_next_reply_desc(lmrc, queue)) {
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
439
lmrc_mpt_cmd_t *mpt = lmrc->l_mpt_cmds[smid - 1];
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
445
VERIFY3U(reply->SMID, <=, lmrc->l_max_fw_cmds);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
452
VERIFY3S(ddi_dma_sync(lmrc->l_ioreq_dma.ld_hdl,
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
453
(void *)io_req - lmrc->l_ioreq_dma.ld_buf,
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
475
lmrc_process_mpt_pkt(lmrc, pkt,
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
485
lmrc_process_mptmfi_passthru(lmrc, mpt);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
490
dev_err(lmrc->l_dip, CE_PANIC,
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
499
atomic_dec_uint(&lmrc->l_fw_outstanding_cmds);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
510
lmrc_write_rphi(lmrc, queue);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
514
lmrc_write_rphi(lmrc, queue);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
536
lmrc_build_mptmfi_passthru(lmrc_t *lmrc, lmrc_mfi_cmd_t *mfi)
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
542
mpt = lmrc_get_mpt(lmrc);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
554
io_req->ChainOffset = lmrc->l_chain_offset_mfi_pthru;
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
557
lmrc_dma_build_sgl(lmrc, mpt, cookie, 1);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
559
VERIFY3S(ddi_dma_sync(lmrc->l_ioreq_dma.ld_hdl,
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
560
(void *)io_req - lmrc->l_ioreq_dma.ld_buf,
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
580
lmrc_process_mptmfi_passthru(lmrc_t *lmrc, lmrc_mpt_cmd_t *mpt)
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
602
mfi->mfi_callback(lmrc, mfi);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
608
dev_err(lmrc->l_dip, CE_PANIC,
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
623
lmrc_issue_mfi(lmrc_t *lmrc, lmrc_mfi_cmd_t *mfi, lmrc_mfi_cmd_cb_t *cb)
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
639
req_desc = lmrc_build_atomic_request(lmrc, mfi->mfi_mpt,
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
649
lmrc_send_atomic_request(lmrc, req_desc);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
661
lmrc_poll_mfi(lmrc_t *lmrc, lmrc_mfi_cmd_t *mfi, uint8_t max_wait)
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
679
} while (!lmrc->l_fw_fault && now <= timeout);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
68
lmrc_read_reg_1(lmrc_t *lmrc, uint32_t reg)
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
685
dev_err(lmrc->l_dip, CE_WARN,
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
692
cv_signal(&lmrc->l_thread_cv);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
70
uint32_t *addr = (uint32_t *)((uintptr_t)lmrc->l_regmap + reg);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
707
lmrc_wait_mfi(lmrc_t *lmrc, lmrc_mfi_cmd_t *mfi, uint8_t max_wait)
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
71
return (ddi_get32(lmrc->l_reghandle, addr));
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
722
} while (!lmrc->l_fw_fault &&
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
725
if (!lmrc->l_fw_fault && ret != -1)
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
729
dev_err(lmrc->l_dip, CE_WARN, "!%s: blocked command timeout "
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
737
cv_signal(&lmrc->l_thread_cv);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
75
lmrc_read_reg(lmrc_t *lmrc, uint32_t reg)
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
750
lmrc_wakeup_mfi(lmrc_t *lmrc, lmrc_mfi_cmd_t *cmd)
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
762
lmrc_issue_blocked_mfi(lmrc_t *lmrc, lmrc_mfi_cmd_t *mfi)
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
768
lmrc_issue_mfi(lmrc, mfi, lmrc_wakeup_mfi);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
769
ret = lmrc_wait_mfi(lmrc, mfi, LMRC_INTERNAL_CMD_WAIT_TIME);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
77
if (lmrc->l_class != LMRC_ACLASS_AERO)
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
775
dev_err(lmrc->l_dip, CE_WARN,
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
78
return (lmrc_read_reg_1(lmrc, reg));
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
791
lmrc_abort_cb(lmrc_t *lmrc, lmrc_mfi_cmd_t *mfi)
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
811
lmrc_abort_cmd(lmrc_t *lmrc, lmrc_mfi_cmd_t *mfi_to_abort)
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
813
lmrc_mfi_cmd_t *mfi = lmrc_get_mfi(lmrc);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
82
uint32_t val = lmrc_read_reg_1(lmrc, reg);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
831
lmrc_issue_mfi(lmrc, mfi, lmrc_wakeup_mfi);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
838
ret = lmrc_wait_mfi(lmrc, mfi, LMRC_INTERNAL_CMD_WAIT_TIME);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
856
ret = lmrc_poll_mfi(lmrc, mfi_to_abort, LMRC_INTERNAL_CMD_WAIT_TIME);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
864
mfi_to_abort->mfi_callback(lmrc, mfi_to_abort);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
884
lmrc_check_fw_fault(lmrc_t *lmrc)
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
886
uint32_t status = lmrc_read_reg(lmrc, MPI26_SCRATCHPAD0_OFFSET);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
901
lmrc_wait_for_reg(lmrc_t *lmrc, uint32_t reg, uint32_t bits, uint32_t exp,
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
911
val = lmrc_read_reg(lmrc, reg);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
92
lmrc_write_reg(lmrc_t *lmrc, uint32_t reg, uint32_t val)
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
921
lmrc_hard_reset(lmrc_t *lmrc)
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
926
lmrc_write_reg(lmrc, MPI2_WRITE_SEQUENCE_OFFSET,
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
928
lmrc_write_reg(lmrc, MPI2_WRITE_SEQUENCE_OFFSET,
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
930
lmrc_write_reg(lmrc, MPI2_WRITE_SEQUENCE_OFFSET,
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
932
lmrc_write_reg(lmrc, MPI2_WRITE_SEQUENCE_OFFSET,
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
934
lmrc_write_reg(lmrc, MPI2_WRITE_SEQUENCE_OFFSET,
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
936
lmrc_write_reg(lmrc, MPI2_WRITE_SEQUENCE_OFFSET,
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
938
lmrc_write_reg(lmrc, MPI2_WRITE_SEQUENCE_OFFSET,
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
94
uint32_t *addr = (uint32_t *)((uintptr_t)lmrc->l_regmap + reg);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
942
if (!lmrc_wait_for_reg(lmrc, MPI2_HOST_DIAGNOSTIC_OFFSET,
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
945
dev_err(lmrc->l_dip, CE_WARN, "diag unlock failed");
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
95
ddi_put32(lmrc->l_reghandle, addr, val);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
950
lmrc_write_reg(lmrc, MPI2_HOST_DIAGNOSTIC_OFFSET,
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
951
lmrc_read_reg(lmrc, MPI2_HOST_DIAGNOSTIC_OFFSET) |
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
956
if ((lmrc_read_reg(lmrc, MPI2_HOST_DIAGNOSTIC_OFFSET) &
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
963
if ((lmrc_read_reg(lmrc, MPI2_HOST_DIAGNOSTIC_OFFSET) &
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
969
lmrc_write_reg(lmrc, MPI2_WRITE_SEQUENCE_OFFSET,
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
982
lmrc_reset_ctrl(lmrc_t *lmrc)
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
987
if (lmrc->l_disable_online_ctrl_reset)
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
99
lmrc_write_reg64(lmrc_t *lmrc, uint32_t reg, uint64_t val)
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
990
status = lmrc_read_reg(lmrc, MPI26_SCRATCHPAD0_OFFSET);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.c
995
dev_err(lmrc->l_dip, CE_WARN,
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc.h
38
typedef struct lmrc lmrc_t;
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
1002
DDI_INTR_PRI(lmrc->l_intr_pri));
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
1005
list_insert_tail(&lmrc->l_mpt_cmd_list, cmd);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
1015
lmrc_free_mpt_cmds(lmrc, ncmd);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
1021
lmrc_free_mpt_cmds(lmrc_t *lmrc, const size_t ncmd)
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
1026
for (cmd = list_remove_head(&lmrc->l_mpt_cmd_list);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
1028
cmd = list_remove_head(&lmrc->l_mpt_cmd_list)) {
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
1036
VERIFY(list_is_empty(&lmrc->l_mpt_cmd_list));
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
1038
kmem_free(lmrc->l_mpt_cmds, ncmd * sizeof (lmrc_mpt_cmd_t *));
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
1040
lmrc_dma_free(&lmrc->l_ioreq_dma);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
1044
lmrc_alloc_mfi_cmds(lmrc_t *lmrc, const size_t ncmd)
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
1051
lmrc->l_mfi_cmds = cmds =
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
1055
ret = lmrc_dma_alloc(lmrc, lmrc->l_dma_attr,
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
1061
mfi->mfi_lmrc = lmrc;
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
1065
if (lmrc_build_mptmfi_passthru(lmrc, mfi) != DDI_SUCCESS) {
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
1071
DDI_INTR_PRI(lmrc->l_intr_pri));
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
1074
list_insert_tail(&lmrc->l_mfi_cmd_list, mfi);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
1081
lmrc_free_mfi_cmds(lmrc, ncmd);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
1087
lmrc_free_mfi_cmds(lmrc_t *lmrc, const size_t ncmd)
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
1092
for (mfi = list_remove_head(&lmrc->l_mfi_cmd_list);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
1094
mfi = list_remove_head(&lmrc->l_mfi_cmd_list)) {
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
1095
ASSERT(lmrc->l_mfi_cmds[mfi->mfi_idx] == mfi);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
1096
lmrc->l_mfi_cmds[mfi->mfi_idx] = NULL;
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
1111
VERIFY(list_is_empty(&lmrc->l_mfi_cmd_list));
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
1113
kmem_free(lmrc->l_mfi_cmds, ncmd * sizeof (lmrc_mfi_cmd_t *));
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
1118
lmrc_dma_build_sgl(lmrc_t *lmrc, lmrc_mpt_cmd_t *mpt,
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
1129
max_sge = lmrc->l_max_sge_in_main_msg;
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
1156
io_req->ChainOffset = lmrc->l_chain_offset_io_request;
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
1167
max_sge = lmrc->l_max_sge_in_chain;
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
1203
lmrc_dma_alloc(lmrc_t *lmrc, ddi_dma_attr_t attr, lmrc_dma_t *dmap, size_t len,
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
1218
ret = ddi_dma_alloc_handle(lmrc->l_dip, &attr, DDI_DMA_SLEEP, NULL,
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
1226
dev_err(lmrc->l_dip, CE_PANIC,
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
1231
ret = ddi_dma_mem_alloc(dmap->ld_hdl, len, &lmrc->l_acc_attr,
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
1240
dev_err(lmrc->l_dip, CE_PANIC,
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
1272
lmrc_get_class(lmrc_t *lmrc)
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
1274
int device_id = ddi_prop_get_int(DDI_DEV_T_ANY, lmrc->l_dip,
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
1288
dev_err(lmrc->l_dip, CE_CONT,
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
1299
dev_err(lmrc->l_dip, CE_CONT,
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
1349
lmrc_t *lmrc = ddi_get_soft_state(lmrc_state, ddi_get_instance(dip));
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
1351
if (lmrc == NULL)
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
1354
return (lmrc_ctrl_shutdown(lmrc));
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
305
lmrc_t *lmrc;
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
316
lmrc = ddi_get_soft_state(lmrc_state, instance);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
317
lmrc->l_dip = dip;
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
319
lmrc->l_ctrl_info = kmem_zalloc(sizeof (mfi_ctrl_info_t), KM_SLEEP);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
320
INITLEVEL_SET(lmrc, LMRC_INITLEVEL_BASIC);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
322
lmrc->l_class = lmrc_get_class(lmrc);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
324
if (lmrc->l_class == LMRC_ACLASS_OTHER) {
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
329
lmrc->l_acc_attr = lmrc_acc_attr;
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
330
lmrc->l_dma_attr = lmrc_dma_attr;
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
331
lmrc->l_dma_attr_32 = lmrc_dma_attr;
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
333
lmrc_fm_init(lmrc);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
334
INITLEVEL_SET(lmrc, LMRC_INITLEVEL_FM);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
336
if (lmrc_regs_init(lmrc) != DDI_SUCCESS)
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
338
INITLEVEL_SET(lmrc, LMRC_INITLEVEL_REGS);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
340
if (lmrc_adapter_init(lmrc) != DDI_SUCCESS)
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
343
lmrc->l_dma_attr_32.dma_attr_addr_hi = 0xFFFFFFFF;
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
346
if (!lmrc->l_64bit_dma_support)
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
347
lmrc->l_dma_attr.dma_attr_addr_hi = 0xFFFFFFFF;
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
349
if (lmrc_intr_init(lmrc) != DDI_SUCCESS)
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
351
INITLEVEL_SET(lmrc, LMRC_INITLEVEL_INTR);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
353
mutex_init(&lmrc->l_mpt_cmd_lock, NULL, MUTEX_DRIVER,
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
354
DDI_INTR_PRI(lmrc->l_intr_pri));
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
355
list_create(&lmrc->l_mpt_cmd_list, sizeof (lmrc_mpt_cmd_t),
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
358
mutex_init(&lmrc->l_mfi_cmd_lock, NULL, MUTEX_DRIVER,
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
359
DDI_INTR_PRI(lmrc->l_intr_pri));
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
360
list_create(&lmrc->l_mfi_cmd_list, sizeof (lmrc_mfi_cmd_t),
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
363
mutex_init(&lmrc->l_reg_lock, NULL, MUTEX_DRIVER,
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
364
DDI_INTR_PRI(lmrc->l_intr_pri));
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
366
rw_init(&lmrc->l_raidmap_lock, NULL, RW_DRIVER,
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
367
DDI_INTR_PRI(lmrc->l_intr_pri));
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
368
rw_init(&lmrc->l_pdmap_lock, NULL, RW_DRIVER,
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
369
DDI_INTR_PRI(lmrc->l_intr_pri));
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
371
sema_init(&lmrc->l_ioctl_sema, LMRC_MAX_IOCTL_CMDS, NULL, SEMA_DRIVER,
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
374
mutex_init(&lmrc->l_thread_lock, NULL, MUTEX_DRIVER,
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
375
DDI_INTR_PRI(lmrc->l_intr_pri));
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
376
cv_init(&lmrc->l_thread_cv, NULL, CV_DRIVER, NULL);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
379
for (i = 0; i < ARRAY_SIZE(lmrc->l_targets); i++) {
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
380
lmrc_tgt_t *tgt = &lmrc->l_targets[i];
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
383
DDI_INTR_PRI(lmrc->l_intr_pri));
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
385
DDI_INTR_PRI(lmrc->l_intr_pri));
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
388
tgt->tgt_lmrc = lmrc;
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
392
INITLEVEL_SET(lmrc, LMRC_INITLEVEL_SYNC);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
394
if (lmrc_alloc_mpt_cmds(lmrc, lmrc->l_max_fw_cmds) != DDI_SUCCESS)
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
396
INITLEVEL_SET(lmrc, LMRC_INITLEVEL_MPTCMDS);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
398
if (lmrc_alloc_mfi_cmds(lmrc, LMRC_MAX_MFI_CMDS) != DDI_SUCCESS)
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
400
INITLEVEL_SET(lmrc, LMRC_INITLEVEL_MFICMDS);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
402
lmrc->l_thread = thread_create(NULL, 0, lmrc_thread, lmrc, 0, &p0,
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
404
INITLEVEL_SET(lmrc, LMRC_INITLEVEL_THREAD);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
406
if (lmrc_ioc_init(lmrc) != DDI_SUCCESS)
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
409
lmrc_enable_intr(lmrc);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
411
if (lmrc_fw_init(lmrc) != DDI_SUCCESS)
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
413
INITLEVEL_SET(lmrc, LMRC_INITLEVEL_FW);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
415
if (lmrc_hba_attach(lmrc) != DDI_SUCCESS)
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
417
INITLEVEL_SET(lmrc, LMRC_INITLEVEL_HBA);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
419
(void) snprintf(lmrc->l_iocname, sizeof (lmrc->l_iocname),
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
421
if (ddi_create_minor_node(dip, lmrc->l_iocname, S_IFCHR,
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
426
INITLEVEL_SET(lmrc, LMRC_INITLEVEL_NODE);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
431
lmrc->l_taskq = taskq_create(name, lmrc->l_max_reply_queues,
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
433
if (lmrc->l_taskq == NULL) {
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
437
INITLEVEL_SET(lmrc, LMRC_INITLEVEL_TASKQ);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
439
if (lmrc_start_aen(lmrc) != DDI_SUCCESS) {
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
443
INITLEVEL_SET(lmrc, LMRC_INITLEVEL_AEN);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
447
if (lmrc_check_acc_handle(lmrc->l_reghandle) != DDI_SUCCESS) {
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
448
lmrc_fm_ereport(lmrc, DDI_FM_DEVICE_NO_RESPONSE);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
449
ddi_fm_service_impact(lmrc->l_dip, DDI_SERVICE_LOST);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
455
ret = lmrc_cleanup(lmrc, B_TRUE);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
464
lmrc_t *lmrc = ddi_get_soft_state(lmrc_state, ddi_get_instance(dip));
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
465
VERIFY(lmrc != NULL);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
467
return (lmrc_cleanup(lmrc, B_FALSE));
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
471
lmrc_cleanup(lmrc_t *lmrc, boolean_t failed)
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
475
if (lmrc->l_raid_dip != NULL || lmrc->l_phys_dip != NULL)
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
483
if (INITLEVEL_ACTIVE(lmrc, LMRC_INITLEVEL_FW)) {
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
484
ret = lmrc_abort_outstanding_mfi(lmrc, LMRC_MAX_MFI_CMDS);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
485
lmrc_disable_intr(lmrc);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
490
if (INITLEVEL_ACTIVE(lmrc, LMRC_INITLEVEL_AEN)) {
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
492
INITLEVEL_CLEAR(lmrc, LMRC_INITLEVEL_AEN);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
495
if (INITLEVEL_ACTIVE(lmrc, LMRC_INITLEVEL_TASKQ)) {
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
496
taskq_destroy(lmrc->l_taskq);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
497
INITLEVEL_CLEAR(lmrc, LMRC_INITLEVEL_TASKQ);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
500
if (INITLEVEL_ACTIVE(lmrc, LMRC_INITLEVEL_NODE)) {
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
501
ddi_remove_minor_node(lmrc->l_dip, lmrc->l_iocname);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
502
INITLEVEL_CLEAR(lmrc, LMRC_INITLEVEL_NODE);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
505
if (INITLEVEL_ACTIVE(lmrc, LMRC_INITLEVEL_HBA)) {
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
506
(void) lmrc_hba_detach(lmrc);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
507
INITLEVEL_CLEAR(lmrc, LMRC_INITLEVEL_HBA);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
511
if (INITLEVEL_ACTIVE(lmrc, LMRC_INITLEVEL_FW)) {
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
512
lmrc_free_pdmap(lmrc);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
513
lmrc_free_raidmap(lmrc);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
514
INITLEVEL_CLEAR(lmrc, LMRC_INITLEVEL_FW);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
517
if (INITLEVEL_ACTIVE(lmrc, LMRC_INITLEVEL_THREAD)) {
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
518
mutex_enter(&lmrc->l_thread_lock);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
519
lmrc->l_thread_stop = B_TRUE;
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
520
cv_signal(&lmrc->l_thread_cv);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
521
mutex_exit(&lmrc->l_thread_lock);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
522
thread_join(lmrc->l_thread->t_did);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
523
INITLEVEL_CLEAR(lmrc, LMRC_INITLEVEL_THREAD);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
526
if (INITLEVEL_ACTIVE(lmrc, LMRC_INITLEVEL_MFICMDS)) {
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
527
lmrc_free_mfi_cmds(lmrc, LMRC_MAX_MFI_CMDS);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
528
INITLEVEL_CLEAR(lmrc, LMRC_INITLEVEL_MFICMDS);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
531
if (INITLEVEL_ACTIVE(lmrc, LMRC_INITLEVEL_MPTCMDS)) {
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
532
lmrc_free_mpt_cmds(lmrc, lmrc->l_max_fw_cmds);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
533
INITLEVEL_CLEAR(lmrc, LMRC_INITLEVEL_MPTCMDS);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
536
if (INITLEVEL_ACTIVE(lmrc, LMRC_INITLEVEL_SYNC)) {
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
537
for (i = 0; i < ARRAY_SIZE(lmrc->l_targets); i++) {
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
538
lmrc_tgt_t *tgt = &lmrc->l_targets[i];
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
545
mutex_destroy(&lmrc->l_thread_lock);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
546
cv_destroy(&lmrc->l_thread_cv);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
548
sema_destroy(&lmrc->l_ioctl_sema);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
550
mutex_destroy(&lmrc->l_mfi_cmd_lock);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
551
list_destroy(&lmrc->l_mfi_cmd_list);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
553
mutex_destroy(&lmrc->l_mpt_cmd_lock);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
554
list_destroy(&lmrc->l_mpt_cmd_list);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
556
rw_destroy(&lmrc->l_pdmap_lock);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
557
rw_destroy(&lmrc->l_raidmap_lock);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
558
mutex_destroy(&lmrc->l_reg_lock);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
559
INITLEVEL_CLEAR(lmrc, LMRC_INITLEVEL_SYNC);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
562
if (INITLEVEL_ACTIVE(lmrc, LMRC_INITLEVEL_INTR)) {
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
563
lmrc_intr_fini(lmrc);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
564
INITLEVEL_CLEAR(lmrc, LMRC_INITLEVEL_INTR);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
567
if (INITLEVEL_ACTIVE(lmrc, LMRC_INITLEVEL_REGS)) {
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
568
ddi_regs_map_free(&lmrc->l_reghandle);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
569
lmrc->l_regmap = NULL;
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
570
INITLEVEL_CLEAR(lmrc, LMRC_INITLEVEL_REGS);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
573
if (INITLEVEL_ACTIVE(lmrc, LMRC_INITLEVEL_FM)) {
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
574
lmrc_fm_fini(lmrc);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
575
INITLEVEL_CLEAR(lmrc, LMRC_INITLEVEL_FM);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
578
if (INITLEVEL_ACTIVE(lmrc, LMRC_INITLEVEL_BASIC)) {
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
579
kmem_free(lmrc->l_ctrl_info, sizeof (mfi_ctrl_info_t));
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
580
INITLEVEL_CLEAR(lmrc, LMRC_INITLEVEL_BASIC);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
583
VERIFY0(lmrc->l_init_level);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
584
ddi_soft_state_free(lmrc_state, ddi_get_instance(lmrc->l_dip));
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
590
lmrc_regs_init(lmrc_t *lmrc)
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
595
switch (lmrc->l_class) {
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
605
if (ddi_dev_regsize(lmrc->l_dip, regno, &regsize) != DDI_SUCCESS)
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
609
dev_err(lmrc->l_dip, CE_WARN, "reg %d size (%ld) is too small",
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
614
if (ddi_regs_map_setup(lmrc->l_dip, regno, &lmrc->l_regmap, 0, 0,
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
615
&lmrc->l_acc_attr, &lmrc->l_reghandle)
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
617
dev_err(lmrc->l_dip, CE_WARN,
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
628
lmrc_t *lmrc = (lmrc_t *)arg1;
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
632
if (lmrc->l_intr_type == DDI_INTR_TYPE_FIXED) {
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
633
ret = lmrc_intr_ack(lmrc);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
638
ret = lmrc_process_replies(lmrc, queue);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
643
lmrc_add_intrs(lmrc_t *lmrc, int intr_type)
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
649
if (lmrc->l_intr_types == 0) {
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
650
ret = ddi_intr_get_supported_types(lmrc->l_dip,
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
651
&lmrc->l_intr_types);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
653
dev_err(lmrc->l_dip, CE_WARN,
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
660
if ((lmrc->l_intr_types & intr_type) == 0)
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
664
if (intr_type == DDI_INTR_TYPE_MSIX && !lmrc->l_fw_msix_enabled)
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
667
ret = ddi_intr_get_nintrs(lmrc->l_dip, intr_type, &nintrs);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
669
dev_err(lmrc->l_dip, CE_WARN,
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
674
ret = ddi_intr_get_navail(lmrc->l_dip, intr_type, &navail);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
676
dev_err(lmrc->l_dip, CE_WARN,
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
685
if (navail > lmrc->l_max_reply_queues)
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
686
navail = lmrc->l_max_reply_queues;
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
688
lmrc->l_intr_htable_size = navail * sizeof (ddi_intr_handle_t);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
689
lmrc->l_intr_htable = kmem_zalloc(lmrc->l_intr_htable_size, KM_SLEEP);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
691
ret = ddi_intr_alloc(lmrc->l_dip, lmrc->l_intr_htable, intr_type, 0,
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
694
dev_err(lmrc->l_dip, CE_WARN, "!%s: ddi_intr_alloc failed",
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
700
dev_err(lmrc->l_dip, CE_CONT,
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
704
lmrc->l_intr_count = count;
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
706
ret = ddi_intr_get_pri(lmrc->l_intr_htable[0], &lmrc->l_intr_pri);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
708
dev_err(lmrc->l_dip, CE_WARN, "!%s: ddi_intr_get_pri failed",
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
713
if (lmrc->l_intr_pri >= ddi_intr_get_hilevel_pri()) {
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
714
dev_err(lmrc->l_dip, CE_WARN,
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
719
for (i = 0; i < lmrc->l_intr_count; i++) {
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
720
ret = ddi_intr_add_handler(lmrc->l_intr_htable[i], lmrc_isr,
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
721
(caddr_t)lmrc, (caddr_t)(uintptr_t)i);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
723
dev_err(lmrc->l_dip, CE_WARN,
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
729
ret = ddi_intr_get_cap(lmrc->l_intr_htable[0], &lmrc->l_intr_cap);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
731
dev_err(lmrc->l_dip, CE_WARN,
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
736
if ((lmrc->l_intr_cap & DDI_INTR_FLAG_BLOCK) != 0) {
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
737
ret = ddi_intr_block_enable(lmrc->l_intr_htable, count);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
739
dev_err(lmrc->l_dip, CE_WARN,
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
744
for (i = 0; i < lmrc->l_intr_count; i++) {
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
745
ret = ddi_intr_enable(lmrc->l_intr_htable[i]);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
747
dev_err(lmrc->l_dip, CE_WARN,
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
754
lmrc->l_intr_type = intr_type;
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
758
lmrc_intr_fini(lmrc);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
763
lmrc_intr_init(lmrc_t *lmrc)
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
767
lmrc_disable_intr(lmrc);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
769
if ((lmrc_add_intrs(lmrc, DDI_INTR_TYPE_MSIX) != DDI_SUCCESS) &&
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
770
(lmrc_add_intrs(lmrc, DDI_INTR_TYPE_MSI) != DDI_SUCCESS) &&
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
771
(lmrc_add_intrs(lmrc, DDI_INTR_TYPE_FIXED) != DDI_SUCCESS)) {
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
772
dev_err(lmrc->l_dip, CE_WARN, "failed to set up interrupts");
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
776
dev_err(lmrc->l_dip, CE_NOTE, "!got %d %s interrupts",
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
777
lmrc->l_intr_count,
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
778
lmrc->l_intr_type == DDI_INTR_TYPE_MSIX ? "MSI-X" :
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
779
lmrc->l_intr_type == DDI_INTR_TYPE_MSI ? "MSI" : "FIXED");
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
782
if (lmrc->l_max_reply_queues > lmrc->l_intr_count)
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
783
lmrc->l_max_reply_queues = lmrc->l_intr_count;
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
785
lmrc->l_last_reply_idx =
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
786
kmem_zalloc(sizeof (uint16_t) * lmrc->l_max_reply_queues, KM_SLEEP);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
793
ret = lmrc_dma_alloc(lmrc, lmrc->l_dma_attr, &lmrc->l_reply_dma,
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
794
lmrc->l_reply_alloc_sz * lmrc->l_max_reply_queues, 16,
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
797
lmrc_intr_fini(lmrc);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
800
memset(lmrc->l_reply_dma.ld_buf, -1, lmrc->l_reply_dma.ld_len);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
806
lmrc_intr_fini(lmrc_t *lmrc)
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
810
if (lmrc->l_intr_htable == NULL || lmrc->l_intr_htable[0] == NULL)
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
813
if ((lmrc->l_intr_cap & DDI_INTR_FLAG_BLOCK) != 0) {
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
814
(void) ddi_intr_block_disable(lmrc->l_intr_htable,
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
815
lmrc->l_intr_count);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
818
for (i = 0; i < lmrc->l_intr_count; i++) {
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
819
if (lmrc->l_intr_htable[i] == NULL)
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
822
if ((lmrc->l_intr_cap & DDI_INTR_FLAG_BLOCK) == 0)
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
823
(void) ddi_intr_disable(lmrc->l_intr_htable[i]);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
824
(void) ddi_intr_remove_handler(lmrc->l_intr_htable[i]);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
825
(void) ddi_intr_free(lmrc->l_intr_htable[i]);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
828
if (lmrc->l_intr_htable != NULL)
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
829
kmem_free(lmrc->l_intr_htable, lmrc->l_intr_htable_size);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
831
lmrc->l_intr_htable = NULL;
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
832
lmrc->l_intr_htable_size = 0;
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
834
if (lmrc->l_last_reply_idx != NULL)
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
835
kmem_free(lmrc->l_last_reply_idx,
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
836
sizeof (uint16_t) * lmrc->l_max_reply_queues);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
838
lmrc_dma_free(&lmrc->l_reply_dma);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
850
lmrc_fm_init(lmrc_t *lmrc)
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
854
lmrc->l_fm_capabilities = ddi_prop_get_int(DDI_DEV_T_ANY,
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
855
lmrc->l_dip, DDI_PROP_DONTPASS, "fm-capable",
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
859
if (lmrc->l_fm_capabilities == 0)
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
862
lmrc->l_dma_attr.dma_attr_flags = DDI_DMA_FLAGERR;
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
863
lmrc->l_dma_attr_32.dma_attr_flags = DDI_DMA_FLAGERR;
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
864
lmrc->l_acc_attr.devacc_attr_access = DDI_FLAGERR_ACC;
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
866
ddi_fm_init(lmrc->l_dip, &lmrc->l_fm_capabilities, &fm_ibc);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
868
if (DDI_FM_EREPORT_CAP(lmrc->l_fm_capabilities) ||
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
869
DDI_FM_ERRCB_CAP(lmrc->l_fm_capabilities)) {
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
870
pci_ereport_setup(lmrc->l_dip);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
873
if (DDI_FM_ERRCB_CAP(lmrc->l_fm_capabilities)) {
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
874
ddi_fm_handler_register(lmrc->l_dip, lmrc_fm_error_cb,
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
875
lmrc);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
880
lmrc_fm_fini(lmrc_t *lmrc)
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
882
if (lmrc->l_fm_capabilities == 0)
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
885
if (DDI_FM_ERRCB_CAP(lmrc->l_fm_capabilities))
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
886
ddi_fm_handler_unregister(lmrc->l_dip);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
888
if (DDI_FM_EREPORT_CAP(lmrc->l_fm_capabilities) ||
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
889
DDI_FM_ERRCB_CAP(lmrc->l_fm_capabilities)) {
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
890
pci_ereport_teardown(lmrc->l_dip);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
893
ddi_fm_fini(lmrc->l_dip);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
897
lmrc_fm_ereport(lmrc_t *lmrc, const char *detail)
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
904
if (DDI_FM_EREPORT_CAP(lmrc->l_fm_capabilities)) {
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/lmrc/lmrc_ddi.c
935
lmrc_alloc_mpt_cmds(lmrc_t *lmrc, const size_t ncmd)
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
946
ret = lmrc_dma_alloc(lmrc, lmrc->l_dma_attr, &lmrc->l_ioreq_dma,
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
947
lmrc->l_io_frames_alloc_sz, 256, DDI_DMA_CONSISTENT);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
951
lmrc->l_mpt_cmds = cmds =
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
957
ret = lmrc_dma_alloc(lmrc, lmrc->l_dma_attr,
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
958
&cmd->mpt_chain_dma, lmrc->l_max_chain_frame_sz, 4,
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
970
ret = lmrc_dma_alloc(lmrc, lmrc->l_dma_attr_32,
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
997
lmrc->l_ioreq_dma.ld_buf;
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ddi.c
999
cmd->mpt_lmrc = lmrc;
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ioctl.c
107
ret = ddi_prop_lookup_int_array(DDI_DEV_T_ANY, lmrc->l_dip, 0, "reg",
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ioctl.c
119
if (pci_config_setup(lmrc->l_dip, &pcih) != DDI_SUCCESS)
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ioctl.c
125
if (lmrc_check_acc_handle(lmrc->l_reghandle) != DDI_SUCCESS) {
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ioctl.c
127
lmrc_fm_ereport(lmrc, DDI_FM_DEVICE_NO_RESPONSE);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ioctl.c
128
ddi_fm_service_impact(lmrc->l_dip, DDI_SERVICE_LOST);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ioctl.c
148
lmrc_drv_ioctl(lmrc_t *lmrc, mfi_ioctl_t *ioc, int mode)
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ioctl.c
170
ret = lmrc_drv_ioctl_drv_version(lmrc, ubuf, xferlen, mode);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ioctl.c
174
ret = lmrc_drv_ioctl_pci_info(lmrc, ubuf, xferlen, mode);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ioctl.c
178
dev_err(lmrc->l_dip, CE_WARN,
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ioctl.c
200
lmrc_mfi_ioctl_scsi_io(lmrc_t *lmrc, mfi_ioctl_t *ioc, lmrc_mfi_cmd_t *mfi,
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ioctl.c
218
lmrc_mfi_ioctl_dcmd(lmrc_t *lmrc, mfi_ioctl_t *ioc, lmrc_mfi_cmd_t *mfi,
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ioctl.c
238
lmrc_mfi_ioctl(lmrc_t *lmrc, mfi_ioctl_t *ioc, int mode)
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ioctl.c
255
mfi = lmrc_get_mfi(lmrc);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ioctl.c
270
lmrc_mfi_ioctl_scsi_io(lmrc, ioc, mfi, &sgloff, &senseoff);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ioctl.c
283
lmrc_mfi_ioctl_dcmd(lmrc, ioc, mfi, &sgloff);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ioctl.c
287
dev_err(lmrc->l_dip, CE_WARN,
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ioctl.c
313
ret = lmrc_dma_alloc(lmrc, lmrc->l_dma_attr,
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ioctl.c
341
ret = lmrc_dma_alloc(lmrc, lmrc->l_dma_attr, &sense,
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ioctl.c
352
lmrc_issue_mfi(lmrc, mfi, lmrc_wakeup_mfi);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ioctl.c
353
ret = lmrc_wait_mfi(lmrc, mfi, LMRC_INTERNAL_CMD_WAIT_TIME);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ioctl.c
396
dev_err(lmrc->l_dip, CE_WARN,
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ioctl.c
409
lmrc_fw_ioctl(lmrc_t *lmrc, intptr_t arg, int mode)
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ioctl.c
421
ret = lmrc_drv_ioctl(lmrc, ioc, mode);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ioctl.c
423
sema_p(&lmrc->l_ioctl_sema);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ioctl.c
424
ret = lmrc_mfi_ioctl(lmrc, ioc, mode);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ioctl.c
425
sema_v(&lmrc->l_ioctl_sema);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ioctl.c
445
lmrc_mfi_aen_ioctl(lmrc_t *lmrc, mfi_aen_t *aen)
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ioctl.c
447
dev_err(lmrc->l_dip, CE_WARN, "!unimplemented ioctl: MFI AEN");
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ioctl.c
457
lmrc_aen_ioctl(lmrc_t *lmrc, intptr_t arg, int mode)
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ioctl.c
465
ret = lmrc_mfi_aen_ioctl(lmrc, &aen);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ioctl.c
484
lmrc_t *lmrc;
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ioctl.c
495
lmrc = ddi_get_soft_state(lmrc_state, inst);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ioctl.c
496
if (lmrc == NULL)
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ioctl.c
499
if (lmrc->l_fw_fault)
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ioctl.c
504
ret = lmrc_fw_ioctl(lmrc, arg, mode);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ioctl.c
508
ret = lmrc_aen_ioctl(lmrc, arg, mode);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ioctl.c
73
lmrc_drv_ioctl_drv_version(lmrc_t *lmrc, void *ubuf, size_t len, int mode)
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_ioctl.c
98
lmrc_drv_ioctl_pci_info(lmrc_t *lmrc, void *ubuf, size_t len, int mode)
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_phys.c
108
lmrc_sync_pdmap(lmrc_t *lmrc, size_t pd_count)
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_phys.c
115
mfi = lmrc_get_dcmd(lmrc, MFI_FRAME_DIR_WRITE,
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_phys.c
125
lmrc_issue_mfi(lmrc, mfi, lmrc_complete_sync_pdmap);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_phys.c
138
lmrc_complete_sync_pdmap(lmrc_t *lmrc, lmrc_mfi_cmd_t *mfi)
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_phys.c
144
lmrc->l_pdmap->pm_count * sizeof (mfi_pd_cfg_t);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_phys.c
157
dev_err(lmrc->l_dip, CE_WARN,
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_phys.c
160
lmrc->l_use_seqnum_jbod_fp = B_FALSE;
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_phys.c
161
taskq_dispatch_ent(lmrc->l_taskq, (task_func_t *)lmrc_put_mfi,
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_phys.c
169
rw_enter(&lmrc->l_pdmap_lock, RW_WRITER);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_phys.c
170
bcopy(pm, lmrc->l_pdmap, pdmap_sz);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_phys.c
171
rw_exit(&lmrc->l_pdmap_lock);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_phys.c
173
lmrc_issue_mfi(lmrc, mfi, lmrc_complete_sync_pdmap);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_phys.c
183
lmrc_setup_pdmap(lmrc_t *lmrc)
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_phys.c
188
ret = lmrc_get_pdmap(lmrc, &pdmap);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_phys.c
192
rw_enter(&lmrc->l_pdmap_lock, RW_WRITER);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_phys.c
193
ASSERT(lmrc->l_pdmap == NULL);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_phys.c
194
lmrc->l_pdmap = pdmap;
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_phys.c
195
rw_exit(&lmrc->l_pdmap_lock);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_phys.c
197
ret = lmrc_sync_pdmap(lmrc, pdmap->pm_count);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_phys.c
207
lmrc_free_pdmap(lmrc_t *lmrc)
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_phys.c
209
if (lmrc->l_pdmap != NULL) {
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_phys.c
211
lmrc->l_pdmap->pm_count * sizeof (mfi_pd_cfg_t);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_phys.c
212
kmem_free(lmrc->l_pdmap, pdmap_sz);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_phys.c
213
lmrc->l_pdmap = NULL;
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_phys.c
224
lmrc_pd_tm_capable(lmrc_t *lmrc, uint16_t tgtid)
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_phys.c
228
rw_enter(&lmrc->l_pdmap_lock, RW_READER);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_phys.c
229
if (lmrc->l_pdmap != NULL &&
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_phys.c
230
lmrc->l_pdmap->pm_pdcfg[tgtid].pd_tgtid != LMRC_DEVHDL_INVALID &&
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_phys.c
231
lmrc->l_pdmap->pm_pdcfg[tgtid].pd_tm_capable != 0)
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_phys.c
233
rw_exit(&lmrc->l_pdmap_lock);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_phys.c
244
lmrc_get_pd_info(lmrc_t *lmrc, uint16_t dev_id)
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_phys.c
251
mfi = lmrc_get_dcmd(lmrc, MFI_FRAME_DIR_READ, MFI_DCMD_PD_GET_INFO,
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_phys.c
260
ret = lmrc_issue_blocked_mfi(lmrc, mfi);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_phys.c
269
lmrc_put_dcmd(lmrc, mfi);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_phys.c
282
lmrc_t *lmrc = tgtmap_priv;
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_phys.c
284
uint16_t dev_id = tgt - lmrc->l_targets;
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_phys.c
287
VERIFY(lmrc == tgt->tgt_lmrc);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_phys.c
293
pd_info = lmrc_get_pd_info(lmrc, dev_id);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_phys.c
309
lmrc_t *lmrc = tgtmap_priv;
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_phys.c
312
VERIFY(lmrc == tgt->tgt_lmrc);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_phys.c
325
lmrc_phys_update_tgtmap(lmrc_t *lmrc, mfi_pd_list_t *pd_list)
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_phys.c
333
ret = scsi_hba_tgtmap_set_begin(lmrc->l_phys_tgtmap);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_phys.c
342
dev_err(lmrc->l_dip, CE_WARN,
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_phys.c
351
ret = scsi_hba_tgtmap_set_add(lmrc->l_phys_tgtmap,
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_phys.c
353
&lmrc->l_targets[pa->pa_dev_id + LMRC_MAX_LD]);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_phys.c
359
return (scsi_hba_tgtmap_set_end(lmrc->l_phys_tgtmap, 0));
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_phys.c
362
(void) scsi_hba_tgtmap_set_flush(lmrc->l_raid_tgtmap);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_phys.c
372
lmrc_get_pd_list(lmrc_t *lmrc)
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_phys.c
379
if (!INITLEVEL_ACTIVE(lmrc, LMRC_INITLEVEL_PHYS))
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_phys.c
382
mfi = lmrc_get_dcmd(lmrc, MFI_FRAME_DIR_READ, MFI_DCMD_PD_LIST_QUERY,
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_phys.c
391
ret = lmrc_issue_blocked_mfi(lmrc, mfi);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_phys.c
396
ret = lmrc_phys_update_tgtmap(lmrc, mfi->mfi_data_dma.ld_buf);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_phys.c
399
lmrc_put_dcmd(lmrc, mfi);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_phys.c
411
lmrc_phys_aen_handler(lmrc_t *lmrc, mfi_evt_detail_t *evt)
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_phys.c
422
ret = lmrc_get_pd_list(lmrc);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_phys.c
441
lmrc_t *lmrc = ddi_get_soft_state(lmrc_state, ddi_get_instance(pdip));
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_phys.c
445
VERIFY(lmrc != NULL);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_phys.c
447
if (lmrc->l_fw_fault)
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_phys.c
450
tran->tran_hba_private = lmrc;
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_phys.c
451
lmrc->l_phys_dip = dip;
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_phys.c
454
2 * MICROSEC, lmrc, lmrc_phys_tgt_activate_cb,
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_phys.c
455
lmrc_phys_tgt_deactivate_cb, &lmrc->l_phys_tgtmap);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_phys.c
459
if (lmrc->l_use_seqnum_jbod_fp)
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_phys.c
460
if (lmrc_setup_pdmap(lmrc) != DDI_SUCCESS)
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_phys.c
461
lmrc->l_use_seqnum_jbod_fp = B_FALSE;
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_phys.c
463
INITLEVEL_SET(lmrc, LMRC_INITLEVEL_PHYS);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_phys.c
465
ret = lmrc_get_pd_list(lmrc);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_phys.c
467
dev_err(lmrc->l_dip, CE_WARN, "!Failed to get PD list.");
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_phys.c
478
lmrc_t *lmrc = ddi_get_soft_state(lmrc_state, ddi_get_instance(pdip));
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_phys.c
480
VERIFY(lmrc != NULL);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_phys.c
481
INITLEVEL_CLEAR(lmrc, LMRC_INITLEVEL_PHYS);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_phys.c
483
if (lmrc->l_phys_tgtmap != NULL) {
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_phys.c
484
scsi_hba_tgtmap_destroy(lmrc->l_phys_tgtmap);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_phys.c
485
lmrc->l_phys_tgtmap = NULL;
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_phys.c
488
lmrc->l_phys_dip = NULL;
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_phys.c
61
lmrc_get_pdmap(lmrc_t *lmrc, mfi_pd_map_t **pdmap)
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_phys.c
69
mfi = lmrc_get_dcmd(lmrc, MFI_FRAME_DIR_READ,
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_phys.c
75
ret = lmrc_issue_blocked_mfi(lmrc, mfi);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_phys.c
83
dev_err(lmrc->l_dip, CE_WARN,
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_phys.c
94
lmrc_put_dcmd(lmrc, mfi);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_raid.c
103
lmrc_put_dcmd(lmrc, mfi);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_raid.c
121
lmrc_sync_raidmap(lmrc_t *lmrc)
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_raid.c
127
rw_enter(&lmrc->l_raidmap_lock, RW_READER);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_raid.c
128
rm = lmrc->l_raidmap;
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_raid.c
129
mfi = lmrc_get_dcmd(lmrc, MFI_FRAME_DIR_WRITE, MFI_DCMD_LD_MAP_GET_INFO,
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_raid.c
133
rw_exit(&lmrc->l_raidmap_lock);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_raid.c
140
rw_exit(&lmrc->l_raidmap_lock);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_raid.c
143
lmrc_sync_raidmap_again(lmrc, mfi);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_raid.c
160
lmrc_sync_raidmap_again(lmrc_t *lmrc, lmrc_mfi_cmd_t *mfi)
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_raid.c
170
rw_enter(&lmrc->l_raidmap_lock, RW_READER);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_raid.c
171
rm = lmrc->l_raidmap;
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_raid.c
181
rw_exit(&lmrc->l_raidmap_lock);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_raid.c
184
lmrc_issue_mfi(lmrc, mfi, lmrc_complete_sync_raidmap);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_raid.c
194
lmrc_complete_sync_raidmap(lmrc_t *lmrc, lmrc_mfi_cmd_t *mfi)
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_raid.c
207
dev_err(lmrc->l_dip, CE_WARN,
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_raid.c
210
taskq_dispatch_ent(lmrc->l_taskq, (task_func_t *)lmrc_put_mfi,
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_raid.c
215
if (lmrc_validate_raidmap(lmrc, rm) != DDI_SUCCESS)
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_raid.c
218
rw_enter(&lmrc->l_raidmap_lock, RW_WRITER);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_raid.c
219
VERIFY3U(lmrc->l_raidmap->rm_raidmap_sz, ==, dma->ld_len);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_raid.c
220
bcopy(rm, lmrc->l_raidmap, lmrc->l_raidmap->rm_raidmap_sz);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_raid.c
221
rw_exit(&lmrc->l_raidmap_lock);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_raid.c
222
lmrc_sync_raidmap_again(lmrc, mfi);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_raid.c
231
lmrc_validate_raidmap(lmrc_t *lmrc, lmrc_fw_raid_map_t *raidmap)
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_raid.c
280
lmrc_setup_raidmap(lmrc_t *lmrc)
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_raid.c
285
ret = lmrc_get_raidmap(lmrc, &raidmap);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_raid.c
289
ret = lmrc_validate_raidmap(lmrc, raidmap);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_raid.c
295
rw_enter(&lmrc->l_raidmap_lock, RW_WRITER);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_raid.c
296
lmrc_free_raidmap(lmrc);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_raid.c
297
lmrc->l_raidmap = raidmap;
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_raid.c
298
rw_exit(&lmrc->l_raidmap_lock);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_raid.c
300
ret = lmrc_sync_raidmap(lmrc);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_raid.c
311
lmrc_free_raidmap(lmrc_t *lmrc)
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_raid.c
313
if (lmrc->l_raidmap != NULL) {
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_raid.c
314
kmem_free(lmrc->l_raidmap, lmrc->l_raidmap->rm_raidmap_sz);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_raid.c
315
lmrc->l_raidmap = NULL;
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_raid.c
323
lmrc_ld_tm_capable(lmrc_t *lmrc, uint16_t tgtid)
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_raid.c
327
rw_enter(&lmrc->l_raidmap_lock, RW_READER);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_raid.c
328
if (lmrc->l_raidmap != NULL) {
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_raid.c
329
uint16_t ld_id = lmrc_ld_id_get(tgtid, lmrc->l_raidmap);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_raid.c
330
lmrc_ld_raid_t *lr = lmrc_ld_raid_get(ld_id, lmrc->l_raidmap);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_raid.c
335
rw_exit(&lmrc->l_raidmap_lock);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_raid.c
351
lmrc_t *lmrc = tgtmap_priv;
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_raid.c
353
uint16_t tgtid = tgt - lmrc->l_targets;
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_raid.c
355
VERIFY(lmrc == tgt->tgt_lmrc);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_raid.c
371
lmrc_t *lmrc = tgtmap_priv;
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_raid.c
374
VERIFY(lmrc == tgt->tgt_lmrc);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_raid.c
389
lmrc_raid_send_inquiry(lmrc_t *lmrc, lmrc_tgt_t *tgt, uint8_t evpd,
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_raid.c
403
sd.sd_address.a_hba_tran = ddi_get_driver_private(lmrc->l_raid_dip);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_raid.c
450
lmrc_raid_get_wwn(lmrc_t *lmrc, uint8_t tgtid)
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_raid.c
452
lmrc_tgt_t *tgt = &lmrc->l_targets[tgtid];
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_raid.c
463
VERIFY3U(tgt->tgt_lmrc, ==, lmrc);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_raid.c
471
inq_bp = lmrc_raid_send_inquiry(lmrc, tgt, 0, 0);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_raid.c
476
inq83_bp = lmrc_raid_send_inquiry(lmrc, tgt, 1, 0x83);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_raid.c
513
lmrc_raid_update_tgtmap(lmrc_t *lmrc, mfi_ld_tgtid_list_t *ld_list)
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_raid.c
518
if (ld_list->ltl_count > lmrc->l_fw_supported_vd_count)
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_raid.c
521
ret = scsi_hba_tgtmap_set_begin(lmrc->l_raid_tgtmap);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_raid.c
530
if (tgtid > lmrc->l_fw_supported_vd_count) {
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_raid.c
531
dev_err(lmrc->l_dip, CE_WARN,
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_raid.c
536
wwn = lmrc_raid_get_wwn(lmrc, tgtid);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_raid.c
542
ret = scsi_hba_tgtmap_set_add(lmrc->l_raid_tgtmap,
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_raid.c
543
SCSI_TGT_SCSI_DEVICE, name, &lmrc->l_targets[tgtid]);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_raid.c
549
return (scsi_hba_tgtmap_set_end(lmrc->l_raid_tgtmap, 0));
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_raid.c
552
(void) scsi_hba_tgtmap_set_flush(lmrc->l_raid_tgtmap);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_raid.c
563
lmrc_get_ld_list(lmrc_t *lmrc)
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_raid.c
570
if (!INITLEVEL_ACTIVE(lmrc, LMRC_INITLEVEL_RAID))
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_raid.c
573
mfi = lmrc_get_dcmd(lmrc, MFI_FRAME_DIR_READ, MFI_DCMD_LD_LIST_QUERY,
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_raid.c
574
sizeof (mfi_ld_tgtid_list_t) + lmrc->l_fw_supported_vd_count, 1);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_raid.c
582
if (lmrc->l_max_256_vd_support)
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_raid.c
585
ret = lmrc_issue_blocked_mfi(lmrc, mfi);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_raid.c
590
ret = lmrc_raid_update_tgtmap(lmrc, mfi->mfi_data_dma.ld_buf);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_raid.c
593
lmrc_put_dcmd(lmrc, mfi);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_raid.c
604
lmrc_raid_aen_handler(lmrc_t *lmrc, mfi_evt_detail_t *evt)
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_raid.c
623
ret = lmrc_get_ld_list(lmrc);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_raid.c
639
ret = lmrc_get_ld_list(lmrc);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_raid.c
665
ret = lmrc_get_ld_list(lmrc);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_raid.c
672
ret = lmrc_get_ld_list(lmrc);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_raid.c
689
ret = lmrc_get_ld_list(lmrc);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_raid.c
70
lmrc_get_raidmap(lmrc_t *lmrc, lmrc_fw_raid_map_t **raidmap)
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_raid.c
704
ret = lmrc_get_ld_list(lmrc);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_raid.c
719
lmrc_t *lmrc = ddi_get_soft_state(lmrc_state, ddi_get_instance(pdip));
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_raid.c
723
VERIFY(lmrc != NULL);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_raid.c
725
if (lmrc->l_fw_fault)
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_raid.c
728
tran->tran_hba_private = lmrc;
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_raid.c
729
lmrc->l_raid_dip = dip;
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_raid.c
732
2 * MICROSEC, lmrc, lmrc_raid_tgt_activate_cb,
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_raid.c
733
lmrc_raid_tgt_deactivate_cb, &lmrc->l_raid_tgtmap);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_raid.c
737
ret = lmrc_setup_raidmap(lmrc);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_raid.c
739
dev_err(lmrc->l_dip, CE_WARN, "!RAID map setup failed.");
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_raid.c
743
INITLEVEL_SET(lmrc, LMRC_INITLEVEL_RAID);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_raid.c
745
ret = lmrc_get_ld_list(lmrc);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_raid.c
747
dev_err(lmrc->l_dip, CE_WARN, "!Failed to get LD list.");
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_raid.c
758
lmrc_t *lmrc = ddi_get_soft_state(lmrc_state, ddi_get_instance(pdip));
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_raid.c
76
mfi = lmrc_get_dcmd(lmrc, MFI_FRAME_DIR_READ, MFI_DCMD_LD_MAP_GET_INFO,
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_raid.c
760
VERIFY(lmrc != NULL);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_raid.c
761
INITLEVEL_CLEAR(lmrc, LMRC_INITLEVEL_RAID);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_raid.c
763
if (lmrc->l_raid_tgtmap != NULL) {
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_raid.c
764
scsi_hba_tgtmap_destroy(lmrc->l_raid_tgtmap);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_raid.c
765
lmrc->l_raid_tgtmap = NULL;
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_raid.c
768
lmrc->l_raid_dip = NULL;
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_raid.c
77
lmrc->l_max_map_sz, 4);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_raid.c
82
ret = lmrc_issue_blocked_mfi(lmrc, mfi);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_raid.c
91
if (rm->rm_raidmap_sz > lmrc->l_max_map_sz) {
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_raid.c
92
dev_err(lmrc->l_dip, CE_WARN,
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_scsa.c
100
return (lmrc->l_dma_attr.dma_attr_granular);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_scsa.c
135
lmrc_t *lmrc = tgt->tgt_lmrc;
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_scsa.c
138
VERIFY(lmrc != NULL);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_scsa.c
148
if (value <= lmrc->l_dma_attr.dma_attr_maxxfer)
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_scsa.c
192
lmrc_t *lmrc = hba_tran->tran_hba_private;
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_scsa.c
195
VERIFY(lmrc != NULL);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_scsa.c
197
tgt = lmrc_tgt_find(lmrc, sd);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_scsa.c
236
lmrc_t *lmrc;
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_scsa.c
260
lmrc = tgt->tgt_lmrc;
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_scsa.c
261
VERIFY(lmrc != NULL);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_scsa.c
263
if (lmrc->l_fw_fault)
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_scsa.c
266
if (atomic_inc_uint_nv(&lmrc->l_fw_outstanding_cmds) >
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_scsa.c
267
lmrc->l_max_scsi_cmds) {
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_scsa.c
268
atomic_dec_uint(&lmrc->l_fw_outstanding_cmds);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_scsa.c
300
lmrc->l_use_seqnum_jbod_fp) {
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_scsa.c
303
rw_enter(&lmrc->l_pdmap_lock, RW_READER);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_scsa.c
304
pdcfg = &lmrc->l_pdmap->pm_pdcfg[tgt->tgt_dev_id];
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_scsa.c
306
if (lmrc->l_pdmap_tgtid_support)
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_scsa.c
311
rw_exit(&lmrc->l_pdmap_lock);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_scsa.c
340
lmrc_dma_build_sgl(lmrc, mpt, pkt->pkt_cookies,
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_scsa.c
348
VERIFY3S(ddi_dma_sync(lmrc->l_ioreq_dma.ld_hdl,
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_scsa.c
349
(void *)io_req - lmrc->l_ioreq_dma.ld_buf,
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_scsa.c
353
req_desc = lmrc_build_atomic_request(lmrc, mpt, req_flags);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_scsa.c
356
lmrc_send_atomic_request(lmrc, req_desc);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_scsa.c
366
ret = lmrc_poll_for_reply(lmrc, mpt);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_scsa.c
367
atomic_dec_uint(&lmrc->l_fw_outstanding_cmds);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_scsa.c
382
lmrc_task_mgmt(lmrc_t *lmrc, lmrc_tgt_t *tgt, uint8_t type, uint16_t smid)
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_scsa.c
396
tm_capable = lmrc_ld_tm_capable(lmrc, tgt->tgt_dev_id);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_scsa.c
398
tm_capable = lmrc_pd_tm_capable(lmrc, tgt->tgt_dev_id);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_scsa.c
406
if (atomic_inc_uint_nv(&lmrc->l_fw_outstanding_cmds) >
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_scsa.c
407
lmrc->l_max_scsi_cmds) {
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_scsa.c
409
atomic_dec_uint(&lmrc->l_fw_outstanding_cmds);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_scsa.c
413
mpt = lmrc_get_mpt(lmrc);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_scsa.c
416
atomic_dec_uint(&lmrc->l_fw_outstanding_cmds);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_scsa.c
442
VERIFY3S(ddi_dma_sync(lmrc->l_ioreq_dma.ld_hdl,
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_scsa.c
443
(void *)tm_req - lmrc->l_ioreq_dma.ld_buf,
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_scsa.c
447
req_desc = lmrc_build_atomic_request(lmrc, mpt,
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_scsa.c
450
lmrc_send_atomic_request(lmrc, req_desc);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_scsa.c
454
ret = lmrc_poll_for_reply(lmrc, mpt);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_scsa.c
465
atomic_dec_uint(&lmrc->l_fw_outstanding_cmds);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_scsa.c
481
lmrc_abort_mpt(lmrc_t *lmrc, lmrc_tgt_t *tgt, lmrc_mpt_cmd_t *mpt)
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_scsa.c
486
return (lmrc_task_mgmt(lmrc, tgt, MPI2_SCSITASKMGMT_TASKTYPE_ABORT_TASK,
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_scsa.c
500
lmrc_t *lmrc = tgt->tgt_lmrc;
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_scsa.c
505
VERIFY(lmrc != NULL);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_scsa.c
507
if (lmrc->l_fw_fault)
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_scsa.c
524
if (lmrc_abort_mpt(lmrc, tgt, mpt) > 0)
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_scsa.c
541
ret = lmrc_abort_mpt(lmrc, tgt, mpt);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_scsa.c
545
dev_err(lmrc->l_dip, CE_WARN, "!target reset timed out, "
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_scsa.c
563
lmrc_t *lmrc = tgt->tgt_lmrc;
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_scsa.c
566
VERIFY(lmrc != NULL);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_scsa.c
568
if (lmrc->l_fw_fault)
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_scsa.c
576
ret = lmrc_task_mgmt(lmrc, tgt,
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_scsa.c
581
dev_err(lmrc->l_dip, CE_WARN,
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_scsa.c
627
lmrc_t *lmrc;
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_scsa.c
647
lmrc = tgt->tgt_lmrc;
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_scsa.c
648
VERIFY(lmrc != NULL);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_scsa.c
653
mpt = lmrc_get_mpt(lmrc);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_scsa.c
727
lmrc_hba_attach(lmrc_t *lmrc)
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_scsa.c
730
ddi_dma_attr_t tran_attr = lmrc->l_dma_attr_32;
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_scsa.c
732
tran = scsi_hba_tran_alloc(lmrc->l_dip, SCSI_HBA_CANSLEEP);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_scsa.c
734
dev_err(lmrc->l_dip, CE_WARN, "!scsi_hba_tran_alloc failed");
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_scsa.c
738
tran->tran_hba_private = lmrc;
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_scsa.c
759
tran_attr.dma_attr_sgllen = lmrc->l_max_num_sge;
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_scsa.c
761
if (scsi_hba_attach_setup(lmrc->l_dip, &tran_attr, tran,
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_scsa.c
765
lmrc->l_hba_tran = tran;
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_scsa.c
767
if (scsi_hba_iport_register(lmrc->l_dip, LMRC_IPORT_RAID) !=
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_scsa.c
771
if (scsi_hba_iport_register(lmrc->l_dip, LMRC_IPORT_PHYS) !=
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_scsa.c
778
dev_err(lmrc->l_dip, CE_WARN,
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_scsa.c
780
lmrc_hba_detach(lmrc);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_scsa.c
786
lmrc_hba_detach(lmrc_t *lmrc)
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_scsa.c
788
if (lmrc->l_hba_tran == NULL)
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_scsa.c
791
(void) scsi_hba_detach(lmrc->l_dip);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_scsa.c
792
scsi_hba_tran_free(lmrc->l_hba_tran);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_scsa.c
793
lmrc->l_hba_tran = NULL;
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_scsa.c
80
lmrc_t *lmrc = tgt->tgt_lmrc;
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_scsa.c
83
VERIFY(lmrc != NULL);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_scsa.c
93
if (lmrc->l_dma_attr.dma_attr_maxxfer > INT_MAX)
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_scsa.c
95
return (lmrc->l_dma_attr.dma_attr_maxxfer);
usr/src/uts/common/io/scsi/adapters/lmrc/lmrc_scsa.c
98
if (lmrc->l_dma_attr.dma_attr_granular > INT_MAX)