Lines Matching refs:msg
295 static int ican3_old_recv_msg(struct ican3_dev *mod, struct ican3_msg *msg) in ican3_old_recv_msg() argument
320 memcpy_fromio(msg, mod->dpm, sizeof(*msg)); in ican3_old_recv_msg()
340 static int ican3_old_send_msg(struct ican3_dev *mod, struct ican3_msg *msg) in ican3_old_send_msg() argument
362 memcpy_toio(mod->dpm, msg, sizeof(*msg)); in ican3_old_send_msg()
544 static int ican3_new_send_msg(struct ican3_dev *mod, struct ican3_msg *msg) in ican3_new_send_msg() argument
560 memcpy_toio(mod->dpm, msg, sizeof(*msg)); in ican3_new_send_msg()
575 static int ican3_new_recv_msg(struct ican3_dev *mod, struct ican3_msg *msg) in ican3_new_recv_msg() argument
591 memcpy_fromio(msg, mod->dpm, sizeof(*msg)); in ican3_new_recv_msg()
607 static int ican3_send_msg(struct ican3_dev *mod, struct ican3_msg *msg) in ican3_send_msg() argument
615 ret = ican3_old_send_msg(mod, msg); in ican3_send_msg()
617 ret = ican3_new_send_msg(mod, msg); in ican3_send_msg()
623 static int ican3_recv_msg(struct ican3_dev *mod, struct ican3_msg *msg) in ican3_recv_msg() argument
631 ret = ican3_old_recv_msg(mod, msg); in ican3_recv_msg()
633 ret = ican3_new_recv_msg(mod, msg); in ican3_recv_msg()
645 struct ican3_msg msg; in ican3_msg_connect() local
647 memset(&msg, 0, sizeof(msg)); in ican3_msg_connect()
648 msg.spec = MSG_CONNECTI; in ican3_msg_connect()
649 msg.len = cpu_to_le16(0); in ican3_msg_connect()
651 return ican3_send_msg(mod, &msg); in ican3_msg_connect()
656 struct ican3_msg msg; in ican3_msg_disconnect() local
658 memset(&msg, 0, sizeof(msg)); in ican3_msg_disconnect()
659 msg.spec = MSG_DISCONNECT; in ican3_msg_disconnect()
660 msg.len = cpu_to_le16(0); in ican3_msg_disconnect()
662 return ican3_send_msg(mod, &msg); in ican3_msg_disconnect()
667 struct ican3_msg msg; in ican3_msg_newhostif() local
670 memset(&msg, 0, sizeof(msg)); in ican3_msg_newhostif()
671 msg.spec = MSG_NEWHOSTIF; in ican3_msg_newhostif()
672 msg.len = cpu_to_le16(0); in ican3_msg_newhostif()
677 ret = ican3_send_msg(mod, &msg); in ican3_msg_newhostif()
688 struct ican3_msg msg; in ican3_msg_fasthostif() local
691 memset(&msg, 0, sizeof(msg)); in ican3_msg_fasthostif()
692 msg.spec = MSG_INITFDPMQUEUE; in ican3_msg_fasthostif()
693 msg.len = cpu_to_le16(8); in ican3_msg_fasthostif()
697 msg.data[0] = addr & 0xff; in ican3_msg_fasthostif()
698 msg.data[1] = (addr >> 8) & 0xff; in ican3_msg_fasthostif()
699 msg.data[2] = (addr >> 16) & 0xff; in ican3_msg_fasthostif()
700 msg.data[3] = (addr >> 24) & 0xff; in ican3_msg_fasthostif()
704 msg.data[4] = addr & 0xff; in ican3_msg_fasthostif()
705 msg.data[5] = (addr >> 8) & 0xff; in ican3_msg_fasthostif()
706 msg.data[6] = (addr >> 16) & 0xff; in ican3_msg_fasthostif()
707 msg.data[7] = (addr >> 24) & 0xff; in ican3_msg_fasthostif()
712 return ican3_send_msg(mod, &msg); in ican3_msg_fasthostif()
721 struct ican3_msg msg; in ican3_set_id_filter() local
725 memset(&msg, 0, sizeof(msg)); in ican3_set_id_filter()
726 msg.spec = MSG_SETAFILMASK; in ican3_set_id_filter()
727 msg.len = cpu_to_le16(5); in ican3_set_id_filter()
728 msg.data[0] = 0x00; /* IDLo LSB */ in ican3_set_id_filter()
729 msg.data[1] = 0x00; /* IDLo MSB */ in ican3_set_id_filter()
730 msg.data[2] = 0xff; /* IDHi LSB */ in ican3_set_id_filter()
731 msg.data[3] = 0x07; /* IDHi MSB */ in ican3_set_id_filter()
734 msg.data[4] = accept ? SETAFILMASK_FASTIF : SETAFILMASK_REJECT; in ican3_set_id_filter()
736 ret = ican3_send_msg(mod, &msg); in ican3_set_id_filter()
741 memset(&msg, 0, sizeof(msg)); in ican3_set_id_filter()
742 msg.spec = MSG_SETAFILMASK; in ican3_set_id_filter()
743 msg.len = cpu_to_le16(13); in ican3_set_id_filter()
744 msg.data[0] = 0; /* MUX = 0 */ in ican3_set_id_filter()
745 msg.data[1] = 0x00; /* IDLo LSB */ in ican3_set_id_filter()
746 msg.data[2] = 0x00; in ican3_set_id_filter()
747 msg.data[3] = 0x00; in ican3_set_id_filter()
748 msg.data[4] = 0x20; /* IDLo MSB */ in ican3_set_id_filter()
749 msg.data[5] = 0xff; /* IDHi LSB */ in ican3_set_id_filter()
750 msg.data[6] = 0xff; in ican3_set_id_filter()
751 msg.data[7] = 0xff; in ican3_set_id_filter()
752 msg.data[8] = 0x3f; /* IDHi MSB */ in ican3_set_id_filter()
755 msg.data[9] = accept ? SETAFILMASK_FASTIF : SETAFILMASK_REJECT; in ican3_set_id_filter()
757 return ican3_send_msg(mod, &msg); in ican3_set_id_filter()
766 struct ican3_msg msg; in ican3_set_bus_state() local
782 memset(&msg, 0, sizeof(msg)); in ican3_set_bus_state()
783 msg.spec = MSG_CBTRREQ; in ican3_set_bus_state()
784 msg.len = cpu_to_le16(4); in ican3_set_bus_state()
785 msg.data[0] = 0x00; in ican3_set_bus_state()
786 msg.data[1] = 0x00; in ican3_set_bus_state()
787 msg.data[2] = btr0; in ican3_set_bus_state()
788 msg.data[3] = btr1; in ican3_set_bus_state()
790 res = ican3_send_msg(mod, &msg); in ican3_set_bus_state()
796 memset(&msg, 0, sizeof(msg)); in ican3_set_bus_state()
797 msg.spec = on ? MSG_CONREQ : MSG_COFFREQ; in ican3_set_bus_state()
798 msg.len = cpu_to_le16(0); in ican3_set_bus_state()
800 return ican3_send_msg(mod, &msg); in ican3_set_bus_state()
803 memset(&msg, 0, sizeof(msg)); in ican3_set_bus_state()
804 msg.spec = MSG_LMTS; in ican3_set_bus_state()
806 msg.len = cpu_to_le16(4); in ican3_set_bus_state()
807 msg.data[0] = 0; in ican3_set_bus_state()
808 msg.data[1] = 0; in ican3_set_bus_state()
809 msg.data[2] = btr0; in ican3_set_bus_state()
810 msg.data[3] = btr1; in ican3_set_bus_state()
812 msg.len = cpu_to_le16(2); in ican3_set_bus_state()
813 msg.data[0] = 1; in ican3_set_bus_state()
814 msg.data[1] = 0; in ican3_set_bus_state()
817 return ican3_send_msg(mod, &msg); in ican3_set_bus_state()
824 struct ican3_msg msg; in ican3_set_termination() local
826 memset(&msg, 0, sizeof(msg)); in ican3_set_termination()
827 msg.spec = MSG_HWCONF; in ican3_set_termination()
828 msg.len = cpu_to_le16(2); in ican3_set_termination()
829 msg.data[0] = 0x00; in ican3_set_termination()
830 msg.data[1] = on ? HWCONF_TERMINATE_ON : HWCONF_TERMINATE_OFF; in ican3_set_termination()
832 return ican3_send_msg(mod, &msg); in ican3_set_termination()
837 struct ican3_msg msg; in ican3_send_inquiry() local
839 memset(&msg, 0, sizeof(msg)); in ican3_send_inquiry()
840 msg.spec = MSG_INQUIRY; in ican3_send_inquiry()
841 msg.len = cpu_to_le16(2); in ican3_send_inquiry()
842 msg.data[0] = subspec; in ican3_send_inquiry()
843 msg.data[1] = 0x00; in ican3_send_inquiry()
845 return ican3_send_msg(mod, &msg); in ican3_send_inquiry()
850 struct ican3_msg msg; in ican3_set_buserror() local
852 memset(&msg, 0, sizeof(msg)); in ican3_set_buserror()
853 msg.spec = MSG_CCONFREQ; in ican3_set_buserror()
854 msg.len = cpu_to_le16(2); in ican3_set_buserror()
855 msg.data[0] = 0x00; in ican3_set_buserror()
856 msg.data[1] = quota; in ican3_set_buserror()
858 return ican3_send_msg(mod, &msg); in ican3_set_buserror()
941 static void ican3_handle_idvers(struct ican3_dev *mod, struct ican3_msg *msg) in ican3_handle_idvers() argument
943 netdev_dbg(mod->ndev, "IDVERS response: %s\n", msg->data); in ican3_handle_idvers()
946 static void ican3_handle_msglost(struct ican3_dev *mod, struct ican3_msg *msg) in ican3_handle_msglost() argument
958 if (msg->spec == MSG_MSGLOST) { in ican3_handle_msglost()
959 netdev_err(mod->ndev, "lost %d control messages\n", msg->data[0]); in ican3_handle_msglost()
988 static int ican3_handle_cevtind(struct ican3_dev *mod, struct ican3_msg *msg) in ican3_handle_cevtind() argument
998 if (msg->data[1] != CEVTIND_CHIP_SJA1000) { in ican3_handle_cevtind()
1004 if (le16_to_cpu(msg->len) < 6) { in ican3_handle_cevtind()
1009 isrc = msg->data[0]; in ican3_handle_cevtind()
1010 ecc = msg->data[2]; in ican3_handle_cevtind()
1011 status = msg->data[3]; in ican3_handle_cevtind()
1012 rxerr = msg->data[4]; in ican3_handle_cevtind()
1013 txerr = msg->data[5]; in ican3_handle_cevtind()
1134 static void ican3_handle_inquiry(struct ican3_dev *mod, struct ican3_msg *msg) in ican3_handle_inquiry() argument
1136 switch (msg->data[0]) { in ican3_handle_inquiry()
1139 mod->bec.rxerr = msg->data[5]; in ican3_handle_inquiry()
1140 mod->bec.txerr = msg->data[6]; in ican3_handle_inquiry()
1144 mod->termination_enabled = msg->data[6] & HWCONF_TERMINATE_ON; in ican3_handle_inquiry()
1154 struct ican3_msg *msg) in ican3_handle_unknown_message() argument
1157 msg->spec, le16_to_cpu(msg->len)); in ican3_handle_unknown_message()
1163 static void ican3_handle_message(struct ican3_dev *mod, struct ican3_msg *msg) in ican3_handle_message() argument
1166 mod->num, msg->spec, le16_to_cpu(msg->len)); in ican3_handle_message()
1168 switch (msg->spec) { in ican3_handle_message()
1170 ican3_handle_idvers(mod, msg); in ican3_handle_message()
1174 ican3_handle_msglost(mod, msg); in ican3_handle_message()
1177 ican3_handle_cevtind(mod, msg); in ican3_handle_message()
1180 ican3_handle_inquiry(mod, msg); in ican3_handle_message()
1183 ican3_handle_unknown_message(mod, msg); in ican3_handle_message()
1372 struct ican3_msg uninitialized_var(msg); in ican3_napi()
1373 ret = ican3_recv_msg(mod, &msg); in ican3_napi()
1377 ican3_handle_message(mod, &msg); in ican3_napi()