/linux-4.4.14/drivers/misc/mic/scif/ |
D | scif_main.c | 43 struct scif_dev *scifdev = in scif_intr_bh_handler() local 46 if (scifdev_self(scifdev)) in scif_intr_bh_handler() 47 scif_loopb_msg_handler(scifdev, scifdev->qpairs); in scif_intr_bh_handler() 49 scif_nodeqp_intrhandler(scifdev, scifdev->qpairs); in scif_intr_bh_handler() 52 int scif_setup_intr_wq(struct scif_dev *scifdev) in scif_setup_intr_wq() argument 54 if (!scifdev->intr_wq) { in scif_setup_intr_wq() 55 snprintf(scifdev->intr_wqname, sizeof(scifdev->intr_wqname), in scif_setup_intr_wq() 56 "SCIF INTR %d", scifdev->node); in scif_setup_intr_wq() 57 scifdev->intr_wq = in scif_setup_intr_wq() 58 alloc_ordered_workqueue(scifdev->intr_wqname, 0); in scif_setup_intr_wq() [all …]
|
D | scif_map.h | 25 struct scif_dev *scifdev, size_t size, in scif_alloc_coherent() argument 30 if (scifdev_self(scifdev)) { in scif_alloc_coherent() 35 va = dma_alloc_coherent(&scifdev->sdev->dev, in scif_alloc_coherent() 37 if (va && scifdev_is_p2p(scifdev)) in scif_alloc_coherent() 38 *dma_handle = *dma_handle + scifdev->base_addr; in scif_alloc_coherent() 45 struct scif_dev *scifdev, size_t size) in scif_free_coherent() argument 47 if (scifdev_self(scifdev)) { in scif_free_coherent() 50 if (scifdev_is_p2p(scifdev) && local > scifdev->base_addr) in scif_free_coherent() 51 local = local - scifdev->base_addr; in scif_free_coherent() 52 dma_free_coherent(&scifdev->sdev->dev, in scif_free_coherent() [all …]
|
D | scif_peer_bus.c | 34 struct scif_dev *scifdev = &scif_dev[sdev->dnode]; in scif_peer_release_dev() local 36 scif_cleanup_scifdev(scifdev); in scif_peer_release_dev() 40 static int scif_peer_initialize_device(struct scif_dev *scifdev) in scif_peer_initialize_device() argument 51 spdev->dev.parent = scifdev->sdev->dev.parent; in scif_peer_initialize_device() 53 spdev->dnode = scifdev->node; in scif_peer_initialize_device() 59 rcu_assign_pointer(scifdev->spdev, spdev); in scif_peer_initialize_device() 67 dev_err(&scifdev->sdev->dev, in scif_peer_initialize_device() 68 "dnode %d: initialize_device rc %d\n", scifdev->node, ret); in scif_peer_initialize_device() 72 static int scif_peer_add_device(struct scif_dev *scifdev) in scif_peer_add_device() argument 74 struct scif_peer_dev *spdev = rcu_dereference(scifdev->spdev); in scif_peer_add_device() [all …]
|
D | scif_nodeqp.c | 106 int local_size, struct scif_dev *scifdev) in scif_setup_qp_connect() argument 124 err = scif_map_single(&qp->local_buf, local_q, scifdev, local_size); in scif_setup_qp_connect() 141 scifdev, sizeof(struct scif_qp)); in scif_setup_qp_connect() 147 scif_unmap_single(qp->local_buf, scifdev, local_size); in scif_setup_qp_connect() 157 struct scif_dev *scifdev) in scif_setup_qp_accept() argument 168 remote_qp = scif_ioremap(phys, sizeof(struct scif_qp), scifdev); in scif_setup_qp_accept() 178 remote_q = scif_ioremap(qp->remote_buf, remote_size, scifdev); in scif_setup_qp_accept() 198 err = scif_map_single(&qp->local_buf, local_q, scifdev, local_size); in scif_setup_qp_accept() 210 err = scif_map_single(qp_offset, qp, scifdev, in scif_setup_qp_accept() 217 scif_unmap_single(qp->local_buf, scifdev, local_size); in scif_setup_qp_accept() [all …]
|
D | scif_nodeqp.h | 184 int scif_nodeqp_send(struct scif_dev *scifdev, struct scifmsg *msg); 185 int _scif_nodeqp_send(struct scif_dev *scifdev, struct scifmsg *msg); 186 void scif_nodeqp_intrhandler(struct scif_dev *scifdev, struct scif_qp *qp); 187 int scif_loopb_msg_handler(struct scif_dev *scifdev, struct scif_qp *qp); 188 int scif_setup_qp(struct scif_dev *scifdev); 191 int local_size, struct scif_dev *scifdev); 194 struct scif_dev *scifdev); 195 int scif_setup_qp_connect_response(struct scif_dev *scifdev, 197 int scif_setup_loopback_qp(struct scif_dev *scifdev); 198 int scif_destroy_loopback_qp(struct scif_dev *scifdev); [all …]
|
D | scif_nm.c | 60 void scif_free_qp(struct scif_dev *scifdev) in scif_free_qp() argument 62 struct scif_qp *qp = scifdev->qpairs; in scif_free_qp() 66 scif_unmap_single(qp->local_buf, scifdev, qp->inbound_q.size); in scif_free_qp() 68 scif_unmap_single(qp->local_qp, scifdev, sizeof(struct scif_qp)); in scif_free_qp() 69 kfree(scifdev->qpairs); in scif_free_qp() 70 scifdev->qpairs = NULL; in scif_free_qp() 155 struct scif_dev *scifdev = &scif_dev[node]; in scif_handle_remove_node() local 157 if (scif_peer_unregister_device(scifdev)) in scif_handle_remove_node() 158 scif_send_acks(scifdev); in scif_handle_remove_node() 186 struct scif_dev *scifdev = &scif_dev[node_id]; in scif_disconnect_node() local [all …]
|
D | scif_rma.h | 340 void scif_alloc_req(struct scif_dev *scifdev, struct scifmsg *msg); 341 void scif_alloc_gnt_rej(struct scif_dev *scifdev, struct scifmsg *msg); 342 void scif_free_virt(struct scif_dev *scifdev, struct scifmsg *msg); 343 void scif_recv_reg(struct scif_dev *scifdev, struct scifmsg *msg); 344 void scif_recv_unreg(struct scif_dev *scifdev, struct scifmsg *msg); 345 void scif_recv_reg_ack(struct scif_dev *scifdev, struct scifmsg *msg); 346 void scif_recv_reg_nack(struct scif_dev *scifdev, struct scifmsg *msg); 347 void scif_recv_unreg_ack(struct scif_dev *scifdev, struct scifmsg *msg); 348 void scif_recv_unreg_nack(struct scif_dev *scifdev, struct scifmsg *msg); 349 void scif_recv_munmap(struct scif_dev *scifdev, struct scifmsg *msg); [all …]
|
D | scif_epd.h | 194 void scif_cnctreq(struct scif_dev *scifdev, struct scifmsg *msg); 195 void scif_cnctgnt(struct scif_dev *scifdev, struct scifmsg *msg); 196 void scif_cnctgnt_ack(struct scif_dev *scifdev, struct scifmsg *msg); 197 void scif_cnctgnt_nack(struct scif_dev *scifdev, struct scifmsg *msg); 198 void scif_cnctrej(struct scif_dev *scifdev, struct scifmsg *msg); 199 void scif_discnct(struct scif_dev *scifdev, struct scifmsg *msg); 200 void scif_discnt_ack(struct scif_dev *scifdev, struct scifmsg *msg); 201 void scif_clientsend(struct scif_dev *scifdev, struct scifmsg *msg); 202 void scif_clientrcvd(struct scif_dev *scifdev, struct scifmsg *msg);
|
D | scif_epd.c | 128 void scif_cnctreq(struct scif_dev *scifdev, struct scifmsg *msg) in scif_cnctreq() argument 174 void scif_cnctgnt(struct scif_dev *scifdev, struct scifmsg *msg) in scif_cnctgnt() argument 199 void scif_cnctgnt_ack(struct scif_dev *scifdev, struct scifmsg *msg) in scif_cnctgnt_ack() argument 221 void scif_cnctgnt_nack(struct scif_dev *scifdev, struct scifmsg *msg) in scif_cnctgnt_nack() argument 238 void scif_cnctrej(struct scif_dev *scifdev, struct scifmsg *msg) in scif_cnctrej() argument 263 void scif_discnct(struct scif_dev *scifdev, struct scifmsg *msg) in scif_discnct() argument 317 void scif_discnt_ack(struct scif_dev *scifdev, struct scifmsg *msg) in scif_discnt_ack() argument 333 void scif_clientsend(struct scif_dev *scifdev, struct scifmsg *msg) in scif_clientsend() argument 349 void scif_clientrcvd(struct scif_dev *scifdev, struct scifmsg *msg) in scif_clientrcvd() argument
|
D | scif_main.h | 260 static inline int _scifdev_alive(struct scif_dev *scifdev) in _scifdev_alive() argument 265 spdev = rcu_dereference(scifdev->spdev); in _scifdev_alive() 274 int scif_setup_intr_wq(struct scif_dev *scifdev); 275 void scif_destroy_intr_wq(struct scif_dev *scifdev); 281 void scif_stop(struct scif_dev *scifdev);
|
D | scif_rma.c | 480 scif_create_remote_window(struct scif_dev *scifdev, int nr_pages) in scif_create_remote_window() argument 501 if (scif_create_remote_lookup(scifdev, window)) in scif_create_remote_window() 1057 void scif_alloc_req(struct scif_dev *scifdev, struct scifmsg *msg) in scif_alloc_req() argument 1063 window = scif_create_remote_window(scifdev, nr_pages); in scif_alloc_req() 1073 err = scif_nodeqp_send(scifdev, msg); in scif_alloc_req() 1079 dev_err(&scifdev->sdev->dev, in scif_alloc_req() 1083 scif_nodeqp_send(scifdev, msg); in scif_alloc_req() 1092 void scif_alloc_gnt_rej(struct scif_dev *scifdev, struct scifmsg *msg) in scif_alloc_gnt_rej() argument 1116 void scif_free_virt(struct scif_dev *scifdev, struct scifmsg *msg) in scif_free_virt() argument 1154 void scif_recv_reg(struct scif_dev *scifdev, struct scifmsg *msg) in scif_recv_reg() argument [all …]
|
D | scif_peer_bus.h | 28 int scif_peer_unregister_device(struct scif_dev *scifdev);
|
D | scif_fence.c | 27 void scif_recv_mark(struct scif_dev *scifdev, struct scifmsg *msg) in scif_recv_mark() argument 48 void scif_recv_mark_resp(struct scif_dev *scifdev, struct scifmsg *msg) in scif_recv_mark_resp() argument 71 void scif_recv_wait(struct scif_dev *scifdev, struct scifmsg *msg) in scif_recv_wait() argument 108 void scif_recv_wait_resp(struct scif_dev *scifdev, struct scifmsg *msg) in scif_recv_wait_resp() argument 129 void scif_recv_sig_local(struct scif_dev *scifdev, struct scifmsg *msg) in scif_recv_sig_local() argument 150 void scif_recv_sig_remote(struct scif_dev *scifdev, struct scifmsg *msg) in scif_recv_sig_remote() argument 171 void scif_recv_sig_resp(struct scif_dev *scifdev, struct scifmsg *msg) in scif_recv_sig_resp() argument
|
D | scif_mmap.c | 31 void scif_recv_munmap(struct scif_dev *scifdev, struct scifmsg *msg) in scif_recv_munmap() argument 51 dev_err(&scifdev->sdev->dev, in scif_recv_munmap() 207 struct scif_dev *scifdev = (struct scif_dev *)ep->remote_dev; in scif_get_phys() local 208 struct scif_hw_dev *sdev = scifdev->sdev; in scif_get_phys() 215 if (!scifdev_self(scifdev) && sdev->aper && sdev->card_rel_da) in scif_get_phys()
|
D | scif_dma.c | 93 struct scif_dev *scifdev; in scif_reserve_dma_chan() local 101 scifdev = &scif_dev[0]; in scif_reserve_dma_chan() 103 scifdev = ep->remote_dev; in scif_reserve_dma_chan() 104 sdev = scifdev->sdev; in scif_reserve_dma_chan() 107 chan = sdev->dma_ch[scifdev->dma_ch_idx]; in scif_reserve_dma_chan() 108 scifdev->dma_ch_idx = (scifdev->dma_ch_idx + 1) % sdev->num_dma_ch; in scif_reserve_dma_chan()
|