Commit 52c8084b authored by Jon Mason's avatar Jon Mason Committed by Roland Dreier

RDMA/cxgb3: Propagate HW page size capabilities

cxgb3 does not currently report the page size capabilities, and
incorrectly reports them internally.

This version changes the bit-shifting to a static value (per Steve's
request).
Signed-off-by: default avatarJon Mason <jon@opengridcomputing.com>
Acked-by: default avatarSteve Wise <swise@opengridcomputing.com>
Signed-off-by: default avatarRoland Dreier <rolandd@cisco.com>
parent 1ff66e8c
...@@ -55,6 +55,7 @@ ...@@ -55,6 +55,7 @@
#define T3_MAX_CQ_DEPTH 8192 #define T3_MAX_CQ_DEPTH 8192
#define T3_MAX_NUM_STAG (1<<15) #define T3_MAX_NUM_STAG (1<<15)
#define T3_MAX_MR_SIZE 0x100000000ULL #define T3_MAX_MR_SIZE 0x100000000ULL
#define T3_PAGESIZE_MASK 0xffff000 /* 4KB-128MB */
#define T3_STAG_UNSET 0xffffffff #define T3_STAG_UNSET 0xffffffff
......
...@@ -80,7 +80,7 @@ static void rnic_init(struct iwch_dev *rnicp) ...@@ -80,7 +80,7 @@ static void rnic_init(struct iwch_dev *rnicp)
rnicp->attr.max_mem_regs = cxio_num_stags(&rnicp->rdev); rnicp->attr.max_mem_regs = cxio_num_stags(&rnicp->rdev);
rnicp->attr.max_phys_buf_entries = T3_MAX_PBL_SIZE; rnicp->attr.max_phys_buf_entries = T3_MAX_PBL_SIZE;
rnicp->attr.max_pds = T3_MAX_NUM_PD - 1; rnicp->attr.max_pds = T3_MAX_NUM_PD - 1;
rnicp->attr.mem_pgsizes_bitmask = 0x7FFF; /* 4KB-128MB */ rnicp->attr.mem_pgsizes_bitmask = T3_PAGESIZE_MASK;
rnicp->attr.max_mr_size = T3_MAX_MR_SIZE; rnicp->attr.max_mr_size = T3_MAX_MR_SIZE;
rnicp->attr.can_resize_wq = 0; rnicp->attr.can_resize_wq = 0;
rnicp->attr.max_rdma_reads_per_qp = 8; rnicp->attr.max_rdma_reads_per_qp = 8;
......
...@@ -1130,6 +1130,7 @@ static int iwch_query_device(struct ib_device *ibdev, ...@@ -1130,6 +1130,7 @@ static int iwch_query_device(struct ib_device *ibdev,
props->hw_ver = dev->rdev.t3cdev_p->type; props->hw_ver = dev->rdev.t3cdev_p->type;
props->fw_ver = fw_vers_string_to_u64(dev); props->fw_ver = fw_vers_string_to_u64(dev);
props->device_cap_flags = dev->device_cap_flags; props->device_cap_flags = dev->device_cap_flags;
props->page_size_cap = dev->attr.mem_pgsizes_bitmask;
props->vendor_id = (u32)dev->rdev.rnic_info.pdev->vendor; props->vendor_id = (u32)dev->rdev.rnic_info.pdev->vendor;
props->vendor_part_id = (u32)dev->rdev.rnic_info.pdev->device; props->vendor_part_id = (u32)dev->rdev.rnic_info.pdev->device;
props->max_mr_size = dev->attr.max_mr_size; props->max_mr_size = dev->attr.max_mr_size;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment