Lines Matching refs:msg
171 } msg; member
217 struct esd_usb2_msg *msg) in esd_usb2_rx_event() argument
222 u32 id = le32_to_cpu(msg->msg.rx.id) & ESD_IDMASK; in esd_usb2_rx_event()
225 u8 state = msg->msg.rx.data[0]; in esd_usb2_rx_event()
226 u8 ecc = msg->msg.rx.data[1]; in esd_usb2_rx_event()
227 u8 rxerr = msg->msg.rx.data[2]; in esd_usb2_rx_event()
228 u8 txerr = msg->msg.rx.data[3]; in esd_usb2_rx_event()
232 msg->msg.rx.dlc, state, ecc, rxerr, txerr); in esd_usb2_rx_event()
311 struct esd_usb2_msg *msg) in esd_usb2_rx_can_msg() argument
322 id = le32_to_cpu(msg->msg.rx.id); in esd_usb2_rx_can_msg()
325 esd_usb2_rx_event(priv, msg); in esd_usb2_rx_can_msg()
334 cf->can_dlc = get_can_dlc(msg->msg.rx.dlc & ~ESD_RTR); in esd_usb2_rx_can_msg()
339 if (msg->msg.rx.dlc & ESD_RTR) { in esd_usb2_rx_can_msg()
343 cf->data[i] = msg->msg.rx.data[i]; in esd_usb2_rx_can_msg()
355 struct esd_usb2_msg *msg) in esd_usb2_tx_done_msg() argument
364 context = &priv->tx_contexts[msg->msg.txdone.hnd & (MAX_TX_URBS - 1)]; in esd_usb2_tx_done_msg()
366 if (!msg->msg.txdone.status) { in esd_usb2_tx_done_msg()
406 struct esd_usb2_msg *msg; in esd_usb2_read_bulk_callback() local
408 msg = (struct esd_usb2_msg *)(urb->transfer_buffer + pos); in esd_usb2_read_bulk_callback()
410 switch (msg->msg.hdr.cmd) { in esd_usb2_read_bulk_callback()
412 if (msg->msg.rx.net >= dev->net_count) { in esd_usb2_read_bulk_callback()
417 esd_usb2_rx_can_msg(dev->nets[msg->msg.rx.net], msg); in esd_usb2_read_bulk_callback()
421 if (msg->msg.txdone.net >= dev->net_count) { in esd_usb2_read_bulk_callback()
426 esd_usb2_tx_done_msg(dev->nets[msg->msg.txdone.net], in esd_usb2_read_bulk_callback()
427 msg); in esd_usb2_read_bulk_callback()
431 pos += msg->msg.hdr.len << 2; in esd_usb2_read_bulk_callback()
522 static int esd_usb2_send_msg(struct esd_usb2 *dev, struct esd_usb2_msg *msg) in esd_usb2_send_msg() argument
528 msg, in esd_usb2_send_msg()
529 msg->msg.hdr.len << 2, in esd_usb2_send_msg()
535 struct esd_usb2_msg *msg) in esd_usb2_wait_msg() argument
541 msg, in esd_usb2_wait_msg()
542 sizeof(*msg), in esd_usb2_wait_msg()
625 struct esd_usb2_msg *msg; in esd_usb2_start() local
628 msg = kmalloc(sizeof(*msg), GFP_KERNEL); in esd_usb2_start()
629 if (!msg) { in esd_usb2_start()
647 msg->msg.hdr.cmd = CMD_IDADD; in esd_usb2_start()
648 msg->msg.hdr.len = 2 + ESD_MAX_ID_SEGMENT; in esd_usb2_start()
649 msg->msg.filter.net = priv->index; in esd_usb2_start()
650 msg->msg.filter.option = ESD_ID_ENABLE; /* start with segment 0 */ in esd_usb2_start()
652 msg->msg.filter.mask[i] = cpu_to_le32(0xffffffff); in esd_usb2_start()
654 msg->msg.filter.mask[ESD_MAX_ID_SEGMENT] = cpu_to_le32(0x00000001); in esd_usb2_start()
656 err = esd_usb2_send_msg(dev, msg); in esd_usb2_start()
672 kfree(msg); in esd_usb2_start()
730 struct esd_usb2_msg *msg; in esd_usb2_start_xmit() local
757 msg = (struct esd_usb2_msg *)buf; in esd_usb2_start_xmit()
759 msg->msg.hdr.len = 3; /* minimal length */ in esd_usb2_start_xmit()
760 msg->msg.hdr.cmd = CMD_CAN_TX; in esd_usb2_start_xmit()
761 msg->msg.tx.net = priv->index; in esd_usb2_start_xmit()
762 msg->msg.tx.dlc = cf->can_dlc; in esd_usb2_start_xmit()
763 msg->msg.tx.id = cpu_to_le32(cf->can_id & CAN_ERR_MASK); in esd_usb2_start_xmit()
766 msg->msg.tx.dlc |= ESD_RTR; in esd_usb2_start_xmit()
769 msg->msg.tx.id |= cpu_to_le32(ESD_EXTID); in esd_usb2_start_xmit()
772 msg->msg.tx.data[i] = cf->data[i]; in esd_usb2_start_xmit()
774 msg->msg.hdr.len += (cf->can_dlc + 3) >> 2; in esd_usb2_start_xmit()
797 msg->msg.tx.hnd = 0x80000000 | i; /* returned in TX done message */ in esd_usb2_start_xmit()
800 msg->msg.hdr.len << 2, in esd_usb2_start_xmit()
855 struct esd_usb2_msg *msg; in esd_usb2_close() local
858 msg = kmalloc(sizeof(*msg), GFP_KERNEL); in esd_usb2_close()
859 if (!msg) in esd_usb2_close()
863 msg->msg.hdr.cmd = CMD_IDADD; in esd_usb2_close()
864 msg->msg.hdr.len = 2 + ESD_MAX_ID_SEGMENT; in esd_usb2_close()
865 msg->msg.filter.net = priv->index; in esd_usb2_close()
866 msg->msg.filter.option = ESD_ID_ENABLE; /* start with segment 0 */ in esd_usb2_close()
868 msg->msg.filter.mask[i] = 0; in esd_usb2_close()
869 if (esd_usb2_send_msg(priv->usb2, msg) < 0) in esd_usb2_close()
873 msg->msg.hdr.len = 2; in esd_usb2_close()
874 msg->msg.hdr.cmd = CMD_SETBAUD; in esd_usb2_close()
875 msg->msg.setbaud.net = priv->index; in esd_usb2_close()
876 msg->msg.setbaud.rsvd = 0; in esd_usb2_close()
877 msg->msg.setbaud.baud = cpu_to_le32(ESD_USB2_NO_BAUDRATE); in esd_usb2_close()
878 if (esd_usb2_send_msg(priv->usb2, msg) < 0) in esd_usb2_close()
887 kfree(msg); in esd_usb2_close()
915 struct esd_usb2_msg *msg; in esd_usb2_set_bittiming() local
942 msg = kmalloc(sizeof(*msg), GFP_KERNEL); in esd_usb2_set_bittiming()
943 if (!msg) in esd_usb2_set_bittiming()
946 msg->msg.hdr.len = 2; in esd_usb2_set_bittiming()
947 msg->msg.hdr.cmd = CMD_SETBAUD; in esd_usb2_set_bittiming()
948 msg->msg.setbaud.net = priv->index; in esd_usb2_set_bittiming()
949 msg->msg.setbaud.rsvd = 0; in esd_usb2_set_bittiming()
950 msg->msg.setbaud.baud = cpu_to_le32(canbtr); in esd_usb2_set_bittiming()
954 err = esd_usb2_send_msg(priv->usb2, msg); in esd_usb2_set_bittiming()
956 kfree(msg); in esd_usb2_set_bittiming()
1060 struct esd_usb2_msg *msg; in esd_usb2_probe() local
1075 msg = kmalloc(sizeof(*msg), GFP_KERNEL); in esd_usb2_probe()
1076 if (!msg) { in esd_usb2_probe()
1082 msg->msg.hdr.cmd = CMD_VERSION; in esd_usb2_probe()
1083 msg->msg.hdr.len = 2; in esd_usb2_probe()
1084 msg->msg.version.rsvd = 0; in esd_usb2_probe()
1085 msg->msg.version.flags = 0; in esd_usb2_probe()
1086 msg->msg.version.drv_version = 0; in esd_usb2_probe()
1088 err = esd_usb2_send_msg(dev, msg); in esd_usb2_probe()
1094 err = esd_usb2_wait_msg(dev, msg); in esd_usb2_probe()
1100 dev->net_count = (int)msg->msg.version_reply.nets; in esd_usb2_probe()
1101 dev->version = le32_to_cpu(msg->msg.version_reply.version); in esd_usb2_probe()
1120 kfree(msg); in esd_usb2_probe()