Lines Matching refs:ntb

101 int ntb_register_device(struct ntb_dev *ntb)  in ntb_register_device()  argument
105 if (!ntb) in ntb_register_device()
107 if (!ntb->pdev) in ntb_register_device()
109 if (!ntb->ops) in ntb_register_device()
111 if (!ntb_dev_ops_is_valid(ntb->ops)) in ntb_register_device()
114 init_completion(&ntb->released); in ntb_register_device()
116 ntb->dev.bus = &ntb_bus; in ntb_register_device()
117 ntb->dev.parent = &ntb->pdev->dev; in ntb_register_device()
118 ntb->dev.release = ntb_dev_release; in ntb_register_device()
119 dev_set_name(&ntb->dev, "%s", pci_name(ntb->pdev)); in ntb_register_device()
121 ntb->ctx = NULL; in ntb_register_device()
122 ntb->ctx_ops = NULL; in ntb_register_device()
123 spin_lock_init(&ntb->ctx_lock); in ntb_register_device()
125 ret = device_register(&ntb->dev); in ntb_register_device()
127 put_device(&ntb->dev); in ntb_register_device()
133 void ntb_unregister_device(struct ntb_dev *ntb) in ntb_unregister_device() argument
135 device_unregister(&ntb->dev); in ntb_unregister_device()
136 wait_for_completion(&ntb->released); in ntb_unregister_device()
140 int ntb_set_ctx(struct ntb_dev *ntb, void *ctx, in ntb_set_ctx() argument
147 if (ntb->ctx_ops) in ntb_set_ctx()
150 spin_lock_irqsave(&ntb->ctx_lock, irqflags); in ntb_set_ctx()
152 ntb->ctx = ctx; in ntb_set_ctx()
153 ntb->ctx_ops = ctx_ops; in ntb_set_ctx()
155 spin_unlock_irqrestore(&ntb->ctx_lock, irqflags); in ntb_set_ctx()
161 void ntb_clear_ctx(struct ntb_dev *ntb) in ntb_clear_ctx() argument
165 spin_lock_irqsave(&ntb->ctx_lock, irqflags); in ntb_clear_ctx()
167 ntb->ctx_ops = NULL; in ntb_clear_ctx()
168 ntb->ctx = NULL; in ntb_clear_ctx()
170 spin_unlock_irqrestore(&ntb->ctx_lock, irqflags); in ntb_clear_ctx()
174 void ntb_link_event(struct ntb_dev *ntb) in ntb_link_event() argument
178 spin_lock_irqsave(&ntb->ctx_lock, irqflags); in ntb_link_event()
180 if (ntb->ctx_ops && ntb->ctx_ops->link_event) in ntb_link_event()
181 ntb->ctx_ops->link_event(ntb->ctx); in ntb_link_event()
183 spin_unlock_irqrestore(&ntb->ctx_lock, irqflags); in ntb_link_event()
187 void ntb_db_event(struct ntb_dev *ntb, int vector) in ntb_db_event() argument
191 spin_lock_irqsave(&ntb->ctx_lock, irqflags); in ntb_db_event()
193 if (ntb->ctx_ops && ntb->ctx_ops->db_event) in ntb_db_event()
194 ntb->ctx_ops->db_event(ntb->ctx, vector); in ntb_db_event()
196 spin_unlock_irqrestore(&ntb->ctx_lock, irqflags); in ntb_db_event()
200 void ntb_msg_event(struct ntb_dev *ntb) in ntb_msg_event() argument
204 spin_lock_irqsave(&ntb->ctx_lock, irqflags); in ntb_msg_event()
206 if (ntb->ctx_ops && ntb->ctx_ops->msg_event) in ntb_msg_event()
207 ntb->ctx_ops->msg_event(ntb->ctx); in ntb_msg_event()
209 spin_unlock_irqrestore(&ntb->ctx_lock, irqflags); in ntb_msg_event()
213 int ntb_default_port_number(struct ntb_dev *ntb) in ntb_default_port_number() argument
215 switch (ntb->topo) { in ntb_default_port_number()
228 int ntb_default_peer_port_count(struct ntb_dev *ntb) in ntb_default_peer_port_count() argument
234 int ntb_default_peer_port_number(struct ntb_dev *ntb, int pidx) in ntb_default_peer_port_number() argument
239 switch (ntb->topo) { in ntb_default_peer_port_number()
252 int ntb_default_peer_port_idx(struct ntb_dev *ntb, int port) in ntb_default_peer_port_idx() argument
254 int peer_port = ntb_default_peer_port_number(ntb, NTB_DEF_PEER_IDX); in ntb_default_peer_port_idx()
265 struct ntb_dev *ntb; in ntb_probe() local
270 ntb = dev_ntb(dev); in ntb_probe()
273 rc = client->ops.probe(client, ntb); in ntb_probe()
282 struct ntb_dev *ntb; in ntb_remove() local
286 ntb = dev_ntb(dev); in ntb_remove()
289 client->ops.remove(client, ntb); in ntb_remove()
296 struct ntb_dev *ntb = dev_ntb(dev); in ntb_dev_release() local
298 complete(&ntb->released); in ntb_dev_release()