Lines Matching refs:ioreq

84 csio_scsi_match_io(struct csio_ioreq *ioreq, struct csio_scsi_level_data *sld)  in csio_scsi_match_io()  argument
86 struct scsi_cmnd *scmnd = csio_scsi_cmnd(ioreq); in csio_scsi_match_io()
93 return ((ioreq->lnode == sld->lnode) && in csio_scsi_match_io()
94 (ioreq->rnode == sld->rnode) && in csio_scsi_match_io()
98 return ((ioreq->lnode == sld->lnode) && in csio_scsi_match_io()
99 (ioreq->rnode == sld->rnode)); in csio_scsi_match_io()
101 return (ioreq->lnode == sld->lnode); in csio_scsi_match_io()
1105 struct csio_ioreq *ioreq = NULL; in csio_scsi_cmpl_handler() local
1128 ioreq = (struct csio_ioreq *)((uintptr_t) in csio_scsi_cmpl_handler()
1130 CSIO_DB_ASSERT(virt_addr_valid(ioreq)); in csio_scsi_cmpl_handler()
1132 ioreq->wr_status = status; in csio_scsi_cmpl_handler()
1134 return ioreq; in csio_scsi_cmpl_handler()
1138 ioreq = (struct csio_ioreq *)((uintptr_t) in csio_scsi_cmpl_handler()
1140 CSIO_DB_ASSERT(virt_addr_valid(ioreq)); in csio_scsi_cmpl_handler()
1142 ioreq->wr_status = status; in csio_scsi_cmpl_handler()
1143 return ioreq; in csio_scsi_cmpl_handler()
1162 struct csio_ioreq *ioreq; in csio_scsi_cleanup_io_q() local
1168 ioreq = (struct csio_ioreq *)tmp; in csio_scsi_cleanup_io_q()
1169 csio_scsi_drvcleanup(ioreq); in csio_scsi_cleanup_io_q()
1170 list_del_init(&ioreq->sm.sm_list); in csio_scsi_cleanup_io_q()
1171 scmnd = csio_scsi_cmnd(ioreq); in csio_scsi_cleanup_io_q()
1179 ioreq->io_cbfn(hw, ioreq); in csio_scsi_cleanup_io_q()
1182 csio_put_scsi_ioreq(scm, ioreq); in csio_scsi_cleanup_io_q()
1192 csio_abrt_cls(struct csio_ioreq *ioreq, struct scsi_cmnd *scmnd) in csio_abrt_cls() argument
1194 struct csio_lnode *ln = ioreq->lnode; in csio_abrt_cls()
1200 if (csio_scsi_cmnd(ioreq) != scmnd) { in csio_abrt_cls()
1207 rv = csio_do_abrt_cls(hw, ioreq, (ready ? SCSI_ABORT : SCSI_CLOSE)); in csio_abrt_cls()
1785 struct csio_ioreq *ioreq = NULL; in csio_queuecommand() local
1825 ioreq = csio_get_scsi_ioreq_lock(hw, scsim); in csio_queuecommand()
1826 if (!ioreq) { in csio_queuecommand()
1833 ioreq->nsge = nsge; in csio_queuecommand()
1834 ioreq->lnode = ln; in csio_queuecommand()
1835 ioreq->rnode = rn; in csio_queuecommand()
1836 ioreq->iq_idx = sqset->iq_idx; in csio_queuecommand()
1837 ioreq->eq_idx = sqset->eq_idx; in csio_queuecommand()
1838 ioreq->wr_status = 0; in csio_queuecommand()
1839 ioreq->drv_status = 0; in csio_queuecommand()
1840 csio_scsi_cmnd(ioreq) = (void *)cmnd; in csio_queuecommand()
1841 ioreq->tmo = 0; in csio_queuecommand()
1842 ioreq->datadir = cmnd->sc_data_direction; in csio_queuecommand()
1854 ioreq->io_cbfn = csio_scsi_cbfn; in csio_queuecommand()
1857 cmnd->host_scribble = (unsigned char *)ioreq; in csio_queuecommand()
1862 retval = csio_scsi_start_io(ioreq); in csio_queuecommand()
1867 ioreq, retval); in csio_queuecommand()
1875 csio_put_scsi_ioreq_lock(hw, scsim, ioreq); in csio_queuecommand()
1888 csio_do_abrt_cls(struct csio_hw *hw, struct csio_ioreq *ioreq, bool abort) in csio_do_abrt_cls() argument
1892 struct csio_lnode *ln = ioreq->lnode; in csio_do_abrt_cls()
1895 ioreq->tmo = CSIO_SCSI_ABRT_TMO_MS; in csio_do_abrt_cls()
1902 ioreq->eq_idx = sqset->eq_idx; in csio_do_abrt_cls()
1905 rv = csio_scsi_abort(ioreq); in csio_do_abrt_cls()
1907 rv = csio_scsi_close(ioreq); in csio_do_abrt_cls()
1915 struct csio_ioreq *ioreq; in csio_eh_abort_handler() local
1928 ioreq = (struct csio_ioreq *)cmnd->host_scribble; in csio_eh_abort_handler()
1929 if (!ioreq) in csio_eh_abort_handler()
1938 ioreq, cmnd, *((uint64_t *)cmnd->cmnd), rn->flowid, in csio_eh_abort_handler()
1939 cmnd->device->lun, csio_q_physiqid(hw, ioreq->iq_idx)); in csio_eh_abort_handler()
1941 if (((struct scsi_cmnd *)csio_scsi_cmnd(ioreq)) != cmnd) { in csio_eh_abort_handler()
1949 reinit_completion(&ioreq->cmplobj); in csio_eh_abort_handler()
1951 rv = csio_do_abrt_cls(hw, ioreq, (ready ? SCSI_ABORT : SCSI_CLOSE)); in csio_eh_abort_handler()
1969 wait_for_completion_timeout(&ioreq->cmplobj, msecs_to_jiffies(tmo)); in csio_eh_abort_handler()
1972 if (((struct scsi_cmnd *)csio_scsi_cmnd(ioreq)) == cmnd) { in csio_eh_abort_handler()
1974 csio_err(hw, "Abort timed out -- req: %p\n", ioreq); in csio_eh_abort_handler()
1978 if (ioreq->nsge > 0) in csio_eh_abort_handler()
1982 csio_scsi_cmnd(ioreq) = NULL; in csio_eh_abort_handler()
2068 struct csio_ioreq *ioreq = NULL; in csio_eh_lun_reset_handler() local
2111 ioreq = csio_get_scsi_ioreq_lock(hw, scsim); in csio_eh_lun_reset_handler()
2113 if (!ioreq) { in csio_eh_lun_reset_handler()
2120 ioreq->nsge = 0; in csio_eh_lun_reset_handler()
2121 ioreq->lnode = ln; in csio_eh_lun_reset_handler()
2122 ioreq->rnode = rn; in csio_eh_lun_reset_handler()
2123 ioreq->iq_idx = sqset->iq_idx; in csio_eh_lun_reset_handler()
2124 ioreq->eq_idx = sqset->eq_idx; in csio_eh_lun_reset_handler()
2126 csio_scsi_cmnd(ioreq) = cmnd; in csio_eh_lun_reset_handler()
2127 cmnd->host_scribble = (unsigned char *)ioreq; in csio_eh_lun_reset_handler()
2131 ioreq->tmo = CSIO_SCSI_LUNRST_TMO_MS / 1000; in csio_eh_lun_reset_handler()
2138 count = DIV_ROUND_UP((ioreq->tmo + 10) * 1000, CSIO_SCSI_TM_POLL_MS); in csio_eh_lun_reset_handler()
2141 ioreq->io_cbfn = csio_tm_cbfn; in csio_eh_lun_reset_handler()
2145 sld.lnode = ioreq->lnode; in csio_eh_lun_reset_handler()
2146 sld.rnode = ioreq->rnode; in csio_eh_lun_reset_handler()
2151 retval = csio_scsi_start_tm(ioreq); in csio_eh_lun_reset_handler()
2156 ioreq, retval); in csio_eh_lun_reset_handler()
2163 while ((((struct scsi_cmnd *)csio_scsi_cmnd(ioreq)) == cmnd) in csio_eh_lun_reset_handler()
2168 if (((struct scsi_cmnd *)csio_scsi_cmnd(ioreq)) == cmnd) { in csio_eh_lun_reset_handler()
2173 csio_scsi_drvcleanup(ioreq); in csio_eh_lun_reset_handler()
2174 list_del_init(&ioreq->sm.sm_list); in csio_eh_lun_reset_handler()
2220 csio_put_scsi_ioreq_lock(hw, scsim, ioreq); in csio_eh_lun_reset_handler()
2421 struct csio_ioreq *ioreq; in csio_scsim_init() local
2437 ioreq = kzalloc(sizeof(struct csio_ioreq), GFP_KERNEL); in csio_scsim_init()
2438 if (!ioreq) { in csio_scsim_init()
2448 dma_buf = &ioreq->dma_buf; in csio_scsim_init()
2455 kfree(ioreq); in csio_scsim_init()
2462 csio_init_state(&ioreq->sm, csio_scsis_uninit); in csio_scsim_init()
2463 INIT_LIST_HEAD(&ioreq->gen_list); in csio_scsim_init()
2464 init_completion(&ioreq->cmplobj); in csio_scsim_init()
2466 list_add_tail(&ioreq->sm.sm_list, &scm->ioreq_freelist); in csio_scsim_init()
2486 ioreq = (struct csio_ioreq *)tmp; in csio_scsim_init()
2488 dma_buf = &ioreq->dma_buf; in csio_scsim_init()
2492 kfree(ioreq); in csio_scsim_init()
2508 struct csio_ioreq *ioreq; in csio_scsim_exit() local
2517 ioreq = (struct csio_ioreq *)tmp; in csio_scsim_exit()
2519 dma_buf = &ioreq->dma_buf; in csio_scsim_exit()
2523 kfree(ioreq); in csio_scsim_exit()