diff options
Diffstat (limited to 'include/linux')
| -rw-r--r-- | include/linux/qed/qed_roce_if.h | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/include/linux/qed/qed_roce_if.h b/include/linux/qed/qed_roce_if.h index 0f7d5275e515..b559b1c9e76d 100644 --- a/include/linux/qed/qed_roce_if.h +++ b/include/linux/qed/qed_roce_if.h | |||
| @@ -263,6 +263,19 @@ struct qed_rdma_register_tid_in_params { | |||
| 263 | u64 dif_runt_addr; | 263 | u64 dif_runt_addr; |
| 264 | }; | 264 | }; |
| 265 | 265 | ||
| 266 | struct qed_rdma_create_cq_in_params { | ||
| 267 | u32 cq_handle_lo; | ||
| 268 | u32 cq_handle_hi; | ||
| 269 | u32 cq_size; | ||
| 270 | u16 dpi; | ||
| 271 | bool pbl_two_level; | ||
| 272 | u64 pbl_ptr; | ||
| 273 | u16 pbl_num_pages; | ||
| 274 | u8 pbl_page_size_log; | ||
| 275 | u8 cnq_id; | ||
| 276 | u16 int_timeout; | ||
| 277 | }; | ||
| 278 | |||
| 266 | struct qed_rdma_create_srq_in_params { | 279 | struct qed_rdma_create_srq_in_params { |
| 267 | u64 pbl_base_addr; | 280 | u64 pbl_base_addr; |
| 268 | u64 prod_pair_addr; | 281 | u64 prod_pair_addr; |
| @@ -271,6 +284,14 @@ struct qed_rdma_create_srq_in_params { | |||
| 271 | u16 page_size; | 284 | u16 page_size; |
| 272 | }; | 285 | }; |
| 273 | 286 | ||
| 287 | struct qed_rdma_destroy_cq_in_params { | ||
| 288 | u16 icid; | ||
| 289 | }; | ||
| 290 | |||
| 291 | struct qed_rdma_destroy_cq_out_params { | ||
| 292 | u16 num_cq_notif; | ||
| 293 | }; | ||
| 294 | |||
| 274 | struct qed_rdma_create_srq_out_params { | 295 | struct qed_rdma_create_srq_out_params { |
| 275 | u16 srq_id; | 296 | u16 srq_id; |
| 276 | }; | 297 | }; |
| @@ -332,12 +353,21 @@ struct qed_rdma_ops { | |||
| 332 | void (*rdma_remove_user)(void *rdma_cxt, u16 dpi); | 353 | void (*rdma_remove_user)(void *rdma_cxt, u16 dpi); |
| 333 | int (*rdma_stop)(void *rdma_cxt); | 354 | int (*rdma_stop)(void *rdma_cxt); |
| 334 | struct qed_rdma_device* (*rdma_query_device)(void *rdma_cxt); | 355 | struct qed_rdma_device* (*rdma_query_device)(void *rdma_cxt); |
| 356 | struct qed_rdma_port* (*rdma_query_port)(void *rdma_cxt); | ||
| 335 | int (*rdma_get_start_sb)(struct qed_dev *cdev); | 357 | int (*rdma_get_start_sb)(struct qed_dev *cdev); |
| 336 | int (*rdma_get_min_cnq_msix)(struct qed_dev *cdev); | 358 | int (*rdma_get_min_cnq_msix)(struct qed_dev *cdev); |
| 337 | void (*rdma_cnq_prod_update)(void *rdma_cxt, u8 cnq_index, u16 prod); | 359 | void (*rdma_cnq_prod_update)(void *rdma_cxt, u8 cnq_index, u16 prod); |
| 338 | int (*rdma_get_rdma_int)(struct qed_dev *cdev, | 360 | int (*rdma_get_rdma_int)(struct qed_dev *cdev, |
| 339 | struct qed_int_info *info); | 361 | struct qed_int_info *info); |
| 340 | int (*rdma_set_rdma_int)(struct qed_dev *cdev, u16 cnt); | 362 | int (*rdma_set_rdma_int)(struct qed_dev *cdev, u16 cnt); |
| 363 | int (*rdma_alloc_pd)(void *rdma_cxt, u16 *pd); | ||
| 364 | void (*rdma_dealloc_pd)(void *rdma_cxt, u16 pd); | ||
| 365 | int (*rdma_create_cq)(void *rdma_cxt, | ||
| 366 | struct qed_rdma_create_cq_in_params *params, | ||
| 367 | u16 *icid); | ||
| 368 | int (*rdma_destroy_cq)(void *rdma_cxt, | ||
| 369 | struct qed_rdma_destroy_cq_in_params *iparams, | ||
| 370 | struct qed_rdma_destroy_cq_out_params *oparams); | ||
| 341 | }; | 371 | }; |
| 342 | 372 | ||
| 343 | const struct qed_rdma_ops *qed_get_rdma_ops(void); | 373 | const struct qed_rdma_ops *qed_get_rdma_ops(void); |
