aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/infiniband/hw/mthca/mthca_main.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/infiniband/hw/mthca/mthca_main.c')
-rw-r--r--drivers/infiniband/hw/mthca/mthca_main.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/drivers/infiniband/hw/mthca/mthca_main.c b/drivers/infiniband/hw/mthca/mthca_main.c
index 597d7dc7088e..0dc5b8da0007 100644
--- a/drivers/infiniband/hw/mthca/mthca_main.c
+++ b/drivers/infiniband/hw/mthca/mthca_main.c
@@ -199,6 +199,18 @@ static int __devinit mthca_dev_lim(struct mthca_dev *mdev, struct mthca_dev_lim
199 mdev->limits.port_width_cap = dev_lim->max_port_width; 199 mdev->limits.port_width_cap = dev_lim->max_port_width;
200 mdev->limits.page_size_cap = ~(u32) (dev_lim->min_page_sz - 1); 200 mdev->limits.page_size_cap = ~(u32) (dev_lim->min_page_sz - 1);
201 mdev->limits.flags = dev_lim->flags; 201 mdev->limits.flags = dev_lim->flags;
202 /*
203 * For old FW that doesn't return static rate support, use a
204 * value of 0x3 (only static rate values of 0 or 1 are handled),
205 * except on Sinai, where even old FW can handle static rate
206 * values of 2 and 3.
207 */
208 if (dev_lim->stat_rate_support)
209 mdev->limits.stat_rate_support = dev_lim->stat_rate_support;
210 else if (mdev->mthca_flags & MTHCA_FLAG_SINAI_OPT)
211 mdev->limits.stat_rate_support = 0xf;
212 else
213 mdev->limits.stat_rate_support = 0x3;
202 214
203 /* IB_DEVICE_RESIZE_MAX_WR not supported by driver. 215 /* IB_DEVICE_RESIZE_MAX_WR not supported by driver.
204 May be doable since hardware supports it for SRQ. 216 May be doable since hardware supports it for SRQ.