Lines Matching refs:tl_hba
107 struct tcm_loop_hba *tl_hba; in tcm_loop_target_queue_cmd() local
112 tl_hba = *(struct tcm_loop_hba **)shost_priv(sc->device->host); in tcm_loop_target_queue_cmd()
113 tl_tpg = &tl_hba->tl_hba_tpgs[sc->device->id]; in tcm_loop_target_queue_cmd()
119 if (!tl_tpg->tl_hba) { in tcm_loop_target_queue_cmd()
237 struct tcm_loop_hba *tl_hba; in tcm_loop_abort_task() local
244 tl_hba = *(struct tcm_loop_hba **)shost_priv(sc->device->host); in tcm_loop_abort_task()
245 tl_tpg = &tl_hba->tl_hba_tpgs[sc->device->id]; in tcm_loop_abort_task()
258 struct tcm_loop_hba *tl_hba; in tcm_loop_device_reset() local
265 tl_hba = *(struct tcm_loop_hba **)shost_priv(sc->device->host); in tcm_loop_device_reset()
266 tl_tpg = &tl_hba->tl_hba_tpgs[sc->device->id]; in tcm_loop_device_reset()
285 struct tcm_loop_hba *tl_hba; in tcm_loop_target_reset() local
293 tl_hba = *(struct tcm_loop_hba **)shost_priv(sh); in tcm_loop_target_reset()
294 if (!tl_hba) { in tcm_loop_target_reset()
301 tl_tpg = &tl_hba->tl_hba_tpgs[sc->device->id]; in tcm_loop_target_reset()
356 struct tcm_loop_hba *tl_hba; in tcm_loop_driver_probe() local
360 tl_hba = to_tcm_loop_hba(dev); in tcm_loop_driver_probe()
368 tl_hba->sh = sh; in tcm_loop_driver_probe()
373 *((struct tcm_loop_hba **)sh->hostdata) = tl_hba; in tcm_loop_driver_probe()
392 error = scsi_add_host(sh, &tl_hba->dev); in tcm_loop_driver_probe()
403 struct tcm_loop_hba *tl_hba; in tcm_loop_driver_remove() local
406 tl_hba = to_tcm_loop_hba(dev); in tcm_loop_driver_remove()
407 sh = tl_hba->sh; in tcm_loop_driver_remove()
415 struct tcm_loop_hba *tl_hba = to_tcm_loop_hba(dev); in tcm_loop_release_adapter() local
417 kfree(tl_hba); in tcm_loop_release_adapter()
423 static int tcm_loop_setup_hba_bus(struct tcm_loop_hba *tl_hba, int tcm_loop_host_id) in tcm_loop_setup_hba_bus() argument
427 tl_hba->dev.bus = &tcm_loop_lld_bus; in tcm_loop_setup_hba_bus()
428 tl_hba->dev.parent = tcm_loop_primary; in tcm_loop_setup_hba_bus()
429 tl_hba->dev.release = &tcm_loop_release_adapter; in tcm_loop_setup_hba_bus()
430 dev_set_name(&tl_hba->dev, "tcm_loop_adapter_%d", tcm_loop_host_id); in tcm_loop_setup_hba_bus()
432 ret = device_register(&tl_hba->dev); in tcm_loop_setup_hba_bus()
435 put_device(&tl_hba->dev); in tcm_loop_setup_hba_bus()
497 return &tl_tpg(se_tpg)->tl_hba->tl_wwn_address[0]; in tcm_loop_get_endpoint_wwn()
605 static char *tcm_loop_dump_proto_id(struct tcm_loop_hba *tl_hba) in tcm_loop_dump_proto_id() argument
607 switch (tl_hba->tl_proto_id) { in tcm_loop_dump_proto_id()
629 struct tcm_loop_hba *tl_hba = tl_tpg->tl_hba; in tcm_loop_port_link() local
635 scsi_add_device(tl_hba->sh, 0, tl_tpg->tl_tpgt, lun->unpacked_lun); in tcm_loop_port_link()
646 struct tcm_loop_hba *tl_hba; in tcm_loop_port_unlink() local
650 tl_hba = tl_tpg->tl_hba; in tcm_loop_port_unlink()
652 sd = scsi_device_lookup(tl_hba->sh, 0, tl_tpg->tl_tpgt, in tcm_loop_port_unlink()
727 struct tcm_loop_hba *tl_hba = tl_tpg->tl_hba; in tcm_loop_make_nexus() local
750 tcm_loop_dump_proto_id(tl_hba), name); in tcm_loop_make_nexus()
775 tcm_loop_dump_proto_id(tpg->tl_hba), in tcm_loop_drop_nexus()
812 struct tcm_loop_hba *tl_hba = tl_tpg->tl_hba; in tcm_loop_tpg_nexus_store() local
836 if (tl_hba->tl_proto_id != SCSI_PROTOCOL_SAS) { in tcm_loop_tpg_nexus_store()
838 i_port, tcm_loop_dump_proto_id(tl_hba)); in tcm_loop_tpg_nexus_store()
846 if (tl_hba->tl_proto_id != SCSI_PROTOCOL_FCP) { in tcm_loop_tpg_nexus_store()
848 i_port, tcm_loop_dump_proto_id(tl_hba)); in tcm_loop_tpg_nexus_store()
856 if (tl_hba->tl_proto_id != SCSI_PROTOCOL_ISCSI) { in tcm_loop_tpg_nexus_store()
858 i_port, tcm_loop_dump_proto_id(tl_hba)); in tcm_loop_tpg_nexus_store()
936 struct tcm_loop_hba *tl_hba = tl_tpg->tl_hba; in tcm_loop_tpg_address_show() local
938 if (!tl_hba->sh) in tcm_loop_tpg_address_show()
942 tl_hba->sh->host_no, tl_tpg->tl_tpgt); in tcm_loop_tpg_address_show()
961 struct tcm_loop_hba *tl_hba = container_of(wwn, in tcm_loop_make_naa_tpg() local
979 tl_tpg = &tl_hba->tl_hba_tpgs[tpgt]; in tcm_loop_make_naa_tpg()
980 tl_tpg->tl_hba = tl_hba; in tcm_loop_make_naa_tpg()
985 ret = core_tpg_register(wwn, &tl_tpg->tl_se_tpg, tl_hba->tl_proto_id); in tcm_loop_make_naa_tpg()
990 tcm_loop_dump_proto_id(tl_hba), in tcm_loop_make_naa_tpg()
1001 struct tcm_loop_hba *tl_hba; in tcm_loop_drop_naa_tpg() local
1004 tl_hba = tl_tpg->tl_hba; in tcm_loop_drop_naa_tpg()
1015 tl_tpg->tl_hba = NULL; in tcm_loop_drop_naa_tpg()
1019 tcm_loop_dump_proto_id(tl_hba), in tcm_loop_drop_naa_tpg()
1032 struct tcm_loop_hba *tl_hba; in tcm_loop_make_scsi_hba() local
1037 tl_hba = kzalloc_obj(*tl_hba); in tcm_loop_make_scsi_hba()
1038 if (!tl_hba) in tcm_loop_make_scsi_hba()
1047 tl_hba->tl_proto_id = SCSI_PROTOCOL_SAS; in tcm_loop_make_scsi_hba()
1052 tl_hba->tl_proto_id = SCSI_PROTOCOL_FCP; in tcm_loop_make_scsi_hba()
1063 tl_hba->tl_proto_id = SCSI_PROTOCOL_ISCSI; in tcm_loop_make_scsi_hba()
1068 name, tcm_loop_dump_proto_id(tl_hba), TL_WWN_ADDR_LEN); in tcm_loop_make_scsi_hba()
1072 snprintf(&tl_hba->tl_wwn_address[0], TL_WWN_ADDR_LEN, "%s", &name[off]); in tcm_loop_make_scsi_hba()
1079 ret = tcm_loop_setup_hba_bus(tl_hba, tcm_loop_hba_no_cnt); in tcm_loop_make_scsi_hba()
1083 sh = tl_hba->sh; in tcm_loop_make_scsi_hba()
1086 tcm_loop_dump_proto_id(tl_hba), name, sh->host_no); in tcm_loop_make_scsi_hba()
1087 return &tl_hba->tl_hba_wwn; in tcm_loop_make_scsi_hba()
1089 kfree(tl_hba); in tcm_loop_make_scsi_hba()
1096 struct tcm_loop_hba *tl_hba = container_of(wwn, in tcm_loop_drop_scsi_hba() local
1100 tcm_loop_dump_proto_id(tl_hba), tl_hba->tl_wwn_address, in tcm_loop_drop_scsi_hba()
1101 tl_hba->sh->host_no); in tcm_loop_drop_scsi_hba()
1107 device_unregister(&tl_hba->dev); in tcm_loop_drop_scsi_hba()