Lines Matching refs:ioc
84 struct scsi_cmnd *mptscsih_get_scsi_lookup(MPT_ADAPTER *ioc, int i);
85 static struct scsi_cmnd * mptscsih_getclear_scsi_lookup(MPT_ADAPTER *ioc, int i);
86 static void mptscsih_set_scsi_lookup(MPT_ADAPTER *ioc, int i, struct scsi_cmnd *scmd);
87 static int SCPNT_TO_LOOKUP_IDX(MPT_ADAPTER *ioc, struct scsi_cmnd *scmd);
88 int mptscsih_io_done(MPT_ADAPTER *ioc, MPT_FRAME_HDR *mf, MPT_FRAME_HDR *r);
90 int mptscsih_taskmgmt_complete(MPT_ADAPTER *ioc, MPT_FRAME_HDR *mf, MPT_FRAME_HDR *r);
92 static int mptscsih_AddSGE(MPT_ADAPTER *ioc, struct scsi_cmnd *SCpnt,
94 static void mptscsih_freeChainBuffers(MPT_ADAPTER *ioc, int req_idx);
100 int mptscsih_ioc_reset(MPT_ADAPTER *ioc, int post_reset);
101 int mptscsih_event_process(MPT_ADAPTER *ioc, EventNotificationReply_t *pEvReply);
104 mptscsih_taskmgmt_response_code(MPT_ADAPTER *ioc, u8 response_code);
105 static int mptscsih_get_completion_code(MPT_ADAPTER *ioc,
107 int mptscsih_scandv_complete(MPT_ADAPTER *ioc, MPT_FRAME_HDR *mf, MPT_FRAME_HDR *r);
112 mptscsih_taskmgmt_reply(MPT_ADAPTER *ioc, u8 type,
134 mptscsih_getFreeChainBuffer(MPT_ADAPTER *ioc, int *retIndex) in mptscsih_getFreeChainBuffer() argument
141 dsgprintk(ioc, printk(MYIOC_s_DEBUG_FMT "getFreeChainBuffer called\n", in mptscsih_getFreeChainBuffer()
142 ioc->name)); in mptscsih_getFreeChainBuffer()
143 spin_lock_irqsave(&ioc->FreeQlock, flags); in mptscsih_getFreeChainBuffer()
144 if (!list_empty(&ioc->FreeChainQ)) { in mptscsih_getFreeChainBuffer()
147 chainBuf = list_entry(ioc->FreeChainQ.next, MPT_FRAME_HDR, in mptscsih_getFreeChainBuffer()
150 offset = (u8 *)chainBuf - (u8 *)ioc->ChainBuffer; in mptscsih_getFreeChainBuffer()
151 chain_idx = offset / ioc->req_sz; in mptscsih_getFreeChainBuffer()
153 dsgprintk(ioc, printk(MYIOC_s_DEBUG_FMT in mptscsih_getFreeChainBuffer()
155 ioc->name, chainBuf, ioc->ChainBuffer, offset, chain_idx)); in mptscsih_getFreeChainBuffer()
159 dfailprintk(ioc, printk(MYIOC_s_ERR_FMT "getFreeChainBuffer failed\n", in mptscsih_getFreeChainBuffer()
160 ioc->name)); in mptscsih_getFreeChainBuffer()
162 spin_unlock_irqrestore(&ioc->FreeQlock, flags); in mptscsih_getFreeChainBuffer()
179 mptscsih_AddSGE(MPT_ADAPTER *ioc, struct scsi_cmnd *SCpnt, in mptscsih_AddSGE() argument
205 frm_sz = ioc->req_sz; in mptscsih_AddSGE()
228 numSgeSlots = ((frm_sz - sgeOffset) / ioc->SGE_size); in mptscsih_AddSGE()
247 ioc->add_sge(psge, sgflags | thisxfer, v2); in mptscsih_AddSGE()
251 psge += ioc->SGE_size; in mptscsih_AddSGE()
252 sgeOffset += ioc->SGE_size; in mptscsih_AddSGE()
269 ioc->add_sge(psge, sgflags | thisxfer, v2); in mptscsih_AddSGE()
270 sgeOffset += ioc->SGE_size; in mptscsih_AddSGE()
279 ioc->add_chain((char *)chainSge, 0, sgeOffset, in mptscsih_AddSGE()
280 ioc->ChainBufferDMA + chain_dma_off); in mptscsih_AddSGE()
286 RequestNB = (((sgeOffset - 1) >> ioc->NBShiftFactor) + 1) & 0x03; in mptscsih_AddSGE()
287 dsgprintk(ioc, printk(MYIOC_s_DEBUG_FMT in mptscsih_AddSGE()
288 "Single Buffer RequestNB=%x, sgeOffset=%d\n", ioc->name, RequestNB, sgeOffset)); in mptscsih_AddSGE()
289 ioc->RequestNB[req_idx] = RequestNB; in mptscsih_AddSGE()
303 dsgprintk(ioc, printk(MYIOC_s_DEBUG_FMT "SG: Chain Required! sg done %d\n", in mptscsih_AddSGE()
304 ioc->name, sg_done)); in mptscsih_AddSGE()
313 u32 *ptmp = (u32 *) (psge - ioc->SGE_size); in mptscsih_AddSGE()
327 sgeOffset += ioc->SGE_size; in mptscsih_AddSGE()
328 ioc->add_chain((char *)chainSge, nextChain, sgeOffset, in mptscsih_AddSGE()
329 ioc->ChainBufferDMA + chain_dma_off); in mptscsih_AddSGE()
336 RequestNB = (((sgeOffset - 1) >> ioc->NBShiftFactor) + 1) & 0x03; in mptscsih_AddSGE()
337 …dsgprintk(ioc, printk(MYIOC_s_DEBUG_FMT "Chain Buffer Needed, RequestNB=%x sgeOffset=%d\n", ioc->n… in mptscsih_AddSGE()
338 ioc->RequestNB[req_idx] = RequestNB; in mptscsih_AddSGE()
347 if ((mptscsih_getFreeChainBuffer(ioc, &newIndex)) == FAILED) { in mptscsih_AddSGE()
348 dfailprintk(ioc, printk(MYIOC_s_DEBUG_FMT in mptscsih_AddSGE()
350 ioc->name, pReq->CDB[0], SCpnt)); in mptscsih_AddSGE()
358 ioc->ChainToChain[chain_idx] = newIndex; in mptscsih_AddSGE()
360 ioc->ReqToChain[req_idx] = newIndex; in mptscsih_AddSGE()
363 chain_dma_off = ioc->req_sz * chain_idx; in mptscsih_AddSGE()
370 dsgprintk(ioc, printk(MYIOC_s_DEBUG_FMT " Current buff @ %p (index 0x%x)", in mptscsih_AddSGE()
371 ioc->name, psge, req_idx)); in mptscsih_AddSGE()
375 psge = (char *) (ioc->ChainBuffer + chain_dma_off); in mptscsih_AddSGE()
379 dsgprintk(ioc, printk(MYIOC_s_DEBUG_FMT " Chain buff @ %p (index 0x%x)\n", in mptscsih_AddSGE()
380 ioc->name, psge, chain_idx)); in mptscsih_AddSGE()
392 mptscsih_issue_sep_command(MPT_ADAPTER *ioc, VirtTarget *vtarget, in mptscsih_issue_sep_command() argument
398 if (ioc->bus_type != SAS) in mptscsih_issue_sep_command()
406 if ((mf = mpt_get_msg_frame(ioc->InternalCtx, ioc)) == NULL) { in mptscsih_issue_sep_command()
407 dfailprintk(ioc, printk(MYIOC_s_WARN_FMT "%s: no msg frames!!\n", in mptscsih_issue_sep_command()
408 ioc->name,__func__)); in mptscsih_issue_sep_command()
418 devtverboseprintk(ioc, printk(MYIOC_s_DEBUG_FMT in mptscsih_issue_sep_command()
420 ioc->name, SlotStatus, SEPMsg->Bus, SEPMsg->TargetID)); in mptscsih_issue_sep_command()
421 mpt_put_msg_frame(ioc->DoneCtx, ioc, mf); in mptscsih_issue_sep_command()
436 mptscsih_info_scsiio(MPT_ADAPTER *ioc, struct scsi_cmnd *sc, SCSIIOReply_t * pScsiReply) in mptscsih_info_scsiio() argument
540 ioc->name, pScsiReply->Bus, pScsiReply->TargetID, sc->device->lun); in mptscsih_info_scsiio()
542 "resid = %d\n", ioc->name, scsi_bufflen(sc), sc->underflow, in mptscsih_info_scsiio()
545 "sc->result = %08X\n", ioc->name, le16_to_cpu(pScsiReply->TaskTag), in mptscsih_info_scsiio()
550 ioc->name, desc, ioc_status, desc1, pScsiReply->SCSIStatus, in mptscsih_info_scsiio()
559 "[0x%02x,0x%02x,0x%02x]\n", ioc->name, skey, asc, ascq); in mptscsih_info_scsiio()
568 ioc->name, le32_to_cpu(pScsiReply->ResponseInfo)); in mptscsih_info_scsiio()
588 mptscsih_io_done(MPT_ADAPTER *ioc, MPT_FRAME_HDR *mf, MPT_FRAME_HDR *mr) in mptscsih_io_done() argument
598 hd = shost_priv(ioc->sh); in mptscsih_io_done()
611 sc = mptscsih_getclear_scsi_lookup(ioc, req_idx); in mptscsih_io_done()
621 ioc->name); in mptscsih_io_done()
623 mptscsih_freeChainBuffers(ioc, req_idx); in mptscsih_io_done()
628 mptscsih_freeChainBuffers(ioc, req_idx); in mptscsih_io_done()
632 if (ioc->bus_type == SAS) { in mptscsih_io_done()
647 if((ioc->facts.MsgVersion >= MPI_VERSION_01_05) && pScsiReply){ in mptscsih_io_done()
648 dmfprintk(ioc, printk(MYIOC_s_DEBUG_FMT in mptscsih_io_done()
650 ioc->name, mf, mr, sc, req_idx, pScsiReply->TaskTag)); in mptscsih_io_done()
652 dmfprintk(ioc, printk(MYIOC_s_DEBUG_FMT in mptscsih_io_done()
654 ioc->name, mf, mr, sc, req_idx)); in mptscsih_io_done()
696 "FCP_ResponseInfo=%08xh\n", ioc->name, in mptscsih_io_done()
720 if (ioc->bus_type != FC) in mptscsih_io_done()
734 mptscsih_issue_sep_command(ioc, vtarget, in mptscsih_io_done()
741 if ( ioc->bus_type == SAS ) { in mptscsih_io_done()
773 } else if (ioc->bus_type == FC) { in mptscsih_io_done()
798 if (ioc->bus_type == FC) in mptscsih_io_done()
810 dreplyprintk(ioc, printk(MYIOC_s_DEBUG_FMT in mptscsih_io_done()
812 ioc->name, sc->result, sc->device->channel, sc->device->id)); in mptscsih_io_done()
830 if (ioc->bus_type == SPI) { in mptscsih_io_done()
870 dreplyprintk(ioc, printk(MYIOC_s_DEBUG_FMT in mptscsih_io_done()
872 ioc->name, sc->underflow)); in mptscsih_io_done()
873 dreplyprintk(ioc, printk(MYIOC_s_DEBUG_FMT in mptscsih_io_done()
874 " ActBytesXferd=%02xh\n", ioc->name, xfer_cnt)); in mptscsih_io_done()
901 if ((ioc->bus_type == SPI) && in mptscsih_io_done()
1003 if (sc->result && (ioc->debug_level & MPT_DEBUG_REPLY)) in mptscsih_io_done()
1004 mptscsih_info_scsiio(ioc, sc, pScsiReply); in mptscsih_io_done()
1015 mptscsih_freeChainBuffers(ioc, req_idx); in mptscsih_io_done()
1032 MPT_ADAPTER *ioc = hd->ioc; in mptscsih_flush_running_cmds() local
1038 for (ii= 0; ii < ioc->req_depth; ii++) { in mptscsih_flush_running_cmds()
1039 sc = mptscsih_getclear_scsi_lookup(ioc, ii); in mptscsih_flush_running_cmds()
1042 mf = (SCSIIORequest_t *)MPT_INDEX_2_MFPTR(ioc, ii); in mptscsih_flush_running_cmds()
1047 mptscsih_freeChainBuffers(ioc, ii); in mptscsih_flush_running_cmds()
1048 mpt_free_msg_frame(ioc, (MPT_FRAME_HDR *)mf); in mptscsih_flush_running_cmds()
1054 dtmprintk(ioc, sdev_printk(KERN_INFO, sc->device, MYIOC_s_FMT in mptscsih_flush_running_cmds()
1056 "idx=%x\n", ioc->name, channel, id, sc, mf, ii)); in mptscsih_flush_running_cmds()
1083 MPT_ADAPTER *ioc = hd->ioc; in mptscsih_search_running_cmds() local
1086 spin_lock_irqsave(&ioc->scsi_lookup_lock, flags); in mptscsih_search_running_cmds()
1087 for (ii = 0; ii < ioc->req_depth; ii++) { in mptscsih_search_running_cmds()
1088 if ((sc = ioc->ScsiLookup[ii]) != NULL) { in mptscsih_search_running_cmds()
1090 mf = (SCSIIORequest_t *)MPT_INDEX_2_MFPTR(ioc, ii); in mptscsih_search_running_cmds()
1109 ioc->ScsiLookup[ii] = NULL; in mptscsih_search_running_cmds()
1110 spin_unlock_irqrestore(&ioc->scsi_lookup_lock, flags); in mptscsih_search_running_cmds()
1111 mptscsih_freeChainBuffers(ioc, ii); in mptscsih_search_running_cmds()
1112 mpt_free_msg_frame(ioc, (MPT_FRAME_HDR *)mf); in mptscsih_search_running_cmds()
1116 dtmprintk(ioc, sdev_printk(KERN_INFO, sc->device, in mptscsih_search_running_cmds()
1118 "fw_id %d, sc=%p, mf = %p, idx=%x\n", ioc->name, in mptscsih_search_running_cmds()
1122 spin_lock_irqsave(&ioc->scsi_lookup_lock, flags); in mptscsih_search_running_cmds()
1125 spin_unlock_irqrestore(&ioc->scsi_lookup_lock, flags); in mptscsih_search_running_cmds()
1148 MPT_ADAPTER *ioc; in mptscsih_report_queue_full() local
1156 ioc = hd->ioc; in mptscsih_report_queue_full()
1158 dprintk(ioc, printk(MYIOC_s_WARN_FMT "Device (%d:%d:%llu) reported QUEUE_FULL!\n", in mptscsih_report_queue_full()
1159 ioc->name, 0, sc->device->id, sc->device->lun)); in mptscsih_report_queue_full()
1174 MPT_ADAPTER *ioc = pci_get_drvdata(pdev); in mptscsih_remove() local
1175 struct Scsi_Host *host = ioc->sh; in mptscsih_remove()
1188 if (ioc->ScsiLookup != NULL) { in mptscsih_remove()
1189 sz1 = ioc->req_depth * sizeof(void *); in mptscsih_remove()
1190 kfree(ioc->ScsiLookup); in mptscsih_remove()
1191 ioc->ScsiLookup = NULL; in mptscsih_remove()
1194 dprintk(ioc, printk(MYIOC_s_DEBUG_FMT in mptscsih_remove()
1196 ioc->name, sz1)); in mptscsih_remove()
1202 ioc->sh = NULL; in mptscsih_remove()
1230 MPT_ADAPTER *ioc = pci_get_drvdata(pdev); in mptscsih_suspend() local
1232 scsi_block_requests(ioc->sh); in mptscsih_suspend()
1247 MPT_ADAPTER *ioc = pci_get_drvdata(pdev); in mptscsih_resume() local
1251 scsi_unblock_requests(ioc->sh); in mptscsih_resume()
1279 mpt_print_ioc_summary(h->ioc, h->info_kbuf, &size, 0, 0); in mptscsih_info()
1288 MPT_ADAPTER *ioc = hd->ioc; in mptscsih_show_info() local
1290 seq_printf(m, "%s: %s, ", ioc->name, ioc->prod_name); in mptscsih_show_info()
1291 seq_printf(m, "%s%08xh, ", MPT_FW_REV_MAGIC_ID_STRING, ioc->facts.FWVersion.Word); in mptscsih_show_info()
1292 seq_printf(m, "Ports=%d, ", ioc->facts.NumberOfPorts); in mptscsih_show_info()
1293 seq_printf(m, "MaxQ=%d\n", ioc->req_depth); in mptscsih_show_info()
1325 MPT_ADAPTER *ioc; in mptscsih_qcmd() local
1328 ioc = hd->ioc; in mptscsih_qcmd()
1330 dmfprintk(ioc, printk(MYIOC_s_DEBUG_FMT "qcmd: SCpnt=%p\n", in mptscsih_qcmd()
1331 ioc->name, SCpnt)); in mptscsih_qcmd()
1333 if (ioc->taskmgmt_quiesce_io) in mptscsih_qcmd()
1339 if ((mf = mpt_get_msg_frame(ioc->DoneCtx, ioc)) == NULL) { in mptscsih_qcmd()
1340 dprintk(ioc, printk(MYIOC_s_WARN_FMT "QueueCmd, no msg frames!!\n", in mptscsih_qcmd()
1341 ioc->name)); in mptscsih_qcmd()
1393 pScsiReq->MsgFlags = mpt_msg_flags(ioc); in mptscsih_qcmd()
1411 pScsiReq->SenseBufferLowAddr = cpu_to_le32(ioc->sense_buf_low_dma in mptscsih_qcmd()
1419 ioc->add_sge((char *)&pScsiReq->SGL, in mptscsih_qcmd()
1424 if (mptscsih_AddSGE(ioc, SCpnt, pScsiReq, my_idx) != SUCCESS) in mptscsih_qcmd()
1429 mptscsih_set_scsi_lookup(ioc, my_idx, SCpnt); in mptscsih_qcmd()
1431 mpt_put_msg_frame(ioc->DoneCtx, ioc, mf); in mptscsih_qcmd()
1432 dmfprintk(ioc, printk(MYIOC_s_DEBUG_FMT "Issued SCSI cmd (%p) mf=%p idx=%d\n", in mptscsih_qcmd()
1433 ioc->name, SCpnt, mf, my_idx)); in mptscsih_qcmd()
1434 DBG_DUMP_REQUEST_FRAME(ioc, (u32 *)mf); in mptscsih_qcmd()
1438 mptscsih_freeChainBuffers(ioc, my_idx); in mptscsih_qcmd()
1439 mpt_free_msg_frame(ioc, mf); in mptscsih_qcmd()
1454 mptscsih_freeChainBuffers(MPT_ADAPTER *ioc, int req_idx) in mptscsih_freeChainBuffers() argument
1464 chain_idx = ioc->ReqToChain[req_idx]; in mptscsih_freeChainBuffers()
1465 ioc->ReqToChain[req_idx] = MPT_HOST_NO_CHAIN; in mptscsih_freeChainBuffers()
1470 next = ioc->ChainToChain[chain_idx]; in mptscsih_freeChainBuffers()
1475 ioc->ChainToChain[chain_idx] = MPT_HOST_NO_CHAIN; in mptscsih_freeChainBuffers()
1477 chain = (MPT_FRAME_HDR *) (ioc->ChainBuffer in mptscsih_freeChainBuffers()
1478 + (chain_idx * ioc->req_sz)); in mptscsih_freeChainBuffers()
1480 spin_lock_irqsave(&ioc->FreeQlock, flags); in mptscsih_freeChainBuffers()
1481 list_add_tail(&chain->u.frame.linkage.list, &ioc->FreeChainQ); in mptscsih_freeChainBuffers()
1482 spin_unlock_irqrestore(&ioc->FreeQlock, flags); in mptscsih_freeChainBuffers()
1484 dmfprintk(ioc, printk(MYIOC_s_DEBUG_FMT "FreeChainBuffers (index %d)\n", in mptscsih_freeChainBuffers()
1485 ioc->name, chain_idx)); in mptscsih_freeChainBuffers()
1525 MPT_ADAPTER *ioc = hd->ioc; in mptscsih_IssueTaskMgmt() local
1532 ioc_raw_state = mpt_GetIocState(ioc, 0); in mptscsih_IssueTaskMgmt()
1537 ioc->name, type, ioc_raw_state); in mptscsih_IssueTaskMgmt()
1539 ioc->name, __func__); in mptscsih_IssueTaskMgmt()
1540 if (mpt_HardResetHandler(ioc, CAN_SLEEP) < 0) in mptscsih_IssueTaskMgmt()
1542 "FAILED!!\n", ioc->name); in mptscsih_IssueTaskMgmt()
1550 if (!((ioc->facts.IOCCapabilities & MPI_IOCFACTS_CAPABILITY_HIGH_PRI_Q) in mptscsih_IssueTaskMgmt()
1551 && (ioc->facts.MsgVersion >= MPI_VERSION_01_05)) && in mptscsih_IssueTaskMgmt()
1556 ioc->name, type, ioc_raw_state); in mptscsih_IssueTaskMgmt()
1560 mutex_lock(&ioc->taskmgmt_cmds.mutex); in mptscsih_IssueTaskMgmt()
1561 if (mpt_set_taskmgmt_in_progress_flag(ioc) != 0) { in mptscsih_IssueTaskMgmt()
1569 if ((mf = mpt_get_msg_frame(ioc->TaskCtx, ioc)) == NULL) { in mptscsih_IssueTaskMgmt()
1570 dfailprintk(ioc, printk(MYIOC_s_ERR_FMT in mptscsih_IssueTaskMgmt()
1571 "TaskMgmt no msg frames!!\n", ioc->name)); in mptscsih_IssueTaskMgmt()
1573 mpt_clear_taskmgmt_in_progress_flag(ioc); in mptscsih_IssueTaskMgmt()
1576 dtmprintk(ioc, printk(MYIOC_s_DEBUG_FMT "TaskMgmt request (mf=%p)\n", in mptscsih_IssueTaskMgmt()
1577 ioc->name, mf)); in mptscsih_IssueTaskMgmt()
1600 dtmprintk(ioc, printk(MYIOC_s_DEBUG_FMT "TaskMgmt: ctx2abort (0x%08x) " in mptscsih_IssueTaskMgmt()
1601 "task_type = 0x%02X, timeout = %ld\n", ioc->name, ctx2abort, in mptscsih_IssueTaskMgmt()
1604 DBG_DUMP_TM_REQUEST_FRAME(ioc, (u32 *)pScsiTm); in mptscsih_IssueTaskMgmt()
1606 INITIALIZE_MGMT_STATUS(ioc->taskmgmt_cmds.status) in mptscsih_IssueTaskMgmt()
1608 if ((ioc->facts.IOCCapabilities & MPI_IOCFACTS_CAPABILITY_HIGH_PRI_Q) && in mptscsih_IssueTaskMgmt()
1609 (ioc->facts.MsgVersion >= MPI_VERSION_01_05)) in mptscsih_IssueTaskMgmt()
1610 mpt_put_msg_frame_hi_pri(ioc->TaskCtx, ioc, mf); in mptscsih_IssueTaskMgmt()
1612 retval = mpt_send_handshake_request(ioc->TaskCtx, ioc, in mptscsih_IssueTaskMgmt()
1615 dfailprintk(ioc, printk(MYIOC_s_ERR_FMT in mptscsih_IssueTaskMgmt()
1617 ioc->name, mf, retval)); in mptscsih_IssueTaskMgmt()
1618 mpt_free_msg_frame(ioc, mf); in mptscsih_IssueTaskMgmt()
1619 mpt_clear_taskmgmt_in_progress_flag(ioc); in mptscsih_IssueTaskMgmt()
1624 timeleft = wait_for_completion_timeout(&ioc->taskmgmt_cmds.done, in mptscsih_IssueTaskMgmt()
1626 if (!(ioc->taskmgmt_cmds.status & MPT_MGMT_STATUS_COMMAND_GOOD)) { in mptscsih_IssueTaskMgmt()
1628 dtmprintk(ioc, printk(MYIOC_s_ERR_FMT in mptscsih_IssueTaskMgmt()
1629 "TaskMgmt TIMED OUT!(mf=%p)\n", ioc->name, mf)); in mptscsih_IssueTaskMgmt()
1630 mpt_clear_taskmgmt_in_progress_flag(ioc); in mptscsih_IssueTaskMgmt()
1631 if (ioc->taskmgmt_cmds.status & MPT_MGMT_STATUS_DID_IOCRESET) in mptscsih_IssueTaskMgmt()
1637 retval = mptscsih_taskmgmt_reply(ioc, type, in mptscsih_IssueTaskMgmt()
1638 (SCSITaskMgmtReply_t *) ioc->taskmgmt_cmds.reply); in mptscsih_IssueTaskMgmt()
1640 dtmprintk(ioc, printk(MYIOC_s_DEBUG_FMT in mptscsih_IssueTaskMgmt()
1642 ioc->name, jiffies_to_msecs(jiffies - time_count)/1000)); in mptscsih_IssueTaskMgmt()
1646 CLEAR_MGMT_STATUS(ioc->taskmgmt_cmds.status) in mptscsih_IssueTaskMgmt()
1650 ioc->name, __func__, mpt_GetIocState(ioc, 0)); in mptscsih_IssueTaskMgmt()
1651 retval = (ioc->bus_type == SAS) ? in mptscsih_IssueTaskMgmt()
1652 mpt_HardResetHandler(ioc, CAN_SLEEP) : in mptscsih_IssueTaskMgmt()
1653 mpt_Soft_Hard_ResetHandler(ioc, CAN_SLEEP); in mptscsih_IssueTaskMgmt()
1654 mpt_free_msg_frame(ioc, mf); in mptscsih_IssueTaskMgmt()
1658 mutex_unlock(&ioc->taskmgmt_cmds.mutex); in mptscsih_IssueTaskMgmt()
1664 mptscsih_get_tm_timeout(MPT_ADAPTER *ioc) in mptscsih_get_tm_timeout() argument
1666 switch (ioc->bus_type) { in mptscsih_get_tm_timeout()
1695 MPT_ADAPTER *ioc; in mptscsih_abort() local
1707 ioc = hd->ioc; in mptscsih_abort()
1709 ioc->name, SCpnt); in mptscsih_abort()
1714 dtmprintk(ioc, printk(MYIOC_s_DEBUG_FMT in mptscsih_abort()
1716 ioc->name, SCpnt)); in mptscsih_abort()
1726 dtmprintk(ioc, printk(MYIOC_s_DEBUG_FMT in mptscsih_abort()
1728 ioc->name, SCpnt)); in mptscsih_abort()
1737 dtmprintk(ioc, printk(MYIOC_s_DEBUG_FMT in mptscsih_abort()
1739 ioc->name, SCpnt)); in mptscsih_abort()
1747 if ((scpnt_idx = SCPNT_TO_LOOKUP_IDX(ioc, SCpnt)) < 0) { in mptscsih_abort()
1752 dtmprintk(ioc, printk(MYIOC_s_DEBUG_FMT "task abort: " in mptscsih_abort()
1753 "Command not in the active list! (sc=%p)\n", ioc->name, in mptscsih_abort()
1759 if (ioc->timeouts < -1) in mptscsih_abort()
1760 ioc->timeouts++; in mptscsih_abort()
1763 mpt_halt_firmware(ioc); in mptscsih_abort()
1772 mf = MPT_INDEX_2_MFPTR(ioc, scpnt_idx); in mptscsih_abort()
1778 ctx2abort, mptscsih_get_tm_timeout(ioc)); in mptscsih_abort()
1780 if (SCPNT_TO_LOOKUP_IDX(ioc, SCpnt) == scpnt_idx) { in mptscsih_abort()
1781 dtmprintk(ioc, printk(MYIOC_s_DEBUG_FMT in mptscsih_abort()
1783 ioc->name, SCpnt)); in mptscsih_abort()
1786 dtmprintk(ioc, printk(MYIOC_s_DEBUG_FMT in mptscsih_abort()
1788 ioc->name, SCpnt)); in mptscsih_abort()
1794 ioc->name, ((retval == SUCCESS) ? "SUCCESS" : "FAILED"), retval, in mptscsih_abort()
1815 MPT_ADAPTER *ioc; in mptscsih_dev_reset() local
1825 ioc = hd->ioc; in mptscsih_dev_reset()
1827 ioc->name, SCpnt); in mptscsih_dev_reset()
1847 mptscsih_get_tm_timeout(ioc)); in mptscsih_dev_reset()
1851 ioc->name, ((retval == 0) ? "SUCCESS" : "FAILED" ), SCpnt); in mptscsih_dev_reset()
1875 MPT_ADAPTER *ioc; in mptscsih_bus_reset() local
1885 ioc = hd->ioc; in mptscsih_bus_reset()
1887 ioc->name, SCpnt); in mptscsih_bus_reset()
1890 if (ioc->timeouts < -1) in mptscsih_bus_reset()
1891 ioc->timeouts++; in mptscsih_bus_reset()
1899 mptscsih_get_tm_timeout(ioc)); in mptscsih_bus_reset()
1902 ioc->name, ((retval == 0) ? "SUCCESS" : "FAILED" ), SCpnt); in mptscsih_bus_reset()
1924 MPT_ADAPTER *ioc; in mptscsih_host_reset() local
1937 ioc = hd->ioc; in mptscsih_host_reset()
1939 ioc->name, SCpnt); in mptscsih_host_reset()
1944 retval = mpt_Soft_Hard_ResetHandler(ioc, CAN_SLEEP); in mptscsih_host_reset()
1951 ioc->name, ((retval == 0) ? "SUCCESS" : "FAILED" ), SCpnt); in mptscsih_host_reset()
1957 mptscsih_taskmgmt_reply(MPT_ADAPTER *ioc, u8 type, in mptscsih_taskmgmt_reply() argument
1964 if (!(ioc->taskmgmt_cmds.status & MPT_MGMT_STATUS_RF_VALID)) { in mptscsih_taskmgmt_reply()
1969 DBG_DUMP_TM_REPLY_FRAME(ioc, (u32 *)pScsiTmReply); in mptscsih_taskmgmt_reply()
1974 dtmprintk(ioc, printk(MYIOC_s_DEBUG_FMT in mptscsih_taskmgmt_reply()
1977 "\tterm_cmnds = %d\n", ioc->name, pScsiTmReply->Bus, in mptscsih_taskmgmt_reply()
1982 if (ioc->facts.MsgVersion >= MPI_VERSION_01_05 && in mptscsih_taskmgmt_reply()
1984 mptscsih_taskmgmt_response_code(ioc, in mptscsih_taskmgmt_reply()
2009 mptscsih_taskmgmt_response_code(MPT_ADAPTER *ioc, u8 response_code) in mptscsih_taskmgmt_response_code() argument
2040 ioc->name, response_code, desc); in mptscsih_taskmgmt_response_code()
2059 mptscsih_taskmgmt_complete(MPT_ADAPTER *ioc, MPT_FRAME_HDR *mf, in mptscsih_taskmgmt_complete() argument
2062 dtmprintk(ioc, printk(MYIOC_s_DEBUG_FMT in mptscsih_taskmgmt_complete()
2063 "TaskMgmt completed (mf=%p, mr=%p)\n", ioc->name, mf, mr)); in mptscsih_taskmgmt_complete()
2065 ioc->taskmgmt_cmds.status |= MPT_MGMT_STATUS_COMMAND_GOOD; in mptscsih_taskmgmt_complete()
2070 ioc->taskmgmt_cmds.status |= MPT_MGMT_STATUS_RF_VALID; in mptscsih_taskmgmt_complete()
2071 memcpy(ioc->taskmgmt_cmds.reply, mr, in mptscsih_taskmgmt_complete()
2074 if (ioc->taskmgmt_cmds.status & MPT_MGMT_STATUS_PENDING) { in mptscsih_taskmgmt_complete()
2075 mpt_clear_taskmgmt_in_progress_flag(ioc); in mptscsih_taskmgmt_complete()
2076 ioc->taskmgmt_cmds.status &= ~MPT_MGMT_STATUS_PENDING; in mptscsih_taskmgmt_complete()
2077 complete(&ioc->taskmgmt_cmds.done); in mptscsih_taskmgmt_complete()
2078 if (ioc->bus_type == SAS) in mptscsih_taskmgmt_complete()
2079 ioc->schedule_target_reset(ioc); in mptscsih_taskmgmt_complete()
2129 mptscsih_is_phys_disk(MPT_ADAPTER *ioc, u8 channel, u8 id) in mptscsih_is_phys_disk() argument
2137 if (!ioc->raid_data.pIocPg3) in mptscsih_is_phys_disk()
2139 for (i = 0; i < ioc->raid_data.pIocPg3->NumPhysDisks; i++) { in mptscsih_is_phys_disk()
2140 if ((id == ioc->raid_data.pIocPg3->PhysDisk[i].PhysDiskID) && in mptscsih_is_phys_disk()
2141 (channel == ioc->raid_data.pIocPg3->PhysDisk[i].PhysDiskBus)) { in mptscsih_is_phys_disk()
2147 if (ioc->bus_type != SAS) in mptscsih_is_phys_disk()
2153 for (i = 0; i < ioc->raid_data.pIocPg3->NumPhysDisks; i++) { in mptscsih_is_phys_disk()
2154 num_paths = mpt_raid_phys_disk_get_num_paths(ioc, in mptscsih_is_phys_disk()
2155 ioc->raid_data.pIocPg3->PhysDisk[i].PhysDiskNum); in mptscsih_is_phys_disk()
2162 if ((mpt_raid_phys_disk_pg1(ioc, in mptscsih_is_phys_disk()
2163 ioc->raid_data.pIocPg3->PhysDisk[i].PhysDiskNum, in mptscsih_is_phys_disk()
2189 if (list_empty(&ioc->raid_data.inactive_list)) in mptscsih_is_phys_disk()
2192 mutex_lock(&ioc->raid_data.inactive_list_mutex); in mptscsih_is_phys_disk()
2193 list_for_each_entry(component_info, &ioc->raid_data.inactive_list, in mptscsih_is_phys_disk()
2199 mutex_unlock(&ioc->raid_data.inactive_list_mutex); in mptscsih_is_phys_disk()
2207 mptscsih_raid_id_to_num(MPT_ADAPTER *ioc, u8 channel, u8 id) in mptscsih_raid_id_to_num() argument
2215 if (!ioc->raid_data.pIocPg3) in mptscsih_raid_id_to_num()
2217 for (i = 0; i < ioc->raid_data.pIocPg3->NumPhysDisks; i++) { in mptscsih_raid_id_to_num()
2218 if ((id == ioc->raid_data.pIocPg3->PhysDisk[i].PhysDiskID) && in mptscsih_raid_id_to_num()
2219 (channel == ioc->raid_data.pIocPg3->PhysDisk[i].PhysDiskBus)) { in mptscsih_raid_id_to_num()
2220 rc = ioc->raid_data.pIocPg3->PhysDisk[i].PhysDiskNum; in mptscsih_raid_id_to_num()
2225 if (ioc->bus_type != SAS) in mptscsih_raid_id_to_num()
2231 for (i = 0; i < ioc->raid_data.pIocPg3->NumPhysDisks; i++) { in mptscsih_raid_id_to_num()
2232 num_paths = mpt_raid_phys_disk_get_num_paths(ioc, in mptscsih_raid_id_to_num()
2233 ioc->raid_data.pIocPg3->PhysDisk[i].PhysDiskNum); in mptscsih_raid_id_to_num()
2240 if ((mpt_raid_phys_disk_pg1(ioc, in mptscsih_raid_id_to_num()
2241 ioc->raid_data.pIocPg3->PhysDisk[i].PhysDiskNum, in mptscsih_raid_id_to_num()
2266 if (list_empty(&ioc->raid_data.inactive_list)) in mptscsih_raid_id_to_num()
2269 mutex_lock(&ioc->raid_data.inactive_list_mutex); in mptscsih_raid_id_to_num()
2270 list_for_each_entry(component_info, &ioc->raid_data.inactive_list, in mptscsih_raid_id_to_num()
2276 mutex_unlock(&ioc->raid_data.inactive_list_mutex); in mptscsih_raid_id_to_num()
2324 MPT_ADAPTER *ioc = hd->ioc; in mptscsih_change_queue_depth() local
2329 if (ioc->bus_type == SPI) { in mptscsih_change_queue_depth()
2338 max_depth = ioc->sh->can_queue; in mptscsih_change_queue_depth()
2363 MPT_ADAPTER *ioc = hd->ioc; in mptscsih_slave_configure() local
2369 dsprintk(ioc, printk(MYIOC_s_DEBUG_FMT in mptscsih_slave_configure()
2371 ioc->name, sdev, sdev->channel, sdev->id, sdev->lun)); in mptscsih_slave_configure()
2372 if (ioc->bus_type == SPI) in mptscsih_slave_configure()
2373 dsprintk(ioc, printk(MYIOC_s_DEBUG_FMT in mptscsih_slave_configure()
2375 ioc->name, sdev->sdtr, sdev->wdtr, in mptscsih_slave_configure()
2380 dsprintk(ioc, printk(MYIOC_s_DEBUG_FMT in mptscsih_slave_configure()
2382 ioc->name, sdev->queue_depth, vtarget->tflags)); in mptscsih_slave_configure()
2384 if (ioc->bus_type == SPI) in mptscsih_slave_configure()
2385 dsprintk(ioc, printk(MYIOC_s_DEBUG_FMT in mptscsih_slave_configure()
2387 ioc->name, vtarget->negoFlags, vtarget->maxOffset, in mptscsih_slave_configure()
2391 dsprintk(ioc, printk(MYIOC_s_DEBUG_FMT in mptscsih_slave_configure()
2393 ioc->name,sdev->tagged_supported, sdev->simple_tags)); in mptscsih_slave_configure()
2416 MPT_ADAPTER *ioc = hd->ioc; in mptscsih_copy_sense_data() local
2429 sense_data = ((u8 *)ioc->sense_buf_pool + (req_index * MPT_SENSE_BUFFER_ALLOC)); in mptscsih_copy_sense_data()
2434 if ((ioc->events) && (ioc->eventTypes & (1 << MPI_EVENT_SCSI_DEVICE_STATUS_CHANGE))) { in mptscsih_copy_sense_data()
2438 idx = ioc->eventContext % MPTCTL_EVENT_LOG_SIZE; in mptscsih_copy_sense_data()
2439 ioc->events[idx].event = MPI_EVENT_SCSI_DEVICE_STATUS_CHANGE; in mptscsih_copy_sense_data()
2440 ioc->events[idx].eventContext = ioc->eventContext; in mptscsih_copy_sense_data()
2442 ioc->events[idx].data[0] = (pReq->LUN[1] << 24) | in mptscsih_copy_sense_data()
2446 ioc->events[idx].data[1] = (sense_data[13] << 8) | sense_data[12]; in mptscsih_copy_sense_data()
2448 ioc->eventContext++; in mptscsih_copy_sense_data()
2449 if (ioc->pcidev->vendor == in mptscsih_copy_sense_data()
2451 mptscsih_issue_sep_command(ioc, in mptscsih_copy_sense_data()
2459 dprintk(ioc, printk(MYIOC_s_DEBUG_FMT "Hmmm... SenseData len=0! (?)\n", in mptscsih_copy_sense_data()
2460 ioc->name)); in mptscsih_copy_sense_data()
2472 mptscsih_get_scsi_lookup(MPT_ADAPTER *ioc, int i) in mptscsih_get_scsi_lookup() argument
2477 spin_lock_irqsave(&ioc->scsi_lookup_lock, flags); in mptscsih_get_scsi_lookup()
2478 scmd = ioc->ScsiLookup[i]; in mptscsih_get_scsi_lookup()
2479 spin_unlock_irqrestore(&ioc->scsi_lookup_lock, flags); in mptscsih_get_scsi_lookup()
2494 mptscsih_getclear_scsi_lookup(MPT_ADAPTER *ioc, int i) in mptscsih_getclear_scsi_lookup() argument
2499 spin_lock_irqsave(&ioc->scsi_lookup_lock, flags); in mptscsih_getclear_scsi_lookup()
2500 scmd = ioc->ScsiLookup[i]; in mptscsih_getclear_scsi_lookup()
2501 ioc->ScsiLookup[i] = NULL; in mptscsih_getclear_scsi_lookup()
2502 spin_unlock_irqrestore(&ioc->scsi_lookup_lock, flags); in mptscsih_getclear_scsi_lookup()
2516 mptscsih_set_scsi_lookup(MPT_ADAPTER *ioc, int i, struct scsi_cmnd *scmd) in mptscsih_set_scsi_lookup() argument
2520 spin_lock_irqsave(&ioc->scsi_lookup_lock, flags); in mptscsih_set_scsi_lookup()
2521 ioc->ScsiLookup[i] = scmd; in mptscsih_set_scsi_lookup()
2522 spin_unlock_irqrestore(&ioc->scsi_lookup_lock, flags); in mptscsih_set_scsi_lookup()
2531 SCPNT_TO_LOOKUP_IDX(MPT_ADAPTER *ioc, struct scsi_cmnd *sc) in SCPNT_TO_LOOKUP_IDX() argument
2536 spin_lock_irqsave(&ioc->scsi_lookup_lock, flags); in SCPNT_TO_LOOKUP_IDX()
2537 for (i = 0; i < ioc->req_depth; i++) { in SCPNT_TO_LOOKUP_IDX()
2538 if (ioc->ScsiLookup[i] == sc) { in SCPNT_TO_LOOKUP_IDX()
2545 spin_unlock_irqrestore(&ioc->scsi_lookup_lock, flags); in SCPNT_TO_LOOKUP_IDX()
2551 mptscsih_ioc_reset(MPT_ADAPTER *ioc, int reset_phase) in mptscsih_ioc_reset() argument
2555 if (ioc->sh == NULL || shost_priv(ioc->sh) == NULL) in mptscsih_ioc_reset()
2558 hd = shost_priv(ioc->sh); in mptscsih_ioc_reset()
2561 dtmprintk(ioc, printk(MYIOC_s_DEBUG_FMT in mptscsih_ioc_reset()
2562 "%s: MPT_IOC_SETUP_RESET\n", ioc->name, __func__)); in mptscsih_ioc_reset()
2565 dtmprintk(ioc, printk(MYIOC_s_DEBUG_FMT in mptscsih_ioc_reset()
2566 "%s: MPT_IOC_PRE_RESET\n", ioc->name, __func__)); in mptscsih_ioc_reset()
2570 dtmprintk(ioc, printk(MYIOC_s_DEBUG_FMT in mptscsih_ioc_reset()
2571 "%s: MPT_IOC_POST_RESET\n", ioc->name, __func__)); in mptscsih_ioc_reset()
2572 if (ioc->internal_cmds.status & MPT_MGMT_STATUS_PENDING) { in mptscsih_ioc_reset()
2573 ioc->internal_cmds.status |= in mptscsih_ioc_reset()
2575 complete(&ioc->internal_cmds.done); in mptscsih_ioc_reset()
2586 mptscsih_event_process(MPT_ADAPTER *ioc, EventNotificationReply_t *pEvReply) in mptscsih_event_process() argument
2590 devtverboseprintk(ioc, printk(MYIOC_s_DEBUG_FMT in mptscsih_event_process()
2592 ioc->name, event)); in mptscsih_event_process()
2596 (ioc->bus_type == SPI) && (ioc->soft_resets < -1)) in mptscsih_event_process()
2597 ioc->soft_resets++; in mptscsih_event_process()
2628 mptscsih_scandv_complete(MPT_ADAPTER *ioc, MPT_FRAME_HDR *req, in mptscsih_scandv_complete() argument
2638 ioc->internal_cmds.status |= MPT_MGMT_STATUS_COMMAND_GOOD; in mptscsih_scandv_complete()
2639 ioc->internal_cmds.completion_code = MPT_SCANDV_GOOD; in mptscsih_scandv_complete()
2645 ioc->internal_cmds.completion_code = in mptscsih_scandv_complete()
2646 mptscsih_get_completion_code(ioc, req, reply); in mptscsih_scandv_complete()
2647 ioc->internal_cmds.status |= MPT_MGMT_STATUS_RF_VALID; in mptscsih_scandv_complete()
2648 memcpy(ioc->internal_cmds.reply, reply, in mptscsih_scandv_complete()
2655 sense_data = ((u8 *)ioc->sense_buf_pool + in mptscsih_scandv_complete()
2659 memcpy(ioc->internal_cmds.sense, sense_data, sz); in mptscsih_scandv_complete()
2662 if (!(ioc->internal_cmds.status & MPT_MGMT_STATUS_PENDING)) in mptscsih_scandv_complete()
2664 ioc->internal_cmds.status &= ~MPT_MGMT_STATUS_PENDING; in mptscsih_scandv_complete()
2665 complete(&ioc->internal_cmds.done); in mptscsih_scandv_complete()
2678 mptscsih_get_completion_code(MPT_ADAPTER *ioc, MPT_FRAME_HDR *req, in mptscsih_get_completion_code() argument
2691 devtprintk(ioc, printk(MYIOC_s_DEBUG_FMT in mptscsih_get_completion_code()
2693 "IOCLogInfo=%08xh\n", ioc->name, status, pReply->SCSIState, in mptscsih_get_completion_code()
2755 devtprintk(ioc, printk(MYIOC_s_DEBUG_FMT in mptscsih_get_completion_code()
2756 " completionCode set to %08xh\n", ioc->name, completion_code)); in mptscsih_get_completion_code()
2790 MPT_ADAPTER *ioc = hd->ioc; in mptscsih_do_cmd() local
2796 spin_lock_irqsave(&ioc->taskmgmt_lock, flags); in mptscsih_do_cmd()
2797 if (ioc->ioc_reset_in_progress) { in mptscsih_do_cmd()
2798 spin_unlock_irqrestore(&ioc->taskmgmt_lock, flags); in mptscsih_do_cmd()
2799 dfailprintk(ioc, printk(MYIOC_s_DEBUG_FMT in mptscsih_do_cmd()
2800 "%s: busy with host reset\n", ioc->name, __func__)); in mptscsih_do_cmd()
2803 spin_unlock_irqrestore(&ioc->taskmgmt_lock, flags); in mptscsih_do_cmd()
2805 mutex_lock(&ioc->internal_cmds.mutex); in mptscsih_do_cmd()
2905 if ((mf = mpt_get_msg_frame(ioc->InternalCtx, ioc)) == NULL) { in mptscsih_do_cmd()
2906 dfailprintk(ioc, printk(MYIOC_s_WARN_FMT "%s: No msg frames!\n", in mptscsih_do_cmd()
2907 ioc->name, __func__)); in mptscsih_do_cmd()
2935 pScsiReq->MsgFlags = mpt_msg_flags(ioc); in mptscsih_do_cmd()
2947 devtprintk(ioc, printk(MYIOC_s_DEBUG_FMT in mptscsih_do_cmd()
2948 "%s: Untagged! 0x%02x\n", ioc->name, __func__, cmd)); in mptscsih_do_cmd()
2955 pScsiReq->SenseBufferLowAddr = cpu_to_le32(ioc->sense_buf_low_dma in mptscsih_do_cmd()
2958 devtprintk(ioc, printk(MYIOC_s_DEBUG_FMT in mptscsih_do_cmd()
2960 ioc->name, __func__, cmd, io->channel, io->id, io->lun)); in mptscsih_do_cmd()
2963 ioc->add_sge((char *) &pScsiReq->SGL, in mptscsih_do_cmd()
2966 ioc->add_sge((char *) &pScsiReq->SGL, in mptscsih_do_cmd()
2969 INITIALIZE_MGMT_STATUS(ioc->internal_cmds.status) in mptscsih_do_cmd()
2970 mpt_put_msg_frame(ioc->InternalCtx, ioc, mf); in mptscsih_do_cmd()
2971 timeleft = wait_for_completion_timeout(&ioc->internal_cmds.done, in mptscsih_do_cmd()
2973 if (!(ioc->internal_cmds.status & MPT_MGMT_STATUS_COMMAND_GOOD)) { in mptscsih_do_cmd()
2975 dfailprintk(ioc, printk(MYIOC_s_DEBUG_FMT in mptscsih_do_cmd()
2976 "%s: TIMED OUT for cmd=0x%02x\n", ioc->name, __func__, in mptscsih_do_cmd()
2978 if (ioc->internal_cmds.status & MPT_MGMT_STATUS_DID_IOCRESET) { in mptscsih_do_cmd()
2979 mpt_free_msg_frame(ioc, mf); in mptscsih_do_cmd()
2986 ioc->name, __func__, mpt_GetIocState(ioc, 0), in mptscsih_do_cmd()
2988 mpt_Soft_Hard_ResetHandler(ioc, CAN_SLEEP); in mptscsih_do_cmd()
2989 mpt_free_msg_frame(ioc, mf); in mptscsih_do_cmd()
2994 ret = ioc->internal_cmds.completion_code; in mptscsih_do_cmd()
2995 devtprintk(ioc, printk(MYIOC_s_DEBUG_FMT "%s: success, rc=0x%02x\n", in mptscsih_do_cmd()
2996 ioc->name, __func__, ret)); in mptscsih_do_cmd()
2999 CLEAR_MGMT_STATUS(ioc->internal_cmds.status) in mptscsih_do_cmd()
3000 mutex_unlock(&ioc->internal_cmds.mutex); in mptscsih_do_cmd()
3052 MPT_ADAPTER *ioc = hd->ioc; in mptscsih_version_fw_show() local
3055 (ioc->facts.FWVersion.Word & 0xFF000000) >> 24, in mptscsih_version_fw_show()
3056 (ioc->facts.FWVersion.Word & 0x00FF0000) >> 16, in mptscsih_version_fw_show()
3057 (ioc->facts.FWVersion.Word & 0x0000FF00) >> 8, in mptscsih_version_fw_show()
3058 ioc->facts.FWVersion.Word & 0x000000FF); in mptscsih_version_fw_show()
3068 MPT_ADAPTER *ioc = hd->ioc; in mptscsih_version_bios_show() local
3071 (ioc->biosVersion & 0xFF000000) >> 24, in mptscsih_version_bios_show()
3072 (ioc->biosVersion & 0x00FF0000) >> 16, in mptscsih_version_bios_show()
3073 (ioc->biosVersion & 0x0000FF00) >> 8, in mptscsih_version_bios_show()
3074 ioc->biosVersion & 0x000000FF); in mptscsih_version_bios_show()
3084 MPT_ADAPTER *ioc = hd->ioc; in mptscsih_version_mpi_show() local
3086 return snprintf(buf, PAGE_SIZE, "%03x\n", ioc->facts.MsgVersion); in mptscsih_version_mpi_show()
3097 MPT_ADAPTER *ioc = hd->ioc; in mptscsih_version_product_show() local
3099 return snprintf(buf, PAGE_SIZE, "%s\n", ioc->prod_name); in mptscsih_version_product_show()
3111 MPT_ADAPTER *ioc = hd->ioc; in mptscsih_version_nvdata_persistent_show() local
3114 ioc->nvdata_version_persistent); in mptscsih_version_nvdata_persistent_show()
3125 MPT_ADAPTER *ioc = hd->ioc; in mptscsih_version_nvdata_default_show() local
3127 return snprintf(buf, PAGE_SIZE, "%02xh\n",ioc->nvdata_version_default); in mptscsih_version_nvdata_default_show()
3138 MPT_ADAPTER *ioc = hd->ioc; in mptscsih_board_name_show() local
3140 return snprintf(buf, PAGE_SIZE, "%s\n", ioc->board_name); in mptscsih_board_name_show()
3150 MPT_ADAPTER *ioc = hd->ioc; in mptscsih_board_assembly_show() local
3152 return snprintf(buf, PAGE_SIZE, "%s\n", ioc->board_assembly); in mptscsih_board_assembly_show()
3163 MPT_ADAPTER *ioc = hd->ioc; in mptscsih_board_tracer_show() local
3165 return snprintf(buf, PAGE_SIZE, "%s\n", ioc->board_tracer); in mptscsih_board_tracer_show()
3176 MPT_ADAPTER *ioc = hd->ioc; in mptscsih_io_delay_show() local
3178 return snprintf(buf, PAGE_SIZE, "%02d\n", ioc->io_missing_delay); in mptscsih_io_delay_show()
3189 MPT_ADAPTER *ioc = hd->ioc; in mptscsih_device_delay_show() local
3191 return snprintf(buf, PAGE_SIZE, "%02d\n", ioc->device_missing_delay); in mptscsih_device_delay_show()
3202 MPT_ADAPTER *ioc = hd->ioc; in mptscsih_debug_level_show() local
3204 return snprintf(buf, PAGE_SIZE, "%08xh\n", ioc->debug_level); in mptscsih_debug_level_show()
3212 MPT_ADAPTER *ioc = hd->ioc; in mptscsih_debug_level_store() local
3218 ioc->debug_level = val; in mptscsih_debug_level_store()
3220 ioc->name, ioc->debug_level); in mptscsih_debug_level_store()