diff options
| author | Johannes Berg <johannes.berg@intel.com> | 2013-12-16 05:23:45 -0500 |
|---|---|---|
| committer | Johannes Berg <johannes.berg@intel.com> | 2013-12-16 05:23:45 -0500 |
| commit | c4de673b775e4db48cd2db6277e0c6714332ca0c (patch) | |
| tree | 84f9e4728e6ccf257236d2ba063b6e784ec8b65d /include/linux/mlx5 | |
| parent | bafdc614a1f4f8be8cde41b8ab10ac17e67c1837 (diff) | |
| parent | 55957fb7a0b61d8ab6ff3f04e279b8fc22b738fa (diff) | |
Merge remote-tracking branch 'wireless-next/master' into mac80211-next
Diffstat (limited to 'include/linux/mlx5')
| -rw-r--r-- | include/linux/mlx5/device.h | 17 | ||||
| -rw-r--r-- | include/linux/mlx5/driver.h | 24 |
2 files changed, 31 insertions, 10 deletions
diff --git a/include/linux/mlx5/device.h b/include/linux/mlx5/device.h index 68029b30c3dc..da78875807fc 100644 --- a/include/linux/mlx5/device.h +++ b/include/linux/mlx5/device.h | |||
| @@ -181,7 +181,7 @@ enum { | |||
| 181 | MLX5_DEV_CAP_FLAG_TLP_HINTS = 1LL << 39, | 181 | MLX5_DEV_CAP_FLAG_TLP_HINTS = 1LL << 39, |
| 182 | MLX5_DEV_CAP_FLAG_SIG_HAND_OVER = 1LL << 40, | 182 | MLX5_DEV_CAP_FLAG_SIG_HAND_OVER = 1LL << 40, |
| 183 | MLX5_DEV_CAP_FLAG_DCT = 1LL << 41, | 183 | MLX5_DEV_CAP_FLAG_DCT = 1LL << 41, |
| 184 | MLX5_DEV_CAP_FLAG_CMDIF_CSUM = 1LL << 46, | 184 | MLX5_DEV_CAP_FLAG_CMDIF_CSUM = 3LL << 46, |
| 185 | }; | 185 | }; |
| 186 | 186 | ||
| 187 | enum { | 187 | enum { |
| @@ -230,6 +230,15 @@ enum { | |||
| 230 | MLX5_MAX_PAGE_SHIFT = 31 | 230 | MLX5_MAX_PAGE_SHIFT = 31 |
| 231 | }; | 231 | }; |
| 232 | 232 | ||
| 233 | enum { | ||
| 234 | MLX5_ADAPTER_PAGE_SHIFT = 12 | ||
| 235 | }; | ||
| 236 | |||
| 237 | enum { | ||
| 238 | MLX5_CAP_OFF_DCT = 41, | ||
| 239 | MLX5_CAP_OFF_CMDIF_CSUM = 46, | ||
| 240 | }; | ||
| 241 | |||
| 233 | struct mlx5_inbox_hdr { | 242 | struct mlx5_inbox_hdr { |
| 234 | __be16 opcode; | 243 | __be16 opcode; |
| 235 | u8 rsvd[4]; | 244 | u8 rsvd[4]; |
| @@ -319,9 +328,9 @@ struct mlx5_hca_cap { | |||
| 319 | u8 rsvd25[42]; | 328 | u8 rsvd25[42]; |
| 320 | __be16 log_uar_page_sz; | 329 | __be16 log_uar_page_sz; |
| 321 | u8 rsvd26[28]; | 330 | u8 rsvd26[28]; |
| 322 | u8 log_msx_atomic_size_qp; | 331 | u8 log_max_atomic_size_qp; |
| 323 | u8 rsvd27[2]; | 332 | u8 rsvd27[2]; |
| 324 | u8 log_msx_atomic_size_dc; | 333 | u8 log_max_atomic_size_dc; |
| 325 | u8 rsvd28[76]; | 334 | u8 rsvd28[76]; |
| 326 | }; | 335 | }; |
| 327 | 336 | ||
| @@ -417,7 +426,7 @@ struct mlx5_init_seg { | |||
| 417 | struct health_buffer health; | 426 | struct health_buffer health; |
| 418 | __be32 rsvd2[884]; | 427 | __be32 rsvd2[884]; |
| 419 | __be32 health_counter; | 428 | __be32 health_counter; |
| 420 | __be32 rsvd3[1023]; | 429 | __be32 rsvd3[1019]; |
| 421 | __be64 ieee1588_clk; | 430 | __be64 ieee1588_clk; |
| 422 | __be32 ieee1588_clk_type; | 431 | __be32 ieee1588_clk_type; |
| 423 | __be32 clr_intx; | 432 | __be32 clr_intx; |
diff --git a/include/linux/mlx5/driver.h b/include/linux/mlx5/driver.h index 8888381fc150..554548cd3dd4 100644 --- a/include/linux/mlx5/driver.h +++ b/include/linux/mlx5/driver.h | |||
| @@ -82,7 +82,7 @@ enum { | |||
| 82 | }; | 82 | }; |
| 83 | 83 | ||
| 84 | enum { | 84 | enum { |
| 85 | MLX5_MAX_EQ_NAME = 20 | 85 | MLX5_MAX_EQ_NAME = 32 |
| 86 | }; | 86 | }; |
| 87 | 87 | ||
| 88 | enum { | 88 | enum { |
| @@ -483,6 +483,7 @@ struct mlx5_priv { | |||
| 483 | struct rb_root page_root; | 483 | struct rb_root page_root; |
| 484 | int fw_pages; | 484 | int fw_pages; |
| 485 | int reg_pages; | 485 | int reg_pages; |
| 486 | struct list_head free_list; | ||
| 486 | 487 | ||
| 487 | struct mlx5_core_health health; | 488 | struct mlx5_core_health health; |
| 488 | 489 | ||
| @@ -557,9 +558,11 @@ typedef void (*mlx5_cmd_cbk_t)(int status, void *context); | |||
| 557 | struct mlx5_cmd_work_ent { | 558 | struct mlx5_cmd_work_ent { |
| 558 | struct mlx5_cmd_msg *in; | 559 | struct mlx5_cmd_msg *in; |
| 559 | struct mlx5_cmd_msg *out; | 560 | struct mlx5_cmd_msg *out; |
| 561 | void *uout; | ||
| 562 | int uout_size; | ||
| 560 | mlx5_cmd_cbk_t callback; | 563 | mlx5_cmd_cbk_t callback; |
| 561 | void *context; | 564 | void *context; |
| 562 | int idx; | 565 | int idx; |
| 563 | struct completion done; | 566 | struct completion done; |
| 564 | struct mlx5_cmd *cmd; | 567 | struct mlx5_cmd *cmd; |
| 565 | struct work_struct work; | 568 | struct work_struct work; |
| @@ -570,6 +573,7 @@ struct mlx5_cmd_work_ent { | |||
| 570 | u8 token; | 573 | u8 token; |
| 571 | struct timespec ts1; | 574 | struct timespec ts1; |
| 572 | struct timespec ts2; | 575 | struct timespec ts2; |
| 576 | u16 op; | ||
| 573 | }; | 577 | }; |
| 574 | 578 | ||
| 575 | struct mlx5_pas { | 579 | struct mlx5_pas { |
| @@ -653,6 +657,9 @@ void mlx5_cmd_use_polling(struct mlx5_core_dev *dev); | |||
| 653 | int mlx5_cmd_status_to_err(struct mlx5_outbox_hdr *hdr); | 657 | int mlx5_cmd_status_to_err(struct mlx5_outbox_hdr *hdr); |
| 654 | int mlx5_cmd_exec(struct mlx5_core_dev *dev, void *in, int in_size, void *out, | 658 | int mlx5_cmd_exec(struct mlx5_core_dev *dev, void *in, int in_size, void *out, |
| 655 | int out_size); | 659 | int out_size); |
| 660 | int mlx5_cmd_exec_cb(struct mlx5_core_dev *dev, void *in, int in_size, | ||
| 661 | void *out, int out_size, mlx5_cmd_cbk_t callback, | ||
| 662 | void *context); | ||
| 656 | int mlx5_cmd_alloc_uar(struct mlx5_core_dev *dev, u32 *uarn); | 663 | int mlx5_cmd_alloc_uar(struct mlx5_core_dev *dev, u32 *uarn); |
| 657 | int mlx5_cmd_free_uar(struct mlx5_core_dev *dev, u32 uarn); | 664 | int mlx5_cmd_free_uar(struct mlx5_core_dev *dev, u32 uarn); |
| 658 | int mlx5_alloc_uuars(struct mlx5_core_dev *dev, struct mlx5_uuar_info *uuari); | 665 | int mlx5_alloc_uuars(struct mlx5_core_dev *dev, struct mlx5_uuar_info *uuari); |
| @@ -676,7 +683,9 @@ int mlx5_core_query_srq(struct mlx5_core_dev *dev, struct mlx5_core_srq *srq, | |||
| 676 | int mlx5_core_arm_srq(struct mlx5_core_dev *dev, struct mlx5_core_srq *srq, | 683 | int mlx5_core_arm_srq(struct mlx5_core_dev *dev, struct mlx5_core_srq *srq, |
| 677 | u16 lwm, int is_srq); | 684 | u16 lwm, int is_srq); |
| 678 | int mlx5_core_create_mkey(struct mlx5_core_dev *dev, struct mlx5_core_mr *mr, | 685 | int mlx5_core_create_mkey(struct mlx5_core_dev *dev, struct mlx5_core_mr *mr, |
| 679 | struct mlx5_create_mkey_mbox_in *in, int inlen); | 686 | struct mlx5_create_mkey_mbox_in *in, int inlen, |
| 687 | mlx5_cmd_cbk_t callback, void *context, | ||
| 688 | struct mlx5_create_mkey_mbox_out *out); | ||
| 680 | int mlx5_core_destroy_mkey(struct mlx5_core_dev *dev, struct mlx5_core_mr *mr); | 689 | int mlx5_core_destroy_mkey(struct mlx5_core_dev *dev, struct mlx5_core_mr *mr); |
| 681 | int mlx5_core_query_mkey(struct mlx5_core_dev *dev, struct mlx5_core_mr *mr, | 690 | int mlx5_core_query_mkey(struct mlx5_core_dev *dev, struct mlx5_core_mr *mr, |
| 682 | struct mlx5_query_mkey_mbox_out *out, int outlen); | 691 | struct mlx5_query_mkey_mbox_out *out, int outlen); |
| @@ -745,10 +754,14 @@ static inline u32 mlx5_idx_to_mkey(u32 mkey_idx) | |||
| 745 | return mkey_idx << 8; | 754 | return mkey_idx << 8; |
| 746 | } | 755 | } |
| 747 | 756 | ||
| 757 | static inline u8 mlx5_mkey_variant(u32 mkey) | ||
| 758 | { | ||
| 759 | return mkey & 0xff; | ||
| 760 | } | ||
| 761 | |||
| 748 | enum { | 762 | enum { |
| 749 | MLX5_PROF_MASK_QP_SIZE = (u64)1 << 0, | 763 | MLX5_PROF_MASK_QP_SIZE = (u64)1 << 0, |
| 750 | MLX5_PROF_MASK_CMDIF_CSUM = (u64)1 << 1, | 764 | MLX5_PROF_MASK_MR_CACHE = (u64)1 << 1, |
| 751 | MLX5_PROF_MASK_MR_CACHE = (u64)1 << 2, | ||
| 752 | }; | 765 | }; |
| 753 | 766 | ||
| 754 | enum { | 767 | enum { |
| @@ -758,7 +771,6 @@ enum { | |||
| 758 | struct mlx5_profile { | 771 | struct mlx5_profile { |
| 759 | u64 mask; | 772 | u64 mask; |
| 760 | u32 log_max_qp; | 773 | u32 log_max_qp; |
| 761 | int cmdif_csum; | ||
| 762 | struct { | 774 | struct { |
| 763 | int size; | 775 | int size; |
| 764 | int limit; | 776 | int limit; |
