diff options
author | Linus Torvalds <torvalds@g5.osdl.org> | 2005-10-28 19:47:34 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2005-10-28 19:47:34 -0400 |
commit | 89fbb69c4f285019ba5e029963dc11cc6beb078a (patch) | |
tree | d918cd1ba0ef9afa692cef281afee2f6d6634a1e /drivers/infiniband/hw/mthca/mthca_dev.h | |
parent | 7efe5d7c3e3a82e43b0f8fb29c6797317bce7a9a (diff) | |
parent | 4cce3390c998600f6648e075e475cf8f6dd8cebe (diff) |
Merge branch 'for-linus' of master.kernel.org:/pub/scm/linux/kernel/git/roland/infiniband
Diffstat (limited to 'drivers/infiniband/hw/mthca/mthca_dev.h')
-rw-r--r-- | drivers/infiniband/hw/mthca/mthca_dev.h | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/drivers/infiniband/hw/mthca/mthca_dev.h b/drivers/infiniband/hw/mthca/mthca_dev.h index 7bff5a8425f4..7e68bd4a3780 100644 --- a/drivers/infiniband/hw/mthca/mthca_dev.h +++ b/drivers/infiniband/hw/mthca/mthca_dev.h | |||
@@ -83,6 +83,8 @@ enum { | |||
83 | /* Arbel FW gives us these, but we need them for Tavor */ | 83 | /* Arbel FW gives us these, but we need them for Tavor */ |
84 | MTHCA_MPT_ENTRY_SIZE = 0x40, | 84 | MTHCA_MPT_ENTRY_SIZE = 0x40, |
85 | MTHCA_MTT_SEG_SIZE = 0x40, | 85 | MTHCA_MTT_SEG_SIZE = 0x40, |
86 | |||
87 | MTHCA_QP_PER_MGM = 4 * (MTHCA_MGM_ENTRY_SIZE / 16 - 2) | ||
86 | }; | 88 | }; |
87 | 89 | ||
88 | enum { | 90 | enum { |
@@ -128,12 +130,16 @@ struct mthca_limits { | |||
128 | int num_uars; | 130 | int num_uars; |
129 | int max_sg; | 131 | int max_sg; |
130 | int num_qps; | 132 | int num_qps; |
133 | int max_wqes; | ||
134 | int max_qp_init_rdma; | ||
131 | int reserved_qps; | 135 | int reserved_qps; |
132 | int num_srqs; | 136 | int num_srqs; |
137 | int max_srq_wqes; | ||
133 | int reserved_srqs; | 138 | int reserved_srqs; |
134 | int num_eecs; | 139 | int num_eecs; |
135 | int reserved_eecs; | 140 | int reserved_eecs; |
136 | int num_cqs; | 141 | int num_cqs; |
142 | int max_cqes; | ||
137 | int reserved_cqs; | 143 | int reserved_cqs; |
138 | int num_eqs; | 144 | int num_eqs; |
139 | int reserved_eqs; | 145 | int reserved_eqs; |
@@ -148,6 +154,7 @@ struct mthca_limits { | |||
148 | int reserved_mcgs; | 154 | int reserved_mcgs; |
149 | int num_pds; | 155 | int num_pds; |
150 | int reserved_pds; | 156 | int reserved_pds; |
157 | u32 flags; | ||
151 | u8 port_width_cap; | 158 | u8 port_width_cap; |
152 | }; | 159 | }; |
153 | 160 | ||
@@ -251,6 +258,14 @@ struct mthca_mcg_table { | |||
251 | struct mthca_icm_table *table; | 258 | struct mthca_icm_table *table; |
252 | }; | 259 | }; |
253 | 260 | ||
261 | struct mthca_catas_err { | ||
262 | u64 addr; | ||
263 | u32 __iomem *map; | ||
264 | unsigned long stop; | ||
265 | u32 size; | ||
266 | struct timer_list timer; | ||
267 | }; | ||
268 | |||
254 | struct mthca_dev { | 269 | struct mthca_dev { |
255 | struct ib_device ib_dev; | 270 | struct ib_device ib_dev; |
256 | struct pci_dev *pdev; | 271 | struct pci_dev *pdev; |
@@ -311,6 +326,8 @@ struct mthca_dev { | |||
311 | struct mthca_av_table av_table; | 326 | struct mthca_av_table av_table; |
312 | struct mthca_mcg_table mcg_table; | 327 | struct mthca_mcg_table mcg_table; |
313 | 328 | ||
329 | struct mthca_catas_err catas_err; | ||
330 | |||
314 | struct mthca_uar driver_uar; | 331 | struct mthca_uar driver_uar; |
315 | struct mthca_db_table *db_tab; | 332 | struct mthca_db_table *db_tab; |
316 | struct mthca_pd driver_pd; | 333 | struct mthca_pd driver_pd; |
@@ -398,6 +415,9 @@ void mthca_cleanup_mcg_table(struct mthca_dev *dev); | |||
398 | int mthca_register_device(struct mthca_dev *dev); | 415 | int mthca_register_device(struct mthca_dev *dev); |
399 | void mthca_unregister_device(struct mthca_dev *dev); | 416 | void mthca_unregister_device(struct mthca_dev *dev); |
400 | 417 | ||
418 | void mthca_start_catas_poll(struct mthca_dev *dev); | ||
419 | void mthca_stop_catas_poll(struct mthca_dev *dev); | ||
420 | |||
401 | int mthca_uar_alloc(struct mthca_dev *dev, struct mthca_uar *uar); | 421 | int mthca_uar_alloc(struct mthca_dev *dev, struct mthca_uar *uar); |
402 | void mthca_uar_free(struct mthca_dev *dev, struct mthca_uar *uar); | 422 | void mthca_uar_free(struct mthca_dev *dev, struct mthca_uar *uar); |
403 | 423 | ||
@@ -447,6 +467,8 @@ void mthca_cq_clean(struct mthca_dev *dev, u32 cqn, u32 qpn, | |||
447 | int mthca_alloc_srq(struct mthca_dev *dev, struct mthca_pd *pd, | 467 | int mthca_alloc_srq(struct mthca_dev *dev, struct mthca_pd *pd, |
448 | struct ib_srq_attr *attr, struct mthca_srq *srq); | 468 | struct ib_srq_attr *attr, struct mthca_srq *srq); |
449 | void mthca_free_srq(struct mthca_dev *dev, struct mthca_srq *srq); | 469 | void mthca_free_srq(struct mthca_dev *dev, struct mthca_srq *srq); |
470 | int mthca_modify_srq(struct ib_srq *ibsrq, struct ib_srq_attr *attr, | ||
471 | enum ib_srq_attr_mask attr_mask); | ||
450 | void mthca_srq_event(struct mthca_dev *dev, u32 srqn, | 472 | void mthca_srq_event(struct mthca_dev *dev, u32 srqn, |
451 | enum ib_event_type event_type); | 473 | enum ib_event_type event_type); |
452 | void mthca_free_srq_wqe(struct mthca_srq *srq, u32 wqe_addr); | 474 | void mthca_free_srq_wqe(struct mthca_srq *srq, u32 wqe_addr); |