Lines Matching refs:im_port
37 static void bfad_im_fc_rport_add(struct bfad_im_port_s *im_port,
180 struct bfad_im_port_s *im_port = in bfad_im_info() local
182 struct bfad_s *bfad = im_port->bfad; in bfad_im_info()
201 struct bfad_im_port_s *im_port = in bfad_im_abort_handler() local
203 struct bfad_s *bfad = im_port->bfad; in bfad_im_abort_handler()
224 im_port->shost->host_no, cmnd, hal_io->iotag); in bfad_im_abort_handler()
241 im_port->shost->host_no, cmnd, hal_io->iotag); in bfad_im_abort_handler()
302 struct bfad_im_port_s *im_port = in bfad_im_reset_lun_handler() local
305 struct bfad_s *bfad = im_port->bfad; in bfad_im_reset_lun_handler()
380 struct bfad_im_port_s *im_port = in bfad_im_reset_target_handler() local
382 struct bfad_s *bfad = im_port->bfad; in bfad_im_reset_target_handler()
390 itnim = bfad_get_itnim(im_port, starget->id); in bfad_im_reset_target_handler()
476 itnim_drv->im_port = port->im_port; in bfa_fcb_itnim_free()
483 port->im_port->shost->host_no, in bfa_fcb_itnim_free()
505 itnim_drv->im_port = port->im_port; in bfa_fcb_itnim_online()
530 itnim_drv->im_port = port->im_port; in bfa_fcb_itnim_offline()
543 bfad_im_scsi_host_alloc(struct bfad_s *bfad, struct bfad_im_port_s *im_port, in bfad_im_scsi_host_alloc() argument
550 error = idr_alloc(&bfad_im_port_index, im_port, 0, 0, GFP_KERNEL); in bfad_im_scsi_host_alloc()
556 im_port->idr_id = error; in bfad_im_scsi_host_alloc()
559 im_port->shost = bfad_scsi_host_alloc(im_port, bfad); in bfad_im_scsi_host_alloc()
560 if (!im_port->shost) { in bfad_im_scsi_host_alloc()
565 im_portp = shost_priv(im_port->shost); in bfad_im_scsi_host_alloc()
566 im_portp->p = im_port; in bfad_im_scsi_host_alloc()
567 im_port->shost->unique_id = im_port->idr_id; in bfad_im_scsi_host_alloc()
568 im_port->shost->this_id = -1; in bfad_im_scsi_host_alloc()
569 im_port->shost->max_id = MAX_FCP_TARGET; in bfad_im_scsi_host_alloc()
570 im_port->shost->max_lun = MAX_FCP_LUN; in bfad_im_scsi_host_alloc()
571 im_port->shost->max_cmd_len = 16; in bfad_im_scsi_host_alloc()
572 im_port->shost->can_queue = bfad->cfg_data.ioc_queue_depth; in bfad_im_scsi_host_alloc()
573 if (im_port->port->pvb_type == BFAD_PORT_PHYS_BASE) in bfad_im_scsi_host_alloc()
574 im_port->shost->transportt = bfad_im_scsi_transport_template; in bfad_im_scsi_host_alloc()
576 im_port->shost->transportt = in bfad_im_scsi_host_alloc()
579 error = scsi_add_host_with_dma(im_port->shost, dev, &bfad->pcidev->dev); in bfad_im_scsi_host_alloc()
588 scsi_host_put(im_port->shost); in bfad_im_scsi_host_alloc()
589 im_port->shost = NULL; in bfad_im_scsi_host_alloc()
592 idr_remove(&bfad_im_port_index, im_port->idr_id); in bfad_im_scsi_host_alloc()
599 bfad_im_scsi_host_free(struct bfad_s *bfad, struct bfad_im_port_s *im_port) in bfad_im_scsi_host_free() argument
603 im_port->shost->host_no); in bfad_im_scsi_host_free()
605 fc_remove_host(im_port->shost); in bfad_im_scsi_host_free()
607 scsi_remove_host(im_port->shost); in bfad_im_scsi_host_free()
608 scsi_host_put(im_port->shost); in bfad_im_scsi_host_free()
611 idr_remove(&bfad_im_port_index, im_port->idr_id); in bfad_im_scsi_host_free()
618 struct bfad_im_port_s *im_port = in bfad_im_port_delete_handler() local
621 if (im_port->port->pvb_type != BFAD_PORT_PHYS_BASE) { in bfad_im_port_delete_handler()
622 im_port->flags |= BFAD_PORT_DELETE; in bfad_im_port_delete_handler()
623 fc_vport_terminate(im_port->fc_vport); in bfad_im_port_delete_handler()
631 struct bfad_im_port_s *im_port; in bfad_im_port_new() local
633 im_port = kzalloc(sizeof(struct bfad_im_port_s), GFP_ATOMIC); in bfad_im_port_new()
634 if (im_port == NULL) { in bfad_im_port_new()
638 port->im_port = im_port; in bfad_im_port_new()
639 im_port->port = port; in bfad_im_port_new()
640 im_port->bfad = bfad; in bfad_im_port_new()
642 INIT_WORK(&im_port->port_delete_work, bfad_im_port_delete_handler); in bfad_im_port_new()
643 INIT_LIST_HEAD(&im_port->itnim_mapped_list); in bfad_im_port_new()
644 INIT_LIST_HEAD(&im_port->binding_list); in bfad_im_port_new()
653 struct bfad_im_port_s *im_port = port->im_port; in bfad_im_port_delete() local
656 &im_port->port_delete_work); in bfad_im_port_delete()
660 bfad_im_port_clean(struct bfad_im_port_s *im_port) in bfad_im_port_clean() argument
664 struct bfad_s *bfad = im_port->bfad; in bfad_im_port_clean()
667 list_for_each_entry_safe(bp, bp_new, &im_port->binding_list, in bfad_im_port_clean()
674 WARN_ON(!list_empty(&im_port->itnim_mapped_list)); in bfad_im_port_clean()
685 struct Scsi_Host *shost = bfad->pport.im_port->shost; in bfad_aen_im_notify_handler()
736 bfad_scsi_host_alloc(struct bfad_im_port_s *im_port, struct bfad_s *bfad) in bfad_scsi_host_alloc() argument
740 if (im_port->port->pvb_type == BFAD_PORT_PHYS_BASE) in bfad_scsi_host_alloc()
754 bfad_scsi_host_free(struct bfad_s *bfad, struct bfad_im_port_s *im_port) in bfad_scsi_host_free() argument
756 if (!(im_port->flags & BFAD_PORT_DELETE)) in bfad_scsi_host_free()
758 bfad_im_scsi_host_free(im_port->bfad, im_port); in bfad_scsi_host_free()
759 bfad_im_port_clean(im_port); in bfad_scsi_host_free()
760 kfree(im_port); in bfad_scsi_host_free()
915 bfad_get_itnim(struct bfad_im_port_s *im_port, int id) in bfad_get_itnim() argument
920 list_for_each_entry(itnim, &im_port->itnim_mapped_list, list_entry) { in bfad_get_itnim()
1035 bfad_fc_host_init(struct bfad_im_port_s *im_port) in bfad_fc_host_init() argument
1037 struct Scsi_Host *host = im_port->shost; in bfad_fc_host_init()
1038 struct bfad_s *bfad = im_port->bfad; in bfad_fc_host_init()
1039 struct bfad_port_s *port = im_port->port; in bfad_fc_host_init()
1068 bfad_im_fc_rport_add(struct bfad_im_port_s *im_port, struct bfad_itnim_s *itnim) in bfad_im_fc_rport_add() argument
1083 fc_remote_port_add(im_port->shost, 0, &rport_ids); in bfad_im_fc_rport_add()
1120 struct bfad_im_port_s *im_port; in bfad_im_itnim_work_handler() local
1128 im_port = itnim->im_port; in bfad_im_itnim_work_handler()
1134 bfad_im_fc_rport_add(im_port, itnim); in bfad_im_itnim_work_handler()
1141 &im_port->itnim_mapped_list); in bfad_im_itnim_work_handler()
1145 im_port->shost->host_no, in bfad_im_itnim_work_handler()
1163 if (!(im_port->port->flags & BFAD_PORT_DELETE)) { in bfad_im_itnim_work_handler()
1178 im_port->shost->host_no, in bfad_im_itnim_work_handler()
1189 if (!(im_port->port->flags & BFAD_PORT_DELETE)) { in bfad_im_itnim_work_handler()
1215 struct bfad_im_port_s *im_port = in bfad_im_queuecommand_lck() local
1217 struct bfad_s *bfad = im_port->bfad; in bfad_im_queuecommand_lck()