IB/core: Add core header changes needed for OPA
This patch adds the value of the CNP opcode to the existing list of enumerated opcodes in ib_pack.h Add common OPA header definitions for driver build: - opa_port_info.h - opa_smi.h - hfi1_user.h Additionally, ib_mad.h, has additional definitions that are common to ib_drivers including: - trap support - cca support The qib driver has the duplication removed in favor those in ib_mad.h Reviewed-by: Mike Marciniszyn <mike.marciniszyn@intel.com> Reviewed-by: John, Jubin <jubin.john@intel.com> Signed-off-by: Ira Weiny <ira.weiny@intel.com> Signed-off-by: Dennis Dalessandro <dennis.dalessandro@intel.com> Signed-off-by: Doug Ledford <dledford@redhat.com>
This commit is contained in:

committed by
Doug Ledford

parent
072bf1f7e4
commit
d4ab347005
@@ -127,6 +127,60 @@
|
||||
#define IB_DEFAULT_PKEY_PARTIAL 0x7FFF
|
||||
#define IB_DEFAULT_PKEY_FULL 0xFFFF
|
||||
|
||||
/*
|
||||
* Generic trap/notice types
|
||||
*/
|
||||
#define IB_NOTICE_TYPE_FATAL 0x80
|
||||
#define IB_NOTICE_TYPE_URGENT 0x81
|
||||
#define IB_NOTICE_TYPE_SECURITY 0x82
|
||||
#define IB_NOTICE_TYPE_SM 0x83
|
||||
#define IB_NOTICE_TYPE_INFO 0x84
|
||||
|
||||
/*
|
||||
* Generic trap/notice producers
|
||||
*/
|
||||
#define IB_NOTICE_PROD_CA cpu_to_be16(1)
|
||||
#define IB_NOTICE_PROD_SWITCH cpu_to_be16(2)
|
||||
#define IB_NOTICE_PROD_ROUTER cpu_to_be16(3)
|
||||
#define IB_NOTICE_PROD_CLASS_MGR cpu_to_be16(4)
|
||||
|
||||
/*
|
||||
* Generic trap/notice numbers
|
||||
*/
|
||||
#define IB_NOTICE_TRAP_LLI_THRESH cpu_to_be16(129)
|
||||
#define IB_NOTICE_TRAP_EBO_THRESH cpu_to_be16(130)
|
||||
#define IB_NOTICE_TRAP_FLOW_UPDATE cpu_to_be16(131)
|
||||
#define IB_NOTICE_TRAP_CAP_MASK_CHG cpu_to_be16(144)
|
||||
#define IB_NOTICE_TRAP_SYS_GUID_CHG cpu_to_be16(145)
|
||||
#define IB_NOTICE_TRAP_BAD_MKEY cpu_to_be16(256)
|
||||
#define IB_NOTICE_TRAP_BAD_PKEY cpu_to_be16(257)
|
||||
#define IB_NOTICE_TRAP_BAD_QKEY cpu_to_be16(258)
|
||||
|
||||
/*
|
||||
* Repress trap/notice flags
|
||||
*/
|
||||
#define IB_NOTICE_REPRESS_LLI_THRESH (1 << 0)
|
||||
#define IB_NOTICE_REPRESS_EBO_THRESH (1 << 1)
|
||||
#define IB_NOTICE_REPRESS_FLOW_UPDATE (1 << 2)
|
||||
#define IB_NOTICE_REPRESS_CAP_MASK_CHG (1 << 3)
|
||||
#define IB_NOTICE_REPRESS_SYS_GUID_CHG (1 << 4)
|
||||
#define IB_NOTICE_REPRESS_BAD_MKEY (1 << 5)
|
||||
#define IB_NOTICE_REPRESS_BAD_PKEY (1 << 6)
|
||||
#define IB_NOTICE_REPRESS_BAD_QKEY (1 << 7)
|
||||
|
||||
/*
|
||||
* Generic trap/notice other local changes flags (trap 144).
|
||||
*/
|
||||
#define IB_NOTICE_TRAP_LSE_CHG 0x04 /* Link Speed Enable changed */
|
||||
#define IB_NOTICE_TRAP_LWE_CHG 0x02 /* Link Width Enable changed */
|
||||
#define IB_NOTICE_TRAP_NODE_DESC_CHG 0x01
|
||||
|
||||
/*
|
||||
* Generic trap/notice M_Key volation flags in dr_trunc_hop (trap 256).
|
||||
*/
|
||||
#define IB_NOTICE_TRAP_DR_NOTICE 0x80
|
||||
#define IB_NOTICE_TRAP_DR_TRUNC 0x40
|
||||
|
||||
enum {
|
||||
IB_MGMT_MAD_HDR = 24,
|
||||
IB_MGMT_MAD_DATA = 232,
|
||||
@@ -240,6 +294,90 @@ struct ib_class_port_info {
|
||||
__be32 trap_qkey;
|
||||
};
|
||||
|
||||
struct ib_node_info {
|
||||
u8 base_version;
|
||||
u8 class_version;
|
||||
u8 node_type;
|
||||
u8 num_ports;
|
||||
__be64 sys_guid;
|
||||
__be64 node_guid;
|
||||
__be64 port_guid;
|
||||
__be16 partition_cap;
|
||||
__be16 device_id;
|
||||
__be32 revision;
|
||||
u8 local_port_num;
|
||||
u8 vendor_id[3];
|
||||
} __packed;
|
||||
|
||||
struct ib_mad_notice_attr {
|
||||
u8 generic_type;
|
||||
u8 prod_type_msb;
|
||||
__be16 prod_type_lsb;
|
||||
__be16 trap_num;
|
||||
__be16 issuer_lid;
|
||||
__be16 toggle_count;
|
||||
|
||||
union {
|
||||
struct {
|
||||
u8 details[54];
|
||||
} raw_data;
|
||||
|
||||
struct {
|
||||
__be16 reserved;
|
||||
__be16 lid; /* where violation happened */
|
||||
u8 port_num; /* where violation happened */
|
||||
} __packed ntc_129_131;
|
||||
|
||||
struct {
|
||||
__be16 reserved;
|
||||
__be16 lid; /* LID where change occurred */
|
||||
u8 reserved2;
|
||||
u8 local_changes; /* low bit - local changes */
|
||||
__be32 new_cap_mask; /* new capability mask */
|
||||
u8 reserved3;
|
||||
u8 change_flags; /* low 3 bits only */
|
||||
} __packed ntc_144;
|
||||
|
||||
struct {
|
||||
__be16 reserved;
|
||||
__be16 lid; /* lid where sys guid changed */
|
||||
__be16 reserved2;
|
||||
__be64 new_sys_guid;
|
||||
} __packed ntc_145;
|
||||
|
||||
struct {
|
||||
__be16 reserved;
|
||||
__be16 lid;
|
||||
__be16 dr_slid;
|
||||
u8 method;
|
||||
u8 reserved2;
|
||||
__be16 attr_id;
|
||||
__be32 attr_mod;
|
||||
__be64 mkey;
|
||||
u8 reserved3;
|
||||
u8 dr_trunc_hop;
|
||||
u8 dr_rtn_path[30];
|
||||
} __packed ntc_256;
|
||||
|
||||
struct {
|
||||
__be16 reserved;
|
||||
__be16 lid1;
|
||||
__be16 lid2;
|
||||
__be32 key;
|
||||
__be32 sl_qp1; /* SL: high 4 bits */
|
||||
__be32 qp2; /* high 8 bits reserved */
|
||||
union ib_gid gid1;
|
||||
union ib_gid gid2;
|
||||
} __packed ntc_257_258;
|
||||
|
||||
} details;
|
||||
};
|
||||
|
||||
struct ib_vl_weight_elem {
|
||||
u8 vl; /* VL is low 5 bits, upper 3 bits reserved */
|
||||
u8 weight;
|
||||
};
|
||||
|
||||
/**
|
||||
* ib_mad_send_buf - MAD data buffer and work request for sends.
|
||||
* @next: A pointer used to chain together MADs for posting.
|
||||
|
Reference in New Issue
Block a user