Lines Matching refs:tpg

33 	struct usbg_tpg			*tpg;  member
442 luns = atomic_read(&fu->tpg->tpg_port_count); in usbg_bot_setup()
728 se_sess = fu->tpg->tpg_nexus->tvn_se_sess; in uasp_status_data_cmpl()
1106 queue_work(cmd->fu->tpg->workqueue, &cmd->work); in usbg_data_write_cmpl()
1196 se_sess = cmd->fu->tpg->tpg_nexus->tvn_se_sess; in usbg_submit_tmr()
1208 struct usbg_tpg *tpg; in usbg_submit_cmd() local
1223 tpg = cmd->fu->tpg; in usbg_submit_cmd()
1224 tv_nexus = tpg->tpg_nexus; in usbg_submit_cmd()
1272 se_sess = cmd->fu->tpg->tpg_nexus->tvn_se_sess; in usbg_cmd_work()
1364 struct usbg_tpg *tpg = fu->tpg; in usbg_submit_command() local
1372 tv_nexus = tpg->tpg_nexus; in usbg_submit_command()
1408 se_sess = cmd->fu->tpg->tpg_nexus->tvn_se_sess; in usbg_submit_command()
1457 queue_work(tpg->workqueue, &cmd->work); in usbg_submit_command()
1467 struct usbg_tpg *tpg; in bot_cmd_work() local
1483 tpg = cmd->fu->tpg; in bot_cmd_work()
1484 tv_nexus = tpg->tpg_nexus; in bot_cmd_work()
1509 struct usbg_tpg *tpg = fu->tpg; in bot_submit_command() local
1526 tv_nexus = tpg->tpg_nexus; in bot_submit_command()
1548 queue_work(tpg->workqueue, &cmd->work); in bot_submit_command()
1562 struct usbg_tpg *tpg = container_of(se_tpg, in usbg_get_fabric_wwn() local
1564 struct usbg_tport *tport = tpg->tport; in usbg_get_fabric_wwn()
1571 struct usbg_tpg *tpg = container_of(se_tpg, in usbg_get_tag() local
1573 return tpg->tport_tpgt; in usbg_get_tag()
1643 struct usbg_tpg *tpg; in usbg_make_tpg() local
1656 if (tpg_instances[i].func_inst && !tpg_instances[i].tpg) in usbg_make_tpg()
1678 tpg = kzalloc(sizeof(struct usbg_tpg), GFP_KERNEL); in usbg_make_tpg()
1680 if (!tpg) in usbg_make_tpg()
1682 mutex_init(&tpg->tpg_mutex); in usbg_make_tpg()
1683 atomic_set(&tpg->tpg_port_count, 0); in usbg_make_tpg()
1684 tpg->workqueue = alloc_workqueue("tcm_usb_gadget", in usbg_make_tpg()
1686 if (!tpg->workqueue) in usbg_make_tpg()
1689 tpg->tport = tport; in usbg_make_tpg()
1690 tpg->tport_tpgt = tpgt; in usbg_make_tpg()
1696 ret = core_tpg_register(wwn, &tpg->se_tpg, SCSI_PROTOCOL_SAS); in usbg_make_tpg()
1700 tpg_instances[i].tpg = tpg; in usbg_make_tpg()
1701 tpg->fi = tpg_instances[i].func_inst; in usbg_make_tpg()
1704 return &tpg->se_tpg; in usbg_make_tpg()
1707 destroy_workqueue(tpg->workqueue); in usbg_make_tpg()
1709 kfree(tpg); in usbg_make_tpg()
1727 struct usbg_tpg *tpg = container_of(se_tpg, in usbg_drop_tpg() local
1732 tcm_usbg_drop_nexus(tpg); in usbg_drop_tpg()
1734 destroy_workqueue(tpg->workqueue); in usbg_drop_tpg()
1738 if (tpg_instances[i].tpg == tpg) in usbg_drop_tpg()
1741 tpg_instances[i].tpg = NULL; in usbg_drop_tpg()
1754 kfree(tpg); in usbg_drop_tpg()
1806 struct usbg_tpg *tpg = container_of(se_tpg, struct usbg_tpg, se_tpg); in usbg_enable_tpg() local
1810 ret = usbg_attach(tpg); in usbg_enable_tpg()
1812 usbg_detach(tpg); in usbg_enable_tpg()
1816 tpg->gadget_connect = enable; in usbg_enable_tpg()
1824 struct usbg_tpg *tpg = container_of(se_tpg, struct usbg_tpg, se_tpg); in tcm_usbg_tpg_nexus_show() local
1828 mutex_lock(&tpg->tpg_mutex); in tcm_usbg_tpg_nexus_show()
1829 tv_nexus = tpg->tpg_nexus; in tcm_usbg_tpg_nexus_show()
1837 mutex_unlock(&tpg->tpg_mutex); in tcm_usbg_tpg_nexus_show()
1844 struct usbg_tpg *tpg = container_of(se_tpg, in usbg_alloc_sess_cb() local
1847 tpg->tpg_nexus = p; in usbg_alloc_sess_cb()
1851 static int tcm_usbg_make_nexus(struct usbg_tpg *tpg, char *name) in tcm_usbg_make_nexus() argument
1856 mutex_lock(&tpg->tpg_mutex); in tcm_usbg_make_nexus()
1857 if (tpg->tpg_nexus) { in tcm_usbg_make_nexus()
1869 tv_nexus->tvn_se_sess = target_setup_session(&tpg->se_tpg, in tcm_usbg_make_nexus()
1883 mutex_unlock(&tpg->tpg_mutex); in tcm_usbg_make_nexus()
1887 static int tcm_usbg_drop_nexus(struct usbg_tpg *tpg) in tcm_usbg_drop_nexus() argument
1893 mutex_lock(&tpg->tpg_mutex); in tcm_usbg_drop_nexus()
1894 tv_nexus = tpg->tpg_nexus; in tcm_usbg_drop_nexus()
1902 if (atomic_read(&tpg->tpg_port_count)) { in tcm_usbg_drop_nexus()
1905 pr_err(MSG, atomic_read(&tpg->tpg_port_count)); in tcm_usbg_drop_nexus()
1916 tpg->tpg_nexus = NULL; in tcm_usbg_drop_nexus()
1921 mutex_unlock(&tpg->tpg_mutex); in tcm_usbg_drop_nexus()
1929 struct usbg_tpg *tpg = container_of(se_tpg, struct usbg_tpg, se_tpg); in tcm_usbg_tpg_nexus_store() local
1934 ret = tcm_usbg_drop_nexus(tpg); in tcm_usbg_tpg_nexus_store()
1955 ret = tcm_usbg_make_nexus(tpg, &i_port[0]); in tcm_usbg_tpg_nexus_store()
1970 struct usbg_tpg *tpg = container_of(se_tpg, struct usbg_tpg, se_tpg); in usbg_port_link() local
1972 atomic_inc(&tpg->tpg_port_count); in usbg_port_link()
1980 struct usbg_tpg *tpg = container_of(se_tpg, struct usbg_tpg, se_tpg); in usbg_port_unlink() local
1982 atomic_dec(&tpg->tpg_port_count); in usbg_port_unlink()
2498 static int usbg_attach(struct usbg_tpg *tpg) in usbg_attach() argument
2500 struct usb_function_instance *f = tpg->fi; in usbg_attach()
2509 static void usbg_detach(struct usbg_tpg *tpg) in usbg_detach() argument
2511 struct usb_function_instance *f = tpg->fi; in usbg_detach()
2606 fu->tpg = tpg_instances[i].tpg; in tcm_alloc()