Lines Matching refs:tsm_dev
35 return tsm->tsm_dev->pci_ops; in to_pci_tsm_ops()
178 pdev->tsm = ops->probe(dsm_dev->tsm->tsm_dev, pdev); in probe_fn()
186 static int pci_tsm_connect(struct pci_dev *pdev, struct tsm_dev *tsm_dev) in pci_tsm_connect() argument
190 const struct pci_tsm_ops *ops = tsm_dev->pci_ops; in pci_tsm_connect()
191 struct pci_tsm *pci_tsm __free(tsm_remove) = ops->probe(tsm_dev, pdev); in pci_tsm_connect()
234 struct tsm_dev *tsm_dev; in connect_show() local
244 tsm_dev = pdev->tsm->tsm_dev; in connect_show()
245 return sysfs_emit(buf, "%s\n", dev_name(&tsm_dev->dev)); in connect_show()
249 static bool is_link_tsm(struct tsm_dev *tsm_dev) in is_link_tsm() argument
251 return tsm_dev && tsm_dev->pci_ops && tsm_dev->pci_ops->link_ops.probe; in is_link_tsm()
255 static bool is_devsec_tsm(struct tsm_dev *tsm_dev) in is_devsec_tsm() argument
257 return tsm_dev && tsm_dev->pci_ops && tsm_dev->pci_ops->devsec_ops.lock; in is_devsec_tsm()
277 struct tsm_dev *tsm_dev __free(put_tsm_dev) = find_tsm_dev(id); in connect_store()
278 if (!is_link_tsm(tsm_dev)) in connect_store()
281 rc = pci_tsm_connect(pdev, tsm_dev); in connect_store()
355 if (!is_link_tsm(pdev->tsm->tsm_dev)) in pci_tsm_bind()
422 if (!is_link_tsm(pdev->tsm->tsm_dev)) in pci_tsm_guest_req()
474 struct tsm_dev *tsm_dev; in disconnect_store() local
484 tsm_dev = pdev->tsm->tsm_dev; in disconnect_store()
485 if (!sysfs_streq(buf, dev_name(&tsm_dev->dev))) in disconnect_store()
516 return sysfs_emit(buf, "%s\n", dev_name(&tsm->tsm_dev->dev)); in bound_show()
720 struct tsm_dev *tsm_dev) in pci_tsm_link_constructor() argument
722 if (!is_link_tsm(tsm_dev)) in pci_tsm_link_constructor()
731 tsm->tsm_dev = tsm_dev; in pci_tsm_link_constructor()
744 struct tsm_dev *tsm_dev) in pci_tsm_pf0_constructor() argument
754 return pci_tsm_link_constructor(pdev, &tsm->base_tsm, tsm_dev); in pci_tsm_pf0_constructor()
764 int pci_tsm_register(struct tsm_dev *tsm_dev) in pci_tsm_register() argument
768 if (!tsm_dev) in pci_tsm_register()
772 if (!is_link_tsm(tsm_dev) && !is_devsec_tsm(tsm_dev)) in pci_tsm_register()
775 if (is_link_tsm(tsm_dev) && is_devsec_tsm(tsm_dev)) in pci_tsm_register()
781 if (is_link_tsm(tsm_dev) && pci_tsm_link_count++ == 0) { in pci_tsm_register()
785 } else if (is_devsec_tsm(tsm_dev)) { in pci_tsm_register()
807 static void __pci_tsm_destroy(struct pci_dev *pdev, struct tsm_dev *tsm_dev) in __pci_tsm_destroy() argument
818 if (is_link_tsm(tsm_dev) && is_pci_tsm_pf0(pdev) && !pci_tsm_link_count) in __pci_tsm_destroy()
826 if (!tsm_dev) in __pci_tsm_destroy()
827 tsm_dev = tsm->tsm_dev; in __pci_tsm_destroy()
828 else if (tsm_dev != tsm->tsm_dev) in __pci_tsm_destroy()
831 if (is_link_tsm(tsm_dev) && is_pci_tsm_pf0(pdev)) in __pci_tsm_destroy()
872 void pci_tsm_unregister(struct tsm_dev *tsm_dev) in pci_tsm_unregister() argument
877 if (is_link_tsm(tsm_dev)) in pci_tsm_unregister()
879 if (is_devsec_tsm(tsm_dev)) in pci_tsm_unregister()
882 __pci_tsm_destroy(pdev, tsm_dev); in pci_tsm_unregister()