Lines Matching refs:evt
147 static void ibmvfc_trc_start(struct ibmvfc_event *evt) in ibmvfc_trc_start() argument
149 struct ibmvfc_host *vhost = evt->vhost; in ibmvfc_trc_start()
150 struct ibmvfc_cmd *vfc_cmd = &evt->iu.cmd; in ibmvfc_trc_start()
151 struct ibmvfc_mad_common *mad = &evt->iu.mad_common; in ibmvfc_trc_start()
155 entry->evt = evt; in ibmvfc_trc_start()
157 entry->fmt = evt->crq.format; in ibmvfc_trc_start()
181 static void ibmvfc_trc_end(struct ibmvfc_event *evt) in ibmvfc_trc_end() argument
183 struct ibmvfc_host *vhost = evt->vhost; in ibmvfc_trc_end()
184 struct ibmvfc_cmd *vfc_cmd = &evt->xfer_iu->cmd; in ibmvfc_trc_end()
185 struct ibmvfc_mad_common *mad = &evt->xfer_iu->mad_common; in ibmvfc_trc_end()
188 entry->evt = evt; in ibmvfc_trc_end()
190 entry->fmt = evt->crq.format; in ibmvfc_trc_end()
216 #define ibmvfc_trc_start(evt) do { } while (0) argument
217 #define ibmvfc_trc_end(evt) do { } while (0) argument
798 struct ibmvfc_event *evt) in ibmvfc_valid_event() argument
800 int index = evt - pool->events; in ibmvfc_valid_event()
803 if (evt != pool->events + index) /* unaligned */ in ibmvfc_valid_event()
813 static void ibmvfc_free_event(struct ibmvfc_event *evt) in ibmvfc_free_event() argument
815 struct ibmvfc_host *vhost = evt->vhost; in ibmvfc_free_event()
818 BUG_ON(!ibmvfc_valid_event(pool, evt)); in ibmvfc_free_event()
819 BUG_ON(atomic_inc_return(&evt->free) != 1); in ibmvfc_free_event()
820 list_add_tail(&evt->queue, &vhost->free); in ibmvfc_free_event()
830 static void ibmvfc_scsi_eh_done(struct ibmvfc_event *evt) in ibmvfc_scsi_eh_done() argument
832 struct scsi_cmnd *cmnd = evt->cmnd; in ibmvfc_scsi_eh_done()
839 if (evt->eh_comp) in ibmvfc_scsi_eh_done()
840 complete(evt->eh_comp); in ibmvfc_scsi_eh_done()
842 ibmvfc_free_event(evt); in ibmvfc_scsi_eh_done()
853 static void ibmvfc_fail_request(struct ibmvfc_event *evt, int error_code) in ibmvfc_fail_request() argument
855 if (evt->cmnd) { in ibmvfc_fail_request()
856 evt->cmnd->result = (error_code << 16); in ibmvfc_fail_request()
857 evt->done = ibmvfc_scsi_eh_done; in ibmvfc_fail_request()
859 evt->xfer_iu->mad_common.status = cpu_to_be16(IBMVFC_MAD_DRIVER_FAILED); in ibmvfc_fail_request()
861 list_del(&evt->queue); in ibmvfc_fail_request()
862 del_timer(&evt->timer); in ibmvfc_fail_request()
863 ibmvfc_trc_end(evt); in ibmvfc_fail_request()
864 evt->done(evt); in ibmvfc_fail_request()
877 struct ibmvfc_event *evt, *pos; in ibmvfc_purge_requests() local
880 list_for_each_entry_safe(evt, pos, &vhost->sent, queue) in ibmvfc_purge_requests()
881 ibmvfc_fail_request(evt, error_code); in ibmvfc_purge_requests()
1274 struct ibmvfc_event *evt = &pool->events[i]; in ibmvfc_init_event_pool() local
1275 atomic_set(&evt->free, 1); in ibmvfc_init_event_pool()
1276 evt->crq.valid = 0x80; in ibmvfc_init_event_pool()
1277 evt->crq.ioba = cpu_to_be64(pool->iu_token + (sizeof(*evt->xfer_iu) * i)); in ibmvfc_init_event_pool()
1278 evt->xfer_iu = pool->iu_storage + i; in ibmvfc_init_event_pool()
1279 evt->vhost = vhost; in ibmvfc_init_event_pool()
1280 evt->ext_list = NULL; in ibmvfc_init_event_pool()
1281 list_add_tail(&evt->queue, &vhost->free); in ibmvfc_init_event_pool()
1323 struct ibmvfc_event *evt; in ibmvfc_get_event() local
1326 evt = list_entry(vhost->free.next, struct ibmvfc_event, queue); in ibmvfc_get_event()
1327 atomic_set(&evt->free, 0); in ibmvfc_get_event()
1328 list_del(&evt->queue); in ibmvfc_get_event()
1329 return evt; in ibmvfc_get_event()
1339 static void ibmvfc_init_event(struct ibmvfc_event *evt, in ibmvfc_init_event() argument
1342 evt->cmnd = NULL; in ibmvfc_init_event()
1343 evt->sync_iu = NULL; in ibmvfc_init_event()
1344 evt->crq.format = format; in ibmvfc_init_event()
1345 evt->done = done; in ibmvfc_init_event()
1346 evt->eh_comp = NULL; in ibmvfc_init_event()
1379 struct ibmvfc_event *evt, in ibmvfc_map_sg_data() argument
1415 if (!evt->ext_list) { in ibmvfc_map_sg_data()
1416 evt->ext_list = dma_pool_alloc(vhost->sg_pool, GFP_ATOMIC, in ibmvfc_map_sg_data()
1417 &evt->ext_list_token); in ibmvfc_map_sg_data()
1419 if (!evt->ext_list) { in ibmvfc_map_sg_data()
1427 ibmvfc_map_sg_list(scmd, sg_mapped, evt->ext_list); in ibmvfc_map_sg_data()
1429 data->va = cpu_to_be64(evt->ext_list_token); in ibmvfc_map_sg_data()
1443 struct ibmvfc_event *evt = from_timer(evt, t, timer); in ibmvfc_timeout() local
1444 struct ibmvfc_host *vhost = evt->vhost; in ibmvfc_timeout()
1445 dev_err(vhost->dev, "Command timed out (%p). Resetting connection\n", evt); in ibmvfc_timeout()
1457 static int ibmvfc_send_event(struct ibmvfc_event *evt, in ibmvfc_send_event() argument
1460 __be64 *crq_as_u64 = (__be64 *) &evt->crq; in ibmvfc_send_event()
1464 *evt->xfer_iu = evt->iu; in ibmvfc_send_event()
1465 if (evt->crq.format == IBMVFC_CMD_FORMAT) in ibmvfc_send_event()
1466 evt->xfer_iu->cmd.tag = cpu_to_be64((u64)evt); in ibmvfc_send_event()
1467 else if (evt->crq.format == IBMVFC_MAD_FORMAT) in ibmvfc_send_event()
1468 evt->xfer_iu->mad_common.tag = cpu_to_be64((u64)evt); in ibmvfc_send_event()
1472 list_add_tail(&evt->queue, &vhost->sent); in ibmvfc_send_event()
1473 timer_setup(&evt->timer, ibmvfc_timeout, 0); in ibmvfc_send_event()
1476 evt->timer.expires = jiffies + (timeout * HZ); in ibmvfc_send_event()
1477 add_timer(&evt->timer); in ibmvfc_send_event()
1484 list_del(&evt->queue); in ibmvfc_send_event()
1485 del_timer(&evt->timer); in ibmvfc_send_event()
1495 if (evt->cmnd) in ibmvfc_send_event()
1496 scsi_dma_unmap(evt->cmnd); in ibmvfc_send_event()
1497 ibmvfc_free_event(evt); in ibmvfc_send_event()
1502 if (evt->cmnd) { in ibmvfc_send_event()
1503 evt->cmnd->result = DID_ERROR << 16; in ibmvfc_send_event()
1504 evt->done = ibmvfc_scsi_eh_done; in ibmvfc_send_event()
1506 evt->xfer_iu->mad_common.status = cpu_to_be16(IBMVFC_MAD_CRQ_ERROR); in ibmvfc_send_event()
1508 evt->done(evt); in ibmvfc_send_event()
1510 ibmvfc_trc_start(evt); in ibmvfc_send_event()
1520 static void ibmvfc_log_error(struct ibmvfc_event *evt) in ibmvfc_log_error() argument
1522 struct ibmvfc_cmd *vfc_cmd = &evt->xfer_iu->cmd; in ibmvfc_log_error()
1523 struct ibmvfc_host *vhost = evt->vhost; in ibmvfc_log_error()
1525 struct scsi_cmnd *cmnd = evt->cmnd; in ibmvfc_log_error()
1575 static void ibmvfc_scsi_done(struct ibmvfc_event *evt) in ibmvfc_scsi_done() argument
1577 struct ibmvfc_cmd *vfc_cmd = &evt->xfer_iu->cmd; in ibmvfc_scsi_done()
1579 struct scsi_cmnd *cmnd = evt->cmnd; in ibmvfc_scsi_done()
1607 ibmvfc_log_error(evt); in ibmvfc_scsi_done()
1618 if (evt->eh_comp) in ibmvfc_scsi_done()
1619 complete(evt->eh_comp); in ibmvfc_scsi_done()
1621 ibmvfc_free_event(evt); in ibmvfc_scsi_done()
1668 struct ibmvfc_event *evt; in ibmvfc_queuecommand_lck() local
1679 evt = ibmvfc_get_event(vhost); in ibmvfc_queuecommand_lck()
1680 ibmvfc_init_event(evt, ibmvfc_scsi_done, IBMVFC_CMD_FORMAT); in ibmvfc_queuecommand_lck()
1681 evt->cmnd = cmnd; in ibmvfc_queuecommand_lck()
1683 vfc_cmd = &evt->iu.cmd; in ibmvfc_queuecommand_lck()
1685 vfc_cmd->resp.va = cpu_to_be64(be64_to_cpu(evt->crq.ioba) + offsetof(struct ibmvfc_cmd, rsp)); in ibmvfc_queuecommand_lck()
1701 if (likely(!(rc = ibmvfc_map_sg_data(cmnd, evt, vfc_cmd, vhost->dev)))) in ibmvfc_queuecommand_lck()
1702 return ibmvfc_send_event(evt, vhost, 0); in ibmvfc_queuecommand_lck()
1704 ibmvfc_free_event(evt); in ibmvfc_queuecommand_lck()
1724 static void ibmvfc_sync_completion(struct ibmvfc_event *evt) in DEF_SCSI_QCMD()
1727 if (evt->sync_iu) in DEF_SCSI_QCMD()
1728 *evt->sync_iu = *evt->xfer_iu; in DEF_SCSI_QCMD()
1730 complete(&evt->comp); in DEF_SCSI_QCMD()
1738 static void ibmvfc_bsg_timeout_done(struct ibmvfc_event *evt) in ibmvfc_bsg_timeout_done() argument
1740 struct ibmvfc_host *vhost = evt->vhost; in ibmvfc_bsg_timeout_done()
1742 ibmvfc_free_event(evt); in ibmvfc_bsg_timeout_done()
1758 struct ibmvfc_event *evt; in ibmvfc_bsg_timeout() local
1772 evt = ibmvfc_get_event(vhost); in ibmvfc_bsg_timeout()
1773 ibmvfc_init_event(evt, ibmvfc_bsg_timeout_done, IBMVFC_MAD_FORMAT); in ibmvfc_bsg_timeout()
1775 tmf = &evt->iu.tmf; in ibmvfc_bsg_timeout()
1783 rc = ibmvfc_send_event(evt, vhost, default_timeout); in ibmvfc_bsg_timeout()
1811 struct ibmvfc_event *evt; in ibmvfc_bsg_plogi() local
1830 evt = ibmvfc_get_event(vhost); in ibmvfc_bsg_plogi()
1831 ibmvfc_init_event(evt, ibmvfc_sync_completion, IBMVFC_MAD_FORMAT); in ibmvfc_bsg_plogi()
1832 plogi = &evt->iu.plogi; in ibmvfc_bsg_plogi()
1838 evt->sync_iu = &rsp_iu; in ibmvfc_bsg_plogi()
1839 init_completion(&evt->comp); in ibmvfc_bsg_plogi()
1841 rc = ibmvfc_send_event(evt, vhost, default_timeout); in ibmvfc_bsg_plogi()
1847 wait_for_completion(&evt->comp); in ibmvfc_bsg_plogi()
1853 ibmvfc_free_event(evt); in ibmvfc_bsg_plogi()
1872 struct ibmvfc_event *evt; in ibmvfc_bsg_request() local
1948 evt = ibmvfc_get_event(vhost); in ibmvfc_bsg_request()
1949 ibmvfc_init_event(evt, ibmvfc_sync_completion, IBMVFC_MAD_FORMAT); in ibmvfc_bsg_request()
1950 mad = &evt->iu.passthru; in ibmvfc_bsg_request()
1957 mad->cmd_ioba.va = cpu_to_be64(be64_to_cpu(evt->crq.ioba) + in ibmvfc_bsg_request()
1971 mad->iu.tag = cpu_to_be64((u64)evt); in ibmvfc_bsg_request()
1974 evt->sync_iu = &rsp_iu; in ibmvfc_bsg_request()
1975 init_completion(&evt->comp); in ibmvfc_bsg_request()
1976 rc = ibmvfc_send_event(evt, vhost, 0); in ibmvfc_bsg_request()
1984 wait_for_completion(&evt->comp); in ibmvfc_bsg_request()
1992 ibmvfc_free_event(evt); in ibmvfc_bsg_request()
2022 struct ibmvfc_event *evt = NULL; in ibmvfc_reset_device() local
2031 evt = ibmvfc_get_event(vhost); in ibmvfc_reset_device()
2032 ibmvfc_init_event(evt, ibmvfc_sync_completion, IBMVFC_CMD_FORMAT); in ibmvfc_reset_device()
2034 tmf = &evt->iu.cmd; in ibmvfc_reset_device()
2036 tmf->resp.va = cpu_to_be64(be64_to_cpu(evt->crq.ioba) + offsetof(struct ibmvfc_cmd, rsp)); in ibmvfc_reset_device()
2046 evt->sync_iu = &rsp_iu; in ibmvfc_reset_device()
2048 init_completion(&evt->comp); in ibmvfc_reset_device()
2049 rsp_rc = ibmvfc_send_event(evt, vhost, default_timeout); in ibmvfc_reset_device()
2060 wait_for_completion(&evt->comp); in ibmvfc_reset_device()
2079 ibmvfc_free_event(evt); in ibmvfc_reset_device()
2092 static int ibmvfc_match_rport(struct ibmvfc_event *evt, void *rport) in ibmvfc_match_rport() argument
2096 if (evt->cmnd) { in ibmvfc_match_rport()
2097 cmd_rport = starget_to_rport(scsi_target(evt->cmnd->device)); in ibmvfc_match_rport()
2112 static int ibmvfc_match_target(struct ibmvfc_event *evt, void *device) in ibmvfc_match_target() argument
2114 if (evt->cmnd && scsi_target(evt->cmnd->device) == device) in ibmvfc_match_target()
2127 static int ibmvfc_match_lun(struct ibmvfc_event *evt, void *device) in ibmvfc_match_lun() argument
2129 if (evt->cmnd && evt->cmnd->device == device) in ibmvfc_match_lun()
2146 struct ibmvfc_event *evt; in ibmvfc_wait_for_ops() local
2156 list_for_each_entry(evt, &vhost->sent, queue) { in ibmvfc_wait_for_ops()
2157 if (match(evt, device)) { in ibmvfc_wait_for_ops()
2158 evt->eh_comp = ∁ in ibmvfc_wait_for_ops()
2170 list_for_each_entry(evt, &vhost->sent, queue) { in ibmvfc_wait_for_ops()
2171 if (match(evt, device)) { in ibmvfc_wait_for_ops()
2172 evt->eh_comp = NULL; in ibmvfc_wait_for_ops()
2206 struct ibmvfc_event *evt, *found_evt; in ibmvfc_cancel_all() local
2215 list_for_each_entry(evt, &vhost->sent, queue) { in ibmvfc_cancel_all()
2216 if (evt->cmnd && evt->cmnd->device == sdev) { in ibmvfc_cancel_all()
2217 found_evt = evt; in ibmvfc_cancel_all()
2230 evt = ibmvfc_get_event(vhost); in ibmvfc_cancel_all()
2231 ibmvfc_init_event(evt, ibmvfc_sync_completion, IBMVFC_MAD_FORMAT); in ibmvfc_cancel_all()
2233 tmf = &evt->iu.tmf; in ibmvfc_cancel_all()
2249 evt->sync_iu = &rsp; in ibmvfc_cancel_all()
2250 init_completion(&evt->comp); in ibmvfc_cancel_all()
2251 rsp_rc = ibmvfc_send_event(evt, vhost, default_timeout); in ibmvfc_cancel_all()
2266 wait_for_completion(&evt->comp); in ibmvfc_cancel_all()
2269 ibmvfc_free_event(evt); in ibmvfc_cancel_all()
2297 static int ibmvfc_match_key(struct ibmvfc_event *evt, void *key) in ibmvfc_match_key() argument
2301 if (evt->crq.format == IBMVFC_CMD_FORMAT && in ibmvfc_match_key()
2302 be32_to_cpu(evt->iu.cmd.cancel_key) == cancel_key) in ibmvfc_match_key()
2315 static int ibmvfc_match_evt(struct ibmvfc_event *evt, void *match) in ibmvfc_match_evt() argument
2317 if (evt == match) in ibmvfc_match_evt()
2337 struct ibmvfc_event *evt, *found_evt; in ibmvfc_abort_task_set() local
2346 list_for_each_entry(evt, &vhost->sent, queue) { in ibmvfc_abort_task_set()
2347 if (evt->cmnd && evt->cmnd->device == sdev) { in ibmvfc_abort_task_set()
2348 found_evt = evt; in ibmvfc_abort_task_set()
2361 evt = ibmvfc_get_event(vhost); in ibmvfc_abort_task_set()
2362 ibmvfc_init_event(evt, ibmvfc_sync_completion, IBMVFC_CMD_FORMAT); in ibmvfc_abort_task_set()
2364 tmf = &evt->iu.cmd; in ibmvfc_abort_task_set()
2366 tmf->resp.va = cpu_to_be64(be64_to_cpu(evt->crq.ioba) + offsetof(struct ibmvfc_cmd, rsp)); in ibmvfc_abort_task_set()
2376 evt->sync_iu = &rsp_iu; in ibmvfc_abort_task_set()
2378 init_completion(&evt->comp); in ibmvfc_abort_task_set()
2379 rsp_rc = ibmvfc_send_event(evt, vhost, default_timeout); in ibmvfc_abort_task_set()
2390 timeout = wait_for_completion_timeout(&evt->comp, timeout); in ibmvfc_abort_task_set()
2409 rc = ibmvfc_wait_for_ops(vhost, evt, ibmvfc_match_evt); in ibmvfc_abort_task_set()
2439 ibmvfc_free_event(evt); in ibmvfc_abort_task_set()
2800 struct ibmvfc_event *evt = (struct ibmvfc_event *)be64_to_cpu(crq->ioba); in ibmvfc_handle_crq() local
2859 if (unlikely(!ibmvfc_valid_event(&vhost->pool, evt))) { in ibmvfc_handle_crq()
2865 if (unlikely(atomic_read(&evt->free))) { in ibmvfc_handle_crq()
2871 del_timer(&evt->timer); in ibmvfc_handle_crq()
2872 list_del(&evt->queue); in ibmvfc_handle_crq()
2873 ibmvfc_trc_end(evt); in ibmvfc_handle_crq()
2874 evt->done(evt); in ibmvfc_handle_crq()
3373 static void ibmvfc_tgt_prli_done(struct ibmvfc_event *evt) in ibmvfc_tgt_prli_done() argument
3375 struct ibmvfc_target *tgt = evt->tgt; in ibmvfc_tgt_prli_done()
3376 struct ibmvfc_host *vhost = evt->vhost; in ibmvfc_tgt_prli_done()
3377 struct ibmvfc_process_login *rsp = &evt->xfer_iu->prli; in ibmvfc_tgt_prli_done()
3433 ibmvfc_free_event(evt); in ibmvfc_tgt_prli_done()
3446 struct ibmvfc_event *evt; in ibmvfc_tgt_send_prli() local
3452 evt = ibmvfc_get_event(vhost); in ibmvfc_tgt_send_prli()
3454 ibmvfc_init_event(evt, ibmvfc_tgt_prli_done, IBMVFC_MAD_FORMAT); in ibmvfc_tgt_send_prli()
3455 evt->tgt = tgt; in ibmvfc_tgt_send_prli()
3456 prli = &evt->iu.prli; in ibmvfc_tgt_send_prli()
3472 if (ibmvfc_send_event(evt, vhost, default_timeout)) { in ibmvfc_tgt_send_prli()
3485 static void ibmvfc_tgt_plogi_done(struct ibmvfc_event *evt) in ibmvfc_tgt_plogi_done() argument
3487 struct ibmvfc_target *tgt = evt->tgt; in ibmvfc_tgt_plogi_done()
3488 struct ibmvfc_host *vhost = evt->vhost; in ibmvfc_tgt_plogi_done()
3489 struct ibmvfc_port_login *rsp = &evt->xfer_iu->plogi; in ibmvfc_tgt_plogi_done()
3534 ibmvfc_free_event(evt); in ibmvfc_tgt_plogi_done()
3547 struct ibmvfc_event *evt; in ibmvfc_tgt_send_plogi() local
3554 evt = ibmvfc_get_event(vhost); in ibmvfc_tgt_send_plogi()
3557 ibmvfc_init_event(evt, ibmvfc_tgt_plogi_done, IBMVFC_MAD_FORMAT); in ibmvfc_tgt_send_plogi()
3558 evt->tgt = tgt; in ibmvfc_tgt_send_plogi()
3559 plogi = &evt->iu.plogi; in ibmvfc_tgt_send_plogi()
3566 if (ibmvfc_send_event(evt, vhost, default_timeout)) { in ibmvfc_tgt_send_plogi()
3579 static void ibmvfc_tgt_implicit_logout_done(struct ibmvfc_event *evt) in ibmvfc_tgt_implicit_logout_done() argument
3581 struct ibmvfc_target *tgt = evt->tgt; in ibmvfc_tgt_implicit_logout_done()
3582 struct ibmvfc_host *vhost = evt->vhost; in ibmvfc_tgt_implicit_logout_done()
3583 struct ibmvfc_implicit_logout *rsp = &evt->xfer_iu->implicit_logout; in ibmvfc_tgt_implicit_logout_done()
3587 ibmvfc_free_event(evt); in ibmvfc_tgt_implicit_logout_done()
3621 struct ibmvfc_event *evt; in __ibmvfc_tgt_get_implicit_logout_evt() local
3624 evt = ibmvfc_get_event(vhost); in __ibmvfc_tgt_get_implicit_logout_evt()
3625 ibmvfc_init_event(evt, done, IBMVFC_MAD_FORMAT); in __ibmvfc_tgt_get_implicit_logout_evt()
3626 evt->tgt = tgt; in __ibmvfc_tgt_get_implicit_logout_evt()
3627 mad = &evt->iu.implicit_logout; in __ibmvfc_tgt_get_implicit_logout_evt()
3633 return evt; in __ibmvfc_tgt_get_implicit_logout_evt()
3644 struct ibmvfc_event *evt; in ibmvfc_tgt_implicit_logout() local
3650 evt = __ibmvfc_tgt_get_implicit_logout_evt(tgt, in ibmvfc_tgt_implicit_logout()
3654 if (ibmvfc_send_event(evt, vhost, default_timeout)) { in ibmvfc_tgt_implicit_logout()
3667 static void ibmvfc_tgt_implicit_logout_and_del_done(struct ibmvfc_event *evt) in ibmvfc_tgt_implicit_logout_and_del_done() argument
3669 struct ibmvfc_target *tgt = evt->tgt; in ibmvfc_tgt_implicit_logout_and_del_done()
3670 struct ibmvfc_host *vhost = evt->vhost; in ibmvfc_tgt_implicit_logout_and_del_done()
3671 struct ibmvfc_passthru_mad *mad = &evt->xfer_iu->passthru; in ibmvfc_tgt_implicit_logout_and_del_done()
3675 ibmvfc_free_event(evt); in ibmvfc_tgt_implicit_logout_and_del_done()
3702 struct ibmvfc_event *evt; in ibmvfc_tgt_implicit_logout_and_del() local
3713 evt = __ibmvfc_tgt_get_implicit_logout_evt(tgt, in ibmvfc_tgt_implicit_logout_and_del()
3717 if (ibmvfc_send_event(evt, vhost, default_timeout)) { in ibmvfc_tgt_implicit_logout_and_del()
3730 static void ibmvfc_tgt_move_login_done(struct ibmvfc_event *evt) in ibmvfc_tgt_move_login_done() argument
3732 struct ibmvfc_target *tgt = evt->tgt; in ibmvfc_tgt_move_login_done()
3733 struct ibmvfc_host *vhost = evt->vhost; in ibmvfc_tgt_move_login_done()
3734 struct ibmvfc_move_login *rsp = &evt->xfer_iu->move_login; in ibmvfc_tgt_move_login_done()
3769 ibmvfc_free_event(evt); in ibmvfc_tgt_move_login_done()
3783 struct ibmvfc_event *evt; in ibmvfc_tgt_move_login() local
3789 evt = ibmvfc_get_event(vhost); in ibmvfc_tgt_move_login()
3792 ibmvfc_init_event(evt, ibmvfc_tgt_move_login_done, IBMVFC_MAD_FORMAT); in ibmvfc_tgt_move_login()
3793 evt->tgt = tgt; in ibmvfc_tgt_move_login()
3794 move = &evt->iu.move_login; in ibmvfc_tgt_move_login()
3805 if (ibmvfc_send_event(evt, vhost, default_timeout)) { in ibmvfc_tgt_move_login()
3838 static void ibmvfc_tgt_adisc_done(struct ibmvfc_event *evt) in ibmvfc_tgt_adisc_done() argument
3840 struct ibmvfc_target *tgt = evt->tgt; in ibmvfc_tgt_adisc_done()
3841 struct ibmvfc_host *vhost = evt->vhost; in ibmvfc_tgt_adisc_done()
3842 struct ibmvfc_passthru_mad *mad = &evt->xfer_iu->passthru; in ibmvfc_tgt_adisc_done()
3872 ibmvfc_free_event(evt); in ibmvfc_tgt_adisc_done()
3881 static void ibmvfc_init_passthru(struct ibmvfc_event *evt) in ibmvfc_init_passthru() argument
3883 struct ibmvfc_passthru_mad *mad = &evt->iu.passthru; in ibmvfc_init_passthru()
3889 mad->cmd_ioba.va = cpu_to_be64((u64)be64_to_cpu(evt->crq.ioba) + in ibmvfc_init_passthru()
3894 mad->iu.cmd.va = cpu_to_be64((u64)be64_to_cpu(evt->crq.ioba) + in ibmvfc_init_passthru()
3898 mad->iu.rsp.va = cpu_to_be64((u64)be64_to_cpu(evt->crq.ioba) + in ibmvfc_init_passthru()
3914 static void ibmvfc_tgt_adisc_cancel_done(struct ibmvfc_event *evt) in ibmvfc_tgt_adisc_cancel_done() argument
3916 struct ibmvfc_host *vhost = evt->vhost; in ibmvfc_tgt_adisc_cancel_done()
3917 struct ibmvfc_target *tgt = evt->tgt; in ibmvfc_tgt_adisc_cancel_done()
3921 ibmvfc_free_event(evt); in ibmvfc_tgt_adisc_cancel_done()
3938 struct ibmvfc_event *evt; in ibmvfc_adisc_timeout() local
3955 evt = ibmvfc_get_event(vhost); in ibmvfc_adisc_timeout()
3956 ibmvfc_init_event(evt, ibmvfc_tgt_adisc_cancel_done, IBMVFC_MAD_FORMAT); in ibmvfc_adisc_timeout()
3958 evt->tgt = tgt; in ibmvfc_adisc_timeout()
3959 tmf = &evt->iu.tmf; in ibmvfc_adisc_timeout()
3967 rc = ibmvfc_send_event(evt, vhost, default_timeout); in ibmvfc_adisc_timeout()
3994 struct ibmvfc_event *evt; in ibmvfc_tgt_adisc() local
4000 evt = ibmvfc_get_event(vhost); in ibmvfc_tgt_adisc()
4002 ibmvfc_init_event(evt, ibmvfc_tgt_adisc_done, IBMVFC_MAD_FORMAT); in ibmvfc_tgt_adisc()
4003 evt->tgt = tgt; in ibmvfc_tgt_adisc()
4005 ibmvfc_init_passthru(evt); in ibmvfc_tgt_adisc()
4006 mad = &evt->iu.passthru; in ibmvfc_tgt_adisc()
4026 if (ibmvfc_send_event(evt, vhost, IBMVFC_ADISC_PLUS_CANCEL_TIMEOUT)) { in ibmvfc_tgt_adisc()
4040 static void ibmvfc_tgt_query_target_done(struct ibmvfc_event *evt) in ibmvfc_tgt_query_target_done() argument
4042 struct ibmvfc_target *tgt = evt->tgt; in ibmvfc_tgt_query_target_done()
4043 struct ibmvfc_host *vhost = evt->vhost; in ibmvfc_tgt_query_target_done()
4044 struct ibmvfc_query_tgt *rsp = &evt->xfer_iu->query_tgt; in ibmvfc_tgt_query_target_done()
4084 ibmvfc_free_event(evt); in ibmvfc_tgt_query_target_done()
4097 struct ibmvfc_event *evt; in ibmvfc_tgt_query_target() local
4103 evt = ibmvfc_get_event(vhost); in ibmvfc_tgt_query_target()
4105 evt->tgt = tgt; in ibmvfc_tgt_query_target()
4106 ibmvfc_init_event(evt, ibmvfc_tgt_query_target_done, IBMVFC_MAD_FORMAT); in ibmvfc_tgt_query_target()
4107 query_tgt = &evt->iu.query_tgt; in ibmvfc_tgt_query_target()
4115 if (ibmvfc_send_event(evt, vhost, default_timeout)) { in ibmvfc_tgt_query_target()
4231 static void ibmvfc_discover_targets_done(struct ibmvfc_event *evt) in ibmvfc_discover_targets_done() argument
4233 struct ibmvfc_host *vhost = evt->vhost; in ibmvfc_discover_targets_done()
4234 struct ibmvfc_discover_targets *rsp = &evt->xfer_iu->discover_targets; in ibmvfc_discover_targets_done()
4258 ibmvfc_free_event(evt); in ibmvfc_discover_targets_done()
4270 struct ibmvfc_event *evt = ibmvfc_get_event(vhost); in ibmvfc_discover_targets() local
4272 ibmvfc_init_event(evt, ibmvfc_discover_targets_done, IBMVFC_MAD_FORMAT); in ibmvfc_discover_targets()
4273 mad = &evt->iu.discover_targets; in ibmvfc_discover_targets()
4284 if (!ibmvfc_send_event(evt, vhost, default_timeout)) in ibmvfc_discover_targets()
4295 static void ibmvfc_npiv_login_done(struct ibmvfc_event *evt) in ibmvfc_npiv_login_done() argument
4297 struct ibmvfc_host *vhost = evt->vhost; in ibmvfc_npiv_login_done()
4298 u32 mad_status = be16_to_cpu(evt->xfer_iu->npiv_login.common.status); in ibmvfc_npiv_login_done()
4305 ibmvfc_free_event(evt); in ibmvfc_npiv_login_done()
4315 ibmvfc_free_event(evt); in ibmvfc_npiv_login_done()
4321 ibmvfc_free_event(evt); in ibmvfc_npiv_login_done()
4326 ibmvfc_free_event(evt); in ibmvfc_npiv_login_done()
4383 struct ibmvfc_event *evt = ibmvfc_get_event(vhost); in ibmvfc_npiv_login() local
4387 ibmvfc_init_event(evt, ibmvfc_npiv_login_done, IBMVFC_MAD_FORMAT); in ibmvfc_npiv_login()
4390 mad = &evt->iu.npiv_login; in ibmvfc_npiv_login()
4400 if (!ibmvfc_send_event(evt, vhost, default_timeout)) in ibmvfc_npiv_login()
4411 static void ibmvfc_npiv_logout_done(struct ibmvfc_event *evt) in ibmvfc_npiv_logout_done() argument
4413 struct ibmvfc_host *vhost = evt->vhost; in ibmvfc_npiv_logout_done()
4414 u32 mad_status = be16_to_cpu(evt->xfer_iu->npiv_logout.common.status); in ibmvfc_npiv_logout_done()
4416 ibmvfc_free_event(evt); in ibmvfc_npiv_logout_done()
4446 struct ibmvfc_event *evt; in ibmvfc_npiv_logout() local
4448 evt = ibmvfc_get_event(vhost); in ibmvfc_npiv_logout()
4449 ibmvfc_init_event(evt, ibmvfc_npiv_logout_done, IBMVFC_MAD_FORMAT); in ibmvfc_npiv_logout()
4451 mad = &evt->iu.npiv_logout; in ibmvfc_npiv_logout()
4459 if (!ibmvfc_send_event(evt, vhost, default_timeout)) in ibmvfc_npiv_logout()