]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
mlx4_ib: Do not enable blueflame sends if write combining is not available
authorJack Morgenstein <jackm@dev.mellanox.co.il>
Thu, 15 Nov 2012 16:01:30 +0000 (18:01 +0200)
committerMukesh Kacker <mukesh.kacker@oracle.com>
Tue, 7 Jul 2015 21:38:09 +0000 (14:38 -0700)
V2: adjusted for Or Gerlitz' 64-byte CQE patch

Signed-off-by: Jack Morgenstein <jackm@dev.mellanox.co.il>
Signed-off-by: Vladimir Sokolovsky <vlad@mellanox.com>
(Ported from Mellanox OFED 2.4)

Signed-off-by: Mukesh Kacker <mukesh.kacker@oracle.com>
drivers/infiniband/hw/mlx4/main.c

index b5a1b037c9a48652729bdd628d92901e43aa5bd7..9ff3e3a9d917d1e63358283a6397691cd89c1693 100644 (file)
@@ -644,13 +644,23 @@ static struct ib_ucontext *mlx4_ib_alloc_ucontext(struct ib_device *ibdev,
 
        if (ibdev->uverbs_abi_ver == MLX4_IB_UVERBS_NO_DEV_CAPS_ABI_VERSION) {
                resp_v3.qp_tab_size      = dev->dev->caps.num_qps;
-               resp_v3.bf_reg_size      = dev->dev->caps.bf_reg_size;
-               resp_v3.bf_regs_per_page = dev->dev->caps.bf_regs_per_page;
+               if (mlx4_wc_enabled()) {
+                       resp_v3.bf_reg_size      = dev->dev->caps.bf_reg_size;
+                       resp_v3.bf_regs_per_page = dev->dev->caps.bf_regs_per_page;
+               } else {
+                       resp_v3.bf_reg_size      = 0;
+                       resp_v3.bf_regs_per_page = 0;
+               }
        } else {
                resp.dev_caps         = dev->dev->caps.userspace_caps;
                resp.qp_tab_size      = dev->dev->caps.num_qps;
-               resp.bf_reg_size      = dev->dev->caps.bf_reg_size;
-               resp.bf_regs_per_page = dev->dev->caps.bf_regs_per_page;
+               if (mlx4_wc_enabled()) {
+                       resp.bf_reg_size      = dev->dev->caps.bf_reg_size;
+                       resp.bf_regs_per_page = dev->dev->caps.bf_regs_per_page;
+               } else {
+                       resp.bf_reg_size      = 0;
+                       resp.bf_regs_per_page = 0;
+               }
                resp.cqe_size         = dev->dev->caps.cqe_size;
        }