| /Linux-v5.4/drivers/misc/mic/scif/ |
| D | scif_main.c | 34 struct scif_dev *scifdev = in scif_intr_bh_handler() local 37 if (scifdev_self(scifdev)) in scif_intr_bh_handler() 38 scif_loopb_msg_handler(scifdev, scifdev->qpairs); in scif_intr_bh_handler() 40 scif_nodeqp_intrhandler(scifdev, scifdev->qpairs); in scif_intr_bh_handler() 43 int scif_setup_intr_wq(struct scif_dev *scifdev) in scif_setup_intr_wq() argument 45 if (!scifdev->intr_wq) { in scif_setup_intr_wq() 46 snprintf(scifdev->intr_wqname, sizeof(scifdev->intr_wqname), in scif_setup_intr_wq() 47 "SCIF INTR %d", scifdev->node); in scif_setup_intr_wq() 48 scifdev->intr_wq = in scif_setup_intr_wq() 49 alloc_ordered_workqueue(scifdev->intr_wqname, 0); in scif_setup_intr_wq() [all …]
|
| D | scif_map.h | 16 struct scif_dev *scifdev, size_t size, in scif_alloc_coherent() argument 21 if (scifdev_self(scifdev)) { in scif_alloc_coherent() 26 va = dma_alloc_coherent(&scifdev->sdev->dev, in scif_alloc_coherent() 28 if (va && scifdev_is_p2p(scifdev)) in scif_alloc_coherent() 29 *dma_handle = *dma_handle + scifdev->base_addr; in scif_alloc_coherent() 36 struct scif_dev *scifdev, size_t size) in scif_free_coherent() argument 38 if (scifdev_self(scifdev)) { in scif_free_coherent() 41 if (scifdev_is_p2p(scifdev) && local > scifdev->base_addr) in scif_free_coherent() 42 local = local - scifdev->base_addr; in scif_free_coherent() 43 dma_free_coherent(&scifdev->sdev->dev, in scif_free_coherent() [all …]
|
| D | scif_peer_bus.c | 26 struct scif_dev *scifdev = &scif_dev[sdev->dnode]; in scif_peer_release_dev() local 28 scif_cleanup_scifdev(scifdev); in scif_peer_release_dev() 32 static int scif_peer_initialize_device(struct scif_dev *scifdev) in scif_peer_initialize_device() argument 43 spdev->dev.parent = scifdev->sdev->dev.parent; in scif_peer_initialize_device() 45 spdev->dnode = scifdev->node; in scif_peer_initialize_device() 51 rcu_assign_pointer(scifdev->spdev, spdev); in scif_peer_initialize_device() 59 dev_err(&scifdev->sdev->dev, in scif_peer_initialize_device() 60 "dnode %d: initialize_device rc %d\n", scifdev->node, ret); in scif_peer_initialize_device() 64 static int scif_peer_add_device(struct scif_dev *scifdev) in scif_peer_add_device() argument 66 struct scif_peer_dev *spdev = rcu_dereference(scifdev->spdev); in scif_peer_add_device() [all …]
|
| D | scif_nodeqp.c | 97 int local_size, struct scif_dev *scifdev) in scif_setup_qp_connect() argument 115 err = scif_map_single(&qp->local_buf, local_q, scifdev, local_size); in scif_setup_qp_connect() 132 scifdev, sizeof(struct scif_qp)); in scif_setup_qp_connect() 138 scif_unmap_single(qp->local_buf, scifdev, local_size); in scif_setup_qp_connect() 148 struct scif_dev *scifdev) in scif_setup_qp_accept() argument 159 remote_qp = scif_ioremap(phys, sizeof(struct scif_qp), scifdev); in scif_setup_qp_accept() 169 remote_q = scif_ioremap(qp->remote_buf, remote_size, scifdev); in scif_setup_qp_accept() 189 err = scif_map_single(&qp->local_buf, local_q, scifdev, local_size); in scif_setup_qp_accept() 201 err = scif_map_single(qp_offset, qp, scifdev, in scif_setup_qp_accept() 208 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 | 51 void scif_free_qp(struct scif_dev *scifdev) in scif_free_qp() argument 53 struct scif_qp *qp = scifdev->qpairs; in scif_free_qp() 57 scif_unmap_single(qp->local_buf, scifdev, qp->inbound_q.size); in scif_free_qp() 59 scif_unmap_single(qp->local_qp, scifdev, sizeof(struct scif_qp)); in scif_free_qp() 60 kfree(scifdev->qpairs); in scif_free_qp() 61 scifdev->qpairs = NULL; in scif_free_qp() 146 struct scif_dev *scifdev = &scif_dev[node]; in scif_handle_remove_node() local 148 if (scif_peer_unregister_device(scifdev)) in scif_handle_remove_node() 149 scif_send_acks(scifdev); in scif_handle_remove_node() 177 struct scif_dev *scifdev = &scif_dev[node_id]; in scif_disconnect_node() local [all …]
|
| D | scif_rma.h | 353 void scif_alloc_req(struct scif_dev *scifdev, struct scifmsg *msg); 354 void scif_alloc_gnt_rej(struct scif_dev *scifdev, struct scifmsg *msg); 355 void scif_free_virt(struct scif_dev *scifdev, struct scifmsg *msg); 356 void scif_recv_reg(struct scif_dev *scifdev, struct scifmsg *msg); 357 void scif_recv_unreg(struct scif_dev *scifdev, struct scifmsg *msg); 358 void scif_recv_reg_ack(struct scif_dev *scifdev, struct scifmsg *msg); 359 void scif_recv_reg_nack(struct scif_dev *scifdev, struct scifmsg *msg); 360 void scif_recv_unreg_ack(struct scif_dev *scifdev, struct scifmsg *msg); 361 void scif_recv_unreg_nack(struct scif_dev *scifdev, struct scifmsg *msg); 362 void scif_recv_munmap(struct scif_dev *scifdev, struct scifmsg *msg); [all …]
|
| D | scif_epd.h | 184 void scif_cnctreq(struct scif_dev *scifdev, struct scifmsg *msg); 185 void scif_cnctgnt(struct scif_dev *scifdev, struct scifmsg *msg); 186 void scif_cnctgnt_ack(struct scif_dev *scifdev, struct scifmsg *msg); 187 void scif_cnctgnt_nack(struct scif_dev *scifdev, struct scifmsg *msg); 188 void scif_cnctrej(struct scif_dev *scifdev, struct scifmsg *msg); 189 void scif_discnct(struct scif_dev *scifdev, struct scifmsg *msg); 190 void scif_discnt_ack(struct scif_dev *scifdev, struct scifmsg *msg); 191 void scif_clientsend(struct scif_dev *scifdev, struct scifmsg *msg); 192 void scif_clientrcvd(struct scif_dev *scifdev, struct scifmsg *msg);
|
| D | scif_epd.c | 119 void scif_cnctreq(struct scif_dev *scifdev, struct scifmsg *msg) in scif_cnctreq() argument 165 void scif_cnctgnt(struct scif_dev *scifdev, struct scifmsg *msg) in scif_cnctgnt() argument 190 void scif_cnctgnt_ack(struct scif_dev *scifdev, struct scifmsg *msg) in scif_cnctgnt_ack() argument 212 void scif_cnctgnt_nack(struct scif_dev *scifdev, struct scifmsg *msg) in scif_cnctgnt_nack() argument 229 void scif_cnctrej(struct scif_dev *scifdev, struct scifmsg *msg) in scif_cnctrej() argument 254 void scif_discnct(struct scif_dev *scifdev, struct scifmsg *msg) in scif_discnct() argument 308 void scif_discnt_ack(struct scif_dev *scifdev, struct scifmsg *msg) in scif_discnt_ack() argument 324 void scif_clientsend(struct scif_dev *scifdev, struct scifmsg *msg) in scif_clientsend() argument 340 void scif_clientrcvd(struct scif_dev *scifdev, struct scifmsg *msg) in scif_clientrcvd() argument
|
| D | scif_main.h | 251 static inline int _scifdev_alive(struct scif_dev *scifdev) in _scifdev_alive() argument 256 spdev = rcu_dereference(scifdev->spdev); in _scifdev_alive() 265 int scif_setup_intr_wq(struct scif_dev *scifdev); 266 void scif_destroy_intr_wq(struct scif_dev *scifdev); 272 void scif_stop(struct scif_dev *scifdev);
|
| D | scif_rma.c | 464 scif_create_remote_window(struct scif_dev *scifdev, int nr_pages) in scif_create_remote_window() argument 485 if (scif_create_remote_lookup(scifdev, window)) in scif_create_remote_window() 1041 void scif_alloc_req(struct scif_dev *scifdev, struct scifmsg *msg) in scif_alloc_req() argument 1047 window = scif_create_remote_window(scifdev, nr_pages); in scif_alloc_req() 1057 err = scif_nodeqp_send(scifdev, msg); in scif_alloc_req() 1063 dev_err(&scifdev->sdev->dev, in scif_alloc_req() 1067 scif_nodeqp_send(scifdev, msg); in scif_alloc_req() 1076 void scif_alloc_gnt_rej(struct scif_dev *scifdev, struct scifmsg *msg) in scif_alloc_gnt_rej() argument 1100 void scif_free_virt(struct scif_dev *scifdev, struct scifmsg *msg) in scif_free_virt() argument 1138 void scif_recv_reg(struct scif_dev *scifdev, struct scifmsg *msg) in scif_recv_reg() argument [all …]
|
| D | scif_fence.c | 18 void scif_recv_mark(struct scif_dev *scifdev, struct scifmsg *msg) in scif_recv_mark() argument 40 void scif_recv_mark_resp(struct scif_dev *scifdev, struct scifmsg *msg) in scif_recv_mark_resp() argument 63 void scif_recv_wait(struct scif_dev *scifdev, struct scifmsg *msg) in scif_recv_wait() argument 100 void scif_recv_wait_resp(struct scif_dev *scifdev, struct scifmsg *msg) in scif_recv_wait_resp() argument 121 void scif_recv_sig_local(struct scif_dev *scifdev, struct scifmsg *msg) in scif_recv_sig_local() argument 142 void scif_recv_sig_remote(struct scif_dev *scifdev, struct scifmsg *msg) in scif_recv_sig_remote() argument 163 void scif_recv_sig_resp(struct scif_dev *scifdev, struct scifmsg *msg) in scif_recv_sig_resp() argument
|
| D | scif_peer_bus.h | 20 int scif_peer_unregister_device(struct scif_dev *scifdev);
|
| D | scif_mmap.c | 22 void scif_recv_munmap(struct scif_dev *scifdev, struct scifmsg *msg) in scif_recv_munmap() argument 42 dev_err(&scifdev->sdev->dev, in scif_recv_munmap() 198 struct scif_dev *scifdev = (struct scif_dev *)ep->remote_dev; in scif_get_phys() local 199 struct scif_hw_dev *sdev = scifdev->sdev; in scif_get_phys() 206 if (!scifdev_self(scifdev) && sdev->aper && sdev->card_rel_da) in scif_get_phys()
|
| D | scif_dma.c | 79 struct scif_dev *scifdev; in scif_reserve_dma_chan() local 87 scifdev = &scif_dev[0]; in scif_reserve_dma_chan() 89 scifdev = ep->remote_dev; in scif_reserve_dma_chan() 90 sdev = scifdev->sdev; in scif_reserve_dma_chan() 93 chan = sdev->dma_ch[scifdev->dma_ch_idx]; in scif_reserve_dma_chan() 94 scifdev->dma_ch_idx = (scifdev->dma_ch_idx + 1) % sdev->num_dma_ch; in scif_reserve_dma_chan()
|