Lines Matching refs:msg

298 	struct scifmsg msg;  in scif_qp_response()  local
306 msg.uop = SCIF_INIT; in scif_qp_response()
307 msg.dst.node = scifdev->node; in scif_qp_response()
308 err = scif_nodeqp_send(scifdev, &msg); in scif_qp_response()
315 struct scifmsg msg; in scif_send_exit() local
319 msg.uop = SCIF_EXIT; in scif_send_exit()
320 msg.src.node = scif_info.nodeid; in scif_send_exit()
321 msg.dst.node = scifdev->node; in scif_send_exit()
322 ret = scif_nodeqp_send(scifdev, &msg); in scif_send_exit()
468 struct scifmsg msg; in scif_node_connect() local
506 msg.uop = SCIF_NODE_ADD; in scif_node_connect()
507 msg.src.node = dev_j->node; in scif_node_connect()
508 msg.dst.node = dev_i->node; in scif_node_connect()
510 msg.payload[0] = p2p_ji->ppi_da[SCIF_PPI_APER]; in scif_node_connect()
511 msg.payload[1] = p2p_ij->ppi_da[SCIF_PPI_MMIO]; in scif_node_connect()
512 msg.payload[2] = p2p_ij->ppi_da[SCIF_PPI_APER]; in scif_node_connect()
513 msg.payload[3] = p2p_ij->ppi_len[SCIF_PPI_APER] << PAGE_SHIFT; in scif_node_connect()
515 err = scif_nodeqp_send(dev_i, &msg); in scif_node_connect()
523 msg.uop = SCIF_NODE_ADD; in scif_node_connect()
524 msg.src.node = dev_i->node; in scif_node_connect()
525 msg.dst.node = dev_j->node; in scif_node_connect()
527 tmppayload = msg.payload[0]; in scif_node_connect()
528 msg.payload[0] = msg.payload[2]; in scif_node_connect()
529 msg.payload[2] = tmppayload; in scif_node_connect()
530 msg.payload[1] = p2p_ji->ppi_da[SCIF_PPI_MMIO]; in scif_node_connect()
531 msg.payload[3] = p2p_ji->ppi_len[SCIF_PPI_APER] << PAGE_SHIFT; in scif_node_connect()
533 scif_nodeqp_send(dev_j, &msg); in scif_node_connect()
601 scif_display_message(struct scif_dev *scifdev, struct scifmsg *msg, in scif_display_message() argument
606 if (msg->uop > SCIF_MAX_MSG) { in scif_display_message()
608 "%s: unknown msg type %d\n", label, msg->uop); in scif_display_message()
613 label, message_types[msg->uop], msg->src.node, msg->src.port, in scif_display_message()
614 msg->dst.node, msg->dst.port, msg->payload[0], msg->payload[1], in scif_display_message()
615 msg->payload[2], msg->payload[3]); in scif_display_message()
618 int _scif_nodeqp_send(struct scif_dev *scifdev, struct scifmsg *msg) in _scif_nodeqp_send() argument
623 scif_display_message(scifdev, msg, "Sent"); in _scif_nodeqp_send()
631 msg, sizeof(struct scifmsg)))) { in _scif_nodeqp_send()
657 __func__, __LINE__, err, msg->uop); in _scif_nodeqp_send()
666 int scif_nodeqp_send(struct scif_dev *scifdev, struct scifmsg *msg) in scif_nodeqp_send() argument
671 if (msg->uop > SCIF_EXIT_ACK) { in scif_nodeqp_send()
681 err = _scif_nodeqp_send(scifdev, msg); in scif_nodeqp_send()
682 if (msg->uop > SCIF_EXIT_ACK) in scif_nodeqp_send()
711 scif_init(struct scif_dev *scifdev, struct scifmsg *msg) in scif_init() argument
777 scif_node_add(struct scif_dev *scifdev, struct scifmsg *msg) in scif_node_add() argument
786 scifdev->node, msg->dst.node, msg->src.node); in scif_node_add()
789 msg->payload[0]); in scif_node_add()
790 newdev = &scif_dev[msg->src.node]; in scif_node_add()
791 newdev->node = msg->src.node; in scif_node_add()
797 "failed to setup interrupts for %d\n", msg->src.node); in scif_node_add()
800 newdev->mmio.va = ioremap_nocache(msg->payload[1], sdev->mmio->len); in scif_node_add()
803 "failed to map mmio for %d\n", msg->src.node); in scif_node_add()
813 newdev->base_addr = msg->payload[0]; in scif_node_add()
832 msg->uop = SCIF_NODE_ADD_ACK; in scif_node_add()
833 msg->dst.node = msg->src.node; in scif_node_add()
834 msg->src.node = scif_info.nodeid; in scif_node_add()
835 msg->payload[0] = qp_offset; in scif_node_add()
836 msg->payload[2] = newdev->db; in scif_node_add()
837 scif_nodeqp_send(&scif_dev[SCIF_MGMT_NODE], msg); in scif_node_add()
848 "node add failed for node %d\n", msg->src.node); in scif_node_add()
849 msg->uop = SCIF_NODE_ADD_NACK; in scif_node_add()
850 msg->dst.node = msg->src.node; in scif_node_add()
851 msg->src.node = scif_info.nodeid; in scif_node_add()
852 scif_nodeqp_send(&scif_dev[SCIF_MGMT_NODE], msg); in scif_node_add()
895 scif_node_add_ack(struct scif_dev *scifdev, struct scifmsg *msg) in scif_node_add_ack() argument
899 struct scif_dev *dst_dev = &scif_dev[msg->dst.node]; in scif_node_add_ack()
903 scifdev->node, msg->src.node, msg->dst.node); in scif_node_add_ack()
905 "payload %llx %llx %llx %llx\n", msg->payload[0], in scif_node_add_ack()
906 msg->payload[1], msg->payload[2], msg->payload[3]); in scif_node_add_ack()
915 msg->payload[1] = scif_info.maxid; in scif_node_add_ack()
916 scif_nodeqp_send(dst_dev, msg); in scif_node_add_ack()
920 peerdev = &scif_dev[msg->src.node]; in scif_node_add_ack()
922 peerdev->node = msg->src.node; in scif_node_add_ack()
927 msg->payload[0]))) in scif_node_add_ack()
929 peerdev->rdb = msg->payload[2]; in scif_node_add_ack()
947 scif_node_add_nack(struct scif_dev *scifdev, struct scifmsg *msg) in scif_node_add_nack() argument
950 struct scif_dev *dst_dev = &scif_dev[msg->dst.node]; in scif_node_add_nack()
954 scif_nodeqp_send(dst_dev, msg); in scif_node_add_nack()
965 scif_node_remove(struct scif_dev *scifdev, struct scifmsg *msg) in scif_node_remove() argument
967 int node = msg->payload[0]; in scif_node_remove()
981 scif_node_remove_ack(struct scif_dev *scifdev, struct scifmsg *msg) in scif_node_remove_ack() argument
983 struct scif_dev *sdev = &scif_dev[msg->payload[0]]; in scif_node_remove_ack()
996 scif_get_node_info_resp(struct scif_dev *scifdev, struct scifmsg *msg) in scif_get_node_info_resp() argument
999 swap(msg->dst.node, msg->src.node); in scif_get_node_info_resp()
1001 msg->payload[1] = scif_info.maxid; in scif_get_node_info_resp()
1002 msg->payload[2] = scif_info.total; in scif_get_node_info_resp()
1004 scif_nodeqp_send(scifdev, msg); in scif_get_node_info_resp()
1007 (struct completion *)msg->payload[3]; in scif_get_node_info_resp()
1010 scif_info.maxid = msg->payload[1]; in scif_get_node_info_resp()
1011 scif_info.total = msg->payload[2]; in scif_get_node_info_resp()
1018 scif_msg_unknown(struct scif_dev *scifdev, struct scifmsg *msg) in scif_msg_unknown() argument
1023 msg->uop, scifdev->node); in scif_msg_unknown()
1027 (struct scif_dev *, struct scifmsg *msg) = {
1083 struct scif_qp *qp, struct scifmsg *msg) in scif_nodeqp_msg_handler() argument
1085 scif_display_message(scifdev, msg, "Rcvd"); in scif_nodeqp_msg_handler()
1087 if (msg->uop > (u32)scif_max_msg_id) { in scif_nodeqp_msg_handler()
1091 msg->uop, scifdev->node); in scif_nodeqp_msg_handler()
1095 scif_intr_func[msg->uop](scifdev, msg); in scif_nodeqp_msg_handler()
1109 struct scifmsg msg; in scif_nodeqp_intrhandler() local
1113 read_size = scif_rb_get_next(&qp->inbound_q, &msg, sizeof(msg)); in scif_nodeqp_intrhandler()
1116 scif_nodeqp_msg_handler(scifdev, qp, &msg); in scif_nodeqp_intrhandler()
1121 if (SCIF_EXIT_ACK == msg.uop) in scif_nodeqp_intrhandler()
1141 struct scif_loopb_msg *msg; in scif_loopb_wq_handler() local
1144 msg = NULL; in scif_loopb_wq_handler()
1147 msg = list_first_entry(&scif_info.loopb_recv_q, in scif_loopb_wq_handler()
1150 list_del(&msg->list); in scif_loopb_wq_handler()
1154 if (msg) { in scif_loopb_wq_handler()
1155 scif_nodeqp_msg_handler(scifdev, qp, &msg->msg); in scif_loopb_wq_handler()
1156 kfree(msg); in scif_loopb_wq_handler()
1158 } while (msg); in scif_loopb_wq_handler()
1197 struct scif_loopb_msg *msg; in scif_loopb_msg_handler() local
1200 msg = kmalloc(sizeof(*msg), GFP_KERNEL); in scif_loopb_msg_handler()
1201 if (!msg) in scif_loopb_msg_handler()
1203 read_size = scif_rb_get_next(&qp->inbound_q, &msg->msg, in scif_loopb_msg_handler()
1206 kfree(msg); in scif_loopb_msg_handler()
1211 list_add_tail(&msg->list, &scif_info.loopb_recv_q); in scif_loopb_msg_handler()