diff options
Diffstat (limited to 'include/linux/mlx5/device.h')
| -rw-r--r-- | include/linux/mlx5/device.h | 24 | 
1 files changed, 23 insertions, 1 deletions
| diff --git a/include/linux/mlx5/device.h b/include/linux/mlx5/device.h index b4c0457fbebd..8c4a820bd4c1 100644 --- a/include/linux/mlx5/device.h +++ b/include/linux/mlx5/device.h @@ -212,6 +212,13 @@ enum {  	MLX5_PFAULT_SUBTYPE_RDMA = 1,  }; +enum wqe_page_fault_type { +	MLX5_WQE_PF_TYPE_RMP = 0, +	MLX5_WQE_PF_TYPE_REQ_SEND_OR_WRITE = 1, +	MLX5_WQE_PF_TYPE_RESP = 2, +	MLX5_WQE_PF_TYPE_REQ_READ_OR_ATOMIC = 3, +}; +  enum {  	MLX5_PERM_LOCAL_READ	= 1 << 2,  	MLX5_PERM_LOCAL_WRITE	= 1 << 3, @@ -294,9 +301,15 @@ enum {  	MLX5_EVENT_QUEUE_TYPE_DCT = 6,  }; +/* mlx5 components can subscribe to any one of these events via + * mlx5_eq_notifier_register API. + */  enum mlx5_event { +	/* Special value to subscribe to any event */ +	MLX5_EVENT_TYPE_NOTIFY_ANY	   = 0x0, +	/* HW events enum start: comp events are not subscribable */  	MLX5_EVENT_TYPE_COMP		   = 0x0, - +	/* HW Async events enum start: subscribable events */  	MLX5_EVENT_TYPE_PATH_MIG	   = 0x01,  	MLX5_EVENT_TYPE_COMM_EST	   = 0x02,  	MLX5_EVENT_TYPE_SQ_DRAINED	   = 0x03, @@ -317,6 +330,7 @@ enum mlx5_event {  	MLX5_EVENT_TYPE_TEMP_WARN_EVENT    = 0x17,  	MLX5_EVENT_TYPE_REMOTE_CONFIG	   = 0x19,  	MLX5_EVENT_TYPE_GENERAL_EVENT	   = 0x22, +	MLX5_EVENT_TYPE_MONITOR_COUNTER    = 0x24,  	MLX5_EVENT_TYPE_PPS_EVENT          = 0x25,  	MLX5_EVENT_TYPE_DB_BF_CONGESTION   = 0x1a, @@ -334,6 +348,8 @@ enum mlx5_event {  	MLX5_EVENT_TYPE_FPGA_QP_ERROR      = 0x21,  	MLX5_EVENT_TYPE_DEVICE_TRACER      = 0x26, + +	MLX5_EVENT_TYPE_MAX                = MLX5_EVENT_TYPE_DEVICE_TRACER + 1,  };  enum { @@ -405,6 +421,7 @@ enum {  	MLX5_OPCODE_ATOMIC_MASKED_FA	= 0x15,  	MLX5_OPCODE_BIND_MW		= 0x18,  	MLX5_OPCODE_CONFIG_CMD		= 0x1f, +	MLX5_OPCODE_ENHANCED_MPSW	= 0x29,  	MLX5_RECV_OPCODE_RDMA_WRITE_IMM	= 0x00,  	MLX5_RECV_OPCODE_SEND		= 0x01, @@ -766,6 +783,11 @@ static inline u8 mlx5_get_cqe_format(struct mlx5_cqe64 *cqe)  	return (cqe->op_own >> 2) & 0x3;  } +static inline u8 get_cqe_opcode(struct mlx5_cqe64 *cqe) +{ +	return cqe->op_own >> 4; +} +  static inline u8 get_cqe_lro_tcppsh(struct mlx5_cqe64 *cqe)  {  	return (cqe->lro_tcppsh_abort_dupack >> 6) & 1; | 
