diff options
Diffstat (limited to 'include/linux/mlx5/driver.h')
-rw-r--r-- | include/linux/mlx5/driver.h | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/include/linux/mlx5/driver.h b/include/linux/mlx5/driver.h index b1bf41556b32..166d9315fe4b 100644 --- a/include/linux/mlx5/driver.h +++ b/include/linux/mlx5/driver.h | |||
@@ -113,6 +113,13 @@ enum { | |||
113 | MLX5_REG_HOST_ENDIANNESS = 0x7004, | 113 | MLX5_REG_HOST_ENDIANNESS = 0x7004, |
114 | }; | 114 | }; |
115 | 115 | ||
116 | enum mlx5_page_fault_resume_flags { | ||
117 | MLX5_PAGE_FAULT_RESUME_REQUESTOR = 1 << 0, | ||
118 | MLX5_PAGE_FAULT_RESUME_WRITE = 1 << 1, | ||
119 | MLX5_PAGE_FAULT_RESUME_RDMA = 1 << 2, | ||
120 | MLX5_PAGE_FAULT_RESUME_ERROR = 1 << 7, | ||
121 | }; | ||
122 | |||
116 | enum dbg_rsc_type { | 123 | enum dbg_rsc_type { |
117 | MLX5_DBG_RSC_QP, | 124 | MLX5_DBG_RSC_QP, |
118 | MLX5_DBG_RSC_EQ, | 125 | MLX5_DBG_RSC_EQ, |
@@ -467,7 +474,7 @@ struct mlx5_priv { | |||
467 | struct workqueue_struct *pg_wq; | 474 | struct workqueue_struct *pg_wq; |
468 | struct rb_root page_root; | 475 | struct rb_root page_root; |
469 | int fw_pages; | 476 | int fw_pages; |
470 | int reg_pages; | 477 | atomic_t reg_pages; |
471 | struct list_head free_list; | 478 | struct list_head free_list; |
472 | 479 | ||
473 | struct mlx5_core_health health; | 480 | struct mlx5_core_health health; |
@@ -703,6 +710,9 @@ void mlx5_eq_cleanup(struct mlx5_core_dev *dev); | |||
703 | void mlx5_fill_page_array(struct mlx5_buf *buf, __be64 *pas); | 710 | void mlx5_fill_page_array(struct mlx5_buf *buf, __be64 *pas); |
704 | void mlx5_cq_completion(struct mlx5_core_dev *dev, u32 cqn); | 711 | void mlx5_cq_completion(struct mlx5_core_dev *dev, u32 cqn); |
705 | void mlx5_rsc_event(struct mlx5_core_dev *dev, u32 rsn, int event_type); | 712 | void mlx5_rsc_event(struct mlx5_core_dev *dev, u32 rsn, int event_type); |
713 | #ifdef CONFIG_INFINIBAND_ON_DEMAND_PAGING | ||
714 | void mlx5_eq_pagefault(struct mlx5_core_dev *dev, struct mlx5_eqe *eqe); | ||
715 | #endif | ||
706 | void mlx5_srq_event(struct mlx5_core_dev *dev, u32 srqn, int event_type); | 716 | void mlx5_srq_event(struct mlx5_core_dev *dev, u32 srqn, int event_type); |
707 | struct mlx5_core_srq *mlx5_core_get_srq(struct mlx5_core_dev *dev, u32 srqn); | 717 | struct mlx5_core_srq *mlx5_core_get_srq(struct mlx5_core_dev *dev, u32 srqn); |
708 | void mlx5_cmd_comp_handler(struct mlx5_core_dev *dev, unsigned long vector); | 718 | void mlx5_cmd_comp_handler(struct mlx5_core_dev *dev, unsigned long vector); |
@@ -740,6 +750,8 @@ int mlx5_core_create_psv(struct mlx5_core_dev *dev, u32 pdn, | |||
740 | int npsvs, u32 *sig_index); | 750 | int npsvs, u32 *sig_index); |
741 | int mlx5_core_destroy_psv(struct mlx5_core_dev *dev, int psv_num); | 751 | int mlx5_core_destroy_psv(struct mlx5_core_dev *dev, int psv_num); |
742 | void mlx5_core_put_rsc(struct mlx5_core_rsc_common *common); | 752 | void mlx5_core_put_rsc(struct mlx5_core_rsc_common *common); |
753 | int mlx5_query_odp_caps(struct mlx5_core_dev *dev, | ||
754 | struct mlx5_odp_caps *odp_caps); | ||
743 | 755 | ||
744 | static inline u32 mlx5_mkey_to_idx(u32 mkey) | 756 | static inline u32 mlx5_mkey_to_idx(u32 mkey) |
745 | { | 757 | { |