Lines Matching refs:msg
187 } msg; member
232 struct esd_usb_msg *msg) in esd_usb_rx_event() argument
237 u32 id = le32_to_cpu(msg->msg.rx.id) & ESD_IDMASK; in esd_usb_rx_event()
240 u8 state = msg->msg.rx.ev_can_err_ext.status; in esd_usb_rx_event()
241 u8 ecc = msg->msg.rx.ev_can_err_ext.ecc; in esd_usb_rx_event()
242 u8 rxerr = msg->msg.rx.ev_can_err_ext.rec; in esd_usb_rx_event()
243 u8 txerr = msg->msg.rx.ev_can_err_ext.tec; in esd_usb_rx_event()
247 msg->msg.rx.dlc, state, ecc, rxerr, txerr); in esd_usb_rx_event()
325 struct esd_usb_msg *msg) in esd_usb_rx_can_msg() argument
336 id = le32_to_cpu(msg->msg.rx.id); in esd_usb_rx_can_msg()
339 esd_usb_rx_event(priv, msg); in esd_usb_rx_can_msg()
348 can_frame_set_cc_len(cf, msg->msg.rx.dlc & ~ESD_RTR, in esd_usb_rx_can_msg()
354 if (msg->msg.rx.dlc & ESD_RTR) { in esd_usb_rx_can_msg()
358 cf->data[i] = msg->msg.rx.data[i]; in esd_usb_rx_can_msg()
369 struct esd_usb_msg *msg) in esd_usb_tx_done_msg() argument
378 context = &priv->tx_contexts[msg->msg.txdone.hnd & (MAX_TX_URBS - 1)]; in esd_usb_tx_done_msg()
380 if (!msg->msg.txdone.status) { in esd_usb_tx_done_msg()
420 struct esd_usb_msg *msg; in esd_usb_read_bulk_callback() local
422 msg = (struct esd_usb_msg *)(urb->transfer_buffer + pos); in esd_usb_read_bulk_callback()
424 switch (msg->msg.hdr.cmd) { in esd_usb_read_bulk_callback()
426 if (msg->msg.rx.net >= dev->net_count) { in esd_usb_read_bulk_callback()
431 esd_usb_rx_can_msg(dev->nets[msg->msg.rx.net], msg); in esd_usb_read_bulk_callback()
435 if (msg->msg.txdone.net >= dev->net_count) { in esd_usb_read_bulk_callback()
440 esd_usb_tx_done_msg(dev->nets[msg->msg.txdone.net], in esd_usb_read_bulk_callback()
441 msg); in esd_usb_read_bulk_callback()
445 pos += msg->msg.hdr.len << 2; in esd_usb_read_bulk_callback()
532 static int esd_usb_send_msg(struct esd_usb *dev, struct esd_usb_msg *msg) in esd_usb_send_msg() argument
538 msg, in esd_usb_send_msg()
539 msg->msg.hdr.len << 2, in esd_usb_send_msg()
545 struct esd_usb_msg *msg) in esd_usb_wait_msg() argument
551 msg, in esd_usb_wait_msg()
552 sizeof(*msg), in esd_usb_wait_msg()
633 struct esd_usb_msg *msg; in esd_usb_start() local
636 msg = kmalloc(sizeof(*msg), GFP_KERNEL); in esd_usb_start()
637 if (!msg) { in esd_usb_start()
654 msg->msg.hdr.cmd = CMD_IDADD; in esd_usb_start()
655 msg->msg.hdr.len = 2 + ESD_MAX_ID_SEGMENT; in esd_usb_start()
656 msg->msg.filter.net = priv->index; in esd_usb_start()
657 msg->msg.filter.option = ESD_ID_ENABLE; /* start with segment 0 */ in esd_usb_start()
659 msg->msg.filter.mask[i] = cpu_to_le32(0xffffffff); in esd_usb_start()
661 msg->msg.filter.mask[ESD_MAX_ID_SEGMENT] = cpu_to_le32(0x00000001); in esd_usb_start()
663 err = esd_usb_send_msg(dev, msg); in esd_usb_start()
679 kfree(msg); in esd_usb_start()
737 struct esd_usb_msg *msg; in esd_usb_start_xmit() local
764 msg = (struct esd_usb_msg *)buf; in esd_usb_start_xmit()
766 msg->msg.hdr.len = 3; /* minimal length */ in esd_usb_start_xmit()
767 msg->msg.hdr.cmd = CMD_CAN_TX; in esd_usb_start_xmit()
768 msg->msg.tx.net = priv->index; in esd_usb_start_xmit()
769 msg->msg.tx.dlc = can_get_cc_dlc(cf, priv->can.ctrlmode); in esd_usb_start_xmit()
770 msg->msg.tx.id = cpu_to_le32(cf->can_id & CAN_ERR_MASK); in esd_usb_start_xmit()
773 msg->msg.tx.dlc |= ESD_RTR; in esd_usb_start_xmit()
776 msg->msg.tx.id |= cpu_to_le32(ESD_EXTID); in esd_usb_start_xmit()
779 msg->msg.tx.data[i] = cf->data[i]; in esd_usb_start_xmit()
781 msg->msg.hdr.len += (cf->len + 3) >> 2; in esd_usb_start_xmit()
801 msg->msg.tx.hnd = 0x80000000 | i; /* returned in TX done message */ in esd_usb_start_xmit()
804 msg->msg.hdr.len << 2, in esd_usb_start_xmit()
858 struct esd_usb_msg *msg; in esd_usb_close() local
861 msg = kmalloc(sizeof(*msg), GFP_KERNEL); in esd_usb_close()
862 if (!msg) in esd_usb_close()
866 msg->msg.hdr.cmd = CMD_IDADD; in esd_usb_close()
867 msg->msg.hdr.len = 2 + ESD_MAX_ID_SEGMENT; in esd_usb_close()
868 msg->msg.filter.net = priv->index; in esd_usb_close()
869 msg->msg.filter.option = ESD_ID_ENABLE; /* start with segment 0 */ in esd_usb_close()
871 msg->msg.filter.mask[i] = 0; in esd_usb_close()
872 if (esd_usb_send_msg(priv->usb, msg) < 0) in esd_usb_close()
876 msg->msg.hdr.len = 2; in esd_usb_close()
877 msg->msg.hdr.cmd = CMD_SETBAUD; in esd_usb_close()
878 msg->msg.setbaud.net = priv->index; in esd_usb_close()
879 msg->msg.setbaud.rsvd = 0; in esd_usb_close()
880 msg->msg.setbaud.baud = cpu_to_le32(ESD_USB_NO_BAUDRATE); in esd_usb_close()
881 if (esd_usb_send_msg(priv->usb, msg) < 0) in esd_usb_close()
890 kfree(msg); in esd_usb_close()
922 struct esd_usb_msg *msg; in esd_usb2_set_bittiming() local
949 msg = kmalloc(sizeof(*msg), GFP_KERNEL); in esd_usb2_set_bittiming()
950 if (!msg) in esd_usb2_set_bittiming()
953 msg->msg.hdr.len = 2; in esd_usb2_set_bittiming()
954 msg->msg.hdr.cmd = CMD_SETBAUD; in esd_usb2_set_bittiming()
955 msg->msg.setbaud.net = priv->index; in esd_usb2_set_bittiming()
956 msg->msg.setbaud.rsvd = 0; in esd_usb2_set_bittiming()
957 msg->msg.setbaud.baud = cpu_to_le32(canbtr); in esd_usb2_set_bittiming()
961 err = esd_usb_send_msg(priv->usb, msg); in esd_usb2_set_bittiming()
963 kfree(msg); in esd_usb2_set_bittiming()
1068 struct esd_usb_msg *msg; in esd_usb_probe() local
1083 msg = kmalloc(sizeof(*msg), GFP_KERNEL); in esd_usb_probe()
1084 if (!msg) { in esd_usb_probe()
1090 msg->msg.hdr.cmd = CMD_VERSION; in esd_usb_probe()
1091 msg->msg.hdr.len = 2; in esd_usb_probe()
1092 msg->msg.version.rsvd = 0; in esd_usb_probe()
1093 msg->msg.version.flags = 0; in esd_usb_probe()
1094 msg->msg.version.drv_version = 0; in esd_usb_probe()
1096 err = esd_usb_send_msg(dev, msg); in esd_usb_probe()
1102 err = esd_usb_wait_msg(dev, msg); in esd_usb_probe()
1108 dev->net_count = (int)msg->msg.version_reply.nets; in esd_usb_probe()
1109 dev->version = le32_to_cpu(msg->msg.version_reply.version); in esd_usb_probe()
1128 kfree(msg); in esd_usb_probe()