Lines Matching refs:msg
131 u8 msg[8]; member
218 } msg; member
309 static void ems_usb_rx_can_msg(struct ems_usb *dev, struct ems_cpc_msg *msg) in ems_usb_rx_can_msg() argument
320 cf->can_id = le32_to_cpu(msg->msg.can_msg.id); in ems_usb_rx_can_msg()
321 cf->can_dlc = get_can_dlc(msg->msg.can_msg.length & 0xF); in ems_usb_rx_can_msg()
323 if (msg->type == CPC_MSG_TYPE_EXT_CAN_FRAME || in ems_usb_rx_can_msg()
324 msg->type == CPC_MSG_TYPE_EXT_RTR_FRAME) in ems_usb_rx_can_msg()
327 if (msg->type == CPC_MSG_TYPE_RTR_FRAME || in ems_usb_rx_can_msg()
328 msg->type == CPC_MSG_TYPE_EXT_RTR_FRAME) { in ems_usb_rx_can_msg()
332 cf->data[i] = msg->msg.can_msg.msg[i]; in ems_usb_rx_can_msg()
341 static void ems_usb_rx_err(struct ems_usb *dev, struct ems_cpc_msg *msg) in ems_usb_rx_err() argument
351 if (msg->type == CPC_MSG_TYPE_CAN_STATE) { in ems_usb_rx_err()
352 u8 state = msg->msg.can_state; in ems_usb_rx_err()
367 } else if (msg->type == CPC_MSG_TYPE_CAN_FRAME_ERROR) { in ems_usb_rx_err()
368 u8 ecc = msg->msg.error.cc.regs.sja1000.ecc; in ems_usb_rx_err()
369 u8 txerr = msg->msg.error.cc.regs.sja1000.txerr; in ems_usb_rx_err()
370 u8 rxerr = msg->msg.error.cc.regs.sja1000.rxerr; in ems_usb_rx_err()
403 } else if (msg->type == CPC_MSG_TYPE_OVERRUN) { in ems_usb_rx_err()
444 struct ems_cpc_msg *msg; in ems_usb_read_bulk_callback() local
453 msg = (struct ems_cpc_msg *)&ibuf[start]; in ems_usb_read_bulk_callback()
455 switch (msg->type) { in ems_usb_read_bulk_callback()
458 ems_usb_rx_err(dev, msg); in ems_usb_read_bulk_callback()
465 ems_usb_rx_can_msg(dev, msg); in ems_usb_read_bulk_callback()
470 ems_usb_rx_err(dev, msg); in ems_usb_read_bulk_callback()
475 ems_usb_rx_err(dev, msg); in ems_usb_read_bulk_callback()
479 start += CPC_MSG_HEADER_LEN + msg->length; in ems_usb_read_bulk_callback()
545 static int ems_usb_command_msg(struct ems_usb *dev, struct ems_cpc_msg *msg) in ems_usb_command_msg() argument
550 memcpy(&dev->tx_msg_buffer[CPC_HEADER_SIZE], msg, in ems_usb_command_msg()
551 msg->length + CPC_MSG_HEADER_LEN); in ems_usb_command_msg()
558 msg->length + CPC_MSG_HEADER_LEN + CPC_HEADER_SIZE, in ems_usb_command_msg()
567 dev->active_params.msg.can_params.cc_params.sja1000.mode = mode; in ems_usb_write_mode()
585 cmd.msg.generic[0] = val; in ems_usb_control_cmd()
748 struct ems_cpc_msg *msg; in ems_usb_start_xmit() local
772 msg = (struct ems_cpc_msg *)&buf[CPC_HEADER_SIZE]; in ems_usb_start_xmit()
774 msg->msg.can_msg.id = cpu_to_le32(cf->can_id & CAN_ERR_MASK); in ems_usb_start_xmit()
775 msg->msg.can_msg.length = cf->can_dlc; in ems_usb_start_xmit()
778 msg->type = cf->can_id & CAN_EFF_FLAG ? in ems_usb_start_xmit()
781 msg->length = CPC_CAN_MSG_MIN_SIZE; in ems_usb_start_xmit()
783 msg->type = cf->can_id & CAN_EFF_FLAG ? in ems_usb_start_xmit()
787 msg->msg.can_msg.msg[i] = cf->data[i]; in ems_usb_start_xmit()
789 msg->length = CPC_CAN_MSG_MIN_SIZE + cf->can_dlc; in ems_usb_start_xmit()
938 dev->active_params.msg.can_params.cc_params.sja1000.btr0 = btr0; in ems_usb_set_bittiming()
939 dev->active_params.msg.can_params.cc_params.sja1000.btr1 = btr1; in ems_usb_set_bittiming()
944 static void init_params_sja1000(struct ems_cpc_msg *msg) in init_params_sja1000() argument
947 &msg->msg.can_params.cc_params.sja1000; in init_params_sja1000()
949 msg->type = CPC_CMD_TYPE_CAN_PARAMS; in init_params_sja1000()
950 msg->length = sizeof(struct cpc_can_params); in init_params_sja1000()
951 msg->msgid = 0; in init_params_sja1000()
953 msg->msg.can_params.cc_type = CPC_CC_TYPE_SJA1000; in init_params_sja1000()