Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

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

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