Lines Matching refs:ntb

101 int ntb_register_device(struct ntb_dev *ntb)  in ntb_register_device()  argument
103 if (!ntb) in ntb_register_device()
105 if (!ntb->pdev) in ntb_register_device()
107 if (!ntb->ops) in ntb_register_device()
109 if (!ntb_dev_ops_is_valid(ntb->ops)) in ntb_register_device()
112 init_completion(&ntb->released); in ntb_register_device()
114 ntb->dev.bus = &ntb_bus; in ntb_register_device()
115 ntb->dev.parent = &ntb->pdev->dev; in ntb_register_device()
116 ntb->dev.release = ntb_dev_release; in ntb_register_device()
117 dev_set_name(&ntb->dev, "%s", pci_name(ntb->pdev)); in ntb_register_device()
119 ntb->ctx = NULL; in ntb_register_device()
120 ntb->ctx_ops = NULL; in ntb_register_device()
121 spin_lock_init(&ntb->ctx_lock); in ntb_register_device()
123 return device_register(&ntb->dev); in ntb_register_device()
127 void ntb_unregister_device(struct ntb_dev *ntb) in ntb_unregister_device() argument
129 device_unregister(&ntb->dev); in ntb_unregister_device()
130 wait_for_completion(&ntb->released); in ntb_unregister_device()
134 int ntb_set_ctx(struct ntb_dev *ntb, void *ctx, in ntb_set_ctx() argument
141 if (ntb->ctx_ops) in ntb_set_ctx()
144 spin_lock_irqsave(&ntb->ctx_lock, irqflags); in ntb_set_ctx()
146 ntb->ctx = ctx; in ntb_set_ctx()
147 ntb->ctx_ops = ctx_ops; in ntb_set_ctx()
149 spin_unlock_irqrestore(&ntb->ctx_lock, irqflags); in ntb_set_ctx()
155 void ntb_clear_ctx(struct ntb_dev *ntb) in ntb_clear_ctx() argument
159 spin_lock_irqsave(&ntb->ctx_lock, irqflags); in ntb_clear_ctx()
161 ntb->ctx_ops = NULL; in ntb_clear_ctx()
162 ntb->ctx = NULL; in ntb_clear_ctx()
164 spin_unlock_irqrestore(&ntb->ctx_lock, irqflags); in ntb_clear_ctx()
168 void ntb_link_event(struct ntb_dev *ntb) in ntb_link_event() argument
172 spin_lock_irqsave(&ntb->ctx_lock, irqflags); in ntb_link_event()
174 if (ntb->ctx_ops && ntb->ctx_ops->link_event) in ntb_link_event()
175 ntb->ctx_ops->link_event(ntb->ctx); in ntb_link_event()
177 spin_unlock_irqrestore(&ntb->ctx_lock, irqflags); in ntb_link_event()
181 void ntb_db_event(struct ntb_dev *ntb, int vector) in ntb_db_event() argument
185 spin_lock_irqsave(&ntb->ctx_lock, irqflags); in ntb_db_event()
187 if (ntb->ctx_ops && ntb->ctx_ops->db_event) in ntb_db_event()
188 ntb->ctx_ops->db_event(ntb->ctx, vector); in ntb_db_event()
190 spin_unlock_irqrestore(&ntb->ctx_lock, irqflags); in ntb_db_event()
194 void ntb_msg_event(struct ntb_dev *ntb) in ntb_msg_event() argument
198 spin_lock_irqsave(&ntb->ctx_lock, irqflags); in ntb_msg_event()
200 if (ntb->ctx_ops && ntb->ctx_ops->msg_event) in ntb_msg_event()
201 ntb->ctx_ops->msg_event(ntb->ctx); in ntb_msg_event()
203 spin_unlock_irqrestore(&ntb->ctx_lock, irqflags); in ntb_msg_event()
207 int ntb_default_port_number(struct ntb_dev *ntb) in ntb_default_port_number() argument
209 switch (ntb->topo) { in ntb_default_port_number()
222 int ntb_default_peer_port_count(struct ntb_dev *ntb) in ntb_default_peer_port_count() argument
228 int ntb_default_peer_port_number(struct ntb_dev *ntb, int pidx) in ntb_default_peer_port_number() argument
233 switch (ntb->topo) { in ntb_default_peer_port_number()
246 int ntb_default_peer_port_idx(struct ntb_dev *ntb, int port) in ntb_default_peer_port_idx() argument
248 int peer_port = ntb_default_peer_port_number(ntb, NTB_DEF_PEER_IDX); in ntb_default_peer_port_idx()
259 struct ntb_dev *ntb; in ntb_probe() local
264 ntb = dev_ntb(dev); in ntb_probe()
267 rc = client->ops.probe(client, ntb); in ntb_probe()
276 struct ntb_dev *ntb; in ntb_remove() local
280 ntb = dev_ntb(dev); in ntb_remove()
283 client->ops.remove(client, ntb); in ntb_remove()
290 struct ntb_dev *ntb = dev_ntb(dev); in ntb_dev_release() local
292 complete(&ntb->released); in ntb_dev_release()