diff options
| author | Jason Gunthorpe <jgg@mellanox.com> | 2018-08-16 15:08:18 -0400 |
|---|---|---|
| committer | Jason Gunthorpe <jgg@mellanox.com> | 2018-08-16 15:12:00 -0400 |
| commit | 89982f7ccee2fcd8fea7936b81eec6defbf0f131 (patch) | |
| tree | fc553c8d008d24595ad7de0ea0f3b56f656da27c /include/linux/mlx5 | |
| parent | a1ceeca679dccc492235f0f629d9e9f7b3d51ca8 (diff) | |
| parent | 94710cac0ef4ee177a63b5227664b38c95bbf703 (diff) | |
Merge tag 'v4.18' into rdma.git for-next
Resolve merge conflicts from the -rc cycle against the rdma.git tree:
Conflicts:
drivers/infiniband/core/uverbs_cmd.c
- New ifs added to ib_uverbs_ex_create_flow in -rc and for-next
- Merge removal of file->ucontext in for-next with new code in -rc
drivers/infiniband/core/uverbs_main.c
- for-next removed code from ib_uverbs_write() that was modified
in for-rc
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
Diffstat (limited to 'include/linux/mlx5')
| -rw-r--r-- | include/linux/mlx5/driver.h | 18 | ||||
| -rw-r--r-- | include/linux/mlx5/eswitch.h | 2 | ||||
| -rw-r--r-- | include/linux/mlx5/mlx5_ifc.h | 2 |
3 files changed, 18 insertions, 4 deletions
diff --git a/include/linux/mlx5/driver.h b/include/linux/mlx5/driver.h index 96498ff6beb6..3723f6d4e2b7 100644 --- a/include/linux/mlx5/driver.h +++ b/include/linux/mlx5/driver.h | |||
| @@ -363,6 +363,7 @@ struct mlx5_frag_buf_ctrl { | |||
| 363 | struct mlx5_frag_buf frag_buf; | 363 | struct mlx5_frag_buf frag_buf; |
| 364 | u32 sz_m1; | 364 | u32 sz_m1; |
| 365 | u32 frag_sz_m1; | 365 | u32 frag_sz_m1; |
| 366 | u32 strides_offset; | ||
| 366 | u8 log_sz; | 367 | u8 log_sz; |
| 367 | u8 log_stride; | 368 | u8 log_stride; |
| 368 | u8 log_frag_strides; | 369 | u8 log_frag_strides; |
| @@ -988,14 +989,22 @@ static inline u32 mlx5_base_mkey(const u32 key) | |||
| 988 | return key & 0xffffff00u; | 989 | return key & 0xffffff00u; |
| 989 | } | 990 | } |
| 990 | 991 | ||
| 991 | static inline void mlx5_fill_fbc(u8 log_stride, u8 log_sz, | 992 | static inline void mlx5_fill_fbc_offset(u8 log_stride, u8 log_sz, |
| 992 | struct mlx5_frag_buf_ctrl *fbc) | 993 | u32 strides_offset, |
| 994 | struct mlx5_frag_buf_ctrl *fbc) | ||
| 993 | { | 995 | { |
| 994 | fbc->log_stride = log_stride; | 996 | fbc->log_stride = log_stride; |
| 995 | fbc->log_sz = log_sz; | 997 | fbc->log_sz = log_sz; |
| 996 | fbc->sz_m1 = (1 << fbc->log_sz) - 1; | 998 | fbc->sz_m1 = (1 << fbc->log_sz) - 1; |
| 997 | fbc->log_frag_strides = PAGE_SHIFT - fbc->log_stride; | 999 | fbc->log_frag_strides = PAGE_SHIFT - fbc->log_stride; |
| 998 | fbc->frag_sz_m1 = (1 << fbc->log_frag_strides) - 1; | 1000 | fbc->frag_sz_m1 = (1 << fbc->log_frag_strides) - 1; |
| 1001 | fbc->strides_offset = strides_offset; | ||
| 1002 | } | ||
| 1003 | |||
| 1004 | static inline void mlx5_fill_fbc(u8 log_stride, u8 log_sz, | ||
| 1005 | struct mlx5_frag_buf_ctrl *fbc) | ||
| 1006 | { | ||
| 1007 | mlx5_fill_fbc_offset(log_stride, log_sz, 0, fbc); | ||
| 999 | } | 1008 | } |
| 1000 | 1009 | ||
| 1001 | static inline void mlx5_core_init_cq_frag_buf(struct mlx5_frag_buf_ctrl *fbc, | 1010 | static inline void mlx5_core_init_cq_frag_buf(struct mlx5_frag_buf_ctrl *fbc, |
| @@ -1009,7 +1018,10 @@ static inline void mlx5_core_init_cq_frag_buf(struct mlx5_frag_buf_ctrl *fbc, | |||
| 1009 | static inline void *mlx5_frag_buf_get_wqe(struct mlx5_frag_buf_ctrl *fbc, | 1018 | static inline void *mlx5_frag_buf_get_wqe(struct mlx5_frag_buf_ctrl *fbc, |
| 1010 | u32 ix) | 1019 | u32 ix) |
| 1011 | { | 1020 | { |
| 1012 | unsigned int frag = (ix >> fbc->log_frag_strides); | 1021 | unsigned int frag; |
| 1022 | |||
| 1023 | ix += fbc->strides_offset; | ||
| 1024 | frag = ix >> fbc->log_frag_strides; | ||
| 1013 | 1025 | ||
| 1014 | return fbc->frag_buf.frags[frag].buf + | 1026 | return fbc->frag_buf.frags[frag].buf + |
| 1015 | ((fbc->frag_sz_m1 & ix) << fbc->log_stride); | 1027 | ((fbc->frag_sz_m1 & ix) << fbc->log_stride); |
diff --git a/include/linux/mlx5/eswitch.h b/include/linux/mlx5/eswitch.h index d3c9db492b30..fab5121ffb8f 100644 --- a/include/linux/mlx5/eswitch.h +++ b/include/linux/mlx5/eswitch.h | |||
| @@ -8,6 +8,8 @@ | |||
| 8 | 8 | ||
| 9 | #include <linux/mlx5/driver.h> | 9 | #include <linux/mlx5/driver.h> |
| 10 | 10 | ||
| 11 | #define MLX5_ESWITCH_MANAGER(mdev) MLX5_CAP_GEN(mdev, eswitch_manager) | ||
| 12 | |||
| 11 | enum { | 13 | enum { |
| 12 | SRIOV_NONE, | 14 | SRIOV_NONE, |
| 13 | SRIOV_LEGACY, | 15 | SRIOV_LEGACY, |
diff --git a/include/linux/mlx5/mlx5_ifc.h b/include/linux/mlx5/mlx5_ifc.h index 5e04e2053fd7..c2a5b480b156 100644 --- a/include/linux/mlx5/mlx5_ifc.h +++ b/include/linux/mlx5/mlx5_ifc.h | |||
| @@ -942,7 +942,7 @@ struct mlx5_ifc_cmd_hca_cap_bits { | |||
| 942 | u8 vnic_env_queue_counters[0x1]; | 942 | u8 vnic_env_queue_counters[0x1]; |
| 943 | u8 ets[0x1]; | 943 | u8 ets[0x1]; |
| 944 | u8 nic_flow_table[0x1]; | 944 | u8 nic_flow_table[0x1]; |
| 945 | u8 eswitch_flow_table[0x1]; | 945 | u8 eswitch_manager[0x1]; |
| 946 | u8 device_memory[0x1]; | 946 | u8 device_memory[0x1]; |
| 947 | u8 mcam_reg[0x1]; | 947 | u8 mcam_reg[0x1]; |
| 948 | u8 pcam_reg[0x1]; | 948 | u8 pcam_reg[0x1]; |
