aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVincent Mailhol <mailhol.vincent@wanadoo.fr>2022-07-19 23:35:50 +0900
committerMarc Kleine-Budde <mkl@pengutronix.de>2022-07-20 09:27:51 +0200
commit3f9c26210cf80ea8cb5dd901aba5feb77200b085 (patch)
tree9ec70593998e0ddd55617ce7d4f5098ac96b0796
parentcan: add CAN_ERR_CNT flag to notify availability of error counter (diff)
downloadlinux-dev-3f9c26210cf80ea8cb5dd901aba5feb77200b085.tar.xz
linux-dev-3f9c26210cf80ea8cb5dd901aba5feb77200b085.zip
can: error: add definitions for the different CAN error thresholds
Currently, drivers are using magic numbers to derive the CAN error states from the error counter. Add three macro declarations to remediate this. For reference, the error-active, error-passive and bus-off are defined in ISO 11898, section 12.1.4.2 "Error counting". Although ISO 11898 does not define error-warning state, this extra value is also commonly used and is thus also added. Link: https://lore.kernel.org/all/20220719143550.3681-13-mailhol.vincent@wanadoo.fr Signed-off-by: Vincent Mailhol <mailhol.vincent@wanadoo.fr> Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
-rw-r--r--include/uapi/linux/can/error.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/include/uapi/linux/can/error.h b/include/uapi/linux/can/error.h
index b7c3efd9ff99..acc1ac393d2a 100644
--- a/include/uapi/linux/can/error.h
+++ b/include/uapi/linux/can/error.h
@@ -127,4 +127,17 @@
/* TX error counter / data[6] */
/* RX error counter / data[7] */
+/* CAN state thresholds
+ *
+ * Error counter Error state
+ * -----------------------------------
+ * 0 - 95 Error-active
+ * 96 - 127 Error-warning
+ * 128 - 255 Error-passive
+ * 256 and greater Bus-off
+ */
+#define CAN_ERROR_WARNING_THRESHOLD 96
+#define CAN_ERROR_PASSIVE_THRESHOLD 128
+#define CAN_BUS_OFF_THRESHOLD 256
+
#endif /* _UAPI_CAN_ERROR_H */