diff options
author | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-10-11 22:43:13 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-10-11 22:43:13 -0400 |
commit | ce9d3c9a6a9aef61525be07fe6ba27d937236aa2 (patch) | |
tree | 1b29bcb8f60fc6b59fa0d7b833cc733b8ebe17c9 /include/linux | |
parent | 038a5008b2f395c85e6e71d6ddf3c684e7c405b0 (diff) | |
parent | 3d73c2884f45f9a297cbc956cea101405a9703f2 (diff) |
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband: (87 commits)
mlx4_core: Fix section mismatches
IPoIB: Allow setting policy to ignore multicast groups
IB/mthca: Mark error paths as unlikely() in post_srq_recv functions
IB/ipath: Minor fix to ordering of freeing and zeroing of tid pages.
IB/ipath: Remove redundant link state checks
IB/ipath: Fix IB_EVENT_PORT_ERR event
IB/ipath: Better handling of unexpected GPIO interrupts
IB/ipath: Maintain active time on all chips
IB/ipath: Fix QHT7040 serial number check
IB/ipath: Indicate a couple of chip bugs to userspace
IB/ipath: iba6110 rev4 no longer needs recv header overrun workaround
IB/ipath: Use counters in ipath_poll and cleanup interrupts in ipath_close
IB/ipath: Remove duplicate copy of LMC
IB/ipath: Add ability to set the LMC via the sysfs debugging interface
IB/ipath: Optimize completion queue entry insertion and polling
IB/ipath: Implement IB_EVENT_QP_LAST_WQE_REACHED
IB/ipath: Generate flush CQE when QP is in error state
IB/ipath: Remove redundant code
IB/ipath: Future proof eeprom checksum code (contents reading)
IB/ipath: UC RDMA WRITE with IMMEDIATE doesn't send the immediate
...
Diffstat (limited to 'include/linux')
-rw-r--r-- | include/linux/mlx4/device.h | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/include/linux/mlx4/device.h b/include/linux/mlx4/device.h index cfb78fb2c046..222815d91c40 100644 --- a/include/linux/mlx4/device.h +++ b/include/linux/mlx4/device.h | |||
@@ -49,6 +49,10 @@ enum { | |||
49 | }; | 49 | }; |
50 | 50 | ||
51 | enum { | 51 | enum { |
52 | MLX4_BOARD_ID_LEN = 64 | ||
53 | }; | ||
54 | |||
55 | enum { | ||
52 | MLX4_DEV_CAP_FLAG_RC = 1 << 0, | 56 | MLX4_DEV_CAP_FLAG_RC = 1 << 0, |
53 | MLX4_DEV_CAP_FLAG_UC = 1 << 1, | 57 | MLX4_DEV_CAP_FLAG_UC = 1 << 1, |
54 | MLX4_DEV_CAP_FLAG_UD = 1 << 2, | 58 | MLX4_DEV_CAP_FLAG_UD = 1 << 2, |
@@ -210,6 +214,17 @@ struct mlx4_mr { | |||
210 | int enabled; | 214 | int enabled; |
211 | }; | 215 | }; |
212 | 216 | ||
217 | struct mlx4_fmr { | ||
218 | struct mlx4_mr mr; | ||
219 | struct mlx4_mpt_entry *mpt; | ||
220 | __be64 *mtts; | ||
221 | dma_addr_t dma_handle; | ||
222 | int max_pages; | ||
223 | int max_maps; | ||
224 | int maps; | ||
225 | u8 page_shift; | ||
226 | }; | ||
227 | |||
213 | struct mlx4_uar { | 228 | struct mlx4_uar { |
214 | unsigned long pfn; | 229 | unsigned long pfn; |
215 | int index; | 230 | int index; |
@@ -272,6 +287,8 @@ struct mlx4_dev { | |||
272 | unsigned long flags; | 287 | unsigned long flags; |
273 | struct mlx4_caps caps; | 288 | struct mlx4_caps caps; |
274 | struct radix_tree_root qp_table_tree; | 289 | struct radix_tree_root qp_table_tree; |
290 | u32 rev_id; | ||
291 | char board_id[MLX4_BOARD_ID_LEN]; | ||
275 | }; | 292 | }; |
276 | 293 | ||
277 | struct mlx4_init_port_param { | 294 | struct mlx4_init_port_param { |
@@ -331,4 +348,14 @@ int mlx4_CLOSE_PORT(struct mlx4_dev *dev, int port); | |||
331 | int mlx4_multicast_attach(struct mlx4_dev *dev, struct mlx4_qp *qp, u8 gid[16]); | 348 | int mlx4_multicast_attach(struct mlx4_dev *dev, struct mlx4_qp *qp, u8 gid[16]); |
332 | int mlx4_multicast_detach(struct mlx4_dev *dev, struct mlx4_qp *qp, u8 gid[16]); | 349 | int mlx4_multicast_detach(struct mlx4_dev *dev, struct mlx4_qp *qp, u8 gid[16]); |
333 | 350 | ||
351 | int mlx4_map_phys_fmr(struct mlx4_dev *dev, struct mlx4_fmr *fmr, u64 *page_list, | ||
352 | int npages, u64 iova, u32 *lkey, u32 *rkey); | ||
353 | int mlx4_fmr_alloc(struct mlx4_dev *dev, u32 pd, u32 access, int max_pages, | ||
354 | int max_maps, u8 page_shift, struct mlx4_fmr *fmr); | ||
355 | int mlx4_fmr_enable(struct mlx4_dev *dev, struct mlx4_fmr *fmr); | ||
356 | void mlx4_fmr_unmap(struct mlx4_dev *dev, struct mlx4_fmr *fmr, | ||
357 | u32 *lkey, u32 *rkey); | ||
358 | int mlx4_fmr_free(struct mlx4_dev *dev, struct mlx4_fmr *fmr); | ||
359 | int mlx4_SYNC_TPT(struct mlx4_dev *dev); | ||
360 | |||
334 | #endif /* MLX4_DEVICE_H */ | 361 | #endif /* MLX4_DEVICE_H */ |