vhost 147 drivers/scsi/ibmvscsi/ibmvfc.c struct ibmvfc_host *vhost = evt->vhost; vhost 152 drivers/scsi/ibmvscsi/ibmvfc.c entry = &vhost->trace[vhost->trace_index++]; vhost 181 drivers/scsi/ibmvscsi/ibmvfc.c struct ibmvfc_host *vhost = evt->vhost; vhost 184 drivers/scsi/ibmvscsi/ibmvfc.c struct ibmvfc_trace_entry *entry = &vhost->trace[vhost->trace_index++]; vhost 442 drivers/scsi/ibmvscsi/ibmvfc.c static int ibmvfc_set_host_state(struct ibmvfc_host *vhost, vhost 447 drivers/scsi/ibmvscsi/ibmvfc.c switch (vhost->state) { vhost 452 drivers/scsi/ibmvscsi/ibmvfc.c vhost->state = state; vhost 465 drivers/scsi/ibmvscsi/ibmvfc.c static void ibmvfc_set_host_action(struct ibmvfc_host *vhost, vhost 470 drivers/scsi/ibmvscsi/ibmvfc.c if (vhost->action == IBMVFC_HOST_ACTION_INIT_WAIT) vhost 471 drivers/scsi/ibmvscsi/ibmvfc.c vhost->action = action; vhost 474 drivers/scsi/ibmvscsi/ibmvfc.c if (vhost->action == IBMVFC_HOST_ACTION_LOGO) vhost 475 drivers/scsi/ibmvscsi/ibmvfc.c vhost->action = action; vhost 478 drivers/scsi/ibmvscsi/ibmvfc.c if (vhost->action == IBMVFC_HOST_ACTION_INIT) vhost 479 drivers/scsi/ibmvscsi/ibmvfc.c vhost->action = action; vhost 482 drivers/scsi/ibmvscsi/ibmvfc.c switch (vhost->action) { vhost 486 drivers/scsi/ibmvscsi/ibmvfc.c vhost->action = action; vhost 493 drivers/scsi/ibmvscsi/ibmvfc.c if (vhost->action == IBMVFC_HOST_ACTION_ALLOC_TGTS) vhost 494 drivers/scsi/ibmvscsi/ibmvfc.c vhost->action = action; vhost 498 drivers/scsi/ibmvscsi/ibmvfc.c switch (vhost->action) { vhost 503 drivers/scsi/ibmvscsi/ibmvfc.c vhost->action = action; vhost 514 drivers/scsi/ibmvscsi/ibmvfc.c vhost->action = action; vhost 526 drivers/scsi/ibmvscsi/ibmvfc.c static void ibmvfc_reinit_host(struct ibmvfc_host *vhost) vhost 528 drivers/scsi/ibmvscsi/ibmvfc.c if (vhost->action == IBMVFC_HOST_ACTION_NONE) { vhost 529 drivers/scsi/ibmvscsi/ibmvfc.c if (!ibmvfc_set_host_state(vhost, IBMVFC_INITIALIZING)) { vhost 530 drivers/scsi/ibmvscsi/ibmvfc.c scsi_block_requests(vhost->host); vhost 531 drivers/scsi/ibmvscsi/ibmvfc.c ibmvfc_set_host_action(vhost, IBMVFC_HOST_ACTION_QUERY); vhost 534 drivers/scsi/ibmvscsi/ibmvfc.c vhost->reinit = 1; vhost 536 drivers/scsi/ibmvscsi/ibmvfc.c wake_up(&vhost->work_wait_q); vhost 545 drivers/scsi/ibmvscsi/ibmvfc.c static void ibmvfc_link_down(struct ibmvfc_host *vhost, vhost 551 drivers/scsi/ibmvscsi/ibmvfc.c scsi_block_requests(vhost->host); vhost 552 drivers/scsi/ibmvscsi/ibmvfc.c list_for_each_entry(tgt, &vhost->targets, queue) vhost 554 drivers/scsi/ibmvscsi/ibmvfc.c ibmvfc_set_host_state(vhost, state); vhost 555 drivers/scsi/ibmvscsi/ibmvfc.c ibmvfc_set_host_action(vhost, IBMVFC_HOST_ACTION_TGT_DEL); vhost 556 drivers/scsi/ibmvscsi/ibmvfc.c vhost->events_to_log |= IBMVFC_AE_LINKDOWN; vhost 557 drivers/scsi/ibmvscsi/ibmvfc.c wake_up(&vhost->work_wait_q); vhost 568 drivers/scsi/ibmvscsi/ibmvfc.c static void ibmvfc_init_host(struct ibmvfc_host *vhost) vhost 572 drivers/scsi/ibmvscsi/ibmvfc.c if (vhost->action == IBMVFC_HOST_ACTION_INIT_WAIT) { vhost 573 drivers/scsi/ibmvscsi/ibmvfc.c if (++vhost->init_retries > IBMVFC_MAX_HOST_INIT_RETRIES) { vhost 574 drivers/scsi/ibmvscsi/ibmvfc.c dev_err(vhost->dev, vhost 576 drivers/scsi/ibmvscsi/ibmvfc.c ibmvfc_link_down(vhost, IBMVFC_HOST_OFFLINE); vhost 581 drivers/scsi/ibmvscsi/ibmvfc.c if (!ibmvfc_set_host_state(vhost, IBMVFC_INITIALIZING)) { vhost 582 drivers/scsi/ibmvscsi/ibmvfc.c memset(vhost->async_crq.msgs, 0, PAGE_SIZE); vhost 583 drivers/scsi/ibmvscsi/ibmvfc.c vhost->async_crq.cur = 0; vhost 585 drivers/scsi/ibmvscsi/ibmvfc.c list_for_each_entry(tgt, &vhost->targets, queue) vhost 587 drivers/scsi/ibmvscsi/ibmvfc.c scsi_block_requests(vhost->host); vhost 588 drivers/scsi/ibmvscsi/ibmvfc.c ibmvfc_set_host_action(vhost, IBMVFC_HOST_ACTION_INIT); vhost 589 drivers/scsi/ibmvscsi/ibmvfc.c vhost->job_step = ibmvfc_npiv_login; vhost 590 drivers/scsi/ibmvscsi/ibmvfc.c wake_up(&vhost->work_wait_q); vhost 603 drivers/scsi/ibmvscsi/ibmvfc.c static int ibmvfc_send_crq(struct ibmvfc_host *vhost, u64 word1, u64 word2) vhost 605 drivers/scsi/ibmvscsi/ibmvfc.c struct vio_dev *vdev = to_vio_dev(vhost->dev); vhost 616 drivers/scsi/ibmvscsi/ibmvfc.c static int ibmvfc_send_crq_init(struct ibmvfc_host *vhost) vhost 618 drivers/scsi/ibmvscsi/ibmvfc.c ibmvfc_dbg(vhost, "Sending CRQ init\n"); vhost 619 drivers/scsi/ibmvscsi/ibmvfc.c return ibmvfc_send_crq(vhost, 0xC001000000000000LL, 0); vhost 629 drivers/scsi/ibmvscsi/ibmvfc.c static int ibmvfc_send_crq_init_complete(struct ibmvfc_host *vhost) vhost 631 drivers/scsi/ibmvscsi/ibmvfc.c ibmvfc_dbg(vhost, "Sending CRQ init complete\n"); vhost 632 drivers/scsi/ibmvscsi/ibmvfc.c return ibmvfc_send_crq(vhost, 0xC002000000000000LL, 0); vhost 642 drivers/scsi/ibmvscsi/ibmvfc.c static void ibmvfc_release_crq_queue(struct ibmvfc_host *vhost) vhost 645 drivers/scsi/ibmvscsi/ibmvfc.c struct vio_dev *vdev = to_vio_dev(vhost->dev); vhost 646 drivers/scsi/ibmvscsi/ibmvfc.c struct ibmvfc_crq_queue *crq = &vhost->crq; vhost 648 drivers/scsi/ibmvscsi/ibmvfc.c ibmvfc_dbg(vhost, "Releasing CRQ\n"); vhost 649 drivers/scsi/ibmvscsi/ibmvfc.c free_irq(vdev->irq, vhost); vhost 650 drivers/scsi/ibmvscsi/ibmvfc.c tasklet_kill(&vhost->tasklet); vhost 657 drivers/scsi/ibmvscsi/ibmvfc.c vhost->state = IBMVFC_NO_CRQ; vhost 658 drivers/scsi/ibmvscsi/ibmvfc.c vhost->logged_in = 0; vhost 659 drivers/scsi/ibmvscsi/ibmvfc.c dma_unmap_single(vhost->dev, crq->msg_token, PAGE_SIZE, DMA_BIDIRECTIONAL); vhost 670 drivers/scsi/ibmvscsi/ibmvfc.c static int ibmvfc_reenable_crq_queue(struct ibmvfc_host *vhost) vhost 673 drivers/scsi/ibmvscsi/ibmvfc.c struct vio_dev *vdev = to_vio_dev(vhost->dev); vhost 683 drivers/scsi/ibmvscsi/ibmvfc.c dev_err(vhost->dev, "Error enabling adapter (rc=%d)\n", rc); vhost 695 drivers/scsi/ibmvscsi/ibmvfc.c static int ibmvfc_reset_crq(struct ibmvfc_host *vhost) vhost 699 drivers/scsi/ibmvscsi/ibmvfc.c struct vio_dev *vdev = to_vio_dev(vhost->dev); vhost 700 drivers/scsi/ibmvscsi/ibmvfc.c struct ibmvfc_crq_queue *crq = &vhost->crq; vhost 709 drivers/scsi/ibmvscsi/ibmvfc.c spin_lock_irqsave(vhost->host->host_lock, flags); vhost 710 drivers/scsi/ibmvscsi/ibmvfc.c vhost->state = IBMVFC_NO_CRQ; vhost 711 drivers/scsi/ibmvscsi/ibmvfc.c vhost->logged_in = 0; vhost 723 drivers/scsi/ibmvscsi/ibmvfc.c dev_warn(vhost->dev, "Partner adapter not ready\n"); vhost 725 drivers/scsi/ibmvscsi/ibmvfc.c dev_warn(vhost->dev, "Couldn't register crq (rc=%d)\n", rc); vhost 726 drivers/scsi/ibmvscsi/ibmvfc.c spin_unlock_irqrestore(vhost->host->host_lock, flags); vhost 757 drivers/scsi/ibmvscsi/ibmvfc.c struct ibmvfc_host *vhost = evt->vhost; vhost 758 drivers/scsi/ibmvscsi/ibmvfc.c struct ibmvfc_event_pool *pool = &vhost->pool; vhost 762 drivers/scsi/ibmvscsi/ibmvfc.c list_add_tail(&evt->queue, &vhost->free); vhost 817 drivers/scsi/ibmvscsi/ibmvfc.c static void ibmvfc_purge_requests(struct ibmvfc_host *vhost, int error_code) vhost 821 drivers/scsi/ibmvscsi/ibmvfc.c ibmvfc_dbg(vhost, "Purging all requests\n"); vhost 822 drivers/scsi/ibmvscsi/ibmvfc.c list_for_each_entry_safe(evt, pos, &vhost->sent, queue) vhost 830 drivers/scsi/ibmvscsi/ibmvfc.c static void ibmvfc_hard_reset_host(struct ibmvfc_host *vhost) vhost 832 drivers/scsi/ibmvscsi/ibmvfc.c ibmvfc_purge_requests(vhost, DID_ERROR); vhost 833 drivers/scsi/ibmvscsi/ibmvfc.c ibmvfc_link_down(vhost, IBMVFC_LINK_DOWN); vhost 834 drivers/scsi/ibmvscsi/ibmvfc.c ibmvfc_set_host_action(vhost, IBMVFC_HOST_ACTION_RESET); vhost 841 drivers/scsi/ibmvscsi/ibmvfc.c static void __ibmvfc_reset_host(struct ibmvfc_host *vhost) vhost 843 drivers/scsi/ibmvscsi/ibmvfc.c if (vhost->logged_in && vhost->action != IBMVFC_HOST_ACTION_LOGO_WAIT && vhost 844 drivers/scsi/ibmvscsi/ibmvfc.c !ibmvfc_set_host_state(vhost, IBMVFC_INITIALIZING)) { vhost 845 drivers/scsi/ibmvscsi/ibmvfc.c scsi_block_requests(vhost->host); vhost 846 drivers/scsi/ibmvscsi/ibmvfc.c ibmvfc_set_host_action(vhost, IBMVFC_HOST_ACTION_LOGO); vhost 847 drivers/scsi/ibmvscsi/ibmvfc.c vhost->job_step = ibmvfc_npiv_logout; vhost 848 drivers/scsi/ibmvscsi/ibmvfc.c wake_up(&vhost->work_wait_q); vhost 850 drivers/scsi/ibmvscsi/ibmvfc.c ibmvfc_hard_reset_host(vhost); vhost 857 drivers/scsi/ibmvscsi/ibmvfc.c static void ibmvfc_reset_host(struct ibmvfc_host *vhost) vhost 861 drivers/scsi/ibmvscsi/ibmvfc.c spin_lock_irqsave(vhost->host->host_lock, flags); vhost 862 drivers/scsi/ibmvscsi/ibmvfc.c __ibmvfc_reset_host(vhost); vhost 863 drivers/scsi/ibmvscsi/ibmvfc.c spin_unlock_irqrestore(vhost->host->host_lock, flags); vhost 873 drivers/scsi/ibmvscsi/ibmvfc.c static int ibmvfc_retry_host_init(struct ibmvfc_host *vhost) vhost 877 drivers/scsi/ibmvscsi/ibmvfc.c if (vhost->action == IBMVFC_HOST_ACTION_INIT_WAIT) { vhost 878 drivers/scsi/ibmvscsi/ibmvfc.c vhost->delay_init = 1; vhost 879 drivers/scsi/ibmvscsi/ibmvfc.c if (++vhost->init_retries > IBMVFC_MAX_HOST_INIT_RETRIES) { vhost 880 drivers/scsi/ibmvscsi/ibmvfc.c dev_err(vhost->dev, vhost 882 drivers/scsi/ibmvscsi/ibmvfc.c ibmvfc_link_down(vhost, IBMVFC_HOST_OFFLINE); vhost 883 drivers/scsi/ibmvscsi/ibmvfc.c } else if (vhost->init_retries == IBMVFC_MAX_HOST_INIT_RETRIES) vhost 884 drivers/scsi/ibmvscsi/ibmvfc.c __ibmvfc_reset_host(vhost); vhost 886 drivers/scsi/ibmvscsi/ibmvfc.c ibmvfc_set_host_action(vhost, IBMVFC_HOST_ACTION_INIT); vhost 891 drivers/scsi/ibmvscsi/ibmvfc.c wake_up(&vhost->work_wait_q); vhost 905 drivers/scsi/ibmvscsi/ibmvfc.c struct ibmvfc_host *vhost = shost_priv(shost); vhost 908 drivers/scsi/ibmvscsi/ibmvfc.c list_for_each_entry(tgt, &vhost->targets, queue) vhost 944 drivers/scsi/ibmvscsi/ibmvfc.c struct ibmvfc_host *vhost = shost_priv(shost); vhost 948 drivers/scsi/ibmvscsi/ibmvfc.c if (vhost->state == IBMVFC_ACTIVE) { vhost 949 drivers/scsi/ibmvscsi/ibmvfc.c switch (be64_to_cpu(vhost->login_buf->resp.link_speed) / 100) { vhost 969 drivers/scsi/ibmvscsi/ibmvfc.c ibmvfc_log(vhost, 3, "Unknown port speed: %lld Gbit\n", vhost 970 drivers/scsi/ibmvscsi/ibmvfc.c be64_to_cpu(vhost->login_buf->resp.link_speed) / 100); vhost 988 drivers/scsi/ibmvscsi/ibmvfc.c struct ibmvfc_host *vhost = shost_priv(shost); vhost 992 drivers/scsi/ibmvscsi/ibmvfc.c switch (vhost->state) { vhost 1011 drivers/scsi/ibmvscsi/ibmvfc.c ibmvfc_log(vhost, 3, "Unknown port state: %d\n", vhost->state); vhost 1097 drivers/scsi/ibmvscsi/ibmvfc.c static int ibmvfc_wait_while_resetting(struct ibmvfc_host *vhost) vhost 1099 drivers/scsi/ibmvscsi/ibmvfc.c long timeout = wait_event_timeout(vhost->init_wait_q, vhost 1100 drivers/scsi/ibmvscsi/ibmvfc.c ((vhost->state == IBMVFC_ACTIVE || vhost 1101 drivers/scsi/ibmvscsi/ibmvfc.c vhost->state == IBMVFC_HOST_OFFLINE || vhost 1102 drivers/scsi/ibmvscsi/ibmvfc.c vhost->state == IBMVFC_LINK_DEAD) && vhost 1103 drivers/scsi/ibmvscsi/ibmvfc.c vhost->action == IBMVFC_HOST_ACTION_NONE), vhost 1118 drivers/scsi/ibmvscsi/ibmvfc.c struct ibmvfc_host *vhost = shost_priv(shost); vhost 1120 drivers/scsi/ibmvscsi/ibmvfc.c dev_err(vhost->dev, "Initiating host LIP. Resetting connection\n"); vhost 1121 drivers/scsi/ibmvscsi/ibmvfc.c ibmvfc_reset_host(vhost); vhost 1122 drivers/scsi/ibmvscsi/ibmvfc.c return ibmvfc_wait_while_resetting(vhost); vhost 1131 drivers/scsi/ibmvscsi/ibmvfc.c static void ibmvfc_gather_partition_info(struct ibmvfc_host *vhost) vhost 1143 drivers/scsi/ibmvscsi/ibmvfc.c strncpy(vhost->partition_name, name, sizeof(vhost->partition_name)); vhost 1146 drivers/scsi/ibmvscsi/ibmvfc.c vhost->partition_number = *num; vhost 1157 drivers/scsi/ibmvscsi/ibmvfc.c static void ibmvfc_set_login_info(struct ibmvfc_host *vhost) vhost 1159 drivers/scsi/ibmvscsi/ibmvfc.c struct ibmvfc_npiv_login *login_info = &vhost->login_info; vhost 1160 drivers/scsi/ibmvscsi/ibmvfc.c struct device_node *of_node = vhost->dev->of_node; vhost 1169 drivers/scsi/ibmvscsi/ibmvfc.c login_info->partition_num = cpu_to_be32(vhost->partition_number); vhost 1173 drivers/scsi/ibmvscsi/ibmvfc.c if (vhost->client_migrated) vhost 1178 drivers/scsi/ibmvscsi/ibmvfc.c login_info->async.va = cpu_to_be64(vhost->async_crq.msg_token); vhost 1179 drivers/scsi/ibmvscsi/ibmvfc.c login_info->async.len = cpu_to_be32(vhost->async_crq.size * sizeof(*vhost->async_crq.msgs)); vhost 1180 drivers/scsi/ibmvscsi/ibmvfc.c strncpy(login_info->partition_name, vhost->partition_name, IBMVFC_MAX_NAME); vhost 1182 drivers/scsi/ibmvscsi/ibmvfc.c dev_name(&vhost->host->shost_gendev), IBMVFC_MAX_NAME); vhost 1185 drivers/scsi/ibmvscsi/ibmvfc.c location = location ? location : dev_name(vhost->dev); vhost 1195 drivers/scsi/ibmvscsi/ibmvfc.c static int ibmvfc_init_event_pool(struct ibmvfc_host *vhost) vhost 1198 drivers/scsi/ibmvscsi/ibmvfc.c struct ibmvfc_event_pool *pool = &vhost->pool; vhost 1206 drivers/scsi/ibmvscsi/ibmvfc.c pool->iu_storage = dma_alloc_coherent(vhost->dev, vhost 1221 drivers/scsi/ibmvscsi/ibmvfc.c evt->vhost = vhost; vhost 1223 drivers/scsi/ibmvscsi/ibmvfc.c list_add_tail(&evt->queue, &vhost->free); vhost 1235 drivers/scsi/ibmvscsi/ibmvfc.c static void ibmvfc_free_event_pool(struct ibmvfc_host *vhost) vhost 1238 drivers/scsi/ibmvscsi/ibmvfc.c struct ibmvfc_event_pool *pool = &vhost->pool; vhost 1245 drivers/scsi/ibmvscsi/ibmvfc.c dma_pool_free(vhost->sg_pool, vhost 1251 drivers/scsi/ibmvscsi/ibmvfc.c dma_free_coherent(vhost->dev, vhost 1263 drivers/scsi/ibmvscsi/ibmvfc.c static struct ibmvfc_event *ibmvfc_get_event(struct ibmvfc_host *vhost) vhost 1267 drivers/scsi/ibmvscsi/ibmvfc.c BUG_ON(list_empty(&vhost->free)); vhost 1268 drivers/scsi/ibmvscsi/ibmvfc.c evt = list_entry(vhost->free.next, struct ibmvfc_event, queue); vhost 1327 drivers/scsi/ibmvscsi/ibmvfc.c struct ibmvfc_host *vhost = dev_get_drvdata(dev); vhost 1337 drivers/scsi/ibmvscsi/ibmvfc.c if (vhost->log_level > IBMVFC_DEFAULT_LOG_LEVEL) vhost 1358 drivers/scsi/ibmvscsi/ibmvfc.c evt->ext_list = dma_pool_alloc(vhost->sg_pool, GFP_ATOMIC, vhost 1363 drivers/scsi/ibmvscsi/ibmvfc.c if (vhost->log_level > IBMVFC_DEFAULT_LOG_LEVEL) vhost 1386 drivers/scsi/ibmvscsi/ibmvfc.c struct ibmvfc_host *vhost = evt->vhost; vhost 1387 drivers/scsi/ibmvscsi/ibmvfc.c dev_err(vhost->dev, "Command timed out (%p). Resetting connection\n", evt); vhost 1388 drivers/scsi/ibmvscsi/ibmvfc.c ibmvfc_reset_host(vhost); vhost 1400 drivers/scsi/ibmvscsi/ibmvfc.c struct ibmvfc_host *vhost, unsigned long timeout) vhost 1414 drivers/scsi/ibmvscsi/ibmvfc.c list_add_tail(&evt->queue, &vhost->sent); vhost 1424 drivers/scsi/ibmvscsi/ibmvfc.c if ((rc = ibmvfc_send_crq(vhost, be64_to_cpu(crq_as_u64[0]), vhost 1436 drivers/scsi/ibmvscsi/ibmvfc.c dev_warn(vhost->dev, "Send warning. Receive queue closed, will retry.\n"); vhost 1443 drivers/scsi/ibmvscsi/ibmvfc.c dev_err(vhost->dev, "Send error (rc=%d)\n", rc); vhost 1465 drivers/scsi/ibmvscsi/ibmvfc.c struct ibmvfc_host *vhost = evt->vhost; vhost 1478 drivers/scsi/ibmvscsi/ibmvfc.c if (!logerr && (vhost->log_level <= (IBMVFC_DEFAULT_LOG_LEVEL + 1))) vhost 1497 drivers/scsi/ibmvscsi/ibmvfc.c struct ibmvfc_host *vhost = shost_priv(sdev->host); vhost 1501 drivers/scsi/ibmvscsi/ibmvfc.c list_for_each_entry(tgt, &vhost->targets, queue) { vhost 1508 drivers/scsi/ibmvscsi/ibmvfc.c ibmvfc_reinit_host(vhost); vhost 1573 drivers/scsi/ibmvscsi/ibmvfc.c static inline int ibmvfc_host_chkready(struct ibmvfc_host *vhost) vhost 1577 drivers/scsi/ibmvscsi/ibmvfc.c switch (vhost->state) { vhost 1607 drivers/scsi/ibmvscsi/ibmvfc.c struct ibmvfc_host *vhost = shost_priv(cmnd->device->host); vhost 1614 drivers/scsi/ibmvscsi/ibmvfc.c unlikely((rc = ibmvfc_host_chkready(vhost)))) { vhost 1621 drivers/scsi/ibmvscsi/ibmvfc.c evt = ibmvfc_get_event(vhost); vhost 1643 drivers/scsi/ibmvscsi/ibmvfc.c if (likely(!(rc = ibmvfc_map_sg_data(cmnd, evt, vfc_cmd, vhost->dev)))) vhost 1644 drivers/scsi/ibmvscsi/ibmvfc.c return ibmvfc_send_event(evt, vhost, 0); vhost 1650 drivers/scsi/ibmvscsi/ibmvfc.c if (vhost->log_level > IBMVFC_DEFAULT_LOG_LEVEL) vhost 1682 drivers/scsi/ibmvscsi/ibmvfc.c struct ibmvfc_host *vhost = evt->vhost; vhost 1685 drivers/scsi/ibmvscsi/ibmvfc.c vhost->aborting_passthru = 0; vhost 1686 drivers/scsi/ibmvscsi/ibmvfc.c dev_info(vhost->dev, "Passthru command cancelled\n"); vhost 1698 drivers/scsi/ibmvscsi/ibmvfc.c struct ibmvfc_host *vhost = shost_priv(fc_bsg_to_shost(job)); vhost 1706 drivers/scsi/ibmvscsi/ibmvfc.c spin_lock_irqsave(vhost->host->host_lock, flags); vhost 1707 drivers/scsi/ibmvscsi/ibmvfc.c if (vhost->aborting_passthru || vhost->state != IBMVFC_ACTIVE) { vhost 1708 drivers/scsi/ibmvscsi/ibmvfc.c __ibmvfc_reset_host(vhost); vhost 1709 drivers/scsi/ibmvscsi/ibmvfc.c spin_unlock_irqrestore(vhost->host->host_lock, flags); vhost 1713 drivers/scsi/ibmvscsi/ibmvfc.c vhost->aborting_passthru = 1; vhost 1714 drivers/scsi/ibmvscsi/ibmvfc.c evt = ibmvfc_get_event(vhost); vhost 1725 drivers/scsi/ibmvscsi/ibmvfc.c rc = ibmvfc_send_event(evt, vhost, default_timeout); vhost 1728 drivers/scsi/ibmvscsi/ibmvfc.c vhost->aborting_passthru = 0; vhost 1729 drivers/scsi/ibmvscsi/ibmvfc.c dev_err(vhost->dev, "Failed to send cancel event. rc=%d\n", rc); vhost 1732 drivers/scsi/ibmvscsi/ibmvfc.c dev_info(vhost->dev, "Cancelling passthru command to port id 0x%lx\n", vhost 1735 drivers/scsi/ibmvscsi/ibmvfc.c spin_unlock_irqrestore(vhost->host->host_lock, flags); vhost 1749 drivers/scsi/ibmvscsi/ibmvfc.c static int ibmvfc_bsg_plogi(struct ibmvfc_host *vhost, unsigned int port_id) vhost 1759 drivers/scsi/ibmvscsi/ibmvfc.c spin_lock_irqsave(vhost->host->host_lock, flags); vhost 1760 drivers/scsi/ibmvscsi/ibmvfc.c list_for_each_entry(tgt, &vhost->targets, queue) { vhost 1769 drivers/scsi/ibmvscsi/ibmvfc.c if (unlikely((rc = ibmvfc_host_chkready(vhost)))) vhost 1772 drivers/scsi/ibmvscsi/ibmvfc.c evt = ibmvfc_get_event(vhost); vhost 1783 drivers/scsi/ibmvscsi/ibmvfc.c rc = ibmvfc_send_event(evt, vhost, default_timeout); vhost 1784 drivers/scsi/ibmvscsi/ibmvfc.c spin_unlock_irqrestore(vhost->host->host_lock, flags); vhost 1794 drivers/scsi/ibmvscsi/ibmvfc.c spin_lock_irqsave(vhost->host->host_lock, flags); vhost 1797 drivers/scsi/ibmvscsi/ibmvfc.c spin_unlock_irqrestore(vhost->host->host_lock, flags); vhost 1811 drivers/scsi/ibmvscsi/ibmvfc.c struct ibmvfc_host *vhost = shost_priv(fc_bsg_to_shost(job)); vhost 1852 drivers/scsi/ibmvscsi/ibmvfc.c if (!mutex_trylock(&vhost->passthru_mutex)) vhost 1856 drivers/scsi/ibmvscsi/ibmvfc.c req_seg = dma_map_sg(vhost->dev, job->request_payload.sg_list, vhost 1860 drivers/scsi/ibmvscsi/ibmvfc.c mutex_unlock(&vhost->passthru_mutex); vhost 1864 drivers/scsi/ibmvscsi/ibmvfc.c rsp_seg = dma_map_sg(vhost->dev, job->reply_payload.sg_list, vhost 1868 drivers/scsi/ibmvscsi/ibmvfc.c dma_unmap_sg(vhost->dev, job->request_payload.sg_list, vhost 1870 drivers/scsi/ibmvscsi/ibmvfc.c mutex_unlock(&vhost->passthru_mutex); vhost 1880 drivers/scsi/ibmvscsi/ibmvfc.c rc = ibmvfc_bsg_plogi(vhost, port_id); vhost 1882 drivers/scsi/ibmvscsi/ibmvfc.c spin_lock_irqsave(vhost->host->host_lock, flags); vhost 1885 drivers/scsi/ibmvscsi/ibmvfc.c unlikely((rc = ibmvfc_host_chkready(vhost)))) { vhost 1886 drivers/scsi/ibmvscsi/ibmvfc.c spin_unlock_irqrestore(vhost->host->host_lock, flags); vhost 1890 drivers/scsi/ibmvscsi/ibmvfc.c evt = ibmvfc_get_event(vhost); vhost 1918 drivers/scsi/ibmvscsi/ibmvfc.c rc = ibmvfc_send_event(evt, vhost, 0); vhost 1919 drivers/scsi/ibmvscsi/ibmvfc.c spin_unlock_irqrestore(vhost->host->host_lock, flags); vhost 1933 drivers/scsi/ibmvscsi/ibmvfc.c spin_lock_irqsave(vhost->host->host_lock, flags); vhost 1935 drivers/scsi/ibmvscsi/ibmvfc.c spin_unlock_irqrestore(vhost->host->host_lock, flags); vhost 1941 drivers/scsi/ibmvscsi/ibmvfc.c dma_unmap_sg(vhost->dev, job->request_payload.sg_list, vhost 1943 drivers/scsi/ibmvscsi/ibmvfc.c dma_unmap_sg(vhost->dev, job->reply_payload.sg_list, vhost 1945 drivers/scsi/ibmvscsi/ibmvfc.c mutex_unlock(&vhost->passthru_mutex); vhost 1961 drivers/scsi/ibmvscsi/ibmvfc.c struct ibmvfc_host *vhost = shost_priv(sdev->host); vhost 1971 drivers/scsi/ibmvscsi/ibmvfc.c spin_lock_irqsave(vhost->host->host_lock, flags); vhost 1972 drivers/scsi/ibmvscsi/ibmvfc.c if (vhost->state == IBMVFC_ACTIVE) { vhost 1973 drivers/scsi/ibmvscsi/ibmvfc.c evt = ibmvfc_get_event(vhost); vhost 1991 drivers/scsi/ibmvscsi/ibmvfc.c rsp_rc = ibmvfc_send_event(evt, vhost, default_timeout); vhost 1993 drivers/scsi/ibmvscsi/ibmvfc.c spin_unlock_irqrestore(vhost->host->host_lock, flags); vhost 2020 drivers/scsi/ibmvscsi/ibmvfc.c spin_lock_irqsave(vhost->host->host_lock, flags); vhost 2022 drivers/scsi/ibmvscsi/ibmvfc.c spin_unlock_irqrestore(vhost->host->host_lock, flags); vhost 2085 drivers/scsi/ibmvscsi/ibmvfc.c static int ibmvfc_wait_for_ops(struct ibmvfc_host *vhost, void *device, vhost 2097 drivers/scsi/ibmvscsi/ibmvfc.c spin_lock_irqsave(vhost->host->host_lock, flags); vhost 2098 drivers/scsi/ibmvscsi/ibmvfc.c list_for_each_entry(evt, &vhost->sent, queue) { vhost 2104 drivers/scsi/ibmvscsi/ibmvfc.c spin_unlock_irqrestore(vhost->host->host_lock, flags); vhost 2111 drivers/scsi/ibmvscsi/ibmvfc.c spin_lock_irqsave(vhost->host->host_lock, flags); vhost 2112 drivers/scsi/ibmvscsi/ibmvfc.c list_for_each_entry(evt, &vhost->sent, queue) { vhost 2118 drivers/scsi/ibmvscsi/ibmvfc.c spin_unlock_irqrestore(vhost->host->host_lock, flags); vhost 2120 drivers/scsi/ibmvscsi/ibmvfc.c dev_err(vhost->dev, "Timed out waiting for aborted commands\n"); vhost 2144 drivers/scsi/ibmvscsi/ibmvfc.c struct ibmvfc_host *vhost = shost_priv(sdev->host); vhost 2155 drivers/scsi/ibmvscsi/ibmvfc.c spin_lock_irqsave(vhost->host->host_lock, flags); vhost 2157 drivers/scsi/ibmvscsi/ibmvfc.c list_for_each_entry(evt, &vhost->sent, queue) { vhost 2165 drivers/scsi/ibmvscsi/ibmvfc.c if (vhost->log_level > IBMVFC_DEFAULT_LOG_LEVEL) vhost 2167 drivers/scsi/ibmvscsi/ibmvfc.c spin_unlock_irqrestore(vhost->host->host_lock, flags); vhost 2171 drivers/scsi/ibmvscsi/ibmvfc.c if (vhost->logged_in) { vhost 2172 drivers/scsi/ibmvscsi/ibmvfc.c evt = ibmvfc_get_event(vhost); vhost 2182 drivers/scsi/ibmvscsi/ibmvfc.c if (!(be64_to_cpu(vhost->login_buf->resp.capabilities) & IBMVFC_CAN_SUPPRESS_ABTS)) vhost 2184 drivers/scsi/ibmvscsi/ibmvfc.c if (vhost->state == IBMVFC_ACTIVE) vhost 2193 drivers/scsi/ibmvscsi/ibmvfc.c rsp_rc = ibmvfc_send_event(evt, vhost, default_timeout); vhost 2196 drivers/scsi/ibmvscsi/ibmvfc.c spin_unlock_irqrestore(vhost->host->host_lock, flags); vhost 2210 drivers/scsi/ibmvscsi/ibmvfc.c spin_lock_irqsave(vhost->host->host_lock, flags); vhost 2212 drivers/scsi/ibmvscsi/ibmvfc.c spin_unlock_irqrestore(vhost->host->host_lock, flags); vhost 2276 drivers/scsi/ibmvscsi/ibmvfc.c struct ibmvfc_host *vhost = shost_priv(sdev->host); vhost 2286 drivers/scsi/ibmvscsi/ibmvfc.c spin_lock_irqsave(vhost->host->host_lock, flags); vhost 2288 drivers/scsi/ibmvscsi/ibmvfc.c list_for_each_entry(evt, &vhost->sent, queue) { vhost 2296 drivers/scsi/ibmvscsi/ibmvfc.c if (vhost->log_level > IBMVFC_DEFAULT_LOG_LEVEL) vhost 2298 drivers/scsi/ibmvscsi/ibmvfc.c spin_unlock_irqrestore(vhost->host->host_lock, flags); vhost 2302 drivers/scsi/ibmvscsi/ibmvfc.c if (vhost->state == IBMVFC_ACTIVE) { vhost 2303 drivers/scsi/ibmvscsi/ibmvfc.c evt = ibmvfc_get_event(vhost); vhost 2321 drivers/scsi/ibmvscsi/ibmvfc.c rsp_rc = ibmvfc_send_event(evt, vhost, default_timeout); vhost 2324 drivers/scsi/ibmvscsi/ibmvfc.c spin_unlock_irqrestore(vhost->host->host_lock, flags); vhost 2337 drivers/scsi/ibmvscsi/ibmvfc.c rc = ibmvfc_wait_for_ops(vhost, sdev->hostdata, ibmvfc_match_key); vhost 2344 drivers/scsi/ibmvscsi/ibmvfc.c ibmvfc_reset_host(vhost); vhost 2346 drivers/scsi/ibmvscsi/ibmvfc.c rc = ibmvfc_wait_for_ops(vhost, sdev->hostdata, ibmvfc_match_key); vhost 2351 drivers/scsi/ibmvscsi/ibmvfc.c rc = ibmvfc_wait_for_ops(vhost, evt, ibmvfc_match_evt); vhost 2353 drivers/scsi/ibmvscsi/ibmvfc.c spin_lock_irqsave(vhost->host->host_lock, flags); vhost 2354 drivers/scsi/ibmvscsi/ibmvfc.c ibmvfc_hard_reset_host(vhost); vhost 2355 drivers/scsi/ibmvscsi/ibmvfc.c spin_unlock_irqrestore(vhost->host->host_lock, flags); vhost 2380 drivers/scsi/ibmvscsi/ibmvfc.c spin_lock_irqsave(vhost->host->host_lock, flags); vhost 2382 drivers/scsi/ibmvscsi/ibmvfc.c spin_unlock_irqrestore(vhost->host->host_lock, flags); vhost 2396 drivers/scsi/ibmvscsi/ibmvfc.c struct ibmvfc_host *vhost = shost_priv(sdev->host); vhost 2402 drivers/scsi/ibmvscsi/ibmvfc.c ibmvfc_wait_while_resetting(vhost); vhost 2410 drivers/scsi/ibmvscsi/ibmvfc.c rc = ibmvfc_wait_for_ops(vhost, sdev, ibmvfc_match_lun); vhost 2429 drivers/scsi/ibmvscsi/ibmvfc.c struct ibmvfc_host *vhost = shost_priv(sdev->host); vhost 2435 drivers/scsi/ibmvscsi/ibmvfc.c ibmvfc_wait_while_resetting(vhost); vhost 2443 drivers/scsi/ibmvscsi/ibmvfc.c rc = ibmvfc_wait_for_ops(vhost, sdev, ibmvfc_match_lun); vhost 2486 drivers/scsi/ibmvscsi/ibmvfc.c struct ibmvfc_host *vhost = shost_priv(sdev->host); vhost 2495 drivers/scsi/ibmvscsi/ibmvfc.c ibmvfc_wait_while_resetting(vhost); vhost 2503 drivers/scsi/ibmvscsi/ibmvfc.c rc = ibmvfc_wait_for_ops(vhost, starget, ibmvfc_match_target); vhost 2520 drivers/scsi/ibmvscsi/ibmvfc.c struct ibmvfc_host *vhost = shost_priv(cmd->device->host); vhost 2522 drivers/scsi/ibmvscsi/ibmvfc.c dev_err(vhost->dev, "Resetting connection due to error recovery\n"); vhost 2523 drivers/scsi/ibmvscsi/ibmvfc.c rc = ibmvfc_issue_fc_host_lip(vhost->host); vhost 2538 drivers/scsi/ibmvscsi/ibmvfc.c struct ibmvfc_host *vhost = shost_priv(shost); vhost 2551 drivers/scsi/ibmvscsi/ibmvfc.c rc = ibmvfc_wait_for_ops(vhost, rport, ibmvfc_match_rport); vhost 2627 drivers/scsi/ibmvscsi/ibmvfc.c struct ibmvfc_host *vhost) vhost 2632 drivers/scsi/ibmvscsi/ibmvfc.c ibmvfc_log(vhost, desc->log_level, "%s event received. scsi_id: %llx, wwpn: %llx," vhost 2641 drivers/scsi/ibmvscsi/ibmvfc.c ibmvfc_link_down(vhost, IBMVFC_LINK_DOWN); vhost 2644 drivers/scsi/ibmvscsi/ibmvfc.c ibmvfc_link_down(vhost, IBMVFC_LINK_DEAD); vhost 2649 drivers/scsi/ibmvscsi/ibmvfc.c vhost->events_to_log |= IBMVFC_AE_LINKUP; vhost 2650 drivers/scsi/ibmvscsi/ibmvfc.c vhost->delay_init = 1; vhost 2651 drivers/scsi/ibmvscsi/ibmvfc.c __ibmvfc_reset_host(vhost); vhost 2657 drivers/scsi/ibmvscsi/ibmvfc.c vhost->events_to_log |= IBMVFC_AE_LINKUP; vhost 2658 drivers/scsi/ibmvscsi/ibmvfc.c vhost->delay_init = 1; vhost 2659 drivers/scsi/ibmvscsi/ibmvfc.c __ibmvfc_reset_host(vhost); vhost 2663 drivers/scsi/ibmvscsi/ibmvfc.c vhost->events_to_log |= IBMVFC_AE_RSCN; vhost 2664 drivers/scsi/ibmvscsi/ibmvfc.c if (vhost->state < IBMVFC_HALTED) { vhost 2665 drivers/scsi/ibmvscsi/ibmvfc.c vhost->delay_init = 1; vhost 2666 drivers/scsi/ibmvscsi/ibmvfc.c __ibmvfc_reset_host(vhost); vhost 2671 drivers/scsi/ibmvscsi/ibmvfc.c vhost->events_to_log |= IBMVFC_AE_RSCN; vhost 2672 drivers/scsi/ibmvscsi/ibmvfc.c ibmvfc_reinit_host(vhost); vhost 2677 drivers/scsi/ibmvscsi/ibmvfc.c list_for_each_entry(tgt, &vhost->targets, queue) { vhost 2690 drivers/scsi/ibmvscsi/ibmvfc.c ibmvfc_reinit_host(vhost); vhost 2696 drivers/scsi/ibmvscsi/ibmvfc.c ibmvfc_link_down(vhost, IBMVFC_LINK_DOWN); vhost 2699 drivers/scsi/ibmvscsi/ibmvfc.c ibmvfc_link_down(vhost, IBMVFC_LINK_DEAD); vhost 2702 drivers/scsi/ibmvscsi/ibmvfc.c ibmvfc_link_down(vhost, IBMVFC_HALTED); vhost 2705 drivers/scsi/ibmvscsi/ibmvfc.c dev_err(vhost->dev, "Unknown async event received: %lld\n", crq->event); vhost 2716 drivers/scsi/ibmvscsi/ibmvfc.c static void ibmvfc_handle_crq(struct ibmvfc_crq *crq, struct ibmvfc_host *vhost) vhost 2725 drivers/scsi/ibmvscsi/ibmvfc.c dev_info(vhost->dev, "Partner initialized\n"); vhost 2727 drivers/scsi/ibmvscsi/ibmvfc.c rc = ibmvfc_send_crq_init_complete(vhost); vhost 2729 drivers/scsi/ibmvscsi/ibmvfc.c ibmvfc_init_host(vhost); vhost 2731 drivers/scsi/ibmvscsi/ibmvfc.c dev_err(vhost->dev, "Unable to send init rsp. rc=%ld\n", rc); vhost 2734 drivers/scsi/ibmvscsi/ibmvfc.c dev_info(vhost->dev, "Partner initialization complete\n"); vhost 2735 drivers/scsi/ibmvscsi/ibmvfc.c ibmvfc_init_host(vhost); vhost 2738 drivers/scsi/ibmvscsi/ibmvfc.c dev_err(vhost->dev, "Unknown crq message type: %d\n", crq->format); vhost 2742 drivers/scsi/ibmvscsi/ibmvfc.c vhost->state = IBMVFC_NO_CRQ; vhost 2743 drivers/scsi/ibmvscsi/ibmvfc.c vhost->logged_in = 0; vhost 2744 drivers/scsi/ibmvscsi/ibmvfc.c ibmvfc_set_host_action(vhost, IBMVFC_HOST_ACTION_NONE); vhost 2747 drivers/scsi/ibmvscsi/ibmvfc.c dev_info(vhost->dev, "Partition migrated, Re-enabling adapter\n"); vhost 2748 drivers/scsi/ibmvscsi/ibmvfc.c vhost->client_migrated = 1; vhost 2749 drivers/scsi/ibmvscsi/ibmvfc.c ibmvfc_purge_requests(vhost, DID_REQUEUE); vhost 2750 drivers/scsi/ibmvscsi/ibmvfc.c ibmvfc_link_down(vhost, IBMVFC_LINK_DOWN); vhost 2751 drivers/scsi/ibmvscsi/ibmvfc.c ibmvfc_set_host_action(vhost, IBMVFC_HOST_ACTION_REENABLE); vhost 2753 drivers/scsi/ibmvscsi/ibmvfc.c dev_err(vhost->dev, "Host partner adapter deregistered or failed (rc=%d)\n", crq->format); vhost 2754 drivers/scsi/ibmvscsi/ibmvfc.c ibmvfc_purge_requests(vhost, DID_ERROR); vhost 2755 drivers/scsi/ibmvscsi/ibmvfc.c ibmvfc_link_down(vhost, IBMVFC_LINK_DOWN); vhost 2756 drivers/scsi/ibmvscsi/ibmvfc.c ibmvfc_set_host_action(vhost, IBMVFC_HOST_ACTION_RESET); vhost 2758 drivers/scsi/ibmvscsi/ibmvfc.c dev_err(vhost->dev, "Received unknown transport event from partner (rc=%d)\n", crq->format); vhost 2764 drivers/scsi/ibmvscsi/ibmvfc.c dev_err(vhost->dev, "Got an invalid message type 0x%02x\n", crq->valid); vhost 2775 drivers/scsi/ibmvscsi/ibmvfc.c if (unlikely(!ibmvfc_valid_event(&vhost->pool, evt))) { vhost 2776 drivers/scsi/ibmvscsi/ibmvfc.c dev_err(vhost->dev, "Returned correlation_token 0x%08llx is invalid!\n", vhost 2782 drivers/scsi/ibmvscsi/ibmvfc.c dev_err(vhost->dev, "Received duplicate correlation_token 0x%08llx!\n", vhost 2804 drivers/scsi/ibmvscsi/ibmvfc.c struct ibmvfc_host *vhost = shost_priv(shost); vhost 2809 drivers/scsi/ibmvscsi/ibmvfc.c dev_info(vhost->dev, "Scan taking longer than %d seconds, " vhost 2814 drivers/scsi/ibmvscsi/ibmvfc.c if (vhost->scan_complete) vhost 2834 drivers/scsi/ibmvscsi/ibmvfc.c struct ibmvfc_host *vhost = shost_priv(shost); vhost 2841 drivers/scsi/ibmvscsi/ibmvfc.c sdev->hostdata = (void *)(unsigned long)vhost->task_set++; vhost 2859 drivers/scsi/ibmvscsi/ibmvfc.c struct ibmvfc_host *vhost = shost_priv(shost); vhost 2863 drivers/scsi/ibmvscsi/ibmvfc.c starget->hostdata = (void *)(unsigned long)vhost->task_set++; vhost 2911 drivers/scsi/ibmvscsi/ibmvfc.c struct ibmvfc_host *vhost = shost_priv(shost); vhost 2914 drivers/scsi/ibmvscsi/ibmvfc.c vhost->login_buf->resp.partition_name); vhost 2921 drivers/scsi/ibmvscsi/ibmvfc.c struct ibmvfc_host *vhost = shost_priv(shost); vhost 2924 drivers/scsi/ibmvscsi/ibmvfc.c vhost->login_buf->resp.device_name); vhost 2931 drivers/scsi/ibmvscsi/ibmvfc.c struct ibmvfc_host *vhost = shost_priv(shost); vhost 2934 drivers/scsi/ibmvscsi/ibmvfc.c vhost->login_buf->resp.port_loc_code); vhost 2941 drivers/scsi/ibmvscsi/ibmvfc.c struct ibmvfc_host *vhost = shost_priv(shost); vhost 2944 drivers/scsi/ibmvscsi/ibmvfc.c vhost->login_buf->resp.drc_name); vhost 2951 drivers/scsi/ibmvscsi/ibmvfc.c struct ibmvfc_host *vhost = shost_priv(shost); vhost 2952 drivers/scsi/ibmvscsi/ibmvfc.c return snprintf(buf, PAGE_SIZE, "%d\n", vhost->login_buf->resp.version); vhost 2959 drivers/scsi/ibmvscsi/ibmvfc.c struct ibmvfc_host *vhost = shost_priv(shost); vhost 2960 drivers/scsi/ibmvscsi/ibmvfc.c return snprintf(buf, PAGE_SIZE, "%llx\n", vhost->login_buf->resp.capabilities); vhost 2975 drivers/scsi/ibmvscsi/ibmvfc.c struct ibmvfc_host *vhost = shost_priv(shost); vhost 2980 drivers/scsi/ibmvscsi/ibmvfc.c len = snprintf(buf, PAGE_SIZE, "%d\n", vhost->log_level); vhost 2998 drivers/scsi/ibmvscsi/ibmvfc.c struct ibmvfc_host *vhost = shost_priv(shost); vhost 3002 drivers/scsi/ibmvscsi/ibmvfc.c vhost->log_level = simple_strtoul(buf, NULL, 10); vhost 3035 drivers/scsi/ibmvscsi/ibmvfc.c struct ibmvfc_host *vhost = shost_priv(shost); vhost 3038 drivers/scsi/ibmvscsi/ibmvfc.c char *src = (char *)vhost->trace; vhost 3105 drivers/scsi/ibmvscsi/ibmvfc.c static struct ibmvfc_async_crq *ibmvfc_next_async_crq(struct ibmvfc_host *vhost) vhost 3107 drivers/scsi/ibmvscsi/ibmvfc.c struct ibmvfc_async_crq_queue *async_crq = &vhost->async_crq; vhost 3128 drivers/scsi/ibmvscsi/ibmvfc.c static struct ibmvfc_crq *ibmvfc_next_crq(struct ibmvfc_host *vhost) vhost 3130 drivers/scsi/ibmvscsi/ibmvfc.c struct ibmvfc_crq_queue *queue = &vhost->crq; vhost 3154 drivers/scsi/ibmvscsi/ibmvfc.c struct ibmvfc_host *vhost = (struct ibmvfc_host *)dev_instance; vhost 3157 drivers/scsi/ibmvscsi/ibmvfc.c spin_lock_irqsave(vhost->host->host_lock, flags); vhost 3158 drivers/scsi/ibmvscsi/ibmvfc.c vio_disable_interrupts(to_vio_dev(vhost->dev)); vhost 3159 drivers/scsi/ibmvscsi/ibmvfc.c tasklet_schedule(&vhost->tasklet); vhost 3160 drivers/scsi/ibmvscsi/ibmvfc.c spin_unlock_irqrestore(vhost->host->host_lock, flags); vhost 3173 drivers/scsi/ibmvscsi/ibmvfc.c struct ibmvfc_host *vhost = data; vhost 3174 drivers/scsi/ibmvscsi/ibmvfc.c struct vio_dev *vdev = to_vio_dev(vhost->dev); vhost 3180 drivers/scsi/ibmvscsi/ibmvfc.c spin_lock_irqsave(vhost->host->host_lock, flags); vhost 3183 drivers/scsi/ibmvscsi/ibmvfc.c while ((async = ibmvfc_next_async_crq(vhost)) != NULL) { vhost 3184 drivers/scsi/ibmvscsi/ibmvfc.c ibmvfc_handle_async(async, vhost); vhost 3190 drivers/scsi/ibmvscsi/ibmvfc.c while ((crq = ibmvfc_next_crq(vhost)) != NULL) { vhost 3191 drivers/scsi/ibmvscsi/ibmvfc.c ibmvfc_handle_crq(crq, vhost); vhost 3197 drivers/scsi/ibmvscsi/ibmvfc.c if ((async = ibmvfc_next_async_crq(vhost)) != NULL) { vhost 3199 drivers/scsi/ibmvscsi/ibmvfc.c ibmvfc_handle_async(async, vhost); vhost 3202 drivers/scsi/ibmvscsi/ibmvfc.c } else if ((crq = ibmvfc_next_crq(vhost)) != NULL) { vhost 3204 drivers/scsi/ibmvscsi/ibmvfc.c ibmvfc_handle_crq(crq, vhost); vhost 3211 drivers/scsi/ibmvscsi/ibmvfc.c spin_unlock_irqrestore(vhost->host->host_lock, flags); vhost 3225 drivers/scsi/ibmvscsi/ibmvfc.c wake_up(&tgt->vhost->work_wait_q); vhost 3241 drivers/scsi/ibmvscsi/ibmvfc.c wake_up(&tgt->vhost->work_wait_q); vhost 3290 drivers/scsi/ibmvscsi/ibmvfc.c struct ibmvfc_host *vhost = evt->vhost; vhost 3296 drivers/scsi/ibmvscsi/ibmvfc.c vhost->discovery_threads--; vhost 3348 drivers/scsi/ibmvscsi/ibmvfc.c wake_up(&vhost->work_wait_q); vhost 3359 drivers/scsi/ibmvscsi/ibmvfc.c struct ibmvfc_host *vhost = tgt->vhost; vhost 3362 drivers/scsi/ibmvscsi/ibmvfc.c if (vhost->discovery_threads >= disc_threads) vhost 3366 drivers/scsi/ibmvscsi/ibmvfc.c evt = ibmvfc_get_event(vhost); vhost 3367 drivers/scsi/ibmvscsi/ibmvfc.c vhost->discovery_threads++; vhost 3386 drivers/scsi/ibmvscsi/ibmvfc.c if (ibmvfc_send_event(evt, vhost, default_timeout)) { vhost 3387 drivers/scsi/ibmvscsi/ibmvfc.c vhost->discovery_threads--; vhost 3402 drivers/scsi/ibmvscsi/ibmvfc.c struct ibmvfc_host *vhost = evt->vhost; vhost 3407 drivers/scsi/ibmvscsi/ibmvfc.c vhost->discovery_threads--; vhost 3414 drivers/scsi/ibmvscsi/ibmvfc.c vhost->reinit = 1; vhost 3449 drivers/scsi/ibmvscsi/ibmvfc.c wake_up(&vhost->work_wait_q); vhost 3460 drivers/scsi/ibmvscsi/ibmvfc.c struct ibmvfc_host *vhost = tgt->vhost; vhost 3463 drivers/scsi/ibmvscsi/ibmvfc.c if (vhost->discovery_threads >= disc_threads) vhost 3468 drivers/scsi/ibmvscsi/ibmvfc.c evt = ibmvfc_get_event(vhost); vhost 3469 drivers/scsi/ibmvscsi/ibmvfc.c vhost->discovery_threads++; vhost 3480 drivers/scsi/ibmvscsi/ibmvfc.c if (ibmvfc_send_event(evt, vhost, default_timeout)) { vhost 3481 drivers/scsi/ibmvscsi/ibmvfc.c vhost->discovery_threads--; vhost 3496 drivers/scsi/ibmvscsi/ibmvfc.c struct ibmvfc_host *vhost = evt->vhost; vhost 3500 drivers/scsi/ibmvscsi/ibmvfc.c vhost->discovery_threads--; vhost 3510 drivers/scsi/ibmvscsi/ibmvfc.c wake_up(&vhost->work_wait_q); vhost 3518 drivers/scsi/ibmvscsi/ibmvfc.c if (vhost->action == IBMVFC_HOST_ACTION_TGT_INIT) vhost 3520 drivers/scsi/ibmvscsi/ibmvfc.c else if (vhost->action == IBMVFC_HOST_ACTION_QUERY_TGTS && vhost 3524 drivers/scsi/ibmvscsi/ibmvfc.c wake_up(&vhost->work_wait_q); vhost 3535 drivers/scsi/ibmvscsi/ibmvfc.c struct ibmvfc_host *vhost = tgt->vhost; vhost 3538 drivers/scsi/ibmvscsi/ibmvfc.c if (vhost->discovery_threads >= disc_threads) vhost 3542 drivers/scsi/ibmvscsi/ibmvfc.c evt = ibmvfc_get_event(vhost); vhost 3543 drivers/scsi/ibmvscsi/ibmvfc.c vhost->discovery_threads++; vhost 3554 drivers/scsi/ibmvscsi/ibmvfc.c if (ibmvfc_send_event(evt, vhost, default_timeout)) { vhost 3555 drivers/scsi/ibmvscsi/ibmvfc.c vhost->discovery_threads--; vhost 3590 drivers/scsi/ibmvscsi/ibmvfc.c struct ibmvfc_host *vhost = evt->vhost; vhost 3595 drivers/scsi/ibmvscsi/ibmvfc.c vhost->discovery_threads--; vhost 3622 drivers/scsi/ibmvscsi/ibmvfc.c wake_up(&vhost->work_wait_q); vhost 3665 drivers/scsi/ibmvscsi/ibmvfc.c struct ibmvfc_host *vhost = evt->vhost; vhost 3669 drivers/scsi/ibmvscsi/ibmvfc.c vhost->abort_threads--; vhost 3672 drivers/scsi/ibmvscsi/ibmvfc.c wake_up(&vhost->work_wait_q); vhost 3686 drivers/scsi/ibmvscsi/ibmvfc.c struct ibmvfc_host *vhost = tgt->vhost; vhost 3693 drivers/scsi/ibmvscsi/ibmvfc.c spin_lock_irqsave(vhost->host->host_lock, flags); vhost 3694 drivers/scsi/ibmvscsi/ibmvfc.c if (vhost->abort_threads >= disc_threads || vhost 3696 drivers/scsi/ibmvscsi/ibmvfc.c vhost->state != IBMVFC_INITIALIZING || vhost 3697 drivers/scsi/ibmvscsi/ibmvfc.c vhost->action != IBMVFC_HOST_ACTION_QUERY_TGTS) { vhost 3698 drivers/scsi/ibmvscsi/ibmvfc.c spin_unlock_irqrestore(vhost->host->host_lock, flags); vhost 3702 drivers/scsi/ibmvscsi/ibmvfc.c vhost->abort_threads++; vhost 3704 drivers/scsi/ibmvscsi/ibmvfc.c evt = ibmvfc_get_event(vhost); vhost 3716 drivers/scsi/ibmvscsi/ibmvfc.c rc = ibmvfc_send_event(evt, vhost, default_timeout); vhost 3720 drivers/scsi/ibmvscsi/ibmvfc.c vhost->abort_threads--; vhost 3722 drivers/scsi/ibmvscsi/ibmvfc.c __ibmvfc_reset_host(vhost); vhost 3725 drivers/scsi/ibmvscsi/ibmvfc.c spin_unlock_irqrestore(vhost->host->host_lock, flags); vhost 3742 drivers/scsi/ibmvscsi/ibmvfc.c struct ibmvfc_host *vhost = tgt->vhost; vhost 3745 drivers/scsi/ibmvscsi/ibmvfc.c if (vhost->discovery_threads >= disc_threads) vhost 3749 drivers/scsi/ibmvscsi/ibmvfc.c evt = ibmvfc_get_event(vhost); vhost 3750 drivers/scsi/ibmvscsi/ibmvfc.c vhost->discovery_threads++; vhost 3761 drivers/scsi/ibmvscsi/ibmvfc.c memcpy(&mad->fc_iu.payload[2], &vhost->login_buf->resp.port_name, vhost 3762 drivers/scsi/ibmvscsi/ibmvfc.c sizeof(vhost->login_buf->resp.port_name)); vhost 3763 drivers/scsi/ibmvscsi/ibmvfc.c memcpy(&mad->fc_iu.payload[4], &vhost->login_buf->resp.node_name, vhost 3764 drivers/scsi/ibmvscsi/ibmvfc.c sizeof(vhost->login_buf->resp.node_name)); vhost 3765 drivers/scsi/ibmvscsi/ibmvfc.c mad->fc_iu.payload[6] = cpu_to_be32(be64_to_cpu(vhost->login_buf->resp.scsi_id) & 0x00ffffff); vhost 3775 drivers/scsi/ibmvscsi/ibmvfc.c if (ibmvfc_send_event(evt, vhost, IBMVFC_ADISC_PLUS_CANCEL_TIMEOUT)) { vhost 3776 drivers/scsi/ibmvscsi/ibmvfc.c vhost->discovery_threads--; vhost 3792 drivers/scsi/ibmvscsi/ibmvfc.c struct ibmvfc_host *vhost = evt->vhost; vhost 3797 drivers/scsi/ibmvscsi/ibmvfc.c vhost->discovery_threads--; vhost 3835 drivers/scsi/ibmvscsi/ibmvfc.c wake_up(&vhost->work_wait_q); vhost 3846 drivers/scsi/ibmvscsi/ibmvfc.c struct ibmvfc_host *vhost = tgt->vhost; vhost 3849 drivers/scsi/ibmvscsi/ibmvfc.c if (vhost->discovery_threads >= disc_threads) vhost 3853 drivers/scsi/ibmvscsi/ibmvfc.c evt = ibmvfc_get_event(vhost); vhost 3854 drivers/scsi/ibmvscsi/ibmvfc.c vhost->discovery_threads++; vhost 3865 drivers/scsi/ibmvscsi/ibmvfc.c if (ibmvfc_send_event(evt, vhost, default_timeout)) { vhost 3866 drivers/scsi/ibmvscsi/ibmvfc.c vhost->discovery_threads--; vhost 3881 drivers/scsi/ibmvscsi/ibmvfc.c static int ibmvfc_alloc_target(struct ibmvfc_host *vhost, u64 scsi_id) vhost 3886 drivers/scsi/ibmvscsi/ibmvfc.c spin_lock_irqsave(vhost->host->host_lock, flags); vhost 3887 drivers/scsi/ibmvscsi/ibmvfc.c list_for_each_entry(tgt, &vhost->targets, queue) { vhost 3894 drivers/scsi/ibmvscsi/ibmvfc.c spin_unlock_irqrestore(vhost->host->host_lock, flags); vhost 3896 drivers/scsi/ibmvscsi/ibmvfc.c tgt = mempool_alloc(vhost->tgt_pool, GFP_NOIO); vhost 3900 drivers/scsi/ibmvscsi/ibmvfc.c tgt->vhost = vhost; vhost 3902 drivers/scsi/ibmvscsi/ibmvfc.c tgt->cancel_key = vhost->task_set++; vhost 3906 drivers/scsi/ibmvscsi/ibmvfc.c spin_lock_irqsave(vhost->host->host_lock, flags); vhost 3907 drivers/scsi/ibmvscsi/ibmvfc.c list_add_tail(&tgt->queue, &vhost->targets); vhost 3910 drivers/scsi/ibmvscsi/ibmvfc.c spin_unlock_irqrestore(vhost->host->host_lock, flags); vhost 3921 drivers/scsi/ibmvscsi/ibmvfc.c static int ibmvfc_alloc_targets(struct ibmvfc_host *vhost) vhost 3925 drivers/scsi/ibmvscsi/ibmvfc.c for (i = 0, rc = 0; !rc && i < vhost->num_targets; i++) vhost 3926 drivers/scsi/ibmvscsi/ibmvfc.c rc = ibmvfc_alloc_target(vhost, vhost 3927 drivers/scsi/ibmvscsi/ibmvfc.c be32_to_cpu(vhost->disc_buf->scsi_id[i]) & vhost 3940 drivers/scsi/ibmvscsi/ibmvfc.c struct ibmvfc_host *vhost = evt->vhost; vhost 3947 drivers/scsi/ibmvscsi/ibmvfc.c ibmvfc_dbg(vhost, "Discover Targets succeeded\n"); vhost 3948 drivers/scsi/ibmvscsi/ibmvfc.c vhost->num_targets = be32_to_cpu(rsp->num_written); vhost 3949 drivers/scsi/ibmvscsi/ibmvfc.c ibmvfc_set_host_action(vhost, IBMVFC_HOST_ACTION_ALLOC_TGTS); vhost 3952 drivers/scsi/ibmvscsi/ibmvfc.c level += ibmvfc_retry_host_init(vhost); vhost 3953 drivers/scsi/ibmvscsi/ibmvfc.c ibmvfc_log(vhost, level, "Discover Targets failed: %s (%x:%x)\n", vhost 3960 drivers/scsi/ibmvscsi/ibmvfc.c dev_err(vhost->dev, "Invalid Discover Targets response: 0x%x\n", mad_status); vhost 3961 drivers/scsi/ibmvscsi/ibmvfc.c ibmvfc_link_down(vhost, IBMVFC_LINK_DEAD); vhost 3966 drivers/scsi/ibmvscsi/ibmvfc.c wake_up(&vhost->work_wait_q); vhost 3974 drivers/scsi/ibmvscsi/ibmvfc.c static void ibmvfc_discover_targets(struct ibmvfc_host *vhost) vhost 3977 drivers/scsi/ibmvscsi/ibmvfc.c struct ibmvfc_event *evt = ibmvfc_get_event(vhost); vhost 3985 drivers/scsi/ibmvscsi/ibmvfc.c mad->bufflen = cpu_to_be32(vhost->disc_buf_sz); vhost 3986 drivers/scsi/ibmvscsi/ibmvfc.c mad->buffer.va = cpu_to_be64(vhost->disc_buf_dma); vhost 3987 drivers/scsi/ibmvscsi/ibmvfc.c mad->buffer.len = cpu_to_be32(vhost->disc_buf_sz); vhost 3988 drivers/scsi/ibmvscsi/ibmvfc.c ibmvfc_set_host_action(vhost, IBMVFC_HOST_ACTION_INIT_WAIT); vhost 3990 drivers/scsi/ibmvscsi/ibmvfc.c if (!ibmvfc_send_event(evt, vhost, default_timeout)) vhost 3991 drivers/scsi/ibmvscsi/ibmvfc.c ibmvfc_dbg(vhost, "Sent discover targets\n"); vhost 3993 drivers/scsi/ibmvscsi/ibmvfc.c ibmvfc_link_down(vhost, IBMVFC_LINK_DEAD); vhost 4003 drivers/scsi/ibmvscsi/ibmvfc.c struct ibmvfc_host *vhost = evt->vhost; vhost 4005 drivers/scsi/ibmvscsi/ibmvfc.c struct ibmvfc_npiv_login_resp *rsp = &vhost->login_buf->resp; vhost 4015 drivers/scsi/ibmvscsi/ibmvfc.c level += ibmvfc_retry_host_init(vhost); vhost 4017 drivers/scsi/ibmvscsi/ibmvfc.c ibmvfc_link_down(vhost, IBMVFC_LINK_DEAD); vhost 4018 drivers/scsi/ibmvscsi/ibmvfc.c ibmvfc_log(vhost, level, "NPIV Login failed: %s (%x:%x)\n", vhost 4024 drivers/scsi/ibmvscsi/ibmvfc.c ibmvfc_retry_host_init(vhost); vhost 4030 drivers/scsi/ibmvscsi/ibmvfc.c dev_err(vhost->dev, "Invalid NPIV Login response: 0x%x\n", mad_status); vhost 4031 drivers/scsi/ibmvscsi/ibmvfc.c ibmvfc_link_down(vhost, IBMVFC_LINK_DEAD); vhost 4036 drivers/scsi/ibmvscsi/ibmvfc.c vhost->client_migrated = 0; vhost 4039 drivers/scsi/ibmvscsi/ibmvfc.c dev_err(vhost->dev, "Virtual adapter does not support FC. %x\n", vhost 4041 drivers/scsi/ibmvscsi/ibmvfc.c ibmvfc_link_down(vhost, IBMVFC_LINK_DEAD); vhost 4042 drivers/scsi/ibmvscsi/ibmvfc.c wake_up(&vhost->work_wait_q); vhost 4047 drivers/scsi/ibmvscsi/ibmvfc.c dev_err(vhost->dev, "Virtual adapter supported queue depth too small: %d\n", vhost 4049 drivers/scsi/ibmvscsi/ibmvfc.c ibmvfc_link_down(vhost, IBMVFC_LINK_DEAD); vhost 4050 drivers/scsi/ibmvscsi/ibmvfc.c wake_up(&vhost->work_wait_q); vhost 4054 drivers/scsi/ibmvscsi/ibmvfc.c vhost->logged_in = 1; vhost 4056 drivers/scsi/ibmvscsi/ibmvfc.c dev_info(vhost->dev, "Host partition: %s, device: %s %s %s max sectors %u\n", vhost 4060 drivers/scsi/ibmvscsi/ibmvfc.c fc_host_fabric_name(vhost->host) = be64_to_cpu(rsp->node_name); vhost 4061 drivers/scsi/ibmvscsi/ibmvfc.c fc_host_node_name(vhost->host) = be64_to_cpu(rsp->node_name); vhost 4062 drivers/scsi/ibmvscsi/ibmvfc.c fc_host_port_name(vhost->host) = be64_to_cpu(rsp->port_name); vhost 4063 drivers/scsi/ibmvscsi/ibmvfc.c fc_host_port_id(vhost->host) = be64_to_cpu(rsp->scsi_id); vhost 4064 drivers/scsi/ibmvscsi/ibmvfc.c fc_host_port_type(vhost->host) = FC_PORTTYPE_NPIV; vhost 4065 drivers/scsi/ibmvscsi/ibmvfc.c fc_host_supported_classes(vhost->host) = 0; vhost 4067 drivers/scsi/ibmvscsi/ibmvfc.c fc_host_supported_classes(vhost->host) |= FC_COS_CLASS1; vhost 4069 drivers/scsi/ibmvscsi/ibmvfc.c fc_host_supported_classes(vhost->host) |= FC_COS_CLASS2; vhost 4071 drivers/scsi/ibmvscsi/ibmvfc.c fc_host_supported_classes(vhost->host) |= FC_COS_CLASS3; vhost 4072 drivers/scsi/ibmvscsi/ibmvfc.c fc_host_maxframe_size(vhost->host) = vhost 4075 drivers/scsi/ibmvscsi/ibmvfc.c vhost->host->can_queue = be32_to_cpu(rsp->max_cmds) - IBMVFC_NUM_INTERNAL_REQ; vhost 4076 drivers/scsi/ibmvscsi/ibmvfc.c vhost->host->max_sectors = npiv_max_sectors; vhost 4077 drivers/scsi/ibmvscsi/ibmvfc.c ibmvfc_set_host_action(vhost, IBMVFC_HOST_ACTION_QUERY); vhost 4078 drivers/scsi/ibmvscsi/ibmvfc.c wake_up(&vhost->work_wait_q); vhost 4086 drivers/scsi/ibmvscsi/ibmvfc.c static void ibmvfc_npiv_login(struct ibmvfc_host *vhost) vhost 4089 drivers/scsi/ibmvscsi/ibmvfc.c struct ibmvfc_event *evt = ibmvfc_get_event(vhost); vhost 4091 drivers/scsi/ibmvscsi/ibmvfc.c ibmvfc_gather_partition_info(vhost); vhost 4092 drivers/scsi/ibmvscsi/ibmvfc.c ibmvfc_set_login_info(vhost); vhost 4095 drivers/scsi/ibmvscsi/ibmvfc.c memcpy(vhost->login_buf, &vhost->login_info, sizeof(vhost->login_info)); vhost 4101 drivers/scsi/ibmvscsi/ibmvfc.c mad->buffer.va = cpu_to_be64(vhost->login_buf_dma); vhost 4102 drivers/scsi/ibmvscsi/ibmvfc.c mad->buffer.len = cpu_to_be32(sizeof(*vhost->login_buf)); vhost 4104 drivers/scsi/ibmvscsi/ibmvfc.c ibmvfc_set_host_action(vhost, IBMVFC_HOST_ACTION_INIT_WAIT); vhost 4106 drivers/scsi/ibmvscsi/ibmvfc.c if (!ibmvfc_send_event(evt, vhost, default_timeout)) vhost 4107 drivers/scsi/ibmvscsi/ibmvfc.c ibmvfc_dbg(vhost, "Sent NPIV login\n"); vhost 4109 drivers/scsi/ibmvscsi/ibmvfc.c ibmvfc_link_down(vhost, IBMVFC_LINK_DEAD); vhost 4119 drivers/scsi/ibmvscsi/ibmvfc.c struct ibmvfc_host *vhost = evt->vhost; vhost 4126 drivers/scsi/ibmvscsi/ibmvfc.c if (list_empty(&vhost->sent) && vhost 4127 drivers/scsi/ibmvscsi/ibmvfc.c vhost->action == IBMVFC_HOST_ACTION_LOGO_WAIT) { vhost 4128 drivers/scsi/ibmvscsi/ibmvfc.c ibmvfc_init_host(vhost); vhost 4137 drivers/scsi/ibmvscsi/ibmvfc.c ibmvfc_dbg(vhost, "NPIV Logout failed. 0x%X\n", mad_status); vhost 4141 drivers/scsi/ibmvscsi/ibmvfc.c ibmvfc_hard_reset_host(vhost); vhost 4149 drivers/scsi/ibmvscsi/ibmvfc.c static void ibmvfc_npiv_logout(struct ibmvfc_host *vhost) vhost 4154 drivers/scsi/ibmvscsi/ibmvfc.c evt = ibmvfc_get_event(vhost); vhost 4163 drivers/scsi/ibmvscsi/ibmvfc.c ibmvfc_set_host_action(vhost, IBMVFC_HOST_ACTION_LOGO_WAIT); vhost 4165 drivers/scsi/ibmvscsi/ibmvfc.c if (!ibmvfc_send_event(evt, vhost, default_timeout)) vhost 4166 drivers/scsi/ibmvscsi/ibmvfc.c ibmvfc_dbg(vhost, "Sent NPIV logout\n"); vhost 4168 drivers/scsi/ibmvscsi/ibmvfc.c ibmvfc_link_down(vhost, IBMVFC_LINK_DEAD); vhost 4178 drivers/scsi/ibmvscsi/ibmvfc.c static int ibmvfc_dev_init_to_do(struct ibmvfc_host *vhost) vhost 4182 drivers/scsi/ibmvscsi/ibmvfc.c list_for_each_entry(tgt, &vhost->targets, queue) { vhost 4198 drivers/scsi/ibmvscsi/ibmvfc.c static int __ibmvfc_work_to_do(struct ibmvfc_host *vhost) vhost 4204 drivers/scsi/ibmvscsi/ibmvfc.c switch (vhost->action) { vhost 4211 drivers/scsi/ibmvscsi/ibmvfc.c if (vhost->discovery_threads == disc_threads) vhost 4213 drivers/scsi/ibmvscsi/ibmvfc.c list_for_each_entry(tgt, &vhost->targets, queue) vhost 4216 drivers/scsi/ibmvscsi/ibmvfc.c list_for_each_entry(tgt, &vhost->targets, queue) vhost 4242 drivers/scsi/ibmvscsi/ibmvfc.c static int ibmvfc_work_to_do(struct ibmvfc_host *vhost) vhost 4247 drivers/scsi/ibmvscsi/ibmvfc.c spin_lock_irqsave(vhost->host->host_lock, flags); vhost 4248 drivers/scsi/ibmvscsi/ibmvfc.c rc = __ibmvfc_work_to_do(vhost); vhost 4249 drivers/scsi/ibmvscsi/ibmvfc.c spin_unlock_irqrestore(vhost->host->host_lock, flags); vhost 4259 drivers/scsi/ibmvscsi/ibmvfc.c static void ibmvfc_log_ae(struct ibmvfc_host *vhost, int events) vhost 4262 drivers/scsi/ibmvscsi/ibmvfc.c fc_host_post_event(vhost->host, fc_get_event_number(), FCH_EVT_RSCN, 0); vhost 4264 drivers/scsi/ibmvscsi/ibmvfc.c vhost->state >= IBMVFC_HALTED) vhost 4265 drivers/scsi/ibmvscsi/ibmvfc.c fc_host_post_event(vhost->host, fc_get_event_number(), FCH_EVT_LINKDOWN, 0); vhost 4267 drivers/scsi/ibmvscsi/ibmvfc.c vhost->state == IBMVFC_INITIALIZING) vhost 4268 drivers/scsi/ibmvscsi/ibmvfc.c fc_host_post_event(vhost->host, fc_get_event_number(), FCH_EVT_LINKUP, 0); vhost 4278 drivers/scsi/ibmvscsi/ibmvfc.c struct ibmvfc_host *vhost = tgt->vhost; vhost 4283 drivers/scsi/ibmvscsi/ibmvfc.c rport = fc_remote_port_add(vhost->host, 0, &tgt->ids); vhost 4284 drivers/scsi/ibmvscsi/ibmvfc.c spin_lock_irqsave(vhost->host->host_lock, flags); vhost 4290 drivers/scsi/ibmvscsi/ibmvfc.c spin_unlock_irqrestore(vhost->host->host_lock, flags); vhost 4296 drivers/scsi/ibmvscsi/ibmvfc.c spin_unlock_irqrestore(vhost->host->host_lock, flags); vhost 4316 drivers/scsi/ibmvscsi/ibmvfc.c spin_unlock_irqrestore(vhost->host->host_lock, flags); vhost 4324 drivers/scsi/ibmvscsi/ibmvfc.c static void ibmvfc_do_work(struct ibmvfc_host *vhost) vhost 4331 drivers/scsi/ibmvscsi/ibmvfc.c ibmvfc_log_ae(vhost, vhost->events_to_log); vhost 4332 drivers/scsi/ibmvscsi/ibmvfc.c spin_lock_irqsave(vhost->host->host_lock, flags); vhost 4333 drivers/scsi/ibmvscsi/ibmvfc.c vhost->events_to_log = 0; vhost 4334 drivers/scsi/ibmvscsi/ibmvfc.c switch (vhost->action) { vhost 4340 drivers/scsi/ibmvscsi/ibmvfc.c vhost->action = IBMVFC_HOST_ACTION_TGT_DEL; vhost 4341 drivers/scsi/ibmvscsi/ibmvfc.c spin_unlock_irqrestore(vhost->host->host_lock, flags); vhost 4342 drivers/scsi/ibmvscsi/ibmvfc.c rc = ibmvfc_reset_crq(vhost); vhost 4343 drivers/scsi/ibmvscsi/ibmvfc.c spin_lock_irqsave(vhost->host->host_lock, flags); vhost 4345 drivers/scsi/ibmvscsi/ibmvfc.c vio_enable_interrupts(to_vio_dev(vhost->dev)); vhost 4346 drivers/scsi/ibmvscsi/ibmvfc.c if (rc || (rc = ibmvfc_send_crq_init(vhost)) || vhost 4347 drivers/scsi/ibmvscsi/ibmvfc.c (rc = vio_enable_interrupts(to_vio_dev(vhost->dev)))) { vhost 4348 drivers/scsi/ibmvscsi/ibmvfc.c ibmvfc_link_down(vhost, IBMVFC_LINK_DEAD); vhost 4349 drivers/scsi/ibmvscsi/ibmvfc.c dev_err(vhost->dev, "Error after reset (rc=%d)\n", rc); vhost 4353 drivers/scsi/ibmvscsi/ibmvfc.c vhost->action = IBMVFC_HOST_ACTION_TGT_DEL; vhost 4354 drivers/scsi/ibmvscsi/ibmvfc.c spin_unlock_irqrestore(vhost->host->host_lock, flags); vhost 4355 drivers/scsi/ibmvscsi/ibmvfc.c rc = ibmvfc_reenable_crq_queue(vhost); vhost 4356 drivers/scsi/ibmvscsi/ibmvfc.c spin_lock_irqsave(vhost->host->host_lock, flags); vhost 4357 drivers/scsi/ibmvscsi/ibmvfc.c if (rc || (rc = ibmvfc_send_crq_init(vhost))) { vhost 4358 drivers/scsi/ibmvscsi/ibmvfc.c ibmvfc_link_down(vhost, IBMVFC_LINK_DEAD); vhost 4359 drivers/scsi/ibmvscsi/ibmvfc.c dev_err(vhost->dev, "Error after enable (rc=%d)\n", rc); vhost 4363 drivers/scsi/ibmvscsi/ibmvfc.c vhost->job_step(vhost); vhost 4366 drivers/scsi/ibmvscsi/ibmvfc.c BUG_ON(vhost->state != IBMVFC_INITIALIZING); vhost 4367 drivers/scsi/ibmvscsi/ibmvfc.c if (vhost->delay_init) { vhost 4368 drivers/scsi/ibmvscsi/ibmvfc.c vhost->delay_init = 0; vhost 4369 drivers/scsi/ibmvscsi/ibmvfc.c spin_unlock_irqrestore(vhost->host->host_lock, flags); vhost 4373 drivers/scsi/ibmvscsi/ibmvfc.c vhost->job_step(vhost); vhost 4376 drivers/scsi/ibmvscsi/ibmvfc.c list_for_each_entry(tgt, &vhost->targets, queue) vhost 4378 drivers/scsi/ibmvscsi/ibmvfc.c ibmvfc_set_host_action(vhost, IBMVFC_HOST_ACTION_QUERY_TGTS); vhost 4381 drivers/scsi/ibmvscsi/ibmvfc.c list_for_each_entry(tgt, &vhost->targets, queue) { vhost 4388 drivers/scsi/ibmvscsi/ibmvfc.c if (!ibmvfc_dev_init_to_do(vhost)) vhost 4389 drivers/scsi/ibmvscsi/ibmvfc.c ibmvfc_set_host_action(vhost, IBMVFC_HOST_ACTION_TGT_DEL); vhost 4393 drivers/scsi/ibmvscsi/ibmvfc.c list_for_each_entry(tgt, &vhost->targets, queue) { vhost 4400 drivers/scsi/ibmvscsi/ibmvfc.c spin_unlock_irqrestore(vhost->host->host_lock, flags); vhost 4409 drivers/scsi/ibmvscsi/ibmvfc.c if (vhost->state == IBMVFC_INITIALIZING) { vhost 4410 drivers/scsi/ibmvscsi/ibmvfc.c if (vhost->action == IBMVFC_HOST_ACTION_TGT_DEL_FAILED) { vhost 4411 drivers/scsi/ibmvscsi/ibmvfc.c if (vhost->reinit) { vhost 4412 drivers/scsi/ibmvscsi/ibmvfc.c vhost->reinit = 0; vhost 4413 drivers/scsi/ibmvscsi/ibmvfc.c scsi_block_requests(vhost->host); vhost 4414 drivers/scsi/ibmvscsi/ibmvfc.c ibmvfc_set_host_action(vhost, IBMVFC_HOST_ACTION_QUERY); vhost 4415 drivers/scsi/ibmvscsi/ibmvfc.c spin_unlock_irqrestore(vhost->host->host_lock, flags); vhost 4417 drivers/scsi/ibmvscsi/ibmvfc.c ibmvfc_set_host_state(vhost, IBMVFC_ACTIVE); vhost 4418 drivers/scsi/ibmvscsi/ibmvfc.c ibmvfc_set_host_action(vhost, IBMVFC_HOST_ACTION_NONE); vhost 4419 drivers/scsi/ibmvscsi/ibmvfc.c wake_up(&vhost->init_wait_q); vhost 4420 drivers/scsi/ibmvscsi/ibmvfc.c schedule_work(&vhost->rport_add_work_q); vhost 4421 drivers/scsi/ibmvscsi/ibmvfc.c vhost->init_retries = 0; vhost 4422 drivers/scsi/ibmvscsi/ibmvfc.c spin_unlock_irqrestore(vhost->host->host_lock, flags); vhost 4423 drivers/scsi/ibmvscsi/ibmvfc.c scsi_unblock_requests(vhost->host); vhost 4428 drivers/scsi/ibmvscsi/ibmvfc.c ibmvfc_set_host_action(vhost, IBMVFC_HOST_ACTION_INIT); vhost 4429 drivers/scsi/ibmvscsi/ibmvfc.c vhost->job_step = ibmvfc_discover_targets; vhost 4432 drivers/scsi/ibmvscsi/ibmvfc.c ibmvfc_set_host_action(vhost, IBMVFC_HOST_ACTION_NONE); vhost 4433 drivers/scsi/ibmvscsi/ibmvfc.c spin_unlock_irqrestore(vhost->host->host_lock, flags); vhost 4434 drivers/scsi/ibmvscsi/ibmvfc.c scsi_unblock_requests(vhost->host); vhost 4435 drivers/scsi/ibmvscsi/ibmvfc.c wake_up(&vhost->init_wait_q); vhost 4440 drivers/scsi/ibmvscsi/ibmvfc.c ibmvfc_set_host_action(vhost, IBMVFC_HOST_ACTION_TGT_INIT); vhost 4441 drivers/scsi/ibmvscsi/ibmvfc.c spin_unlock_irqrestore(vhost->host->host_lock, flags); vhost 4442 drivers/scsi/ibmvscsi/ibmvfc.c ibmvfc_alloc_targets(vhost); vhost 4443 drivers/scsi/ibmvscsi/ibmvfc.c spin_lock_irqsave(vhost->host->host_lock, flags); vhost 4446 drivers/scsi/ibmvscsi/ibmvfc.c list_for_each_entry(tgt, &vhost->targets, queue) { vhost 4453 drivers/scsi/ibmvscsi/ibmvfc.c if (!ibmvfc_dev_init_to_do(vhost)) vhost 4454 drivers/scsi/ibmvscsi/ibmvfc.c ibmvfc_set_host_action(vhost, IBMVFC_HOST_ACTION_TGT_DEL_FAILED); vhost 4460 drivers/scsi/ibmvscsi/ibmvfc.c spin_unlock_irqrestore(vhost->host->host_lock, flags); vhost 4472 drivers/scsi/ibmvscsi/ibmvfc.c struct ibmvfc_host *vhost = data; vhost 4478 drivers/scsi/ibmvscsi/ibmvfc.c rc = wait_event_interruptible(vhost->work_wait_q, vhost 4479 drivers/scsi/ibmvscsi/ibmvfc.c ibmvfc_work_to_do(vhost)); vhost 4486 drivers/scsi/ibmvscsi/ibmvfc.c ibmvfc_do_work(vhost); vhost 4489 drivers/scsi/ibmvscsi/ibmvfc.c ibmvfc_dbg(vhost, "ibmvfc kthread exiting...\n"); vhost 4503 drivers/scsi/ibmvscsi/ibmvfc.c static int ibmvfc_init_crq(struct ibmvfc_host *vhost) vhost 4506 drivers/scsi/ibmvscsi/ibmvfc.c struct device *dev = vhost->dev; vhost 4508 drivers/scsi/ibmvscsi/ibmvfc.c struct ibmvfc_crq_queue *crq = &vhost->crq; vhost 4528 drivers/scsi/ibmvscsi/ibmvfc.c retrc = rc = ibmvfc_reset_crq(vhost); vhost 4539 drivers/scsi/ibmvscsi/ibmvfc.c tasklet_init(&vhost->tasklet, (void *)ibmvfc_tasklet, (unsigned long)vhost); vhost 4541 drivers/scsi/ibmvscsi/ibmvfc.c if ((rc = request_irq(vdev->irq, ibmvfc_interrupt, 0, IBMVFC_NAME, vhost))) { vhost 4556 drivers/scsi/ibmvscsi/ibmvfc.c tasklet_kill(&vhost->tasklet); vhost 4574 drivers/scsi/ibmvscsi/ibmvfc.c static void ibmvfc_free_mem(struct ibmvfc_host *vhost) vhost 4576 drivers/scsi/ibmvscsi/ibmvfc.c struct ibmvfc_async_crq_queue *async_q = &vhost->async_crq; vhost 4579 drivers/scsi/ibmvscsi/ibmvfc.c mempool_destroy(vhost->tgt_pool); vhost 4580 drivers/scsi/ibmvscsi/ibmvfc.c kfree(vhost->trace); vhost 4581 drivers/scsi/ibmvscsi/ibmvfc.c dma_free_coherent(vhost->dev, vhost->disc_buf_sz, vhost->disc_buf, vhost 4582 drivers/scsi/ibmvscsi/ibmvfc.c vhost->disc_buf_dma); vhost 4583 drivers/scsi/ibmvscsi/ibmvfc.c dma_free_coherent(vhost->dev, sizeof(*vhost->login_buf), vhost 4584 drivers/scsi/ibmvscsi/ibmvfc.c vhost->login_buf, vhost->login_buf_dma); vhost 4585 drivers/scsi/ibmvscsi/ibmvfc.c dma_pool_destroy(vhost->sg_pool); vhost 4586 drivers/scsi/ibmvscsi/ibmvfc.c dma_unmap_single(vhost->dev, async_q->msg_token, vhost 4599 drivers/scsi/ibmvscsi/ibmvfc.c static int ibmvfc_alloc_mem(struct ibmvfc_host *vhost) vhost 4601 drivers/scsi/ibmvscsi/ibmvfc.c struct ibmvfc_async_crq_queue *async_q = &vhost->async_crq; vhost 4602 drivers/scsi/ibmvscsi/ibmvfc.c struct device *dev = vhost->dev; vhost 4621 drivers/scsi/ibmvscsi/ibmvfc.c vhost->sg_pool = dma_pool_create(IBMVFC_NAME, dev, vhost 4625 drivers/scsi/ibmvscsi/ibmvfc.c if (!vhost->sg_pool) { vhost 4630 drivers/scsi/ibmvscsi/ibmvfc.c vhost->login_buf = dma_alloc_coherent(dev, sizeof(*vhost->login_buf), vhost 4631 drivers/scsi/ibmvscsi/ibmvfc.c &vhost->login_buf_dma, GFP_KERNEL); vhost 4633 drivers/scsi/ibmvscsi/ibmvfc.c if (!vhost->login_buf) { vhost 4638 drivers/scsi/ibmvscsi/ibmvfc.c vhost->disc_buf_sz = sizeof(vhost->disc_buf->scsi_id[0]) * max_targets; vhost 4639 drivers/scsi/ibmvscsi/ibmvfc.c vhost->disc_buf = dma_alloc_coherent(dev, vhost->disc_buf_sz, vhost 4640 drivers/scsi/ibmvscsi/ibmvfc.c &vhost->disc_buf_dma, GFP_KERNEL); vhost 4642 drivers/scsi/ibmvscsi/ibmvfc.c if (!vhost->disc_buf) { vhost 4647 drivers/scsi/ibmvscsi/ibmvfc.c vhost->trace = kcalloc(IBMVFC_NUM_TRACE_ENTRIES, vhost 4650 drivers/scsi/ibmvscsi/ibmvfc.c if (!vhost->trace) vhost 4653 drivers/scsi/ibmvscsi/ibmvfc.c vhost->tgt_pool = mempool_create_kmalloc_pool(IBMVFC_TGT_MEMPOOL_SZ, vhost 4656 drivers/scsi/ibmvscsi/ibmvfc.c if (!vhost->tgt_pool) { vhost 4665 drivers/scsi/ibmvscsi/ibmvfc.c kfree(vhost->trace); vhost 4667 drivers/scsi/ibmvscsi/ibmvfc.c dma_free_coherent(dev, vhost->disc_buf_sz, vhost->disc_buf, vhost 4668 drivers/scsi/ibmvscsi/ibmvfc.c vhost->disc_buf_dma); vhost 4670 drivers/scsi/ibmvscsi/ibmvfc.c dma_free_coherent(dev, sizeof(*vhost->login_buf), vhost 4671 drivers/scsi/ibmvscsi/ibmvfc.c vhost->login_buf, vhost->login_buf_dma); vhost 4673 drivers/scsi/ibmvscsi/ibmvfc.c dma_pool_destroy(vhost->sg_pool); vhost 4691 drivers/scsi/ibmvscsi/ibmvfc.c struct ibmvfc_host *vhost = container_of(work, struct ibmvfc_host, vhost 4699 drivers/scsi/ibmvscsi/ibmvfc.c spin_lock_irqsave(vhost->host->host_lock, flags); vhost 4702 drivers/scsi/ibmvscsi/ibmvfc.c if (vhost->state != IBMVFC_ACTIVE) vhost 4705 drivers/scsi/ibmvscsi/ibmvfc.c list_for_each_entry(tgt, &vhost->targets, queue) { vhost 4712 drivers/scsi/ibmvscsi/ibmvfc.c spin_unlock_irqrestore(vhost->host->host_lock, flags); vhost 4715 drivers/scsi/ibmvscsi/ibmvfc.c spin_unlock_irqrestore(vhost->host->host_lock, flags); vhost 4720 drivers/scsi/ibmvscsi/ibmvfc.c spin_unlock_irqrestore(vhost->host->host_lock, flags); vhost 4724 drivers/scsi/ibmvscsi/ibmvfc.c spin_lock_irqsave(vhost->host->host_lock, flags); vhost 4730 drivers/scsi/ibmvscsi/ibmvfc.c if (vhost->state == IBMVFC_ACTIVE) vhost 4731 drivers/scsi/ibmvscsi/ibmvfc.c vhost->scan_complete = 1; vhost 4732 drivers/scsi/ibmvscsi/ibmvfc.c spin_unlock_irqrestore(vhost->host->host_lock, flags); vhost 4746 drivers/scsi/ibmvscsi/ibmvfc.c struct ibmvfc_host *vhost; vhost 4752 drivers/scsi/ibmvscsi/ibmvfc.c shost = scsi_host_alloc(&driver_template, sizeof(*vhost)); vhost 4766 drivers/scsi/ibmvscsi/ibmvfc.c vhost = shost_priv(shost); vhost 4767 drivers/scsi/ibmvscsi/ibmvfc.c INIT_LIST_HEAD(&vhost->sent); vhost 4768 drivers/scsi/ibmvscsi/ibmvfc.c INIT_LIST_HEAD(&vhost->free); vhost 4769 drivers/scsi/ibmvscsi/ibmvfc.c INIT_LIST_HEAD(&vhost->targets); vhost 4770 drivers/scsi/ibmvscsi/ibmvfc.c sprintf(vhost->name, IBMVFC_NAME); vhost 4771 drivers/scsi/ibmvscsi/ibmvfc.c vhost->host = shost; vhost 4772 drivers/scsi/ibmvscsi/ibmvfc.c vhost->dev = dev; vhost 4773 drivers/scsi/ibmvscsi/ibmvfc.c vhost->partition_number = -1; vhost 4774 drivers/scsi/ibmvscsi/ibmvfc.c vhost->log_level = log_level; vhost 4775 drivers/scsi/ibmvscsi/ibmvfc.c vhost->task_set = 1; vhost 4776 drivers/scsi/ibmvscsi/ibmvfc.c strcpy(vhost->partition_name, "UNKNOWN"); vhost 4777 drivers/scsi/ibmvscsi/ibmvfc.c init_waitqueue_head(&vhost->work_wait_q); vhost 4778 drivers/scsi/ibmvscsi/ibmvfc.c init_waitqueue_head(&vhost->init_wait_q); vhost 4779 drivers/scsi/ibmvscsi/ibmvfc.c INIT_WORK(&vhost->rport_add_work_q, ibmvfc_rport_add_thread); vhost 4780 drivers/scsi/ibmvscsi/ibmvfc.c mutex_init(&vhost->passthru_mutex); vhost 4782 drivers/scsi/ibmvscsi/ibmvfc.c if ((rc = ibmvfc_alloc_mem(vhost))) vhost 4785 drivers/scsi/ibmvscsi/ibmvfc.c vhost->work_thread = kthread_run(ibmvfc_work, vhost, "%s_%d", IBMVFC_NAME, vhost 4788 drivers/scsi/ibmvscsi/ibmvfc.c if (IS_ERR(vhost->work_thread)) { vhost 4790 drivers/scsi/ibmvscsi/ibmvfc.c PTR_ERR(vhost->work_thread)); vhost 4794 drivers/scsi/ibmvscsi/ibmvfc.c if ((rc = ibmvfc_init_crq(vhost))) { vhost 4799 drivers/scsi/ibmvscsi/ibmvfc.c if ((rc = ibmvfc_init_event_pool(vhost))) { vhost 4817 drivers/scsi/ibmvscsi/ibmvfc.c dev_set_drvdata(dev, vhost); vhost 4819 drivers/scsi/ibmvscsi/ibmvfc.c list_add_tail(&vhost->queue, &ibmvfc_head); vhost 4822 drivers/scsi/ibmvscsi/ibmvfc.c ibmvfc_send_crq_init(vhost); vhost 4829 drivers/scsi/ibmvscsi/ibmvfc.c ibmvfc_free_event_pool(vhost); vhost 4831 drivers/scsi/ibmvscsi/ibmvfc.c ibmvfc_release_crq_queue(vhost); vhost 4833 drivers/scsi/ibmvscsi/ibmvfc.c kthread_stop(vhost->work_thread); vhost 4835 drivers/scsi/ibmvscsi/ibmvfc.c ibmvfc_free_mem(vhost); vhost 4852 drivers/scsi/ibmvscsi/ibmvfc.c struct ibmvfc_host *vhost = dev_get_drvdata(&vdev->dev); vhost 4856 drivers/scsi/ibmvscsi/ibmvfc.c ibmvfc_remove_trace_file(&vhost->host->shost_dev.kobj, &ibmvfc_trace_attr); vhost 4858 drivers/scsi/ibmvscsi/ibmvfc.c spin_lock_irqsave(vhost->host->host_lock, flags); vhost 4859 drivers/scsi/ibmvscsi/ibmvfc.c ibmvfc_link_down(vhost, IBMVFC_HOST_OFFLINE); vhost 4860 drivers/scsi/ibmvscsi/ibmvfc.c spin_unlock_irqrestore(vhost->host->host_lock, flags); vhost 4862 drivers/scsi/ibmvscsi/ibmvfc.c ibmvfc_wait_while_resetting(vhost); vhost 4863 drivers/scsi/ibmvscsi/ibmvfc.c ibmvfc_release_crq_queue(vhost); vhost 4864 drivers/scsi/ibmvscsi/ibmvfc.c kthread_stop(vhost->work_thread); vhost 4865 drivers/scsi/ibmvscsi/ibmvfc.c fc_remove_host(vhost->host); vhost 4866 drivers/scsi/ibmvscsi/ibmvfc.c scsi_remove_host(vhost->host); vhost 4868 drivers/scsi/ibmvscsi/ibmvfc.c spin_lock_irqsave(vhost->host->host_lock, flags); vhost 4869 drivers/scsi/ibmvscsi/ibmvfc.c ibmvfc_purge_requests(vhost, DID_ERROR); vhost 4870 drivers/scsi/ibmvscsi/ibmvfc.c spin_unlock_irqrestore(vhost->host->host_lock, flags); vhost 4871 drivers/scsi/ibmvscsi/ibmvfc.c ibmvfc_free_event_pool(vhost); vhost 4873 drivers/scsi/ibmvscsi/ibmvfc.c ibmvfc_free_mem(vhost); vhost 4875 drivers/scsi/ibmvscsi/ibmvfc.c list_del(&vhost->queue); vhost 4877 drivers/scsi/ibmvscsi/ibmvfc.c scsi_host_put(vhost->host); vhost 4893 drivers/scsi/ibmvscsi/ibmvfc.c struct ibmvfc_host *vhost = dev_get_drvdata(dev); vhost 4896 drivers/scsi/ibmvscsi/ibmvfc.c spin_lock_irqsave(vhost->host->host_lock, flags); vhost 4898 drivers/scsi/ibmvscsi/ibmvfc.c tasklet_schedule(&vhost->tasklet); vhost 4899 drivers/scsi/ibmvscsi/ibmvfc.c spin_unlock_irqrestore(vhost->host->host_lock, flags); vhost 605 drivers/scsi/ibmvscsi/ibmvfc.h struct ibmvfc_host *vhost; vhost 627 drivers/scsi/ibmvscsi/ibmvfc.h struct ibmvfc_host *vhost; vhost 733 drivers/scsi/ibmvscsi/ibmvfc.h DBG_CMD(dev_info((t)->vhost->dev, "%llX: " fmt, (t)->scsi_id, ##__VA_ARGS__)) vhost 736 drivers/scsi/ibmvscsi/ibmvfc.h dev_info((t)->vhost->dev, "%llX: " fmt, (t)->scsi_id, ##__VA_ARGS__) vhost 739 drivers/scsi/ibmvscsi/ibmvfc.h dev_err((t)->vhost->dev, "%llX: " fmt, (t)->scsi_id, ##__VA_ARGS__) vhost 743 drivers/scsi/ibmvscsi/ibmvfc.h if ((t)->vhost->log_level >= level) \ vhost 747 drivers/scsi/ibmvscsi/ibmvfc.h #define ibmvfc_dbg(vhost, ...) \ vhost 748 drivers/scsi/ibmvscsi/ibmvfc.h DBG_CMD(dev_info((vhost)->dev, ##__VA_ARGS__)) vhost 750 drivers/scsi/ibmvscsi/ibmvfc.h #define ibmvfc_log(vhost, level, ...) \ vhost 752 drivers/scsi/ibmvscsi/ibmvfc.h if ((vhost)->log_level >= level) \ vhost 753 drivers/scsi/ibmvscsi/ibmvfc.h dev_err((vhost)->dev, ##__VA_ARGS__); \