diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/mlx5/cq.h | 1 | ||||
-rw-r--r-- | include/linux/mlx5/device.h | 18 | ||||
-rw-r--r-- | include/linux/mlx5/driver.h | 4 | ||||
-rw-r--r-- | include/linux/mlx5/qp.h | 5 |
4 files changed, 28 insertions, 0 deletions
diff --git a/include/linux/mlx5/cq.h b/include/linux/mlx5/cq.h index 2202c7f72b75..f6b17ac601bd 100644 --- a/include/linux/mlx5/cq.h +++ b/include/linux/mlx5/cq.h | |||
@@ -80,6 +80,7 @@ enum { | |||
80 | MLX5_CQE_RESP_SEND_IMM = 3, | 80 | MLX5_CQE_RESP_SEND_IMM = 3, |
81 | MLX5_CQE_RESP_SEND_INV = 4, | 81 | MLX5_CQE_RESP_SEND_INV = 4, |
82 | MLX5_CQE_RESIZE_CQ = 5, | 82 | MLX5_CQE_RESIZE_CQ = 5, |
83 | MLX5_CQE_SIG_ERR = 12, | ||
83 | MLX5_CQE_REQ_ERR = 13, | 84 | MLX5_CQE_REQ_ERR = 13, |
84 | MLX5_CQE_RESP_ERR = 14, | 85 | MLX5_CQE_RESP_ERR = 14, |
85 | MLX5_CQE_INVALID = 15, | 86 | MLX5_CQE_INVALID = 15, |
diff --git a/include/linux/mlx5/device.h b/include/linux/mlx5/device.h index f714fc427765..407bdb67fd4f 100644 --- a/include/linux/mlx5/device.h +++ b/include/linux/mlx5/device.h | |||
@@ -118,6 +118,7 @@ enum { | |||
118 | MLX5_MKEY_MASK_START_ADDR = 1ull << 6, | 118 | MLX5_MKEY_MASK_START_ADDR = 1ull << 6, |
119 | MLX5_MKEY_MASK_PD = 1ull << 7, | 119 | MLX5_MKEY_MASK_PD = 1ull << 7, |
120 | MLX5_MKEY_MASK_EN_RINVAL = 1ull << 8, | 120 | MLX5_MKEY_MASK_EN_RINVAL = 1ull << 8, |
121 | MLX5_MKEY_MASK_EN_SIGERR = 1ull << 9, | ||
121 | MLX5_MKEY_MASK_BSF_EN = 1ull << 12, | 122 | MLX5_MKEY_MASK_BSF_EN = 1ull << 12, |
122 | MLX5_MKEY_MASK_KEY = 1ull << 13, | 123 | MLX5_MKEY_MASK_KEY = 1ull << 13, |
123 | MLX5_MKEY_MASK_QPN = 1ull << 14, | 124 | MLX5_MKEY_MASK_QPN = 1ull << 14, |
@@ -557,6 +558,23 @@ struct mlx5_cqe64 { | |||
557 | u8 op_own; | 558 | u8 op_own; |
558 | }; | 559 | }; |
559 | 560 | ||
561 | struct mlx5_sig_err_cqe { | ||
562 | u8 rsvd0[16]; | ||
563 | __be32 expected_trans_sig; | ||
564 | __be32 actual_trans_sig; | ||
565 | __be32 expected_reftag; | ||
566 | __be32 actual_reftag; | ||
567 | __be16 syndrome; | ||
568 | u8 rsvd22[2]; | ||
569 | __be32 mkey; | ||
570 | __be64 err_offset; | ||
571 | u8 rsvd30[8]; | ||
572 | __be32 qpn; | ||
573 | u8 rsvd38[2]; | ||
574 | u8 signature; | ||
575 | u8 op_own; | ||
576 | }; | ||
577 | |||
560 | struct mlx5_wqe_srq_next_seg { | 578 | struct mlx5_wqe_srq_next_seg { |
561 | u8 rsvd0[2]; | 579 | u8 rsvd0[2]; |
562 | __be16 next_wqe_index; | 580 | __be16 next_wqe_index; |
diff --git a/include/linux/mlx5/driver.h b/include/linux/mlx5/driver.h index e562e01e59c7..93cef6313e72 100644 --- a/include/linux/mlx5/driver.h +++ b/include/linux/mlx5/driver.h | |||
@@ -416,6 +416,10 @@ struct mlx5_core_psv { | |||
416 | struct mlx5_core_sig_ctx { | 416 | struct mlx5_core_sig_ctx { |
417 | struct mlx5_core_psv psv_memory; | 417 | struct mlx5_core_psv psv_memory; |
418 | struct mlx5_core_psv psv_wire; | 418 | struct mlx5_core_psv psv_wire; |
419 | struct ib_sig_err err_item; | ||
420 | bool sig_status_checked; | ||
421 | bool sig_err_exists; | ||
422 | u32 sigerr_count; | ||
419 | }; | 423 | }; |
420 | 424 | ||
421 | struct mlx5_core_mr { | 425 | struct mlx5_core_mr { |
diff --git a/include/linux/mlx5/qp.h b/include/linux/mlx5/qp.h index 49af74f90ef9..f829ad80ff28 100644 --- a/include/linux/mlx5/qp.h +++ b/include/linux/mlx5/qp.h | |||
@@ -506,6 +506,11 @@ static inline struct mlx5_core_qp *__mlx5_qp_lookup(struct mlx5_core_dev *dev, u | |||
506 | return radix_tree_lookup(&dev->priv.qp_table.tree, qpn); | 506 | return radix_tree_lookup(&dev->priv.qp_table.tree, qpn); |
507 | } | 507 | } |
508 | 508 | ||
509 | static inline struct mlx5_core_mr *__mlx5_mr_lookup(struct mlx5_core_dev *dev, u32 key) | ||
510 | { | ||
511 | return radix_tree_lookup(&dev->priv.mr_table.tree, key); | ||
512 | } | ||
513 | |||
509 | int mlx5_core_create_qp(struct mlx5_core_dev *dev, | 514 | int mlx5_core_create_qp(struct mlx5_core_dev *dev, |
510 | struct mlx5_core_qp *qp, | 515 | struct mlx5_core_qp *qp, |
511 | struct mlx5_create_qp_mbox_in *in, | 516 | struct mlx5_create_qp_mbox_in *in, |