Lines Matching refs:msg

312 static int ican3_old_recv_msg(struct ican3_dev *mod, struct ican3_msg *msg)  in ican3_old_recv_msg()  argument
337 memcpy_fromio(msg, mod->dpm, sizeof(*msg)); in ican3_old_recv_msg()
357 static int ican3_old_send_msg(struct ican3_dev *mod, struct ican3_msg *msg) in ican3_old_send_msg() argument
379 memcpy_toio(mod->dpm, msg, sizeof(*msg)); in ican3_old_send_msg()
561 static int ican3_new_send_msg(struct ican3_dev *mod, struct ican3_msg *msg) in ican3_new_send_msg() argument
577 memcpy_toio(mod->dpm, msg, sizeof(*msg)); in ican3_new_send_msg()
592 static int ican3_new_recv_msg(struct ican3_dev *mod, struct ican3_msg *msg) in ican3_new_recv_msg() argument
608 memcpy_fromio(msg, mod->dpm, sizeof(*msg)); in ican3_new_recv_msg()
624 static int ican3_send_msg(struct ican3_dev *mod, struct ican3_msg *msg) in ican3_send_msg() argument
632 ret = ican3_old_send_msg(mod, msg); in ican3_send_msg()
634 ret = ican3_new_send_msg(mod, msg); in ican3_send_msg()
640 static int ican3_recv_msg(struct ican3_dev *mod, struct ican3_msg *msg) in ican3_recv_msg() argument
648 ret = ican3_old_recv_msg(mod, msg); in ican3_recv_msg()
650 ret = ican3_new_recv_msg(mod, msg); in ican3_recv_msg()
662 struct ican3_msg msg; in ican3_msg_connect() local
664 memset(&msg, 0, sizeof(msg)); in ican3_msg_connect()
665 msg.spec = MSG_CONNECTI; in ican3_msg_connect()
666 msg.len = cpu_to_le16(0); in ican3_msg_connect()
668 return ican3_send_msg(mod, &msg); in ican3_msg_connect()
673 struct ican3_msg msg; in ican3_msg_disconnect() local
675 memset(&msg, 0, sizeof(msg)); in ican3_msg_disconnect()
676 msg.spec = MSG_DISCONNECT; in ican3_msg_disconnect()
677 msg.len = cpu_to_le16(0); in ican3_msg_disconnect()
679 return ican3_send_msg(mod, &msg); in ican3_msg_disconnect()
684 struct ican3_msg msg; in ican3_msg_newhostif() local
687 memset(&msg, 0, sizeof(msg)); in ican3_msg_newhostif()
688 msg.spec = MSG_NEWHOSTIF; in ican3_msg_newhostif()
689 msg.len = cpu_to_le16(0); in ican3_msg_newhostif()
694 ret = ican3_send_msg(mod, &msg); in ican3_msg_newhostif()
705 struct ican3_msg msg; in ican3_msg_fasthostif() local
708 memset(&msg, 0, sizeof(msg)); in ican3_msg_fasthostif()
709 msg.spec = MSG_INITFDPMQUEUE; in ican3_msg_fasthostif()
710 msg.len = cpu_to_le16(8); in ican3_msg_fasthostif()
714 msg.data[0] = addr & 0xff; in ican3_msg_fasthostif()
715 msg.data[1] = (addr >> 8) & 0xff; in ican3_msg_fasthostif()
716 msg.data[2] = (addr >> 16) & 0xff; in ican3_msg_fasthostif()
717 msg.data[3] = (addr >> 24) & 0xff; in ican3_msg_fasthostif()
721 msg.data[4] = addr & 0xff; in ican3_msg_fasthostif()
722 msg.data[5] = (addr >> 8) & 0xff; in ican3_msg_fasthostif()
723 msg.data[6] = (addr >> 16) & 0xff; in ican3_msg_fasthostif()
724 msg.data[7] = (addr >> 24) & 0xff; in ican3_msg_fasthostif()
729 return ican3_send_msg(mod, &msg); in ican3_msg_fasthostif()
738 struct ican3_msg msg; in ican3_set_id_filter() local
742 memset(&msg, 0, sizeof(msg)); in ican3_set_id_filter()
743 msg.spec = MSG_SETAFILMASK; in ican3_set_id_filter()
744 msg.len = cpu_to_le16(5); in ican3_set_id_filter()
745 msg.data[0] = 0x00; /* IDLo LSB */ in ican3_set_id_filter()
746 msg.data[1] = 0x00; /* IDLo MSB */ in ican3_set_id_filter()
747 msg.data[2] = 0xff; /* IDHi LSB */ in ican3_set_id_filter()
748 msg.data[3] = 0x07; /* IDHi MSB */ in ican3_set_id_filter()
751 msg.data[4] = accept ? SETAFILMASK_FASTIF : SETAFILMASK_REJECT; in ican3_set_id_filter()
753 ret = ican3_send_msg(mod, &msg); in ican3_set_id_filter()
758 memset(&msg, 0, sizeof(msg)); in ican3_set_id_filter()
759 msg.spec = MSG_SETAFILMASK; in ican3_set_id_filter()
760 msg.len = cpu_to_le16(13); in ican3_set_id_filter()
761 msg.data[0] = 0; /* MUX = 0 */ in ican3_set_id_filter()
762 msg.data[1] = 0x00; /* IDLo LSB */ in ican3_set_id_filter()
763 msg.data[2] = 0x00; in ican3_set_id_filter()
764 msg.data[3] = 0x00; in ican3_set_id_filter()
765 msg.data[4] = 0x20; /* IDLo MSB */ in ican3_set_id_filter()
766 msg.data[5] = 0xff; /* IDHi LSB */ in ican3_set_id_filter()
767 msg.data[6] = 0xff; in ican3_set_id_filter()
768 msg.data[7] = 0xff; in ican3_set_id_filter()
769 msg.data[8] = 0x3f; /* IDHi MSB */ in ican3_set_id_filter()
772 msg.data[9] = accept ? SETAFILMASK_FASTIF : SETAFILMASK_REJECT; in ican3_set_id_filter()
774 return ican3_send_msg(mod, &msg); in ican3_set_id_filter()
783 struct ican3_msg msg; in ican3_set_bus_state() local
799 memset(&msg, 0, sizeof(msg)); in ican3_set_bus_state()
800 msg.spec = MSG_CBTRREQ; in ican3_set_bus_state()
801 msg.len = cpu_to_le16(4); in ican3_set_bus_state()
802 msg.data[0] = 0x00; in ican3_set_bus_state()
803 msg.data[1] = 0x00; in ican3_set_bus_state()
804 msg.data[2] = btr0; in ican3_set_bus_state()
805 msg.data[3] = btr1; in ican3_set_bus_state()
807 res = ican3_send_msg(mod, &msg); in ican3_set_bus_state()
813 memset(&msg, 0, sizeof(msg)); in ican3_set_bus_state()
814 msg.spec = on ? MSG_CONREQ : MSG_COFFREQ; in ican3_set_bus_state()
815 msg.len = cpu_to_le16(0); in ican3_set_bus_state()
817 return ican3_send_msg(mod, &msg); in ican3_set_bus_state()
821 memset(&msg, 0, sizeof(msg)); in ican3_set_bus_state()
822 msg.spec = MSG_LMTS; in ican3_set_bus_state()
824 msg.len = cpu_to_le16(4); in ican3_set_bus_state()
825 msg.data[0] = LMTS_BUSON_REQ; in ican3_set_bus_state()
826 msg.data[1] = 0; in ican3_set_bus_state()
827 msg.data[2] = btr0; in ican3_set_bus_state()
828 msg.data[3] = btr1; in ican3_set_bus_state()
830 msg.len = cpu_to_le16(2); in ican3_set_bus_state()
831 msg.data[0] = LMTS_BUSOFF_REQ; in ican3_set_bus_state()
832 msg.data[1] = 0; in ican3_set_bus_state()
834 res = ican3_send_msg(mod, &msg); in ican3_set_bus_state()
844 memset(&msg, 0, sizeof(msg)); in ican3_set_bus_state()
845 msg.spec = MSG_NMTS; in ican3_set_bus_state()
846 msg.len = cpu_to_le16(11); in ican3_set_bus_state()
847 msg.data[0] = NMTS_CREATE_NODE_REQ; in ican3_set_bus_state()
848 msg.data[1] = 0; in ican3_set_bus_state()
849 msg.data[2] = 2; /* node class */ in ican3_set_bus_state()
850 msg.data[3] = 1; /* node id */ in ican3_set_bus_state()
851 strcpy(msg.data + 4, "locnod1"); /* node name */ in ican3_set_bus_state()
852 return ican3_send_msg(mod, &msg); in ican3_set_bus_state()
861 struct ican3_msg msg; in ican3_set_termination() local
863 memset(&msg, 0, sizeof(msg)); in ican3_set_termination()
864 msg.spec = MSG_HWCONF; in ican3_set_termination()
865 msg.len = cpu_to_le16(2); in ican3_set_termination()
866 msg.data[0] = 0x00; in ican3_set_termination()
867 msg.data[1] = on ? HWCONF_TERMINATE_ON : HWCONF_TERMINATE_OFF; in ican3_set_termination()
869 return ican3_send_msg(mod, &msg); in ican3_set_termination()
874 struct ican3_msg msg; in ican3_send_inquiry() local
876 memset(&msg, 0, sizeof(msg)); in ican3_send_inquiry()
877 msg.spec = MSG_INQUIRY; in ican3_send_inquiry()
878 msg.len = cpu_to_le16(2); in ican3_send_inquiry()
879 msg.data[0] = subspec; in ican3_send_inquiry()
880 msg.data[1] = 0x00; in ican3_send_inquiry()
882 return ican3_send_msg(mod, &msg); in ican3_send_inquiry()
887 struct ican3_msg msg; in ican3_set_buserror() local
890 memset(&msg, 0, sizeof(msg)); in ican3_set_buserror()
891 msg.spec = MSG_CCONFREQ; in ican3_set_buserror()
892 msg.len = cpu_to_le16(2); in ican3_set_buserror()
893 msg.data[0] = 0x00; in ican3_set_buserror()
894 msg.data[1] = quota; in ican3_set_buserror()
896 memset(&msg, 0, sizeof(msg)); in ican3_set_buserror()
897 msg.spec = MSG_LMTS; in ican3_set_buserror()
898 msg.len = cpu_to_le16(4); in ican3_set_buserror()
899 msg.data[0] = LMTS_CAN_CONF_REQ; in ican3_set_buserror()
900 msg.data[1] = 0x00; in ican3_set_buserror()
901 msg.data[2] = 0x00; in ican3_set_buserror()
902 msg.data[3] = quota; in ican3_set_buserror()
906 return ican3_send_msg(mod, &msg); in ican3_set_buserror()
989 static void ican3_handle_idvers(struct ican3_dev *mod, struct ican3_msg *msg) in ican3_handle_idvers() argument
991 netdev_dbg(mod->ndev, "IDVERS response: %s\n", msg->data); in ican3_handle_idvers()
994 static void ican3_handle_msglost(struct ican3_dev *mod, struct ican3_msg *msg) in ican3_handle_msglost() argument
1006 if (msg->spec == MSG_MSGLOST) { in ican3_handle_msglost()
1007 netdev_err(mod->ndev, "lost %d control messages\n", msg->data[0]); in ican3_handle_msglost()
1036 static int ican3_handle_cevtind(struct ican3_dev *mod, struct ican3_msg *msg) in ican3_handle_cevtind() argument
1046 if (msg->data[1] != CEVTIND_CHIP_SJA1000) { in ican3_handle_cevtind()
1052 if (le16_to_cpu(msg->len) < 6) { in ican3_handle_cevtind()
1057 isrc = msg->data[0]; in ican3_handle_cevtind()
1058 ecc = msg->data[2]; in ican3_handle_cevtind()
1059 status = msg->data[3]; in ican3_handle_cevtind()
1060 rxerr = msg->data[4]; in ican3_handle_cevtind()
1061 txerr = msg->data[5]; in ican3_handle_cevtind()
1182 static void ican3_handle_inquiry(struct ican3_dev *mod, struct ican3_msg *msg) in ican3_handle_inquiry() argument
1184 switch (msg->data[0]) { in ican3_handle_inquiry()
1187 mod->bec.rxerr = msg->data[5]; in ican3_handle_inquiry()
1188 mod->bec.txerr = msg->data[6]; in ican3_handle_inquiry()
1192 mod->termination_enabled = msg->data[6] & HWCONF_TERMINATE_ON; in ican3_handle_inquiry()
1202 static void ican3_handle_nmtsind(struct ican3_dev *mod, struct ican3_msg *msg) in ican3_handle_nmtsind() argument
1206 subspec = msg->data[0] + msg->data[1] * 0x100; in ican3_handle_nmtsind()
1208 switch (msg->data[2]) { in ican3_handle_nmtsind()
1214 le16_add_cpu(&msg->len, -3); in ican3_handle_nmtsind()
1215 memmove(msg->data, msg->data + 3, le16_to_cpu(msg->len)); in ican3_handle_nmtsind()
1216 ican3_handle_cevtind(mod, msg); in ican3_handle_nmtsind()
1224 msg->data[2]); in ican3_handle_nmtsind()
1237 struct ican3_msg *msg) in ican3_handle_unknown_message() argument
1240 msg->spec, le16_to_cpu(msg->len)); in ican3_handle_unknown_message()
1246 static void ican3_handle_message(struct ican3_dev *mod, struct ican3_msg *msg) in ican3_handle_message() argument
1249 mod->num, msg->spec, le16_to_cpu(msg->len)); in ican3_handle_message()
1251 switch (msg->spec) { in ican3_handle_message()
1253 ican3_handle_idvers(mod, msg); in ican3_handle_message()
1257 ican3_handle_msglost(mod, msg); in ican3_handle_message()
1260 ican3_handle_cevtind(mod, msg); in ican3_handle_message()
1263 ican3_handle_inquiry(mod, msg); in ican3_handle_message()
1266 ican3_handle_nmtsind(mod, msg); in ican3_handle_message()
1269 ican3_handle_unknown_message(mod, msg); in ican3_handle_message()
1458 struct ican3_msg uninitialized_var(msg); in ican3_napi()
1459 ret = ican3_recv_msg(mod, &msg); in ican3_napi()
1463 ican3_handle_message(mod, &msg); in ican3_napi()