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,
132 mptscsih_getFreeChainBuffer(MPT_ADAPTER *ioc, int *retIndex) in mptscsih_getFreeChainBuffer() argument
139 dsgprintk(ioc, printk(MYIOC_s_DEBUG_FMT "getFreeChainBuffer called\n", in mptscsih_getFreeChainBuffer()
140 ioc->name)); in mptscsih_getFreeChainBuffer()
141 spin_lock_irqsave(&ioc->FreeQlock, flags); in mptscsih_getFreeChainBuffer()
142 if (!list_empty(&ioc->FreeChainQ)) { in mptscsih_getFreeChainBuffer()
145 chainBuf = list_entry(ioc->FreeChainQ.next, MPT_FRAME_HDR, in mptscsih_getFreeChainBuffer()
148 offset = (u8 *)chainBuf - (u8 *)ioc->ChainBuffer; in mptscsih_getFreeChainBuffer()
149 chain_idx = offset / ioc->req_sz; in mptscsih_getFreeChainBuffer()
151 dsgprintk(ioc, printk(MYIOC_s_DEBUG_FMT in mptscsih_getFreeChainBuffer()
153 ioc->name, chainBuf, ioc->ChainBuffer, offset, chain_idx)); in mptscsih_getFreeChainBuffer()
157 dfailprintk(ioc, printk(MYIOC_s_ERR_FMT "getFreeChainBuffer failed\n", in mptscsih_getFreeChainBuffer()
158 ioc->name)); in mptscsih_getFreeChainBuffer()
160 spin_unlock_irqrestore(&ioc->FreeQlock, flags); in mptscsih_getFreeChainBuffer()
177 mptscsih_AddSGE(MPT_ADAPTER *ioc, struct scsi_cmnd *SCpnt, in mptscsih_AddSGE() argument
203 frm_sz = ioc->req_sz; in mptscsih_AddSGE()
226 numSgeSlots = ((frm_sz - sgeOffset) / ioc->SGE_size); in mptscsih_AddSGE()
245 ioc->add_sge(psge, sgflags | thisxfer, v2); in mptscsih_AddSGE()
249 psge += ioc->SGE_size; in mptscsih_AddSGE()
250 sgeOffset += ioc->SGE_size; in mptscsih_AddSGE()
267 ioc->add_sge(psge, sgflags | thisxfer, v2); in mptscsih_AddSGE()
268 sgeOffset += ioc->SGE_size; in mptscsih_AddSGE()
277 ioc->add_chain((char *)chainSge, 0, sgeOffset, in mptscsih_AddSGE()
278 ioc->ChainBufferDMA + chain_dma_off); in mptscsih_AddSGE()
284 RequestNB = (((sgeOffset - 1) >> ioc->NBShiftFactor) + 1) & 0x03; in mptscsih_AddSGE()
285 dsgprintk(ioc, printk(MYIOC_s_DEBUG_FMT in mptscsih_AddSGE()
286 "Single Buffer RequestNB=%x, sgeOffset=%d\n", ioc->name, RequestNB, sgeOffset)); in mptscsih_AddSGE()
287 ioc->RequestNB[req_idx] = RequestNB; in mptscsih_AddSGE()
301 dsgprintk(ioc, printk(MYIOC_s_DEBUG_FMT "SG: Chain Required! sg done %d\n", in mptscsih_AddSGE()
302 ioc->name, sg_done)); in mptscsih_AddSGE()
311 u32 *ptmp = (u32 *) (psge - ioc->SGE_size); in mptscsih_AddSGE()
325 sgeOffset += ioc->SGE_size; in mptscsih_AddSGE()
326 ioc->add_chain((char *)chainSge, nextChain, sgeOffset, in mptscsih_AddSGE()
327 ioc->ChainBufferDMA + chain_dma_off); in mptscsih_AddSGE()
334 RequestNB = (((sgeOffset - 1) >> ioc->NBShiftFactor) + 1) & 0x03; in mptscsih_AddSGE()
335 …dsgprintk(ioc, printk(MYIOC_s_DEBUG_FMT "Chain Buffer Needed, RequestNB=%x sgeOffset=%d\n", ioc->n… in mptscsih_AddSGE()
336 ioc->RequestNB[req_idx] = RequestNB; in mptscsih_AddSGE()
345 if ((mptscsih_getFreeChainBuffer(ioc, &newIndex)) == FAILED) { in mptscsih_AddSGE()
346 dfailprintk(ioc, printk(MYIOC_s_DEBUG_FMT in mptscsih_AddSGE()
348 ioc->name, pReq->CDB[0], SCpnt)); in mptscsih_AddSGE()
356 ioc->ChainToChain[chain_idx] = newIndex; in mptscsih_AddSGE()
358 ioc->ReqToChain[req_idx] = newIndex; in mptscsih_AddSGE()
361 chain_dma_off = ioc->req_sz * chain_idx; in mptscsih_AddSGE()
368 dsgprintk(ioc, printk(MYIOC_s_DEBUG_FMT " Current buff @ %p (index 0x%x)", in mptscsih_AddSGE()
369 ioc->name, psge, req_idx)); in mptscsih_AddSGE()
373 psge = (char *) (ioc->ChainBuffer + chain_dma_off); in mptscsih_AddSGE()
377 dsgprintk(ioc, printk(MYIOC_s_DEBUG_FMT " Chain buff @ %p (index 0x%x)\n", in mptscsih_AddSGE()
378 ioc->name, psge, chain_idx)); in mptscsih_AddSGE()
390 mptscsih_issue_sep_command(MPT_ADAPTER *ioc, VirtTarget *vtarget, in mptscsih_issue_sep_command() argument
396 if (ioc->bus_type != SAS) in mptscsih_issue_sep_command()
404 if ((mf = mpt_get_msg_frame(ioc->InternalCtx, ioc)) == NULL) { in mptscsih_issue_sep_command()
405 dfailprintk(ioc, printk(MYIOC_s_WARN_FMT "%s: no msg frames!!\n", in mptscsih_issue_sep_command()
406 ioc->name,__func__)); in mptscsih_issue_sep_command()
416 devtverboseprintk(ioc, printk(MYIOC_s_DEBUG_FMT in mptscsih_issue_sep_command()
418 ioc->name, SlotStatus, SEPMsg->Bus, SEPMsg->TargetID)); in mptscsih_issue_sep_command()
419 mpt_put_msg_frame(ioc->DoneCtx, ioc, mf); in mptscsih_issue_sep_command()
434 mptscsih_info_scsiio(MPT_ADAPTER *ioc, struct scsi_cmnd *sc, SCSIIOReply_t * pScsiReply) in mptscsih_info_scsiio() argument
538 ioc->name, pScsiReply->Bus, pScsiReply->TargetID, sc->device->lun); in mptscsih_info_scsiio()
540 "resid = %d\n", ioc->name, scsi_bufflen(sc), sc->underflow, in mptscsih_info_scsiio()
543 "sc->result = %08X\n", ioc->name, le16_to_cpu(pScsiReply->TaskTag), in mptscsih_info_scsiio()
548 ioc->name, desc, ioc_status, desc1, pScsiReply->SCSIStatus, in mptscsih_info_scsiio()
557 "[0x%02x,0x%02x,0x%02x]\n", ioc->name, skey, asc, ascq); in mptscsih_info_scsiio()
566 ioc->name, le32_to_cpu(pScsiReply->ResponseInfo)); in mptscsih_info_scsiio()
586 mptscsih_io_done(MPT_ADAPTER *ioc, MPT_FRAME_HDR *mf, MPT_FRAME_HDR *mr) in mptscsih_io_done() argument
596 hd = shost_priv(ioc->sh); in mptscsih_io_done()
609 sc = mptscsih_getclear_scsi_lookup(ioc, req_idx); in mptscsih_io_done()
619 ioc->name); in mptscsih_io_done()
621 mptscsih_freeChainBuffers(ioc, req_idx); in mptscsih_io_done()
626 mptscsih_freeChainBuffers(ioc, req_idx); in mptscsih_io_done()
630 if (ioc->bus_type == SAS) { in mptscsih_io_done()
645 if((ioc->facts.MsgVersion >= MPI_VERSION_01_05) && pScsiReply){ in mptscsih_io_done()
646 dmfprintk(ioc, printk(MYIOC_s_DEBUG_FMT in mptscsih_io_done()
648 ioc->name, mf, mr, sc, req_idx, pScsiReply->TaskTag)); in mptscsih_io_done()
650 dmfprintk(ioc, printk(MYIOC_s_DEBUG_FMT in mptscsih_io_done()
652 ioc->name, mf, mr, sc, req_idx)); in mptscsih_io_done()
694 "FCP_ResponseInfo=%08xh\n", ioc->name, in mptscsih_io_done()
718 if (ioc->bus_type != FC) in mptscsih_io_done()
732 mptscsih_issue_sep_command(ioc, vtarget, in mptscsih_io_done()
739 if ( ioc->bus_type == SAS ) { in mptscsih_io_done()
771 } else if (ioc->bus_type == FC) { in mptscsih_io_done()
797 if (ioc->bus_type == FC) in mptscsih_io_done()
809 dreplyprintk(ioc, printk(MYIOC_s_DEBUG_FMT in mptscsih_io_done()
811 ioc->name, sc->result, sc->device->channel, sc->device->id)); in mptscsih_io_done()
829 if (ioc->bus_type == SPI) { in mptscsih_io_done()
869 dreplyprintk(ioc, printk(MYIOC_s_DEBUG_FMT in mptscsih_io_done()
871 ioc->name, sc->underflow)); in mptscsih_io_done()
872 dreplyprintk(ioc, printk(MYIOC_s_DEBUG_FMT in mptscsih_io_done()
873 " 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()
1203 ioc->sh = NULL; in mptscsih_remove()
1231 MPT_ADAPTER *ioc = pci_get_drvdata(pdev); in mptscsih_suspend() local
1233 scsi_block_requests(ioc->sh); in mptscsih_suspend()
1248 MPT_ADAPTER *ioc = pci_get_drvdata(pdev); in mptscsih_resume() local
1252 scsi_unblock_requests(ioc->sh); in mptscsih_resume()
1280 mpt_print_ioc_summary(h->ioc, h->info_kbuf, &size, 0, 0); in mptscsih_info()
1289 MPT_ADAPTER *ioc = hd->ioc; in mptscsih_show_info() local
1291 seq_printf(m, "%s: %s, ", ioc->name, ioc->prod_name); in mptscsih_show_info()
1292 seq_printf(m, "%s%08xh, ", MPT_FW_REV_MAGIC_ID_STRING, ioc->facts.FWVersion.Word); in mptscsih_show_info()
1293 seq_printf(m, "Ports=%d, ", ioc->facts.NumberOfPorts); in mptscsih_show_info()
1294 seq_printf(m, "MaxQ=%d\n", ioc->req_depth); in mptscsih_show_info()
1326 MPT_ADAPTER *ioc; in mptscsih_qcmd() local
1329 ioc = hd->ioc; in mptscsih_qcmd()
1331 dmfprintk(ioc, printk(MYIOC_s_DEBUG_FMT "qcmd: SCpnt=%p\n", in mptscsih_qcmd()
1332 ioc->name, SCpnt)); in mptscsih_qcmd()
1334 if (ioc->taskmgmt_quiesce_io) in mptscsih_qcmd()
1340 if ((mf = mpt_get_msg_frame(ioc->DoneCtx, ioc)) == NULL) { in mptscsih_qcmd()
1341 dprintk(ioc, printk(MYIOC_s_WARN_FMT "QueueCmd, no msg frames!!\n", in mptscsih_qcmd()
1342 ioc->name)); in mptscsih_qcmd()
1389 pScsiReq->MsgFlags = mpt_msg_flags(ioc); in mptscsih_qcmd()
1407 pScsiReq->SenseBufferLowAddr = cpu_to_le32(ioc->sense_buf_low_dma in mptscsih_qcmd()
1415 ioc->add_sge((char *)&pScsiReq->SGL, in mptscsih_qcmd()
1420 if (mptscsih_AddSGE(ioc, SCpnt, pScsiReq, my_idx) != SUCCESS) in mptscsih_qcmd()
1425 mptscsih_set_scsi_lookup(ioc, my_idx, SCpnt); in mptscsih_qcmd()
1427 mpt_put_msg_frame(ioc->DoneCtx, ioc, mf); in mptscsih_qcmd()
1428 dmfprintk(ioc, printk(MYIOC_s_DEBUG_FMT "Issued SCSI cmd (%p) mf=%p idx=%d\n", in mptscsih_qcmd()
1429 ioc->name, SCpnt, mf, my_idx)); in mptscsih_qcmd()
1430 DBG_DUMP_REQUEST_FRAME(ioc, (u32 *)mf); in mptscsih_qcmd()
1434 mptscsih_freeChainBuffers(ioc, my_idx); in mptscsih_qcmd()
1435 mpt_free_msg_frame(ioc, mf); in mptscsih_qcmd()
1450 mptscsih_freeChainBuffers(MPT_ADAPTER *ioc, int req_idx) in mptscsih_freeChainBuffers() argument
1460 chain_idx = ioc->ReqToChain[req_idx]; in mptscsih_freeChainBuffers()
1461 ioc->ReqToChain[req_idx] = MPT_HOST_NO_CHAIN; in mptscsih_freeChainBuffers()
1466 next = ioc->ChainToChain[chain_idx]; in mptscsih_freeChainBuffers()
1471 ioc->ChainToChain[chain_idx] = MPT_HOST_NO_CHAIN; in mptscsih_freeChainBuffers()
1473 chain = (MPT_FRAME_HDR *) (ioc->ChainBuffer in mptscsih_freeChainBuffers()
1474 + (chain_idx * ioc->req_sz)); in mptscsih_freeChainBuffers()
1476 spin_lock_irqsave(&ioc->FreeQlock, flags); in mptscsih_freeChainBuffers()
1477 list_add_tail(&chain->u.frame.linkage.list, &ioc->FreeChainQ); in mptscsih_freeChainBuffers()
1478 spin_unlock_irqrestore(&ioc->FreeQlock, flags); in mptscsih_freeChainBuffers()
1480 dmfprintk(ioc, printk(MYIOC_s_DEBUG_FMT "FreeChainBuffers (index %d)\n", in mptscsih_freeChainBuffers()
1481 ioc->name, chain_idx)); in mptscsih_freeChainBuffers()
1521 MPT_ADAPTER *ioc = hd->ioc; in mptscsih_IssueTaskMgmt() local
1527 ioc_raw_state = mpt_GetIocState(ioc, 0); in mptscsih_IssueTaskMgmt()
1532 ioc->name, type, ioc_raw_state); in mptscsih_IssueTaskMgmt()
1534 ioc->name, __func__); in mptscsih_IssueTaskMgmt()
1535 if (mpt_HardResetHandler(ioc, CAN_SLEEP) < 0) in mptscsih_IssueTaskMgmt()
1537 "FAILED!!\n", ioc->name); in mptscsih_IssueTaskMgmt()
1545 if (!((ioc->facts.IOCCapabilities & MPI_IOCFACTS_CAPABILITY_HIGH_PRI_Q) in mptscsih_IssueTaskMgmt()
1546 && (ioc->facts.MsgVersion >= MPI_VERSION_01_05)) && in mptscsih_IssueTaskMgmt()
1551 ioc->name, type, ioc_raw_state); in mptscsih_IssueTaskMgmt()
1555 mutex_lock(&ioc->taskmgmt_cmds.mutex); in mptscsih_IssueTaskMgmt()
1556 if (mpt_set_taskmgmt_in_progress_flag(ioc) != 0) { in mptscsih_IssueTaskMgmt()
1564 if ((mf = mpt_get_msg_frame(ioc->TaskCtx, ioc)) == NULL) { in mptscsih_IssueTaskMgmt()
1565 dfailprintk(ioc, printk(MYIOC_s_ERR_FMT in mptscsih_IssueTaskMgmt()
1566 "TaskMgmt no msg frames!!\n", ioc->name)); in mptscsih_IssueTaskMgmt()
1568 mpt_clear_taskmgmt_in_progress_flag(ioc); in mptscsih_IssueTaskMgmt()
1571 dtmprintk(ioc, printk(MYIOC_s_DEBUG_FMT "TaskMgmt request (mf=%p)\n", in mptscsih_IssueTaskMgmt()
1572 ioc->name, mf)); in mptscsih_IssueTaskMgmt()
1595 dtmprintk(ioc, printk(MYIOC_s_DEBUG_FMT "TaskMgmt: ctx2abort (0x%08x) " in mptscsih_IssueTaskMgmt()
1596 "task_type = 0x%02X, timeout = %ld\n", ioc->name, ctx2abort, in mptscsih_IssueTaskMgmt()
1599 DBG_DUMP_TM_REQUEST_FRAME(ioc, (u32 *)pScsiTm); in mptscsih_IssueTaskMgmt()
1601 INITIALIZE_MGMT_STATUS(ioc->taskmgmt_cmds.status) in mptscsih_IssueTaskMgmt()
1603 if ((ioc->facts.IOCCapabilities & MPI_IOCFACTS_CAPABILITY_HIGH_PRI_Q) && in mptscsih_IssueTaskMgmt()
1604 (ioc->facts.MsgVersion >= MPI_VERSION_01_05)) in mptscsih_IssueTaskMgmt()
1605 mpt_put_msg_frame_hi_pri(ioc->TaskCtx, ioc, mf); in mptscsih_IssueTaskMgmt()
1607 retval = mpt_send_handshake_request(ioc->TaskCtx, ioc, in mptscsih_IssueTaskMgmt()
1610 dfailprintk(ioc, printk(MYIOC_s_ERR_FMT in mptscsih_IssueTaskMgmt()
1612 ioc->name, mf, retval)); in mptscsih_IssueTaskMgmt()
1613 mpt_free_msg_frame(ioc, mf); in mptscsih_IssueTaskMgmt()
1614 mpt_clear_taskmgmt_in_progress_flag(ioc); in mptscsih_IssueTaskMgmt()
1619 wait_for_completion_timeout(&ioc->taskmgmt_cmds.done, in mptscsih_IssueTaskMgmt()
1621 if (!(ioc->taskmgmt_cmds.status & MPT_MGMT_STATUS_COMMAND_GOOD)) { in mptscsih_IssueTaskMgmt()
1623 dtmprintk(ioc, printk(MYIOC_s_ERR_FMT in mptscsih_IssueTaskMgmt()
1624 "TaskMgmt TIMED OUT!(mf=%p)\n", ioc->name, mf)); in mptscsih_IssueTaskMgmt()
1625 mpt_clear_taskmgmt_in_progress_flag(ioc); in mptscsih_IssueTaskMgmt()
1626 if (ioc->taskmgmt_cmds.status & MPT_MGMT_STATUS_DID_IOCRESET) in mptscsih_IssueTaskMgmt()
1632 retval = mptscsih_taskmgmt_reply(ioc, type, in mptscsih_IssueTaskMgmt()
1633 (SCSITaskMgmtReply_t *) ioc->taskmgmt_cmds.reply); in mptscsih_IssueTaskMgmt()
1635 dtmprintk(ioc, printk(MYIOC_s_DEBUG_FMT in mptscsih_IssueTaskMgmt()
1637 ioc->name, jiffies_to_msecs(jiffies - time_count)/1000)); in mptscsih_IssueTaskMgmt()
1641 CLEAR_MGMT_STATUS(ioc->taskmgmt_cmds.status) in mptscsih_IssueTaskMgmt()
1645 ioc->name, __func__, mpt_GetIocState(ioc, 0)); in mptscsih_IssueTaskMgmt()
1646 retval = (ioc->bus_type == SAS) ? in mptscsih_IssueTaskMgmt()
1647 mpt_HardResetHandler(ioc, CAN_SLEEP) : in mptscsih_IssueTaskMgmt()
1648 mpt_Soft_Hard_ResetHandler(ioc, CAN_SLEEP); in mptscsih_IssueTaskMgmt()
1649 mpt_free_msg_frame(ioc, mf); in mptscsih_IssueTaskMgmt()
1653 mutex_unlock(&ioc->taskmgmt_cmds.mutex); in mptscsih_IssueTaskMgmt()
1659 mptscsih_get_tm_timeout(MPT_ADAPTER *ioc) in mptscsih_get_tm_timeout() argument
1661 switch (ioc->bus_type) { in mptscsih_get_tm_timeout()
1690 MPT_ADAPTER *ioc; in mptscsih_abort() local
1702 ioc = hd->ioc; in mptscsih_abort()
1704 ioc->name, SCpnt); in mptscsih_abort()
1709 dtmprintk(ioc, printk(MYIOC_s_DEBUG_FMT in mptscsih_abort()
1711 ioc->name, SCpnt)); in mptscsih_abort()
1721 dtmprintk(ioc, printk(MYIOC_s_DEBUG_FMT in mptscsih_abort()
1723 ioc->name, SCpnt)); in mptscsih_abort()
1732 dtmprintk(ioc, printk(MYIOC_s_DEBUG_FMT in mptscsih_abort()
1734 ioc->name, SCpnt)); in mptscsih_abort()
1742 if ((scpnt_idx = SCPNT_TO_LOOKUP_IDX(ioc, SCpnt)) < 0) { in mptscsih_abort()
1747 dtmprintk(ioc, printk(MYIOC_s_DEBUG_FMT "task abort: " in mptscsih_abort()
1748 "Command not in the active list! (sc=%p)\n", ioc->name, in mptscsih_abort()
1754 if (ioc->timeouts < -1) in mptscsih_abort()
1755 ioc->timeouts++; in mptscsih_abort()
1758 mpt_halt_firmware(ioc); in mptscsih_abort()
1767 mf = MPT_INDEX_2_MFPTR(ioc, scpnt_idx); in mptscsih_abort()
1773 ctx2abort, mptscsih_get_tm_timeout(ioc)); in mptscsih_abort()
1775 if (SCPNT_TO_LOOKUP_IDX(ioc, SCpnt) == scpnt_idx) { in mptscsih_abort()
1776 dtmprintk(ioc, printk(MYIOC_s_DEBUG_FMT in mptscsih_abort()
1778 ioc->name, SCpnt)); in mptscsih_abort()
1781 dtmprintk(ioc, printk(MYIOC_s_DEBUG_FMT in mptscsih_abort()
1783 ioc->name, SCpnt)); in mptscsih_abort()
1789 ioc->name, ((retval == SUCCESS) ? "SUCCESS" : "FAILED"), retval, in mptscsih_abort()
1810 MPT_ADAPTER *ioc; in mptscsih_dev_reset() local
1820 ioc = hd->ioc; in mptscsih_dev_reset()
1822 ioc->name, SCpnt); in mptscsih_dev_reset()
1842 mptscsih_get_tm_timeout(ioc)); in mptscsih_dev_reset()
1846 ioc->name, ((retval == 0) ? "SUCCESS" : "FAILED" ), SCpnt); in mptscsih_dev_reset()
1870 MPT_ADAPTER *ioc; in mptscsih_bus_reset() local
1880 ioc = hd->ioc; in mptscsih_bus_reset()
1882 ioc->name, SCpnt); in mptscsih_bus_reset()
1885 if (ioc->timeouts < -1) in mptscsih_bus_reset()
1886 ioc->timeouts++; in mptscsih_bus_reset()
1894 mptscsih_get_tm_timeout(ioc)); in mptscsih_bus_reset()
1897 ioc->name, ((retval == 0) ? "SUCCESS" : "FAILED" ), SCpnt); in mptscsih_bus_reset()
1919 MPT_ADAPTER *ioc; in mptscsih_host_reset() local
1932 ioc = hd->ioc; in mptscsih_host_reset()
1934 ioc->name, SCpnt); in mptscsih_host_reset()
1939 retval = mpt_Soft_Hard_ResetHandler(ioc, CAN_SLEEP); in mptscsih_host_reset()
1946 ioc->name, ((retval == 0) ? "SUCCESS" : "FAILED" ), SCpnt); in mptscsih_host_reset()
1952 mptscsih_taskmgmt_reply(MPT_ADAPTER *ioc, u8 type, in mptscsih_taskmgmt_reply() argument
1959 if (!(ioc->taskmgmt_cmds.status & MPT_MGMT_STATUS_RF_VALID)) { in mptscsih_taskmgmt_reply()
1964 DBG_DUMP_TM_REPLY_FRAME(ioc, (u32 *)pScsiTmReply); in mptscsih_taskmgmt_reply()
1969 dtmprintk(ioc, printk(MYIOC_s_DEBUG_FMT in mptscsih_taskmgmt_reply()
1972 "\tterm_cmnds = %d\n", ioc->name, pScsiTmReply->Bus, in mptscsih_taskmgmt_reply()
1977 if (ioc->facts.MsgVersion >= MPI_VERSION_01_05 && in mptscsih_taskmgmt_reply()
1979 mptscsih_taskmgmt_response_code(ioc, in mptscsih_taskmgmt_reply()
2004 mptscsih_taskmgmt_response_code(MPT_ADAPTER *ioc, u8 response_code) in mptscsih_taskmgmt_response_code() argument
2035 ioc->name, response_code, desc); in mptscsih_taskmgmt_response_code()
2054 mptscsih_taskmgmt_complete(MPT_ADAPTER *ioc, MPT_FRAME_HDR *mf, in mptscsih_taskmgmt_complete() argument
2057 dtmprintk(ioc, printk(MYIOC_s_DEBUG_FMT in mptscsih_taskmgmt_complete()
2058 "TaskMgmt completed (mf=%p, mr=%p)\n", ioc->name, mf, mr)); in mptscsih_taskmgmt_complete()
2060 ioc->taskmgmt_cmds.status |= MPT_MGMT_STATUS_COMMAND_GOOD; in mptscsih_taskmgmt_complete()
2065 ioc->taskmgmt_cmds.status |= MPT_MGMT_STATUS_RF_VALID; in mptscsih_taskmgmt_complete()
2066 memcpy(ioc->taskmgmt_cmds.reply, mr, in mptscsih_taskmgmt_complete()
2069 if (ioc->taskmgmt_cmds.status & MPT_MGMT_STATUS_PENDING) { in mptscsih_taskmgmt_complete()
2070 mpt_clear_taskmgmt_in_progress_flag(ioc); in mptscsih_taskmgmt_complete()
2071 ioc->taskmgmt_cmds.status &= ~MPT_MGMT_STATUS_PENDING; in mptscsih_taskmgmt_complete()
2072 complete(&ioc->taskmgmt_cmds.done); in mptscsih_taskmgmt_complete()
2073 if (ioc->bus_type == SAS) in mptscsih_taskmgmt_complete()
2074 ioc->schedule_target_reset(ioc); in mptscsih_taskmgmt_complete()
2124 mptscsih_is_phys_disk(MPT_ADAPTER *ioc, u8 channel, u8 id) in mptscsih_is_phys_disk() argument
2132 if (!ioc->raid_data.pIocPg3) in mptscsih_is_phys_disk()
2134 for (i = 0; i < ioc->raid_data.pIocPg3->NumPhysDisks; i++) { in mptscsih_is_phys_disk()
2135 if ((id == ioc->raid_data.pIocPg3->PhysDisk[i].PhysDiskID) && in mptscsih_is_phys_disk()
2136 (channel == ioc->raid_data.pIocPg3->PhysDisk[i].PhysDiskBus)) { in mptscsih_is_phys_disk()
2142 if (ioc->bus_type != SAS) in mptscsih_is_phys_disk()
2148 for (i = 0; i < ioc->raid_data.pIocPg3->NumPhysDisks; i++) { in mptscsih_is_phys_disk()
2149 num_paths = mpt_raid_phys_disk_get_num_paths(ioc, in mptscsih_is_phys_disk()
2150 ioc->raid_data.pIocPg3->PhysDisk[i].PhysDiskNum); in mptscsih_is_phys_disk()
2157 if ((mpt_raid_phys_disk_pg1(ioc, in mptscsih_is_phys_disk()
2158 ioc->raid_data.pIocPg3->PhysDisk[i].PhysDiskNum, in mptscsih_is_phys_disk()
2184 if (list_empty(&ioc->raid_data.inactive_list)) in mptscsih_is_phys_disk()
2187 mutex_lock(&ioc->raid_data.inactive_list_mutex); in mptscsih_is_phys_disk()
2188 list_for_each_entry(component_info, &ioc->raid_data.inactive_list, in mptscsih_is_phys_disk()
2194 mutex_unlock(&ioc->raid_data.inactive_list_mutex); in mptscsih_is_phys_disk()
2202 mptscsih_raid_id_to_num(MPT_ADAPTER *ioc, u8 channel, u8 id) in mptscsih_raid_id_to_num() argument
2210 if (!ioc->raid_data.pIocPg3) in mptscsih_raid_id_to_num()
2212 for (i = 0; i < ioc->raid_data.pIocPg3->NumPhysDisks; i++) { in mptscsih_raid_id_to_num()
2213 if ((id == ioc->raid_data.pIocPg3->PhysDisk[i].PhysDiskID) && in mptscsih_raid_id_to_num()
2214 (channel == ioc->raid_data.pIocPg3->PhysDisk[i].PhysDiskBus)) { in mptscsih_raid_id_to_num()
2215 rc = ioc->raid_data.pIocPg3->PhysDisk[i].PhysDiskNum; in mptscsih_raid_id_to_num()
2220 if (ioc->bus_type != SAS) in mptscsih_raid_id_to_num()
2226 for (i = 0; i < ioc->raid_data.pIocPg3->NumPhysDisks; i++) { in mptscsih_raid_id_to_num()
2227 num_paths = mpt_raid_phys_disk_get_num_paths(ioc, in mptscsih_raid_id_to_num()
2228 ioc->raid_data.pIocPg3->PhysDisk[i].PhysDiskNum); in mptscsih_raid_id_to_num()
2235 if ((mpt_raid_phys_disk_pg1(ioc, in mptscsih_raid_id_to_num()
2236 ioc->raid_data.pIocPg3->PhysDisk[i].PhysDiskNum, in mptscsih_raid_id_to_num()
2261 if (list_empty(&ioc->raid_data.inactive_list)) in mptscsih_raid_id_to_num()
2264 mutex_lock(&ioc->raid_data.inactive_list_mutex); in mptscsih_raid_id_to_num()
2265 list_for_each_entry(component_info, &ioc->raid_data.inactive_list, in mptscsih_raid_id_to_num()
2271 mutex_unlock(&ioc->raid_data.inactive_list_mutex); in mptscsih_raid_id_to_num()
2319 MPT_ADAPTER *ioc = hd->ioc; in mptscsih_change_queue_depth() local
2324 if (ioc->bus_type == SPI) { in mptscsih_change_queue_depth()
2333 max_depth = ioc->sh->can_queue; in mptscsih_change_queue_depth()
2358 MPT_ADAPTER *ioc = hd->ioc; in mptscsih_slave_configure() local
2364 dsprintk(ioc, printk(MYIOC_s_DEBUG_FMT in mptscsih_slave_configure()
2366 ioc->name, sdev, sdev->channel, sdev->id, sdev->lun)); in mptscsih_slave_configure()
2367 if (ioc->bus_type == SPI) in mptscsih_slave_configure()
2368 dsprintk(ioc, printk(MYIOC_s_DEBUG_FMT in mptscsih_slave_configure()
2370 ioc->name, sdev->sdtr, sdev->wdtr, in mptscsih_slave_configure()
2375 dsprintk(ioc, printk(MYIOC_s_DEBUG_FMT in mptscsih_slave_configure()
2377 ioc->name, sdev->queue_depth, vtarget->tflags)); in mptscsih_slave_configure()
2379 if (ioc->bus_type == SPI) in mptscsih_slave_configure()
2380 dsprintk(ioc, printk(MYIOC_s_DEBUG_FMT in mptscsih_slave_configure()
2382 ioc->name, vtarget->negoFlags, vtarget->maxOffset, in mptscsih_slave_configure()
2386 dsprintk(ioc, printk(MYIOC_s_DEBUG_FMT in mptscsih_slave_configure()
2388 ioc->name,sdev->tagged_supported, sdev->simple_tags)); in mptscsih_slave_configure()
2411 MPT_ADAPTER *ioc = hd->ioc; in mptscsih_copy_sense_data() local
2424 sense_data = ((u8 *)ioc->sense_buf_pool + (req_index * MPT_SENSE_BUFFER_ALLOC)); in mptscsih_copy_sense_data()
2429 if ((ioc->events) && (ioc->eventTypes & (1 << MPI_EVENT_SCSI_DEVICE_STATUS_CHANGE))) { in mptscsih_copy_sense_data()
2433 idx = ioc->eventContext % MPTCTL_EVENT_LOG_SIZE; in mptscsih_copy_sense_data()
2434 ioc->events[idx].event = MPI_EVENT_SCSI_DEVICE_STATUS_CHANGE; in mptscsih_copy_sense_data()
2435 ioc->events[idx].eventContext = ioc->eventContext; in mptscsih_copy_sense_data()
2437 ioc->events[idx].data[0] = (pReq->LUN[1] << 24) | in mptscsih_copy_sense_data()
2441 ioc->events[idx].data[1] = (sense_data[13] << 8) | sense_data[12]; in mptscsih_copy_sense_data()
2443 ioc->eventContext++; in mptscsih_copy_sense_data()
2444 if (ioc->pcidev->vendor == in mptscsih_copy_sense_data()
2446 mptscsih_issue_sep_command(ioc, in mptscsih_copy_sense_data()
2454 dprintk(ioc, printk(MYIOC_s_DEBUG_FMT "Hmmm... SenseData len=0! (?)\n", in mptscsih_copy_sense_data()
2455 ioc->name)); in mptscsih_copy_sense_data()
2467 mptscsih_get_scsi_lookup(MPT_ADAPTER *ioc, int i) in mptscsih_get_scsi_lookup() argument
2472 spin_lock_irqsave(&ioc->scsi_lookup_lock, flags); in mptscsih_get_scsi_lookup()
2473 scmd = ioc->ScsiLookup[i]; in mptscsih_get_scsi_lookup()
2474 spin_unlock_irqrestore(&ioc->scsi_lookup_lock, flags); in mptscsih_get_scsi_lookup()
2489 mptscsih_getclear_scsi_lookup(MPT_ADAPTER *ioc, int i) in mptscsih_getclear_scsi_lookup() argument
2494 spin_lock_irqsave(&ioc->scsi_lookup_lock, flags); in mptscsih_getclear_scsi_lookup()
2495 scmd = ioc->ScsiLookup[i]; in mptscsih_getclear_scsi_lookup()
2496 ioc->ScsiLookup[i] = NULL; in mptscsih_getclear_scsi_lookup()
2497 spin_unlock_irqrestore(&ioc->scsi_lookup_lock, flags); in mptscsih_getclear_scsi_lookup()
2511 mptscsih_set_scsi_lookup(MPT_ADAPTER *ioc, int i, struct scsi_cmnd *scmd) in mptscsih_set_scsi_lookup() argument
2515 spin_lock_irqsave(&ioc->scsi_lookup_lock, flags); in mptscsih_set_scsi_lookup()
2516 ioc->ScsiLookup[i] = scmd; in mptscsih_set_scsi_lookup()
2517 spin_unlock_irqrestore(&ioc->scsi_lookup_lock, flags); in mptscsih_set_scsi_lookup()
2526 SCPNT_TO_LOOKUP_IDX(MPT_ADAPTER *ioc, struct scsi_cmnd *sc) in SCPNT_TO_LOOKUP_IDX() argument
2531 spin_lock_irqsave(&ioc->scsi_lookup_lock, flags); in SCPNT_TO_LOOKUP_IDX()
2532 for (i = 0; i < ioc->req_depth; i++) { in SCPNT_TO_LOOKUP_IDX()
2533 if (ioc->ScsiLookup[i] == sc) { in SCPNT_TO_LOOKUP_IDX()
2540 spin_unlock_irqrestore(&ioc->scsi_lookup_lock, flags); in SCPNT_TO_LOOKUP_IDX()
2546 mptscsih_ioc_reset(MPT_ADAPTER *ioc, int reset_phase) in mptscsih_ioc_reset() argument
2550 if (ioc->sh == NULL || shost_priv(ioc->sh) == NULL) in mptscsih_ioc_reset()
2553 hd = shost_priv(ioc->sh); in mptscsih_ioc_reset()
2556 dtmprintk(ioc, printk(MYIOC_s_DEBUG_FMT in mptscsih_ioc_reset()
2557 "%s: MPT_IOC_SETUP_RESET\n", ioc->name, __func__)); in mptscsih_ioc_reset()
2560 dtmprintk(ioc, printk(MYIOC_s_DEBUG_FMT in mptscsih_ioc_reset()
2561 "%s: MPT_IOC_PRE_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_POST_RESET\n", ioc->name, __func__)); in mptscsih_ioc_reset()
2567 if (ioc->internal_cmds.status & MPT_MGMT_STATUS_PENDING) { in mptscsih_ioc_reset()
2568 ioc->internal_cmds.status |= in mptscsih_ioc_reset()
2570 complete(&ioc->internal_cmds.done); in mptscsih_ioc_reset()
2581 mptscsih_event_process(MPT_ADAPTER *ioc, EventNotificationReply_t *pEvReply) in mptscsih_event_process() argument
2585 devtverboseprintk(ioc, printk(MYIOC_s_DEBUG_FMT in mptscsih_event_process()
2587 ioc->name, event)); in mptscsih_event_process()
2591 (ioc->bus_type == SPI) && (ioc->soft_resets < -1)) in mptscsih_event_process()
2592 ioc->soft_resets++; in mptscsih_event_process()
2623 mptscsih_scandv_complete(MPT_ADAPTER *ioc, MPT_FRAME_HDR *req, in mptscsih_scandv_complete() argument
2633 ioc->internal_cmds.status |= MPT_MGMT_STATUS_COMMAND_GOOD; in mptscsih_scandv_complete()
2634 ioc->internal_cmds.completion_code = MPT_SCANDV_GOOD; in mptscsih_scandv_complete()
2640 ioc->internal_cmds.completion_code = in mptscsih_scandv_complete()
2641 mptscsih_get_completion_code(ioc, req, reply); in mptscsih_scandv_complete()
2642 ioc->internal_cmds.status |= MPT_MGMT_STATUS_RF_VALID; in mptscsih_scandv_complete()
2643 memcpy(ioc->internal_cmds.reply, reply, in mptscsih_scandv_complete()
2650 sense_data = ((u8 *)ioc->sense_buf_pool + in mptscsih_scandv_complete()
2654 memcpy(ioc->internal_cmds.sense, sense_data, sz); in mptscsih_scandv_complete()
2657 if (!(ioc->internal_cmds.status & MPT_MGMT_STATUS_PENDING)) in mptscsih_scandv_complete()
2659 ioc->internal_cmds.status &= ~MPT_MGMT_STATUS_PENDING; in mptscsih_scandv_complete()
2660 complete(&ioc->internal_cmds.done); in mptscsih_scandv_complete()
2673 mptscsih_get_completion_code(MPT_ADAPTER *ioc, MPT_FRAME_HDR *req, in mptscsih_get_completion_code() argument
2686 devtprintk(ioc, printk(MYIOC_s_DEBUG_FMT in mptscsih_get_completion_code()
2688 "IOCLogInfo=%08xh\n", ioc->name, status, pReply->SCSIState, in mptscsih_get_completion_code()
2750 devtprintk(ioc, printk(MYIOC_s_DEBUG_FMT in mptscsih_get_completion_code()
2751 " completionCode set to %08xh\n", ioc->name, completion_code)); in mptscsih_get_completion_code()
2785 MPT_ADAPTER *ioc = hd->ioc; in mptscsih_do_cmd() local
2791 spin_lock_irqsave(&ioc->taskmgmt_lock, flags); in mptscsih_do_cmd()
2792 if (ioc->ioc_reset_in_progress) { in mptscsih_do_cmd()
2793 spin_unlock_irqrestore(&ioc->taskmgmt_lock, flags); in mptscsih_do_cmd()
2794 dfailprintk(ioc, printk(MYIOC_s_DEBUG_FMT in mptscsih_do_cmd()
2795 "%s: busy with host reset\n", ioc->name, __func__)); in mptscsih_do_cmd()
2798 spin_unlock_irqrestore(&ioc->taskmgmt_lock, flags); in mptscsih_do_cmd()
2800 mutex_lock(&ioc->internal_cmds.mutex); in mptscsih_do_cmd()
2900 if ((mf = mpt_get_msg_frame(ioc->InternalCtx, ioc)) == NULL) { in mptscsih_do_cmd()
2901 dfailprintk(ioc, printk(MYIOC_s_WARN_FMT "%s: No msg frames!\n", in mptscsih_do_cmd()
2902 ioc->name, __func__)); in mptscsih_do_cmd()
2930 pScsiReq->MsgFlags = mpt_msg_flags(ioc); in mptscsih_do_cmd()
2942 devtprintk(ioc, printk(MYIOC_s_DEBUG_FMT in mptscsih_do_cmd()
2943 "%s: Untagged! 0x%02x\n", ioc->name, __func__, cmd)); in mptscsih_do_cmd()
2950 pScsiReq->SenseBufferLowAddr = cpu_to_le32(ioc->sense_buf_low_dma in mptscsih_do_cmd()
2953 devtprintk(ioc, printk(MYIOC_s_DEBUG_FMT in mptscsih_do_cmd()
2955 ioc->name, __func__, cmd, io->channel, io->id, io->lun)); in mptscsih_do_cmd()
2958 ioc->add_sge((char *) &pScsiReq->SGL, in mptscsih_do_cmd()
2961 ioc->add_sge((char *) &pScsiReq->SGL, in mptscsih_do_cmd()
2964 INITIALIZE_MGMT_STATUS(ioc->internal_cmds.status) in mptscsih_do_cmd()
2965 mpt_put_msg_frame(ioc->InternalCtx, ioc, mf); in mptscsih_do_cmd()
2966 timeleft = wait_for_completion_timeout(&ioc->internal_cmds.done, in mptscsih_do_cmd()
2968 if (!(ioc->internal_cmds.status & MPT_MGMT_STATUS_COMMAND_GOOD)) { in mptscsih_do_cmd()
2970 dfailprintk(ioc, printk(MYIOC_s_DEBUG_FMT in mptscsih_do_cmd()
2971 "%s: TIMED OUT for cmd=0x%02x\n", ioc->name, __func__, in mptscsih_do_cmd()
2973 if (ioc->internal_cmds.status & MPT_MGMT_STATUS_DID_IOCRESET) { in mptscsih_do_cmd()
2974 mpt_free_msg_frame(ioc, mf); in mptscsih_do_cmd()
2981 ioc->name, __func__, mpt_GetIocState(ioc, 0), in mptscsih_do_cmd()
2983 mpt_Soft_Hard_ResetHandler(ioc, CAN_SLEEP); in mptscsih_do_cmd()
2984 mpt_free_msg_frame(ioc, mf); in mptscsih_do_cmd()
2989 ret = ioc->internal_cmds.completion_code; in mptscsih_do_cmd()
2990 devtprintk(ioc, printk(MYIOC_s_DEBUG_FMT "%s: success, rc=0x%02x\n", in mptscsih_do_cmd()
2991 ioc->name, __func__, ret)); in mptscsih_do_cmd()
2994 CLEAR_MGMT_STATUS(ioc->internal_cmds.status) in mptscsih_do_cmd()
2995 mutex_unlock(&ioc->internal_cmds.mutex); in mptscsih_do_cmd()
3047 MPT_ADAPTER *ioc = hd->ioc; in mptscsih_version_fw_show() local
3050 (ioc->facts.FWVersion.Word & 0xFF000000) >> 24, in mptscsih_version_fw_show()
3051 (ioc->facts.FWVersion.Word & 0x00FF0000) >> 16, in mptscsih_version_fw_show()
3052 (ioc->facts.FWVersion.Word & 0x0000FF00) >> 8, in mptscsih_version_fw_show()
3053 ioc->facts.FWVersion.Word & 0x000000FF); in mptscsih_version_fw_show()
3063 MPT_ADAPTER *ioc = hd->ioc; in mptscsih_version_bios_show() local
3066 (ioc->biosVersion & 0xFF000000) >> 24, in mptscsih_version_bios_show()
3067 (ioc->biosVersion & 0x00FF0000) >> 16, in mptscsih_version_bios_show()
3068 (ioc->biosVersion & 0x0000FF00) >> 8, in mptscsih_version_bios_show()
3069 ioc->biosVersion & 0x000000FF); in mptscsih_version_bios_show()
3079 MPT_ADAPTER *ioc = hd->ioc; in mptscsih_version_mpi_show() local
3081 return snprintf(buf, PAGE_SIZE, "%03x\n", ioc->facts.MsgVersion); in mptscsih_version_mpi_show()
3092 MPT_ADAPTER *ioc = hd->ioc; in mptscsih_version_product_show() local
3094 return snprintf(buf, PAGE_SIZE, "%s\n", ioc->prod_name); in mptscsih_version_product_show()
3106 MPT_ADAPTER *ioc = hd->ioc; in mptscsih_version_nvdata_persistent_show() local
3109 ioc->nvdata_version_persistent); in mptscsih_version_nvdata_persistent_show()
3120 MPT_ADAPTER *ioc = hd->ioc; in mptscsih_version_nvdata_default_show() local
3122 return snprintf(buf, PAGE_SIZE, "%02xh\n",ioc->nvdata_version_default); in mptscsih_version_nvdata_default_show()
3133 MPT_ADAPTER *ioc = hd->ioc; in mptscsih_board_name_show() local
3135 return snprintf(buf, PAGE_SIZE, "%s\n", ioc->board_name); in mptscsih_board_name_show()
3145 MPT_ADAPTER *ioc = hd->ioc; in mptscsih_board_assembly_show() local
3147 return snprintf(buf, PAGE_SIZE, "%s\n", ioc->board_assembly); in mptscsih_board_assembly_show()
3158 MPT_ADAPTER *ioc = hd->ioc; in mptscsih_board_tracer_show() local
3160 return snprintf(buf, PAGE_SIZE, "%s\n", ioc->board_tracer); in mptscsih_board_tracer_show()
3171 MPT_ADAPTER *ioc = hd->ioc; in mptscsih_io_delay_show() local
3173 return snprintf(buf, PAGE_SIZE, "%02d\n", ioc->io_missing_delay); in mptscsih_io_delay_show()
3184 MPT_ADAPTER *ioc = hd->ioc; in mptscsih_device_delay_show() local
3186 return snprintf(buf, PAGE_SIZE, "%02d\n", ioc->device_missing_delay); in mptscsih_device_delay_show()
3197 MPT_ADAPTER *ioc = hd->ioc; in mptscsih_debug_level_show() local
3199 return snprintf(buf, PAGE_SIZE, "%08xh\n", ioc->debug_level); in mptscsih_debug_level_show()
3207 MPT_ADAPTER *ioc = hd->ioc; in mptscsih_debug_level_store() local
3213 ioc->debug_level = val; in mptscsih_debug_level_store()
3215 ioc->name, ioc->debug_level); in mptscsih_debug_level_store()