Lines Matching refs:msg

296 			     union esd_usb_msg *msg)  in esd_usb_rx_event()  argument
301 u32 id = le32_to_cpu(msg->rx.id) & ESD_USB_IDMASK; in esd_usb_rx_event()
304 u8 state = msg->rx.ev_can_err_ext.status; in esd_usb_rx_event()
305 u8 ecc = msg->rx.ev_can_err_ext.ecc; in esd_usb_rx_event()
307 priv->bec.rxerr = msg->rx.ev_can_err_ext.rec; in esd_usb_rx_event()
308 priv->bec.txerr = msg->rx.ev_can_err_ext.tec; in esd_usb_rx_event()
312 msg->rx.dlc, state, ecc, in esd_usb_rx_event()
393 union esd_usb_msg *msg) in esd_usb_rx_can_msg() argument
405 id = le32_to_cpu(msg->rx.id); in esd_usb_rx_can_msg()
408 esd_usb_rx_event(priv, msg); in esd_usb_rx_can_msg()
410 if (msg->rx.dlc & ESD_USB_FD) { in esd_usb_rx_can_msg()
424 if (msg->rx.dlc & ESD_USB_FD) { in esd_usb_rx_can_msg()
426 cfd->len = can_fd_dlc2len(msg->rx.dlc); in esd_usb_rx_can_msg()
428 if ((msg->rx.dlc & ESD_USB_NO_BRS) == 0) in esd_usb_rx_can_msg()
430 if (msg->rx.dlc & ESD_USB_ESI) in esd_usb_rx_can_msg()
433 can_frame_set_cc_len(cf, msg->rx.dlc & ~ESD_USB_RTR, priv->can.ctrlmode); in esd_usb_rx_can_msg()
435 if (msg->rx.dlc & ESD_USB_RTR) { in esd_usb_rx_can_msg()
444 memcpy(cfd->data, msg->rx.data_fd, len); in esd_usb_rx_can_msg()
453 union esd_usb_msg *msg) in esd_usb_tx_done_msg() argument
462 context = &priv->tx_contexts[msg->txdone.hnd & (ESD_USB_MAX_TX_URBS - 1)]; in esd_usb_tx_done_msg()
464 if (!msg->txdone.status) { in esd_usb_tx_done_msg()
504 union esd_usb_msg *msg; in esd_usb_read_bulk_callback() local
506 msg = (union esd_usb_msg *)(urb->transfer_buffer + pos); in esd_usb_read_bulk_callback()
508 switch (msg->hdr.cmd) { in esd_usb_read_bulk_callback()
510 if (msg->rx.net >= dev->net_count) { in esd_usb_read_bulk_callback()
515 esd_usb_rx_can_msg(dev->nets[msg->rx.net], msg); in esd_usb_read_bulk_callback()
519 if (msg->txdone.net >= dev->net_count) { in esd_usb_read_bulk_callback()
524 esd_usb_tx_done_msg(dev->nets[msg->txdone.net], in esd_usb_read_bulk_callback()
525 msg); in esd_usb_read_bulk_callback()
529 pos += msg->hdr.len * sizeof(u32); /* convert to # of bytes */ in esd_usb_read_bulk_callback()
616 static int esd_usb_send_msg(struct esd_usb *dev, union esd_usb_msg *msg) in esd_usb_send_msg() argument
622 msg, in esd_usb_send_msg()
623 msg->hdr.len * sizeof(u32), /* convert to # of bytes */ in esd_usb_send_msg()
629 union esd_usb_msg *msg) in esd_usb_wait_msg() argument
635 msg, in esd_usb_wait_msg()
636 sizeof(*msg), in esd_usb_wait_msg()
717 union esd_usb_msg *msg; in esd_usb_start() local
720 msg = kmalloc(sizeof(*msg), GFP_KERNEL); in esd_usb_start()
721 if (!msg) { in esd_usb_start()
738 msg->hdr.cmd = ESD_USB_CMD_IDADD; in esd_usb_start()
739 msg->hdr.len = sizeof(struct esd_usb_id_filter_msg) / sizeof(u32); /* # of 32bit words */ in esd_usb_start()
740 msg->filter.net = priv->index; in esd_usb_start()
741 msg->filter.option = ESD_USB_ID_ENABLE; /* start with segment 0 */ in esd_usb_start()
743 msg->filter.mask[i] = cpu_to_le32(GENMASK(31, 0)); in esd_usb_start()
745 msg->filter.mask[ESD_USB_MAX_ID_SEGMENT] = cpu_to_le32(BIT(0)); in esd_usb_start()
747 err = esd_usb_send_msg(dev, msg); in esd_usb_start()
763 kfree(msg); in esd_usb_start()
821 union esd_usb_msg *msg; in esd_usb_start_xmit() local
848 msg = (union esd_usb_msg *)buf; in esd_usb_start_xmit()
851 msg->hdr.len = offsetof(struct esd_usb_tx_msg, data) / sizeof(u32); in esd_usb_start_xmit()
852 msg->hdr.cmd = ESD_USB_CMD_CAN_TX; in esd_usb_start_xmit()
853 msg->tx.net = priv->index; in esd_usb_start_xmit()
856 msg->tx.dlc = can_fd_len2dlc(cfd->len); in esd_usb_start_xmit()
857 msg->tx.dlc |= ESD_USB_FD; in esd_usb_start_xmit()
860 msg->tx.dlc |= ESD_USB_NO_BRS; in esd_usb_start_xmit()
862 msg->tx.dlc = can_get_cc_dlc((struct can_frame *)cfd, priv->can.ctrlmode); in esd_usb_start_xmit()
865 msg->tx.dlc |= ESD_USB_RTR; in esd_usb_start_xmit()
868 msg->tx.id = cpu_to_le32(cfd->can_id & CAN_ERR_MASK); in esd_usb_start_xmit()
871 msg->tx.id |= cpu_to_le32(ESD_USB_EXTID); in esd_usb_start_xmit()
873 memcpy(msg->tx.data_fd, cfd->data, cfd->len); in esd_usb_start_xmit()
876 msg->hdr.len += DIV_ROUND_UP(cfd->len, sizeof(u32)); in esd_usb_start_xmit()
896 msg->tx.hnd = BIT(31) | i; /* returned in TX done message */ in esd_usb_start_xmit()
899 msg->hdr.len * sizeof(u32), /* convert to # of bytes */ in esd_usb_start_xmit()
953 union esd_usb_msg *msg; in esd_usb_close() local
956 msg = kmalloc(sizeof(*msg), GFP_KERNEL); in esd_usb_close()
957 if (!msg) in esd_usb_close()
961 msg->hdr.cmd = ESD_USB_CMD_IDADD; in esd_usb_close()
962 msg->hdr.len = sizeof(struct esd_usb_id_filter_msg) / sizeof(u32);/* # of 32bit words */ in esd_usb_close()
963 msg->filter.net = priv->index; in esd_usb_close()
964 msg->filter.option = ESD_USB_ID_ENABLE; /* start with segment 0 */ in esd_usb_close()
966 msg->filter.mask[i] = 0; in esd_usb_close()
967 if (esd_usb_send_msg(priv->usb, msg) < 0) in esd_usb_close()
971 msg->hdr.len = sizeof(struct esd_usb_set_baudrate_msg) / sizeof(u32); /* # of 32bit words */ in esd_usb_close()
972 msg->hdr.cmd = ESD_USB_CMD_SETBAUD; in esd_usb_close()
973 msg->setbaud.net = priv->index; in esd_usb_close()
974 msg->setbaud.rsvd = 0; in esd_usb_close()
975 msg->setbaud.baud = cpu_to_le32(ESD_USB_NO_BAUDRATE); in esd_usb_close()
976 if (esd_usb_send_msg(priv->usb, msg) < 0) in esd_usb_close()
985 kfree(msg); in esd_usb_close()
1018 union esd_usb_msg *msg; in esd_usb_2_set_bittiming() local
1045 msg = kmalloc(sizeof(*msg), GFP_KERNEL); in esd_usb_2_set_bittiming()
1046 if (!msg) in esd_usb_2_set_bittiming()
1049 msg->hdr.len = sizeof(struct esd_usb_set_baudrate_msg) / sizeof(u32); /* # of 32bit words */ in esd_usb_2_set_bittiming()
1050 msg->hdr.cmd = ESD_USB_CMD_SETBAUD; in esd_usb_2_set_bittiming()
1051 msg->setbaud.net = priv->index; in esd_usb_2_set_bittiming()
1052 msg->setbaud.rsvd = 0; in esd_usb_2_set_bittiming()
1053 msg->setbaud.baud = cpu_to_le32(canbtr); in esd_usb_2_set_bittiming()
1057 err = esd_usb_send_msg(priv->usb, msg); in esd_usb_2_set_bittiming()
1059 kfree(msg); in esd_usb_2_set_bittiming()
1103 union esd_usb_msg *msg; in esd_usb_3_set_bittiming() local
1107 msg = kmalloc(sizeof(*msg), GFP_KERNEL); in esd_usb_3_set_bittiming()
1108 if (!msg) in esd_usb_3_set_bittiming()
1111 baud_x = &msg->setbaud_x; in esd_usb_3_set_bittiming()
1148 msg->hdr.len = sizeof(struct esd_usb_3_set_baudrate_msg_x) / sizeof(u32); in esd_usb_3_set_bittiming()
1149 msg->hdr.cmd = ESD_USB_CMD_SETBAUD; in esd_usb_3_set_bittiming()
1156 err = esd_usb_send_msg(priv->usb, msg); in esd_usb_3_set_bittiming()
1158 kfree(msg); in esd_usb_3_set_bittiming()
1280 union esd_usb_msg *msg; in esd_usb_probe() local
1295 msg = kmalloc(sizeof(*msg), GFP_KERNEL); in esd_usb_probe()
1296 if (!msg) { in esd_usb_probe()
1302 msg->hdr.cmd = ESD_USB_CMD_VERSION; in esd_usb_probe()
1303 msg->hdr.len = sizeof(struct esd_usb_version_msg) / sizeof(u32); /* # of 32bit words */ in esd_usb_probe()
1304 msg->version.rsvd = 0; in esd_usb_probe()
1305 msg->version.flags = 0; in esd_usb_probe()
1306 msg->version.drv_version = 0; in esd_usb_probe()
1308 err = esd_usb_send_msg(dev, msg); in esd_usb_probe()
1314 err = esd_usb_wait_msg(dev, msg); in esd_usb_probe()
1320 dev->net_count = (int)msg->version_reply.nets; in esd_usb_probe()
1321 dev->version = le32_to_cpu(msg->version_reply.version); in esd_usb_probe()
1340 kfree(msg); in esd_usb_probe()