aboutsummaryrefslogtreecommitdiff
path: root/include/linux/can.h
diff options
context:
space:
mode:
authorGreg Kroah-Hartman <[email protected]>2012-08-27 07:15:30 -0700
committerGreg Kroah-Hartman <[email protected]>2012-08-27 07:15:30 -0700
commita7bdf7fa33127bf08eb0810698bca607a9462df4 (patch)
tree2f4be686e49710d10cc4f5ebc2d5f06ae030b9bd /include/linux/can.h
parent7fda953ffed1b94aa68f80c6c3ab312328aedcb3 (diff)
parentfea7a08acb13524b47711625eebea40a0ede69a0 (diff)
Merge v3.6-rc3 into usb-next
This picks up fixes that we need in this branch for testing. Signed-off-by: Greg Kroah-Hartman <[email protected]>
Diffstat (limited to 'include/linux/can.h')
-rw-r--r--include/linux/can.h25
1 files changed, 13 insertions, 12 deletions
diff --git a/include/linux/can.h b/include/linux/can.h
index 018055efc034..e52958d7c2d1 100644
--- a/include/linux/can.h
+++ b/include/linux/can.h
@@ -74,20 +74,21 @@ struct can_frame {
/*
* defined bits for canfd_frame.flags
*
- * As the default for CAN FD should be to support the high data rate in the
- * payload section of the frame (HDR) and to support up to 64 byte in the
- * data section (EDL) the bits are only set in the non-default case.
- * Btw. as long as there's no real implementation for CAN FD network driver
- * these bits are only preliminary.
+ * The use of struct canfd_frame implies the Extended Data Length (EDL) bit to
+ * be set in the CAN frame bitstream on the wire. The EDL bit switch turns
+ * the CAN controllers bitstream processor into the CAN FD mode which creates
+ * two new options within the CAN FD frame specification:
*
- * RX: NOHDR/NOEDL - info about received CAN FD frame
- * ESI - bit from originating CAN controller
- * TX: NOHDR/NOEDL - control per-frame settings if supported by CAN controller
- * ESI - bit is set by local CAN controller
+ * Bit Rate Switch - to indicate a second bitrate is/was used for the payload
+ * Error State Indicator - represents the error state of the transmitting node
+ *
+ * As the CANFD_ESI bit is internally generated by the transmitting CAN
+ * controller only the CANFD_BRS bit is relevant for real CAN controllers when
+ * building a CAN FD frame for transmission. Setting the CANFD_ESI bit can make
+ * sense for virtual CAN interfaces to test applications with echoed frames.
*/
-#define CANFD_NOHDR 0x01 /* frame without high data rate */
-#define CANFD_NOEDL 0x02 /* frame without extended data length */
-#define CANFD_ESI 0x04 /* error state indicator */
+#define CANFD_BRS 0x01 /* bit rate switch (second bitrate for payload data) */
+#define CANFD_ESI 0x02 /* error state indicator of the transmitting node */
/**
* struct canfd_frame - CAN flexible data rate frame structure