Commit 71a1d624 authored by Jubin John's avatar Jubin John Committed by Greg Kroah-Hartman

staging/rdma/hfi1: add definitions for OPA traps

These new definitions will be used by follow-on
patches for formating and sending OPA traps.
Reviewed-by: default avatarIra Weiny <ira.weiny@intel.com>
Signed-off-by: default avatarJubin John <jubin.john@intel.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 7438370a
...@@ -60,7 +60,121 @@ ...@@ -60,7 +60,121 @@
#endif #endif
#include "opa_compat.h" #include "opa_compat.h"
/*
* OPA Traps
*/
#define OPA_TRAP_GID_NOW_IN_SERVICE cpu_to_be16(64)
#define OPA_TRAP_GID_OUT_OF_SERVICE cpu_to_be16(65)
#define OPA_TRAP_ADD_MULTICAST_GROUP cpu_to_be16(66)
#define OPA_TRAL_DEL_MULTICAST_GROUP cpu_to_be16(67)
#define OPA_TRAP_UNPATH cpu_to_be16(68)
#define OPA_TRAP_REPATH cpu_to_be16(69)
#define OPA_TRAP_PORT_CHANGE_STATE cpu_to_be16(128)
#define OPA_TRAP_LINK_INTEGRITY cpu_to_be16(129)
#define OPA_TRAP_EXCESSIVE_BUFFER_OVERRUN cpu_to_be16(130)
#define OPA_TRAP_FLOW_WATCHDOG cpu_to_be16(131)
#define OPA_TRAP_CHANGE_CAPABILITY cpu_to_be16(144)
#define OPA_TRAP_CHANGE_SYSGUID cpu_to_be16(145)
#define OPA_TRAP_BAD_M_KEY cpu_to_be16(256)
#define OPA_TRAP_BAD_P_KEY cpu_to_be16(257)
#define OPA_TRAP_BAD_Q_KEY cpu_to_be16(258)
#define OPA_TRAP_SWITCH_BAD_PKEY cpu_to_be16(259)
#define OPA_SMA_TRAP_DATA_LINK_WIDTH cpu_to_be16(2048)
/*
* Generic trap/notice other local changes flags (trap 144).
*/
#define OPA_NOTICE_TRAP_LWDE_CHG 0x08 /* Link Width Downgrade Enable
* changed
*/
#define OPA_NOTICE_TRAP_LSE_CHG 0x04 /* Link Speed Enable changed */
#define OPA_NOTICE_TRAP_LWE_CHG 0x02 /* Link Width Enable changed */
#define OPA_NOTICE_TRAP_NODE_DESC_CHG 0x01
struct opa_mad_notice_attr {
u8 generic_type;
u8 prod_type_msb;
__be16 prod_type_lsb;
__be16 trap_num;
__be16 toggle_count;
__be32 issuer_lid;
__be32 reserved1;
union ib_gid issuer_gid;
union {
struct {
u8 details[64];
} raw_data;
struct {
union ib_gid gid;
} __packed ntc_64_65_66_67;
struct {
__be32 lid;
} __packed ntc_128;
struct {
__be32 lid; /* where violation happened */
u8 port_num; /* where violation happened */
} __packed ntc_129_130_131;
struct {
__be32 lid; /* LID where change occurred */
__be32 new_cap_mask; /* new capability mask */
__be16 reserved2;
__be16 cap_mask;
__be16 change_flags; /* low 4 bits only */
} __packed ntc_144;
struct {
__be64 new_sys_guid;
__be32 lid; /* lid where sys guid changed */
} __packed ntc_145;
struct {
__be32 lid;
__be32 dr_slid;
u8 method;
u8 dr_trunc_hop;
__be16 attr_id;
__be32 attr_mod;
__be64 mkey;
u8 dr_rtn_path[30];
} __packed ntc_256;
struct {
__be32 lid1;
__be32 lid2;
__be32 key;
u8 sl; /* SL: high 5 bits */
u8 reserved3[3];
union ib_gid gid1;
union ib_gid gid2;
__be32 qp1; /* high 8 bits reserved */
__be32 qp2; /* high 8 bits reserved */
} __packed ntc_257_258;
struct {
__be16 flags; /* low 8 bits reserved */
__be16 pkey;
__be32 lid1;
__be32 lid2;
u8 sl; /* SL: high 5 bits */
u8 reserved4[3];
union ib_gid gid1;
union ib_gid gid2;
__be32 qp1; /* high 8 bits reserved */
__be32 qp2; /* high 8 bits reserved */
} __packed ntc_259;
struct {
__be32 lid;
} __packed ntc_2048;
};
u8 class_data[0];
};
#define IB_VLARB_LOWPRI_0_31 1 #define IB_VLARB_LOWPRI_0_31 1
#define IB_VLARB_LOWPRI_32_63 2 #define IB_VLARB_LOWPRI_32_63 2
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment