summaryrefslogtreecommitdiffstats
path: root/include/linux/mlx4
diff options
context:
space:
mode:
authorJack Morgenstein <jackm@dev.mellanox.co.il>2015-01-27 08:57:59 -0500
committerDavid S. Miller <davem@davemloft.net>2015-01-27 20:12:57 -0500
commitbe6a6b43b597a37d96dbf74985f72045ccef0940 (patch)
treec71e0787f3229ae6ac728911a9edab949e0c55d5 /include/linux/mlx4
parent4967082b469320eeba54ffbca632af1962858fb7 (diff)
net/mlx4_core: Add bad-cable event support
If the firmware can detect a bad cable, allow it to generate an event, and print the problem in the log. Signed-off-by: Jack Morgenstein <jackm@dev.mellanox.co.il> Signed-off-by: Amir Vadai <amirv@mellanox.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/linux/mlx4')
-rw-r--r--include/linux/mlx4/device.h14
1 files changed, 13 insertions, 1 deletions
diff --git a/include/linux/mlx4/device.h b/include/linux/mlx4/device.h
index 5ef54e145e4d..c95d659a39f2 100644
--- a/include/linux/mlx4/device.h
+++ b/include/linux/mlx4/device.h
@@ -200,7 +200,8 @@ enum {
200 MLX4_DEV_CAP_FLAG2_CONFIG_DEV = 1LL << 16, 200 MLX4_DEV_CAP_FLAG2_CONFIG_DEV = 1LL << 16,
201 MLX4_DEV_CAP_FLAG2_SYS_EQS = 1LL << 17, 201 MLX4_DEV_CAP_FLAG2_SYS_EQS = 1LL << 17,
202 MLX4_DEV_CAP_FLAG2_80_VFS = 1LL << 18, 202 MLX4_DEV_CAP_FLAG2_80_VFS = 1LL << 18,
203 MLX4_DEV_CAP_FLAG2_FS_A0 = 1LL << 19 203 MLX4_DEV_CAP_FLAG2_FS_A0 = 1LL << 19,
204 MLX4_DEV_CAP_FLAG2_RECOVERABLE_ERROR_EVENT = 1LL << 20
204}; 205};
205 206
206enum { 207enum {
@@ -280,6 +281,7 @@ enum mlx4_event {
280 MLX4_EVENT_TYPE_FATAL_WARNING = 0x1b, 281 MLX4_EVENT_TYPE_FATAL_WARNING = 0x1b,
281 MLX4_EVENT_TYPE_FLR_EVENT = 0x1c, 282 MLX4_EVENT_TYPE_FLR_EVENT = 0x1c,
282 MLX4_EVENT_TYPE_PORT_MNG_CHG_EVENT = 0x1d, 283 MLX4_EVENT_TYPE_PORT_MNG_CHG_EVENT = 0x1d,
284 MLX4_EVENT_TYPE_RECOVERABLE_ERROR_EVENT = 0x3e,
283 MLX4_EVENT_TYPE_NONE = 0xff, 285 MLX4_EVENT_TYPE_NONE = 0xff,
284}; 286};
285 287
@@ -289,6 +291,11 @@ enum {
289}; 291};
290 292
291enum { 293enum {
294 MLX4_RECOVERABLE_ERROR_EVENT_SUBTYPE_BAD_CABLE = 1,
295 MLX4_RECOVERABLE_ERROR_EVENT_SUBTYPE_UNSUPPORTED_CABLE = 2,
296};
297
298enum {
292 MLX4_FATAL_WARNING_SUBTYPE_WARMING = 0, 299 MLX4_FATAL_WARNING_SUBTYPE_WARMING = 0,
293}; 300};
294 301
@@ -860,6 +867,11 @@ struct mlx4_eqe {
860 } __packed tbl_change_info; 867 } __packed tbl_change_info;
861 } params; 868 } params;
862 } __packed port_mgmt_change; 869 } __packed port_mgmt_change;
870 struct {
871 u8 reserved[3];
872 u8 port;
873 u32 reserved1[5];
874 } __packed bad_cable;
863 } event; 875 } event;
864 u8 slave_id; 876 u8 slave_id;
865 u8 reserved3[2]; 877 u8 reserved3[2];