diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2014-06-10 13:41:33 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2014-06-10 13:41:33 -0400 |
commit | 1d21b1bf53f81256002f93387ec80ca13e3c5a8f (patch) | |
tree | 4535c50194df875b261f879b09c2bb678f5e92f2 /include/linux/mlx4 | |
parent | 77c32bbbe0d0e963ba5723b8d1f6c42c5d56858b (diff) | |
parent | eeaddf3670d4974e17268ec78a576ad397e2dcd9 (diff) |
Merge tag 'rdma-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband
Pull main InfiniBand/RDMA updates from Roland Dreier:
- add iWARP port mapper to avoid conflicts between RDMA and normal
stack TCP connections.
- fixes for i386 / x86-64 structure padding differences (ABI
compatibility for 32-on-64) from Yann Droneaud.
- a pile of SRP initiator fixes from Bart Van Assche.
- fixes for a writeback / memory allocation deadlock with NFS over
IPoIB connected mode from Jiri Kosina.
- the usual fixes and cleanups to mlx4, mlx5, cxgb4 and other low-level
drivers.
* tag 'rdma-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband: (61 commits)
RDMA/cxgb4: Add support for iWARP Port Mapper user space service
RDMA/nes: Add support for iWARP Port Mapper user space service
RDMA/core: Add support for iWARP Port Mapper user space service
IB/mlx4: Fix gfp passing in create_qp_common()
IB/umad: Fix use-after-free on close
IB/core: Fix kobject leak on device register error flow
RDMA/cxgb4: add missing padding at end of struct c4iw_alloc_ucontext_resp
mlx4_core: Fix GFP flags parameters to be gfp_t
IB/core: Fix port kobject deletion during error flow
IB/core: Remove unneeded kobject_get/put calls
IB/core: Fix sparse warnings about redeclared functions
IB/mad: Fix sparse warning about gfp_t use
IB/mlx4: Implement IB_QP_CREATE_USE_GFP_NOIO
IB: Add a QP creation flag to use GFP_NOIO allocations
IB: Return error for unsupported QP creation flags
IB: Allow build of hw/ and ulp/ subdirectories independently
mlx4_core: Move handling of MLX4_QP_ST_MLX to proper switch statement
RDMA/cxgb4: Add missing padding at end of struct c4iw_create_cq_resp
IB/srp: Avoid problems if a header uses pr_fmt
IB/umad: Fix error handling
...
Diffstat (limited to 'include/linux/mlx4')
-rw-r--r-- | include/linux/mlx4/device.h | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/include/linux/mlx4/device.h b/include/linux/mlx4/device.h index ba87bd21295a..3447bead9620 100644 --- a/include/linux/mlx4/device.h +++ b/include/linux/mlx4/device.h | |||
@@ -401,6 +401,7 @@ struct mlx4_caps { | |||
401 | int max_rq_desc_sz; | 401 | int max_rq_desc_sz; |
402 | int max_qp_init_rdma; | 402 | int max_qp_init_rdma; |
403 | int max_qp_dest_rdma; | 403 | int max_qp_dest_rdma; |
404 | u32 *qp0_qkey; | ||
404 | u32 *qp0_proxy; | 405 | u32 *qp0_proxy; |
405 | u32 *qp1_proxy; | 406 | u32 *qp1_proxy; |
406 | u32 *qp0_tunnel; | 407 | u32 *qp0_tunnel; |
@@ -837,7 +838,7 @@ static inline int mlx4_is_slave(struct mlx4_dev *dev) | |||
837 | } | 838 | } |
838 | 839 | ||
839 | int mlx4_buf_alloc(struct mlx4_dev *dev, int size, int max_direct, | 840 | int mlx4_buf_alloc(struct mlx4_dev *dev, int size, int max_direct, |
840 | struct mlx4_buf *buf); | 841 | struct mlx4_buf *buf, gfp_t gfp); |
841 | void mlx4_buf_free(struct mlx4_dev *dev, int size, struct mlx4_buf *buf); | 842 | void mlx4_buf_free(struct mlx4_dev *dev, int size, struct mlx4_buf *buf); |
842 | static inline void *mlx4_buf_offset(struct mlx4_buf *buf, int offset) | 843 | static inline void *mlx4_buf_offset(struct mlx4_buf *buf, int offset) |
843 | { | 844 | { |
@@ -874,9 +875,10 @@ int mlx4_mw_enable(struct mlx4_dev *dev, struct mlx4_mw *mw); | |||
874 | int mlx4_write_mtt(struct mlx4_dev *dev, struct mlx4_mtt *mtt, | 875 | int mlx4_write_mtt(struct mlx4_dev *dev, struct mlx4_mtt *mtt, |
875 | int start_index, int npages, u64 *page_list); | 876 | int start_index, int npages, u64 *page_list); |
876 | int mlx4_buf_write_mtt(struct mlx4_dev *dev, struct mlx4_mtt *mtt, | 877 | int mlx4_buf_write_mtt(struct mlx4_dev *dev, struct mlx4_mtt *mtt, |
877 | struct mlx4_buf *buf); | 878 | struct mlx4_buf *buf, gfp_t gfp); |
878 | 879 | ||
879 | int mlx4_db_alloc(struct mlx4_dev *dev, struct mlx4_db *db, int order); | 880 | int mlx4_db_alloc(struct mlx4_dev *dev, struct mlx4_db *db, int order, |
881 | gfp_t gfp); | ||
880 | void mlx4_db_free(struct mlx4_dev *dev, struct mlx4_db *db); | 882 | void mlx4_db_free(struct mlx4_dev *dev, struct mlx4_db *db); |
881 | 883 | ||
882 | int mlx4_alloc_hwq_res(struct mlx4_dev *dev, struct mlx4_hwq_resources *wqres, | 884 | int mlx4_alloc_hwq_res(struct mlx4_dev *dev, struct mlx4_hwq_resources *wqres, |
@@ -892,7 +894,8 @@ void mlx4_cq_free(struct mlx4_dev *dev, struct mlx4_cq *cq); | |||
892 | int mlx4_qp_reserve_range(struct mlx4_dev *dev, int cnt, int align, int *base); | 894 | int mlx4_qp_reserve_range(struct mlx4_dev *dev, int cnt, int align, int *base); |
893 | void mlx4_qp_release_range(struct mlx4_dev *dev, int base_qpn, int cnt); | 895 | void mlx4_qp_release_range(struct mlx4_dev *dev, int base_qpn, int cnt); |
894 | 896 | ||
895 | int mlx4_qp_alloc(struct mlx4_dev *dev, int qpn, struct mlx4_qp *qp); | 897 | int mlx4_qp_alloc(struct mlx4_dev *dev, int qpn, struct mlx4_qp *qp, |
898 | gfp_t gfp); | ||
896 | void mlx4_qp_free(struct mlx4_dev *dev, struct mlx4_qp *qp); | 899 | void mlx4_qp_free(struct mlx4_dev *dev, struct mlx4_qp *qp); |
897 | 900 | ||
898 | int mlx4_srq_alloc(struct mlx4_dev *dev, u32 pdn, u32 cqn, u16 xrcdn, | 901 | int mlx4_srq_alloc(struct mlx4_dev *dev, u32 pdn, u32 cqn, u16 xrcdn, |
@@ -1234,4 +1237,8 @@ int mlx4_phys_to_slave_port(struct mlx4_dev *dev, int slave, int port); | |||
1234 | int mlx4_get_base_gid_ix(struct mlx4_dev *dev, int slave, int port); | 1237 | int mlx4_get_base_gid_ix(struct mlx4_dev *dev, int slave, int port); |
1235 | 1238 | ||
1236 | int mlx4_config_vxlan_port(struct mlx4_dev *dev, __be16 udp_port); | 1239 | int mlx4_config_vxlan_port(struct mlx4_dev *dev, __be16 udp_port); |
1240 | int mlx4_vf_smi_enabled(struct mlx4_dev *dev, int slave, int port); | ||
1241 | int mlx4_vf_get_enable_smi_admin(struct mlx4_dev *dev, int slave, int port); | ||
1242 | int mlx4_vf_set_enable_smi_admin(struct mlx4_dev *dev, int slave, int port, | ||
1243 | int enable); | ||
1237 | #endif /* MLX4_DEVICE_H */ | 1244 | #endif /* MLX4_DEVICE_H */ |