RDMA/cxgb4: Obtain RDMA QID ranges from LLD/FW
[deliverable/linux.git] / drivers / infiniband / hw / cxgb4 / resource.c
index fb195d1d90151690b8d1491dca590f2f5d12e89e..83b23dfa250dea9171ef44a9e37fa3fc7efe3698 100644 (file)
@@ -110,11 +110,12 @@ static int c4iw_init_qid_fifo(struct c4iw_rdev *rdev)
 
        spin_lock_init(&rdev->resource.qid_fifo_lock);
 
-       if (kfifo_alloc(&rdev->resource.qid_fifo, T4_MAX_QIDS * sizeof(u32),
-                       GFP_KERNEL))
+       if (kfifo_alloc(&rdev->resource.qid_fifo, rdev->lldi.vr->qp.size *
+                       sizeof(u32), GFP_KERNEL))
                return -ENOMEM;
 
-       for (i = T4_QID_BASE; i < T4_QID_BASE + T4_MAX_QIDS; i++)
+       for (i = rdev->lldi.vr->qp.start;
+            i < rdev->lldi.vr->qp.start + rdev->lldi.vr->qp.size; i++)
                if (!(i & rdev->qpmask))
                        kfifo_in(&rdev->resource.qid_fifo,
                                    (unsigned char *) &i, sizeof(u32));
This page took 0.024825 seconds and 5 git commands to generate.