Lines Matching full:leaf
3 * - Kvaser linux leaf driver (version 4.78)
54 /* Leaf/usbcan command ids */
87 /* Leaf frequency options */
105 /* Only Leaf-based devices can report M16C error factors,
180 } __packed leaf; member
350 } __packed leaf; member
374 [CMD_GET_SOFTWARE_INFO_REPLY] = kvaser_fsize(u.leaf.softinfo),
375 [CMD_RX_STD_MESSAGE] = kvaser_fsize(u.leaf.rx_can),
376 [CMD_RX_EXT_MESSAGE] = kvaser_fsize(u.leaf.rx_can),
377 [CMD_LEAF_LOG_MESSAGE] = kvaser_fsize(u.leaf.log_message),
378 [CMD_CHIP_STATE_EVENT] = kvaser_fsize(u.leaf.chip_state_event),
379 [CMD_CAN_ERROR_EVENT] = kvaser_fsize(u.leaf.can_error_event),
380 [CMD_GET_CAPABILITIES_RESP] = kvaser_fsize(u.leaf.cap_res),
382 [CMD_ERROR_EVENT] = kvaser_fsize(u.leaf.error_event),
402 /* Summary of a kvaser error event, for a unified Leaf/Usbcan error
417 } leaf; member
554 cmd_tx_can_flags = &cmd->u.tx_can.leaf.flags; in kvaser_usb_leaf_frame_to_cmd()
713 kvaser_usb_leaf_get_software_info_leaf(dev, &cmd.u.leaf.softinfo); in kvaser_usb_leaf_get_software_info_inner()
781 cmd->u.leaf.cap_req.cap_cmd = cpu_to_le16(cap_cmd_req); in kvaser_usb_leaf_get_single_capability()
792 *status = le16_to_cpu(cmd->u.leaf.cap_res.status); in kvaser_usb_leaf_get_single_capability()
797 cap_cmd_res = le16_to_cpu(cmd->u.leaf.cap_res.cap_cmd); in kvaser_usb_leaf_get_single_capability()
801 value = le32_to_cpu(cmd->u.leaf.cap_res.value); in kvaser_usb_leaf_get_single_capability()
802 mask = le32_to_cpu(cmd->u.leaf.cap_res.mask); in kvaser_usb_leaf_get_single_capability()
958 struct kvaser_usb_net_leaf_priv *leaf = in kvaser_usb_leaf_chip_state_req_work() local
961 struct kvaser_usb_net_priv *priv = leaf->net; in kvaser_usb_leaf_chip_state_req_work()
971 struct kvaser_usb_net_leaf_priv *leaf = priv->sub_priv; in kvaser_usb_leaf_rx_error_update_can_state() local
1003 if (leaf->joining_bus) { in kvaser_usb_leaf_rx_error_update_can_state()
1008 leaf->joining_bus = false; in kvaser_usb_leaf_rx_error_update_can_state()
1026 if (es->leaf.error_factor) { in kvaser_usb_leaf_rx_error_update_can_state()
1054 struct kvaser_usb_net_leaf_priv *leaf; in kvaser_usb_leaf_rx_error() local
1064 leaf = priv->sub_priv; in kvaser_usb_leaf_rx_error()
1092 leaf->joining_bus)) in kvaser_usb_leaf_rx_error()
1093 schedule_delayed_work(&leaf->chip_state_req_work, in kvaser_usb_leaf_rx_error()
1122 if (es->leaf.error_factor) { in kvaser_usb_leaf_rx_error()
1125 if (es->leaf.error_factor & M16C_EF_ACKE) in kvaser_usb_leaf_rx_error()
1127 if (es->leaf.error_factor & M16C_EF_CRCE) in kvaser_usb_leaf_rx_error()
1129 if (es->leaf.error_factor & M16C_EF_FORME) in kvaser_usb_leaf_rx_error()
1131 if (es->leaf.error_factor & M16C_EF_STFE) in kvaser_usb_leaf_rx_error()
1133 if (es->leaf.error_factor & M16C_EF_BITE0) in kvaser_usb_leaf_rx_error()
1135 if (es->leaf.error_factor & M16C_EF_BITE1) in kvaser_usb_leaf_rx_error()
1137 if (es->leaf.error_factor & M16C_EF_TRE) in kvaser_usb_leaf_rx_error()
1247 es.channel = cmd->u.leaf.can_error_event.channel; in kvaser_usb_leaf_leaf_rx_error()
1248 es.status = cmd->u.leaf.can_error_event.status; in kvaser_usb_leaf_leaf_rx_error()
1249 es.txerr = cmd->u.leaf.can_error_event.tx_errors_count; in kvaser_usb_leaf_leaf_rx_error()
1250 es.rxerr = cmd->u.leaf.can_error_event.rx_errors_count; in kvaser_usb_leaf_leaf_rx_error()
1251 es.leaf.error_factor = cmd->u.leaf.can_error_event.error_factor; in kvaser_usb_leaf_leaf_rx_error()
1254 es.channel = cmd->u.leaf.log_message.channel; in kvaser_usb_leaf_leaf_rx_error()
1255 es.status = cmd->u.leaf.log_message.data[0]; in kvaser_usb_leaf_leaf_rx_error()
1256 es.txerr = cmd->u.leaf.log_message.data[2]; in kvaser_usb_leaf_leaf_rx_error()
1257 es.rxerr = cmd->u.leaf.log_message.data[3]; in kvaser_usb_leaf_leaf_rx_error()
1258 es.leaf.error_factor = cmd->u.leaf.log_message.data[1]; in kvaser_usb_leaf_leaf_rx_error()
1261 es.channel = cmd->u.leaf.chip_state_event.channel; in kvaser_usb_leaf_leaf_rx_error()
1262 es.status = cmd->u.leaf.chip_state_event.status; in kvaser_usb_leaf_leaf_rx_error()
1263 es.txerr = cmd->u.leaf.chip_state_event.tx_errors_count; in kvaser_usb_leaf_leaf_rx_error()
1264 es.rxerr = cmd->u.leaf.chip_state_event.rx_errors_count; in kvaser_usb_leaf_leaf_rx_error()
1265 es.leaf.error_factor = 0; in kvaser_usb_leaf_leaf_rx_error()
1331 rx_data = cmd->u.leaf.rx_can.data; in kvaser_usb_leaf_rx_can_msg()
1346 cf->can_id = le32_to_cpu(cmd->u.leaf.log_message.id); in kvaser_usb_leaf_rx_can_msg()
1352 can_frame_set_cc_len(cf, cmd->u.leaf.log_message.dlc & 0xF, priv->can.ctrlmode); in kvaser_usb_leaf_rx_can_msg()
1354 if (cmd->u.leaf.log_message.flags & MSG_FLAG_REMOTE_FRAME) in kvaser_usb_leaf_rx_can_msg()
1357 memcpy(cf->data, &cmd->u.leaf.log_message.data, in kvaser_usb_leaf_rx_can_msg()
1391 info1 = le16_to_cpu(cmd->u.leaf.error_event.info1); in kvaser_usb_leaf_error_event_parameter()
1425 error_code = cmd->u.leaf.error_event.error_code; in kvaser_usb_leaf_error_event()
1635 struct kvaser_usb_net_leaf_priv *leaf = priv->sub_priv; in kvaser_usb_leaf_start_chip() local
1638 leaf->joining_bus = true; in kvaser_usb_leaf_start_chip()
1656 struct kvaser_usb_net_leaf_priv *leaf = priv->sub_priv; in kvaser_usb_leaf_stop_chip() local
1661 cancel_delayed_work(&leaf->chip_state_req_work); in kvaser_usb_leaf_stop_chip()
1711 struct kvaser_usb_net_leaf_priv *leaf; in kvaser_usb_leaf_init_channel() local
1713 leaf = devm_kzalloc(&priv->dev->intf->dev, sizeof(*leaf), GFP_KERNEL); in kvaser_usb_leaf_init_channel()
1714 if (!leaf) in kvaser_usb_leaf_init_channel()
1717 leaf->net = priv; in kvaser_usb_leaf_init_channel()
1718 INIT_DELAYED_WORK(&leaf->chip_state_req_work, in kvaser_usb_leaf_init_channel()
1721 priv->sub_priv = leaf; in kvaser_usb_leaf_init_channel()
1728 struct kvaser_usb_net_leaf_priv *leaf = priv->sub_priv; in kvaser_usb_leaf_remove_channel() local
1730 if (leaf) in kvaser_usb_leaf_remove_channel()
1731 cancel_delayed_work_sync(&leaf->chip_state_req_work); in kvaser_usb_leaf_remove_channel()
1784 struct kvaser_usb_net_leaf_priv *leaf = priv->sub_priv; in kvaser_usb_leaf_set_mode() local
1791 leaf->joining_bus = true; in kvaser_usb_leaf_set_mode()