diff options
Diffstat (limited to 'drivers/infiniband/hw/mthca/mthca_main.c')
-rw-r--r-- | drivers/infiniband/hw/mthca/mthca_main.c | 12 |
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. |