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()
1781 struct csio_ioreq *ioreq = NULL; in csio_queuecommand() local
1821 ioreq = csio_get_scsi_ioreq_lock(hw, scsim); in csio_queuecommand()
1822 if (!ioreq) { in csio_queuecommand()
1829 ioreq->nsge = nsge; in csio_queuecommand()
1830 ioreq->lnode = ln; in csio_queuecommand()
1831 ioreq->rnode = rn; in csio_queuecommand()
1832 ioreq->iq_idx = sqset->iq_idx; in csio_queuecommand()
1833 ioreq->eq_idx = sqset->eq_idx; in csio_queuecommand()
1834 ioreq->wr_status = 0; in csio_queuecommand()
1835 ioreq->drv_status = 0; in csio_queuecommand()
1836 csio_scsi_cmnd(ioreq) = (void *)cmnd; in csio_queuecommand()
1837 ioreq->tmo = 0; in csio_queuecommand()
1838 ioreq->datadir = cmnd->sc_data_direction; in csio_queuecommand()
1850 ioreq->io_cbfn = csio_scsi_cbfn; in csio_queuecommand()
1853 cmnd->host_scribble = (unsigned char *)ioreq; in csio_queuecommand()
1858 retval = csio_scsi_start_io(ioreq); in csio_queuecommand()
1863 ioreq, retval); in csio_queuecommand()
1871 csio_put_scsi_ioreq_lock(hw, scsim, ioreq); in csio_queuecommand()
1884 csio_do_abrt_cls(struct csio_hw *hw, struct csio_ioreq *ioreq, bool abort) in csio_do_abrt_cls() argument
1888 struct csio_lnode *ln = ioreq->lnode; in csio_do_abrt_cls()
1891 ioreq->tmo = CSIO_SCSI_ABRT_TMO_MS; in csio_do_abrt_cls()
1898 ioreq->eq_idx = sqset->eq_idx; in csio_do_abrt_cls()
1901 rv = csio_scsi_abort(ioreq); in csio_do_abrt_cls()
1903 rv = csio_scsi_close(ioreq); in csio_do_abrt_cls()
1911 struct csio_ioreq *ioreq; in csio_eh_abort_handler() local
1924 ioreq = (struct csio_ioreq *)cmnd->host_scribble; in csio_eh_abort_handler()
1925 if (!ioreq) in csio_eh_abort_handler()
1934 ioreq, cmnd, *((uint64_t *)cmnd->cmnd), rn->flowid, in csio_eh_abort_handler()
1935 cmnd->device->lun, csio_q_physiqid(hw, ioreq->iq_idx)); in csio_eh_abort_handler()
1937 if (((struct scsi_cmnd *)csio_scsi_cmnd(ioreq)) != cmnd) { in csio_eh_abort_handler()
1945 reinit_completion(&ioreq->cmplobj); in csio_eh_abort_handler()
1947 rv = csio_do_abrt_cls(hw, ioreq, (ready ? SCSI_ABORT : SCSI_CLOSE)); in csio_eh_abort_handler()
1965 wait_for_completion_timeout(&ioreq->cmplobj, msecs_to_jiffies(tmo)); in csio_eh_abort_handler()
1968 if (((struct scsi_cmnd *)csio_scsi_cmnd(ioreq)) == cmnd) { in csio_eh_abort_handler()
1970 csio_err(hw, "Abort timed out -- req: %p\n", ioreq); in csio_eh_abort_handler()
1974 if (ioreq->nsge > 0) in csio_eh_abort_handler()
1978 csio_scsi_cmnd(ioreq) = NULL; in csio_eh_abort_handler()
2064 struct csio_ioreq *ioreq = NULL; in csio_eh_lun_reset_handler() local
2107 ioreq = csio_get_scsi_ioreq_lock(hw, scsim); in csio_eh_lun_reset_handler()
2109 if (!ioreq) { in csio_eh_lun_reset_handler()
2116 ioreq->nsge = 0; in csio_eh_lun_reset_handler()
2117 ioreq->lnode = ln; in csio_eh_lun_reset_handler()
2118 ioreq->rnode = rn; in csio_eh_lun_reset_handler()
2119 ioreq->iq_idx = sqset->iq_idx; in csio_eh_lun_reset_handler()
2120 ioreq->eq_idx = sqset->eq_idx; in csio_eh_lun_reset_handler()
2122 csio_scsi_cmnd(ioreq) = cmnd; in csio_eh_lun_reset_handler()
2123 cmnd->host_scribble = (unsigned char *)ioreq; in csio_eh_lun_reset_handler()
2127 ioreq->tmo = CSIO_SCSI_LUNRST_TMO_MS / 1000; in csio_eh_lun_reset_handler()
2134 count = DIV_ROUND_UP((ioreq->tmo + 10) * 1000, CSIO_SCSI_TM_POLL_MS); in csio_eh_lun_reset_handler()
2137 ioreq->io_cbfn = csio_tm_cbfn; in csio_eh_lun_reset_handler()
2141 sld.lnode = ioreq->lnode; in csio_eh_lun_reset_handler()
2142 sld.rnode = ioreq->rnode; in csio_eh_lun_reset_handler()
2147 retval = csio_scsi_start_tm(ioreq); in csio_eh_lun_reset_handler()
2152 ioreq, retval); in csio_eh_lun_reset_handler()
2159 while ((((struct scsi_cmnd *)csio_scsi_cmnd(ioreq)) == cmnd) in csio_eh_lun_reset_handler()
2164 if (((struct scsi_cmnd *)csio_scsi_cmnd(ioreq)) == cmnd) { in csio_eh_lun_reset_handler()
2169 csio_scsi_drvcleanup(ioreq); in csio_eh_lun_reset_handler()
2170 list_del_init(&ioreq->sm.sm_list); in csio_eh_lun_reset_handler()
2215 csio_put_scsi_ioreq_lock(hw, scsim, ioreq); in csio_eh_lun_reset_handler()
2415 struct csio_ioreq *ioreq; in csio_scsim_init() local
2431 ioreq = kzalloc(sizeof(struct csio_ioreq), GFP_KERNEL); in csio_scsim_init()
2432 if (!ioreq) { in csio_scsim_init()
2442 dma_buf = &ioreq->dma_buf; in csio_scsim_init()
2449 kfree(ioreq); in csio_scsim_init()
2456 csio_init_state(&ioreq->sm, csio_scsis_uninit); in csio_scsim_init()
2457 INIT_LIST_HEAD(&ioreq->gen_list); in csio_scsim_init()
2458 init_completion(&ioreq->cmplobj); in csio_scsim_init()
2460 list_add_tail(&ioreq->sm.sm_list, &scm->ioreq_freelist); in csio_scsim_init()
2480 ioreq = (struct csio_ioreq *)tmp; in csio_scsim_init()
2482 dma_buf = &ioreq->dma_buf; in csio_scsim_init()
2486 kfree(ioreq); in csio_scsim_init()
2502 struct csio_ioreq *ioreq; in csio_scsim_exit() local
2511 ioreq = (struct csio_ioreq *)tmp; in csio_scsim_exit()
2513 dma_buf = &ioreq->dma_buf; in csio_scsim_exit()
2517 kfree(ioreq); in csio_scsim_exit()