Lines Matching defs:sdev

1792  * @sdev:	scsi device struct
1795 static void ibmvfc_relogin(struct scsi_device *sdev)
1797 struct ibmvfc_host *vhost = shost_priv(sdev->host);
1798 struct fc_rport *rport = starget_to_rport(scsi_target(sdev));
1896 static struct ibmvfc_cmd *ibmvfc_init_vfc_cmd(struct ibmvfc_event *evt, struct scsi_device *sdev)
1898 struct fc_rport *rport = starget_to_rport(scsi_target(sdev));
1916 vfc_cmd->cancel_key = cpu_to_be32((unsigned long)sdev->hostdata);
1918 int_to_scsilun(sdev->lun, &iu->lun);
2301 * @sdev: scsi device to reset
2308 static int ibmvfc_reset_device(struct scsi_device *sdev, int type, char *desc)
2310 struct ibmvfc_host *vhost = shost_priv(sdev->host);
2311 struct fc_rport *rport = starget_to_rport(scsi_target(sdev));
2334 tmf = ibmvfc_init_vfc_cmd(evt, sdev);
2349 sdev_printk(KERN_ERR, sdev, "Failed to send %s reset event. rc=%d\n",
2354 sdev_printk(KERN_INFO, sdev, "Resetting %s\n", desc);
2364 sdev_printk(KERN_ERR, sdev, "%s reset failed: %s (%x:%x) "
2371 sdev_printk(KERN_INFO, sdev, "%s reset successful\n", desc);
2417 * @device: device to match (sdev)
2420 * 1 if event matches sdev / 0 if event does not match sdev
2450 * @device: device to match (starget or sdev)
2526 struct scsi_device *sdev,
2529 struct ibmvfc_host *vhost = shost_priv(sdev->host);
2530 struct scsi_target *starget = scsi_target(sdev);
2551 int_to_scsilun(sdev->lun, &tmf->lun);
2558 tmf->cancel_key = cpu_to_be32((unsigned long)sdev->hostdata);
2566 static int ibmvfc_cancel_all_mq(struct scsi_device *sdev, int type)
2568 struct ibmvfc_host *vhost = shost_priv(sdev->host);
2585 if (evt->cmnd && evt->cmnd->device == sdev) {
2593 evt = ibmvfc_init_tmf(&queues[i], sdev, type);
2610 sdev_printk(KERN_INFO, sdev, "No events found to cancel\n");
2614 sdev_printk(KERN_INFO, sdev, "Cancelling outstanding commands.\n");
2623 sdev_printk(KERN_WARNING, sdev, "Cancel failed with rc=%x\n", status);
2641 sdev_printk(KERN_INFO, sdev, "Successfully cancelled outstanding commands\n");
2646 static int ibmvfc_cancel_all_sq(struct scsi_device *sdev, int type)
2648 struct ibmvfc_host *vhost = shost_priv(sdev->host);
2660 if (evt->cmnd && evt->cmnd->device == sdev) {
2669 sdev_printk(KERN_INFO, sdev, "No events found to cancel\n");
2675 evt = ibmvfc_init_tmf(&vhost->crq, sdev, type);
2683 sdev_printk(KERN_ERR, sdev, "Failed to send cancel event. rc=%d\n", rsp_rc);
2690 sdev_printk(KERN_INFO, sdev, "Cancelling outstanding commands.\n");
2699 sdev_printk(KERN_WARNING, sdev, "Cancel failed with rc=%x\n", status);
2711 sdev_printk(KERN_INFO, sdev, "Successfully cancelled outstanding commands\n");
2717 * @sdev: scsi device to cancel commands
2726 static int ibmvfc_cancel_all(struct scsi_device *sdev, int type)
2728 struct ibmvfc_host *vhost = shost_priv(sdev->host);
2731 return ibmvfc_cancel_all_mq(sdev, type);
2733 return ibmvfc_cancel_all_sq(sdev, type);
2771 * @sdev: scsi device to abort commands
2779 static int ibmvfc_abort_task_set(struct scsi_device *sdev)
2781 struct ibmvfc_host *vhost = shost_priv(sdev->host);
2782 struct fc_rport *rport = starget_to_rport(scsi_target(sdev));
2796 if (evt->cmnd && evt->cmnd->device == sdev) {
2805 sdev_printk(KERN_INFO, sdev, "No events found to abort\n");
2817 tmf = ibmvfc_init_vfc_cmd(evt, sdev);
2835 sdev_printk(KERN_ERR, sdev, "Failed to send abort. rc=%d\n", rsp_rc);
2839 sdev_printk(KERN_INFO, sdev, "Aborting outstanding commands\n");
2843 rc = ibmvfc_cancel_all(sdev, 0);
2845 rc = ibmvfc_wait_for_ops(vhost, sdev->hostdata, ibmvfc_match_key);
2851 sdev_printk(KERN_INFO, sdev, "Cancel failed, resetting host\n");
2854 rc = ibmvfc_wait_for_ops(vhost, sdev->hostdata, ibmvfc_match_key);
2878 sdev_printk(KERN_ERR, sdev, "Abort failed: %s (%x:%x) "
2885 sdev_printk(KERN_INFO, sdev, "Abort successful\n");
2903 struct scsi_device *sdev = cmd->device;
2904 struct ibmvfc_host *vhost = shost_priv(sdev->host);
2912 cancel_rc = ibmvfc_cancel_all(sdev, IBMVFC_TMF_ABORT_TASK_SET);
2913 ibmvfc_abort_task_set(sdev);
2915 cancel_rc = ibmvfc_cancel_all(sdev, IBMVFC_TMF_SUPPRESS_ABTS);
2918 rc = ibmvfc_wait_for_ops(vhost, sdev, ibmvfc_match_lun);
2936 struct scsi_device *sdev = cmd->device;
2937 struct ibmvfc_host *vhost = shost_priv(sdev->host);
2945 cancel_rc = ibmvfc_cancel_all(sdev, IBMVFC_TMF_LUN_RESET);
2946 reset_rc = ibmvfc_reset_device(sdev, IBMVFC_LUN_RESET, "LUN");
2948 cancel_rc = ibmvfc_cancel_all(sdev, IBMVFC_TMF_SUPPRESS_ABTS);
2951 rc = ibmvfc_wait_for_ops(vhost, sdev, ibmvfc_match_lun);
2962 * @sdev: scsi device struct
2966 static void ibmvfc_dev_cancel_all_noreset(struct scsi_device *sdev, void *data)
2969 *rc |= ibmvfc_cancel_all(sdev, IBMVFC_TMF_SUPPRESS_ABTS);
2974 * @sdev: scsi device struct
2978 static void ibmvfc_dev_cancel_all_reset(struct scsi_device *sdev, void *data)
2981 *rc |= ibmvfc_cancel_all(sdev, IBMVFC_TMF_TGT_RESET);
2993 struct scsi_device *sdev = cmd->device;
2994 struct ibmvfc_host *vhost = shost_priv(sdev->host);
2995 struct scsi_target *starget = scsi_target(sdev);
3006 reset_rc = ibmvfc_reset_device(sdev, IBMVFC_TARGET_RESET, "target");
3048 struct scsi_device *sdev;
3054 shost_for_each_device(sdev, shost) {
3055 dev_rport = starget_to_rport(scsi_target(sdev));
3058 ibmvfc_cancel_all(sdev, IBMVFC_TMF_SUPPRESS_ABTS);
3361 * @sdev: struct scsi_device device to configure
3369 static int ibmvfc_slave_alloc(struct scsi_device *sdev)
3371 struct Scsi_Host *shost = sdev->host;
3372 struct fc_rport *rport = starget_to_rport(scsi_target(sdev));
3380 sdev->hostdata = (void *)(unsigned long)vhost->task_set++;
3409 * @sdev: struct scsi_device device to configure
3417 static int ibmvfc_slave_configure(struct scsi_device *sdev)
3419 struct Scsi_Host *shost = sdev->host;
3423 if (sdev->type == TYPE_DISK) {
3424 sdev->allow_restart = 1;
3425 blk_queue_rq_timeout(sdev->request_queue, 120 * HZ);
3433 * @sdev: scsi device struct
3439 static int ibmvfc_change_queue_depth(struct scsi_device *sdev, int qdepth)
3444 return scsi_change_queue_depth(sdev, qdepth);