Lines Matching refs:msg

309 static int ican3_old_recv_msg(struct ican3_dev *mod, struct ican3_msg *msg)  in ican3_old_recv_msg()  argument
334 memcpy_fromio(msg, mod->dpm, sizeof(*msg)); in ican3_old_recv_msg()
354 static int ican3_old_send_msg(struct ican3_dev *mod, struct ican3_msg *msg) in ican3_old_send_msg() argument
376 memcpy_toio(mod->dpm, msg, sizeof(*msg)); in ican3_old_send_msg()
558 static int ican3_new_send_msg(struct ican3_dev *mod, struct ican3_msg *msg) in ican3_new_send_msg() argument
574 memcpy_toio(mod->dpm, msg, sizeof(*msg)); in ican3_new_send_msg()
589 static int ican3_new_recv_msg(struct ican3_dev *mod, struct ican3_msg *msg) in ican3_new_recv_msg() argument
605 memcpy_fromio(msg, mod->dpm, sizeof(*msg)); in ican3_new_recv_msg()
621 static int ican3_send_msg(struct ican3_dev *mod, struct ican3_msg *msg) in ican3_send_msg() argument
629 ret = ican3_old_send_msg(mod, msg); in ican3_send_msg()
631 ret = ican3_new_send_msg(mod, msg); in ican3_send_msg()
637 static int ican3_recv_msg(struct ican3_dev *mod, struct ican3_msg *msg) in ican3_recv_msg() argument
645 ret = ican3_old_recv_msg(mod, msg); in ican3_recv_msg()
647 ret = ican3_new_recv_msg(mod, msg); in ican3_recv_msg()
659 struct ican3_msg msg; in ican3_msg_connect() local
661 memset(&msg, 0, sizeof(msg)); in ican3_msg_connect()
662 msg.spec = MSG_CONNECTI; in ican3_msg_connect()
663 msg.len = cpu_to_le16(0); in ican3_msg_connect()
665 return ican3_send_msg(mod, &msg); in ican3_msg_connect()
670 struct ican3_msg msg; in ican3_msg_disconnect() local
672 memset(&msg, 0, sizeof(msg)); in ican3_msg_disconnect()
673 msg.spec = MSG_DISCONNECT; in ican3_msg_disconnect()
674 msg.len = cpu_to_le16(0); in ican3_msg_disconnect()
676 return ican3_send_msg(mod, &msg); in ican3_msg_disconnect()
681 struct ican3_msg msg; in ican3_msg_newhostif() local
684 memset(&msg, 0, sizeof(msg)); in ican3_msg_newhostif()
685 msg.spec = MSG_NEWHOSTIF; in ican3_msg_newhostif()
686 msg.len = cpu_to_le16(0); in ican3_msg_newhostif()
691 ret = ican3_send_msg(mod, &msg); in ican3_msg_newhostif()
702 struct ican3_msg msg; in ican3_msg_fasthostif() local
705 memset(&msg, 0, sizeof(msg)); in ican3_msg_fasthostif()
706 msg.spec = MSG_INITFDPMQUEUE; in ican3_msg_fasthostif()
707 msg.len = cpu_to_le16(8); in ican3_msg_fasthostif()
711 msg.data[0] = addr & 0xff; in ican3_msg_fasthostif()
712 msg.data[1] = (addr >> 8) & 0xff; in ican3_msg_fasthostif()
713 msg.data[2] = (addr >> 16) & 0xff; in ican3_msg_fasthostif()
714 msg.data[3] = (addr >> 24) & 0xff; in ican3_msg_fasthostif()
718 msg.data[4] = addr & 0xff; in ican3_msg_fasthostif()
719 msg.data[5] = (addr >> 8) & 0xff; in ican3_msg_fasthostif()
720 msg.data[6] = (addr >> 16) & 0xff; in ican3_msg_fasthostif()
721 msg.data[7] = (addr >> 24) & 0xff; in ican3_msg_fasthostif()
726 return ican3_send_msg(mod, &msg); in ican3_msg_fasthostif()
735 struct ican3_msg msg; in ican3_set_id_filter() local
739 memset(&msg, 0, sizeof(msg)); in ican3_set_id_filter()
740 msg.spec = MSG_SETAFILMASK; in ican3_set_id_filter()
741 msg.len = cpu_to_le16(5); in ican3_set_id_filter()
742 msg.data[0] = 0x00; /* IDLo LSB */ in ican3_set_id_filter()
743 msg.data[1] = 0x00; /* IDLo MSB */ in ican3_set_id_filter()
744 msg.data[2] = 0xff; /* IDHi LSB */ in ican3_set_id_filter()
745 msg.data[3] = 0x07; /* IDHi MSB */ in ican3_set_id_filter()
748 msg.data[4] = accept ? SETAFILMASK_FASTIF : SETAFILMASK_REJECT; in ican3_set_id_filter()
750 ret = ican3_send_msg(mod, &msg); in ican3_set_id_filter()
755 memset(&msg, 0, sizeof(msg)); in ican3_set_id_filter()
756 msg.spec = MSG_SETAFILMASK; in ican3_set_id_filter()
757 msg.len = cpu_to_le16(13); in ican3_set_id_filter()
758 msg.data[0] = 0; /* MUX = 0 */ in ican3_set_id_filter()
759 msg.data[1] = 0x00; /* IDLo LSB */ in ican3_set_id_filter()
760 msg.data[2] = 0x00; in ican3_set_id_filter()
761 msg.data[3] = 0x00; in ican3_set_id_filter()
762 msg.data[4] = 0x20; /* IDLo MSB */ in ican3_set_id_filter()
763 msg.data[5] = 0xff; /* IDHi LSB */ in ican3_set_id_filter()
764 msg.data[6] = 0xff; in ican3_set_id_filter()
765 msg.data[7] = 0xff; in ican3_set_id_filter()
766 msg.data[8] = 0x3f; /* IDHi MSB */ in ican3_set_id_filter()
769 msg.data[9] = accept ? SETAFILMASK_FASTIF : SETAFILMASK_REJECT; in ican3_set_id_filter()
771 return ican3_send_msg(mod, &msg); in ican3_set_id_filter()
780 struct ican3_msg msg; in ican3_set_bus_state() local
796 memset(&msg, 0, sizeof(msg)); in ican3_set_bus_state()
797 msg.spec = MSG_CBTRREQ; in ican3_set_bus_state()
798 msg.len = cpu_to_le16(4); in ican3_set_bus_state()
799 msg.data[0] = 0x00; in ican3_set_bus_state()
800 msg.data[1] = 0x00; in ican3_set_bus_state()
801 msg.data[2] = btr0; in ican3_set_bus_state()
802 msg.data[3] = btr1; in ican3_set_bus_state()
804 res = ican3_send_msg(mod, &msg); in ican3_set_bus_state()
810 memset(&msg, 0, sizeof(msg)); in ican3_set_bus_state()
811 msg.spec = on ? MSG_CONREQ : MSG_COFFREQ; in ican3_set_bus_state()
812 msg.len = cpu_to_le16(0); in ican3_set_bus_state()
814 return ican3_send_msg(mod, &msg); in ican3_set_bus_state()
818 memset(&msg, 0, sizeof(msg)); in ican3_set_bus_state()
819 msg.spec = MSG_LMTS; in ican3_set_bus_state()
821 msg.len = cpu_to_le16(4); in ican3_set_bus_state()
822 msg.data[0] = LMTS_BUSON_REQ; in ican3_set_bus_state()
823 msg.data[1] = 0; in ican3_set_bus_state()
824 msg.data[2] = btr0; in ican3_set_bus_state()
825 msg.data[3] = btr1; in ican3_set_bus_state()
827 msg.len = cpu_to_le16(2); in ican3_set_bus_state()
828 msg.data[0] = LMTS_BUSOFF_REQ; in ican3_set_bus_state()
829 msg.data[1] = 0; in ican3_set_bus_state()
831 res = ican3_send_msg(mod, &msg); in ican3_set_bus_state()
841 memset(&msg, 0, sizeof(msg)); in ican3_set_bus_state()
842 msg.spec = MSG_NMTS; in ican3_set_bus_state()
843 msg.len = cpu_to_le16(11); in ican3_set_bus_state()
844 msg.data[0] = NMTS_CREATE_NODE_REQ; in ican3_set_bus_state()
845 msg.data[1] = 0; in ican3_set_bus_state()
846 msg.data[2] = 2; /* node class */ in ican3_set_bus_state()
847 msg.data[3] = 1; /* node id */ in ican3_set_bus_state()
848 strcpy(msg.data + 4, "locnod1"); /* node name */ in ican3_set_bus_state()
849 return ican3_send_msg(mod, &msg); in ican3_set_bus_state()
858 struct ican3_msg msg; in ican3_set_termination() local
860 memset(&msg, 0, sizeof(msg)); in ican3_set_termination()
861 msg.spec = MSG_HWCONF; in ican3_set_termination()
862 msg.len = cpu_to_le16(2); in ican3_set_termination()
863 msg.data[0] = 0x00; in ican3_set_termination()
864 msg.data[1] = on ? HWCONF_TERMINATE_ON : HWCONF_TERMINATE_OFF; in ican3_set_termination()
866 return ican3_send_msg(mod, &msg); in ican3_set_termination()
871 struct ican3_msg msg; in ican3_send_inquiry() local
873 memset(&msg, 0, sizeof(msg)); in ican3_send_inquiry()
874 msg.spec = MSG_INQUIRY; in ican3_send_inquiry()
875 msg.len = cpu_to_le16(2); in ican3_send_inquiry()
876 msg.data[0] = subspec; in ican3_send_inquiry()
877 msg.data[1] = 0x00; in ican3_send_inquiry()
879 return ican3_send_msg(mod, &msg); in ican3_send_inquiry()
884 struct ican3_msg msg; in ican3_set_buserror() local
887 memset(&msg, 0, sizeof(msg)); in ican3_set_buserror()
888 msg.spec = MSG_CCONFREQ; in ican3_set_buserror()
889 msg.len = cpu_to_le16(2); in ican3_set_buserror()
890 msg.data[0] = 0x00; in ican3_set_buserror()
891 msg.data[1] = quota; in ican3_set_buserror()
893 memset(&msg, 0, sizeof(msg)); in ican3_set_buserror()
894 msg.spec = MSG_LMTS; in ican3_set_buserror()
895 msg.len = cpu_to_le16(4); in ican3_set_buserror()
896 msg.data[0] = LMTS_CAN_CONF_REQ; in ican3_set_buserror()
897 msg.data[1] = 0x00; in ican3_set_buserror()
898 msg.data[2] = 0x00; in ican3_set_buserror()
899 msg.data[3] = quota; in ican3_set_buserror()
903 return ican3_send_msg(mod, &msg); in ican3_set_buserror()
986 static void ican3_handle_idvers(struct ican3_dev *mod, struct ican3_msg *msg) in ican3_handle_idvers() argument
988 netdev_dbg(mod->ndev, "IDVERS response: %s\n", msg->data); in ican3_handle_idvers()
991 static void ican3_handle_msglost(struct ican3_dev *mod, struct ican3_msg *msg) in ican3_handle_msglost() argument
1003 if (msg->spec == MSG_MSGLOST) { in ican3_handle_msglost()
1004 netdev_err(mod->ndev, "lost %d control messages\n", msg->data[0]); in ican3_handle_msglost()
1033 static int ican3_handle_cevtind(struct ican3_dev *mod, struct ican3_msg *msg) in ican3_handle_cevtind() argument
1043 if (msg->data[1] != CEVTIND_CHIP_SJA1000) { in ican3_handle_cevtind()
1049 if (le16_to_cpu(msg->len) < 6) { in ican3_handle_cevtind()
1054 isrc = msg->data[0]; in ican3_handle_cevtind()
1055 ecc = msg->data[2]; in ican3_handle_cevtind()
1056 status = msg->data[3]; in ican3_handle_cevtind()
1057 rxerr = msg->data[4]; in ican3_handle_cevtind()
1058 txerr = msg->data[5]; in ican3_handle_cevtind()
1179 static void ican3_handle_inquiry(struct ican3_dev *mod, struct ican3_msg *msg) in ican3_handle_inquiry() argument
1181 switch (msg->data[0]) { in ican3_handle_inquiry()
1184 mod->bec.rxerr = msg->data[5]; in ican3_handle_inquiry()
1185 mod->bec.txerr = msg->data[6]; in ican3_handle_inquiry()
1189 mod->termination_enabled = msg->data[6] & HWCONF_TERMINATE_ON; in ican3_handle_inquiry()
1199 static void ican3_handle_nmtsind(struct ican3_dev *mod, struct ican3_msg *msg) in ican3_handle_nmtsind() argument
1203 subspec = msg->data[0] + msg->data[1] * 0x100; in ican3_handle_nmtsind()
1205 switch (msg->data[2]) { in ican3_handle_nmtsind()
1211 le16_add_cpu(&msg->len, -3); in ican3_handle_nmtsind()
1212 memmove(msg->data, msg->data + 3, le16_to_cpu(msg->len)); in ican3_handle_nmtsind()
1213 ican3_handle_cevtind(mod, msg); in ican3_handle_nmtsind()
1221 msg->data[2]); in ican3_handle_nmtsind()
1234 struct ican3_msg *msg) in ican3_handle_unknown_message() argument
1237 msg->spec, le16_to_cpu(msg->len)); in ican3_handle_unknown_message()
1243 static void ican3_handle_message(struct ican3_dev *mod, struct ican3_msg *msg) in ican3_handle_message() argument
1246 mod->num, msg->spec, le16_to_cpu(msg->len)); in ican3_handle_message()
1248 switch (msg->spec) { in ican3_handle_message()
1250 ican3_handle_idvers(mod, msg); in ican3_handle_message()
1254 ican3_handle_msglost(mod, msg); in ican3_handle_message()
1257 ican3_handle_cevtind(mod, msg); in ican3_handle_message()
1260 ican3_handle_inquiry(mod, msg); in ican3_handle_message()
1263 ican3_handle_nmtsind(mod, msg); in ican3_handle_message()
1266 ican3_handle_unknown_message(mod, msg); in ican3_handle_message()
1459 struct ican3_msg msg; in ican3_napi() local
1460 ret = ican3_recv_msg(mod, &msg); in ican3_napi()
1464 ican3_handle_message(mod, &msg); in ican3_napi()