Lines Matching defs:mpt

89 static int mptsas_get_raid_wwid(mptsas_t *mpt, mptsas_raidvol_t *raidvol);
97 mptsas_raidconf_page_0_cb(mptsas_t *mpt, caddr_t page_memp,
112 mptsas_slots_t *slots = mpt->m_active;
124 mptsas_log(mpt, CE_WARN, "mptsas_get_raid_conf_page0 "
200 if (mptsas_get_raid_settings(mpt,
208 if (mptsas_get_raid_wwid(mpt,
219 voldevhandle, raidwwn, 0, 0, 0, mpt);
255 mptsas_get_raid_info(mptsas_t *mpt)
260 mptsas_slots_t *slots = mpt->m_active;
262 ASSERT(mutex_owned(&mpt->m_mutex));
278 rval = mptsas_access_config_page(mpt,
291 mptsas_raidvol_page_0_cb(mptsas_t *mpt, caddr_t page_memp,
309 mptsas_log(mpt, CE_WARN, "mptsas_raidvol_page0_cb "
335 mptsas_log(mpt, CE_NOTE, "?Volume %d is quiesced\n",
341 mptsas_log(mpt, CE_NOTE, "?Volume %d is resyncing\n",
348 mptsas_log(mpt, CE_NOTE, "?Volume %d is "
353 mptsas_log(mpt, CE_WARN, "Volume %d "
359 mptsas_log(mpt, CE_WARN, "Volume %d is "
363 mptsas_log(mpt, CE_WARN, "Volume %d is "
374 if (mptsas_get_physdisk_settings(mpt, raidvol,
382 mptsas_get_raid_settings(mptsas_t *mpt, mptsas_raidvol_t *raidvol)
387 ASSERT(mutex_owned(&mpt->m_mutex));
395 rval = mptsas_access_config_page(mpt,
404 mptsas_raidvol_page_1_cb(mptsas_t *mpt, caddr_t page_memp,
418 mptsas_log(mpt, CE_WARN, "mptsas_raidvol_page_1_cb "
437 mptsas_get_raid_wwid(mptsas_t *mpt, mptsas_raidvol_t *raidvol)
443 ASSERT(mutex_owned(&mpt->m_mutex));
451 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;
587 if (mpt->m_ir_capable) {
607 if (slots->m_slot[MPTSAS_TM_SLOT(mpt)] != NULL) {
608 mptsas_log(mpt, CE_WARN, "RAID Action slot in use. Cancelling"
616 cmd = &(mpt->m_event_task_mgmt.m_event_cmd);
619 cmd->cmd_slot = MPTSAS_TM_SLOT(mpt);
620 slots->m_slot[MPTSAS_TM_SLOT(mpt)] = cmd;
625 action = (pMpi2RaidActionRequest_t)(mpt->m_req_frame +
626 (mpt->m_req_frame_size * cmd->cmd_slot));
627 bzero(action, mpt->m_req_frame_size);
634 (void) ddi_dma_sync(mpt->m_dma_req_frame_hdl, 0, 0,
638 MPTSAS_START_CMD(mpt, request_desc_low, 0);
650 (void) ddi_dma_sync(mpt->m_dma_post_queue_hdl, 0, 0,
654 MPTSAS_GET_NEXT_REPLY(mpt, mpt->m_post_index);
656 if (ddi_get32(mpt->m_acc_post_queue_hdl,
658 ddi_get32(mpt->m_acc_post_queue_hdl,
667 reply_type = ddi_get8(mpt->m_acc_post_queue_hdl,
680 SMID = ddi_get16(mpt->m_acc_post_queue_hdl,
682 if (SMID != MPTSAS_TM_SLOT(mpt)) {
689 reply_addr = ddi_get32(mpt->m_acc_post_queue_hdl,
691 if ((reply_addr < mpt->m_reply_frame_dma_addr) ||
692 (reply_addr >= (mpt->m_reply_frame_dma_addr +
693 (mpt->m_reply_frame_size * mpt->m_free_queue_depth))) ||
694 ((reply_addr - mpt->m_reply_frame_dma_addr) %
695 mpt->m_reply_frame_size != 0)) {
702 (void) ddi_dma_sync(mpt->m_dma_reply_frame_hdl, 0, 0,
704 reply = (pMPI2DefaultReply_t)(mpt->m_reply_frame +
705 (reply_addr - mpt->m_reply_frame_dma_addr));
706 function = ddi_get8(mpt->m_acc_reply_frame_hdl,
716 action_type = ddi_get16(mpt->m_acc_reply_frame_hdl,
728 ddi_put64(mpt->m_acc_post_queue_hdl,
729 &((uint64_t *)(void *)mpt->m_post_queue)[mpt->m_post_index],
731 (void) ddi_dma_sync(mpt->m_dma_post_queue_hdl, 0, 0,
738 if (++mpt->m_post_index == mpt->m_post_queue_depth) {
739 mpt->m_post_index = 0;
741 ddi_put32(mpt->m_datap, &mpt->m_reg->ReplyPostHostIndex,
742 mpt->m_post_index);
753 slots->m_slot[MPTSAS_TM_SLOT(mpt)] = NULL;
757 mptsas_delete_volume(mptsas_t *mpt, uint16_t volid)
760 mptsas_slots_t *slots = mpt->m_active;
774 mptsas_log(mpt, CE_WARN, "raid doesn't exist at specified "