aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/infiniband/hw/cxgb4/resource.c
diff options
context:
space:
mode:
authorSteve Wise <swise@opengridcomputing.com>2010-06-23 11:46:55 -0400
committerRoland Dreier <rolandd@cisco.com>2010-08-08 02:08:47 -0400
commit93fb72e443b9fcbef598faa05478883952edca77 (patch)
treea9d58122bf50b6a988c40bc7a487363f8023492e /drivers/infiniband/hw/cxgb4/resource.c
parent2d53056973079e6c2ffc0d7ae3afbdd3d4f18ae3 (diff)
RDMA/cxgb4: Obtain RDMA QID ranges from LLD/FW
Signed-off-by: Steve Wise <swise@opengridcomputing.com> Signed-off-by: Roland Dreier <rolandd@cisco.com>
Diffstat (limited to 'drivers/infiniband/hw/cxgb4/resource.c')
-rw-r--r--drivers/infiniband/hw/cxgb4/resource.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/infiniband/hw/cxgb4/resource.c b/drivers/infiniband/hw/cxgb4/resource.c
index fb195d1d9015..83b23dfa250d 100644
--- a/drivers/infiniband/hw/cxgb4/resource.c
+++ b/drivers/infiniband/hw/cxgb4/resource.c
@@ -110,11 +110,12 @@ static int c4iw_init_qid_fifo(struct c4iw_rdev *rdev)
110 110
111 spin_lock_init(&rdev->resource.qid_fifo_lock); 111 spin_lock_init(&rdev->resource.qid_fifo_lock);
112 112
113 if (kfifo_alloc(&rdev->resource.qid_fifo, T4_MAX_QIDS * sizeof(u32), 113 if (kfifo_alloc(&rdev->resource.qid_fifo, rdev->lldi.vr->qp.size *
114 GFP_KERNEL)) 114 sizeof(u32), GFP_KERNEL))
115 return -ENOMEM; 115 return -ENOMEM;
116 116
117 for (i = T4_QID_BASE; i < T4_QID_BASE + T4_MAX_QIDS; i++) 117 for (i = rdev->lldi.vr->qp.start;
118 i < rdev->lldi.vr->qp.start + rdev->lldi.vr->qp.size; i++)
118 if (!(i & rdev->qpmask)) 119 if (!(i & rdev->qpmask))
119 kfifo_in(&rdev->resource.qid_fifo, 120 kfifo_in(&rdev->resource.qid_fifo,
120 (unsigned char *) &i, sizeof(u32)); 121 (unsigned char *) &i, sizeof(u32));