Commit 4ce3bf2f authored by Huy Nguyen's avatar Huy Nguyen Committed by David S. Miller

net/mlx5: Port module event hardware structures

Add hardware structures and constants definitions needed for module
events support.
Signed-off-by: default avatarHuy Nguyen <huyn@mellanox.com>
Signed-off-by: default avatarSaeed Mahameed <saeedm@mellanox.com>
Signed-off-by: default avatarLeon Romanovsky <leonro@mellanox.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 0ac3ea70
...@@ -277,6 +277,7 @@ enum mlx5_event { ...@@ -277,6 +277,7 @@ enum mlx5_event {
MLX5_EVENT_TYPE_INTERNAL_ERROR = 0x08, MLX5_EVENT_TYPE_INTERNAL_ERROR = 0x08,
MLX5_EVENT_TYPE_PORT_CHANGE = 0x09, MLX5_EVENT_TYPE_PORT_CHANGE = 0x09,
MLX5_EVENT_TYPE_GPIO_EVENT = 0x15, MLX5_EVENT_TYPE_GPIO_EVENT = 0x15,
MLX5_EVENT_TYPE_PORT_MODULE_EVENT = 0x16,
MLX5_EVENT_TYPE_REMOTE_CONFIG = 0x19, MLX5_EVENT_TYPE_REMOTE_CONFIG = 0x19,
MLX5_EVENT_TYPE_DB_BF_CONGESTION = 0x1a, MLX5_EVENT_TYPE_DB_BF_CONGESTION = 0x1a,
...@@ -552,6 +553,15 @@ struct mlx5_eqe_vport_change { ...@@ -552,6 +553,15 @@ struct mlx5_eqe_vport_change {
__be32 rsvd1[6]; __be32 rsvd1[6];
} __packed; } __packed;
struct mlx5_eqe_port_module {
u8 reserved_at_0[1];
u8 module;
u8 reserved_at_2[1];
u8 module_status;
u8 reserved_at_4[2];
u8 error_type;
} __packed;
union ev_data { union ev_data {
__be32 raw[7]; __be32 raw[7];
struct mlx5_eqe_cmd cmd; struct mlx5_eqe_cmd cmd;
...@@ -565,6 +575,7 @@ union ev_data { ...@@ -565,6 +575,7 @@ union ev_data {
struct mlx5_eqe_page_req req_pages; struct mlx5_eqe_page_req req_pages;
struct mlx5_eqe_page_fault page_fault; struct mlx5_eqe_page_fault page_fault;
struct mlx5_eqe_vport_change vport_change; struct mlx5_eqe_vport_change vport_change;
struct mlx5_eqe_port_module port_module;
} __packed; } __packed;
struct mlx5_eqe { struct mlx5_eqe {
......
...@@ -824,7 +824,8 @@ struct mlx5_ifc_cmd_hca_cap_bits { ...@@ -824,7 +824,8 @@ struct mlx5_ifc_cmd_hca_cap_bits {
u8 early_vf_enable[0x1]; u8 early_vf_enable[0x1];
u8 reserved_at_1a9[0x2]; u8 reserved_at_1a9[0x2];
u8 local_ca_ack_delay[0x5]; u8 local_ca_ack_delay[0x5];
u8 reserved_at_1af[0x2]; u8 port_module_event[0x1];
u8 reserved_at_1b0[0x1];
u8 ports_check[0x1]; u8 ports_check[0x1];
u8 reserved_at_1b2[0x1]; u8 reserved_at_1b2[0x1];
u8 disable_link_up[0x1]; u8 disable_link_up[0x1];
......
...@@ -94,6 +94,9 @@ enum mlx5e_link_mode { ...@@ -94,6 +94,9 @@ enum mlx5e_link_mode {
#define MLX5E_PROT_MASK(link_mode) (1 << link_mode) #define MLX5E_PROT_MASK(link_mode) (1 << link_mode)
#define PORT_MODULE_EVENT_MODULE_STATUS_MASK 0xF
#define PORT_MODULE_EVENT_ERROR_TYPE_MASK 0xF
int mlx5_set_port_caps(struct mlx5_core_dev *dev, u8 port_num, u32 caps); int mlx5_set_port_caps(struct mlx5_core_dev *dev, u8 port_num, u32 caps);
int mlx5_query_port_ptys(struct mlx5_core_dev *dev, u32 *ptys, int mlx5_query_port_ptys(struct mlx5_core_dev *dev, u32 *ptys,
int ptys_size, int proto_mask, u8 local_port); int ptys_size, int proto_mask, u8 local_port);
......
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