Lines Matching defs:mpt

92 static int mptsas_get_raid_wwid(mptsas_t *mpt, mptsas_raidvol_t *raidvol);
100 mptsas_raidconf_page_0_cb(mptsas_t *mpt, caddr_t page_memp,
126 mptsas_log(mpt, CE_WARN, "mptsas_get_raid_conf_page0 "
152 raidconfig = &mpt->m_raidconfig[configindex];
153 mpt->m_num_raid_configs++;
202 if (mptsas_get_raid_settings(mpt,
210 if (mptsas_get_raid_wwid(mpt,
220 ptgt = mptsas_tgt_alloc(mpt->m_targets,
257 mptsas_get_raid_info(mptsas_t *mpt)
263 ASSERT(mutex_owned(&mpt->m_mutex));
268 bzero(mpt->m_raidconfig, sizeof (mpt->m_raidconfig));
269 mpt->m_num_raid_configs = 0;
279 rval = mptsas_access_config_page(mpt,
292 mptsas_raidvol_page_0_cb(mptsas_t *mpt, caddr_t page_memp,
310 mptsas_log(mpt, CE_WARN, "mptsas_raidvol_page0_cb "
336 mptsas_log(mpt, CE_NOTE, "?Volume %d is quiesced\n",
342 mptsas_log(mpt, CE_NOTE, "?Volume %d is resyncing\n",
349 mptsas_log(mpt, CE_NOTE, "?Volume %d is "
354 mptsas_log(mpt, CE_WARN, "Volume %d "
360 mptsas_log(mpt, CE_WARN, "Volume %d is "
364 mptsas_log(mpt, CE_WARN, "Volume %d is "
375 if (mptsas_get_physdisk_settings(mpt, raidvol,
383 mptsas_get_raid_settings(mptsas_t *mpt, mptsas_raidvol_t *raidvol)
388 ASSERT(mutex_owned(&mpt->m_mutex));
396 rval = mptsas_access_config_page(mpt,
405 mptsas_raidvol_page_1_cb(mptsas_t *mpt, caddr_t page_memp,
419 mptsas_log(mpt, CE_WARN, "mptsas_raidvol_page_1_cb "
438 mptsas_get_raid_wwid(mptsas_t *mpt, mptsas_raidvol_t *raidvol)
444 ASSERT(mutex_owned(&mpt->m_mutex));
452 rval = mptsas_access_config_page(mpt,
473 mptsas_raidphydsk_page_0_cb(mptsas_t *mpt, caddr_t page_memp,
489 mptsas_log(mpt, CE_WARN, "mptsas_raidphydsk_page0_cb "
504 mptsas_get_physdisk_settings(mptsas_t *mpt, mptsas_raidvol_t *raidvol,
512 ASSERT(mutex_owned(&mpt->m_mutex));
520 rval = mptsas_access_config_page(mpt,
568 mptsas_raid_action_system_shutdown(mptsas_t *mpt)
574 mptsas_slots_t *slots = mpt->m_active;
588 if (mpt->m_ir_capable) {
589 for (config = 0; (config < mpt->m_num_raid_configs) &&
592 if (mpt->m_raidconfig[config].m_raidvol[vol].
608 if (slots->m_slot[MPTSAS_TM_SLOT(mpt)] != NULL) {
609 mptsas_log(mpt, CE_WARN, "RAID Action slot in use. Cancelling"
617 cmd = &(mpt->m_event_task_mgmt.m_event_cmd);
620 cmd->cmd_slot = MPTSAS_TM_SLOT(mpt);
621 slots->m_slot[MPTSAS_TM_SLOT(mpt)] = cmd;
626 action = (pMpi2RaidActionRequest_t)(mpt->m_req_frame +
627 (mpt->m_req_frame_size * cmd->cmd_slot));
628 bzero(action, mpt->m_req_frame_size);
635 (void) ddi_dma_sync(mpt->m_dma_req_frame_hdl, 0, 0,
639 MPTSAS_START_CMD(mpt, request_desc);
651 (void) ddi_dma_sync(mpt->m_dma_post_queue_hdl, 0, 0,
655 MPTSAS_GET_NEXT_REPLY(mpt, mpt->m_post_index);
657 if (ddi_get32(mpt->m_acc_post_queue_hdl,
659 ddi_get32(mpt->m_acc_post_queue_hdl,
668 reply_type = ddi_get8(mpt->m_acc_post_queue_hdl,
681 SMID = ddi_get16(mpt->m_acc_post_queue_hdl,
683 if (SMID != MPTSAS_TM_SLOT(mpt)) {
690 reply_addr = ddi_get32(mpt->m_acc_post_queue_hdl,
692 if ((reply_addr < mpt->m_reply_frame_dma_addr) ||
693 (reply_addr >= (mpt->m_reply_frame_dma_addr +
694 (mpt->m_reply_frame_size * mpt->m_free_queue_depth))) ||
695 ((reply_addr - mpt->m_reply_frame_dma_addr) %
696 mpt->m_reply_frame_size != 0)) {
703 (void) ddi_dma_sync(mpt->m_dma_reply_frame_hdl, 0, 0,
705 reply = (pMPI2DefaultReply_t)(mpt->m_reply_frame +
706 (reply_addr - mpt->m_reply_frame_dma_addr));
707 function = ddi_get8(mpt->m_acc_reply_frame_hdl,
717 action_type = ddi_get16(mpt->m_acc_reply_frame_hdl,
729 ddi_put64(mpt->m_acc_post_queue_hdl,
730 &((uint64_t *)(void *)mpt->m_post_queue)[mpt->m_post_index],
732 (void) ddi_dma_sync(mpt->m_dma_post_queue_hdl, 0, 0,
739 if (++mpt->m_post_index == mpt->m_post_queue_depth) {
740 mpt->m_post_index = 0;
742 ddi_put32(mpt->m_datap, &mpt->m_reg->ReplyPostHostIndex,
743 mpt->m_post_index);
754 slots->m_slot[MPTSAS_TM_SLOT(mpt)] = NULL;
758 mptsas_delete_volume(mptsas_t *mpt, uint16_t volid)
762 for (config = 0; (config < mpt->m_num_raid_configs) && (vol != i);
765 if (mpt->m_raidconfig[config].m_raidvol[i].
774 mptsas_log(mpt, CE_WARN, "raid doesn't exist at specified "
779 mpt->m_raidconfig[config].m_raidvol[vol].m_israid = 0;
780 mpt->m_raidconfig[config].m_raidvol[vol].m_ndisks = 0;
782 mpt->m_raidconfig[config].m_raidvol[vol].m_disknum[i] = 0;
783 mpt->m_raidconfig[config].m_raidvol[vol].m_devhdl[i] = 0;