Commit 3e7561636f3f7f9b2942f6f90b021fdaeb0fe0ee

Authored by Linus Torvalds

Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband:
  RDMA/cxgb4: Obtain RDMA QID ranges from LLD/FW

Showing 3 changed files Side-by-side Diff

drivers/infiniband/hw/cxgb4/device.c
... ... @@ -250,12 +250,17 @@
250 250 rdev->cqshift = PAGE_SHIFT - ilog2(rdev->lldi.ucq_density);
251 251 rdev->cqmask = rdev->lldi.ucq_density - 1;
252 252 PDBG("%s dev %s stag start 0x%0x size 0x%0x num stags %d "
253   - "pbl start 0x%0x size 0x%0x rq start 0x%0x size 0x%0x\n",
  253 + "pbl start 0x%0x size 0x%0x rq start 0x%0x size 0x%0x "
  254 + "qp qid start %u size %u cq qid start %u size %u\n",
254 255 __func__, pci_name(rdev->lldi.pdev), rdev->lldi.vr->stag.start,
255 256 rdev->lldi.vr->stag.size, c4iw_num_stags(rdev),
256 257 rdev->lldi.vr->pbl.start,
257 258 rdev->lldi.vr->pbl.size, rdev->lldi.vr->rq.start,
258   - rdev->lldi.vr->rq.size);
  259 + rdev->lldi.vr->rq.size,
  260 + rdev->lldi.vr->qp.start,
  261 + rdev->lldi.vr->qp.size,
  262 + rdev->lldi.vr->cq.start,
  263 + rdev->lldi.vr->cq.size);
259 264 PDBG("udb len 0x%x udb base %p db_reg %p gts_reg %p qpshift %lu "
260 265 "qpmask 0x%x cqshift %lu cqmask 0x%x\n",
261 266 (unsigned)pci_resource_len(rdev->lldi.pdev, 2),
drivers/infiniband/hw/cxgb4/resource.c
... ... @@ -110,11 +110,12 @@
110 110  
111 111 spin_lock_init(&rdev->resource.qid_fifo_lock);
112 112  
113   - if (kfifo_alloc(&rdev->resource.qid_fifo, T4_MAX_QIDS * sizeof(u32),
114   - GFP_KERNEL))
  113 + if (kfifo_alloc(&rdev->resource.qid_fifo, rdev->lldi.vr->qp.size *
  114 + sizeof(u32), GFP_KERNEL))
115 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 119 if (!(i & rdev->qpmask))
119 120 kfifo_in(&rdev->resource.qid_fifo,
120 121 (unsigned char *) &i, sizeof(u32));
drivers/infiniband/hw/cxgb4/t4.h
... ... @@ -36,8 +36,6 @@
36 36 #include "t4_msg.h"
37 37 #include "t4fw_ri_api.h"
38 38  
39   -#define T4_QID_BASE 1024
40   -#define T4_MAX_QIDS 256
41 39 #define T4_MAX_NUM_QP (1<<16)
42 40 #define T4_MAX_NUM_CQ (1<<15)
43 41 #define T4_MAX_NUM_PD (1<<15)