aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHariprasad S <hariprasad@chelsio.com>2016-02-05 01:13:28 -0500
committerDoug Ledford <dledford@redhat.com>2016-02-29 17:10:14 -0500
commita6054df3c1c2092e1d2cdceb6e81a7e54d6bd361 (patch)
tree136053adb91ac18e94baf2066a695c499782b331
parentfc77dbd34c5c99bce46d40a2491937c3bcbd10af (diff)
iw_cxgb4: make queue allocation code more readable
Rename local mm* variables to more meaningful names Signed-off-by: Steve Wise <swise@opengridcomputing.com> Signed-off-by: Hariprasad Shenai <hariprasad@chelsio.com> Signed-off-by: Doug Ledford <dledford@redhat.com>
-rw-r--r--drivers/infiniband/hw/cxgb4/qp.c81
1 files changed, 42 insertions, 39 deletions
diff --git a/drivers/infiniband/hw/cxgb4/qp.c b/drivers/infiniband/hw/cxgb4/qp.c
index e99345eb875a..dadf5f1855b3 100644
--- a/drivers/infiniband/hw/cxgb4/qp.c
+++ b/drivers/infiniband/hw/cxgb4/qp.c
@@ -1621,7 +1621,8 @@ struct ib_qp *c4iw_create_qp(struct ib_pd *pd, struct ib_qp_init_attr *attrs,
1621 unsigned int sqsize, rqsize; 1621 unsigned int sqsize, rqsize;
1622 struct c4iw_ucontext *ucontext; 1622 struct c4iw_ucontext *ucontext;
1623 int ret; 1623 int ret;
1624 struct c4iw_mm_entry *mm1, *mm2, *mm3, *mm4, *mm5 = NULL; 1624 struct c4iw_mm_entry *sq_key_mm, *rq_key_mm = NULL, *sq_db_key_mm;
1625 struct c4iw_mm_entry *rq_db_key_mm = NULL, *ma_sync_key_mm = NULL;
1625 1626
1626 PDBG("%s ib_pd %p\n", __func__, pd); 1627 PDBG("%s ib_pd %p\n", __func__, pd);
1627 1628
@@ -1706,29 +1707,30 @@ struct ib_qp *c4iw_create_qp(struct ib_pd *pd, struct ib_qp_init_attr *attrs,
1706 goto err2; 1707 goto err2;
1707 1708
1708 if (udata) { 1709 if (udata) {
1709 mm1 = kmalloc(sizeof *mm1, GFP_KERNEL); 1710 sq_key_mm = kmalloc(sizeof(*sq_key_mm), GFP_KERNEL);
1710 if (!mm1) { 1711 if (!sq_key_mm) {
1711 ret = -ENOMEM; 1712 ret = -ENOMEM;
1712 goto err3; 1713 goto err3;
1713 } 1714 }
1714 mm2 = kmalloc(sizeof *mm2, GFP_KERNEL); 1715 rq_key_mm = kmalloc(sizeof(*rq_key_mm), GFP_KERNEL);
1715 if (!mm2) { 1716 if (!rq_key_mm) {
1716 ret = -ENOMEM; 1717 ret = -ENOMEM;
1717 goto err4; 1718 goto err4;
1718 } 1719 }
1719 mm3 = kmalloc(sizeof *mm3, GFP_KERNEL); 1720 sq_db_key_mm = kmalloc(sizeof(*sq_db_key_mm), GFP_KERNEL);
1720 if (!mm3) { 1721 if (!sq_db_key_mm) {
1721 ret = -ENOMEM; 1722 ret = -ENOMEM;
1722 goto err5; 1723 goto err5;
1723 } 1724 }
1724 mm4 = kmalloc(sizeof *mm4, GFP_KERNEL); 1725 rq_db_key_mm = kmalloc(sizeof(*rq_db_key_mm), GFP_KERNEL);
1725 if (!mm4) { 1726 if (!rq_db_key_mm) {
1726 ret = -ENOMEM; 1727 ret = -ENOMEM;
1727 goto err6; 1728 goto err6;
1728 } 1729 }
1729 if (t4_sq_onchip(&qhp->wq.sq)) { 1730 if (t4_sq_onchip(&qhp->wq.sq)) {
1730 mm5 = kmalloc(sizeof *mm5, GFP_KERNEL); 1731 ma_sync_key_mm = kmalloc(sizeof(*ma_sync_key_mm),
1731 if (!mm5) { 1732 GFP_KERNEL);
1733 if (!ma_sync_key_mm) {
1732 ret = -ENOMEM; 1734 ret = -ENOMEM;
1733 goto err7; 1735 goto err7;
1734 } 1736 }
@@ -1743,7 +1745,7 @@ struct ib_qp *c4iw_create_qp(struct ib_pd *pd, struct ib_qp_init_attr *attrs,
1743 uresp.rq_size = qhp->wq.rq.size; 1745 uresp.rq_size = qhp->wq.rq.size;
1744 uresp.rq_memsize = qhp->wq.rq.memsize; 1746 uresp.rq_memsize = qhp->wq.rq.memsize;
1745 spin_lock(&ucontext->mmap_lock); 1747 spin_lock(&ucontext->mmap_lock);
1746 if (mm5) { 1748 if (ma_sync_key_mm) {
1747 uresp.ma_sync_key = ucontext->key; 1749 uresp.ma_sync_key = ucontext->key;
1748 ucontext->key += PAGE_SIZE; 1750 ucontext->key += PAGE_SIZE;
1749 } else { 1751 } else {
@@ -1761,28 +1763,29 @@ struct ib_qp *c4iw_create_qp(struct ib_pd *pd, struct ib_qp_init_attr *attrs,
1761 ret = ib_copy_to_udata(udata, &uresp, sizeof uresp); 1763 ret = ib_copy_to_udata(udata, &uresp, sizeof uresp);
1762 if (ret) 1764 if (ret)
1763 goto err8; 1765 goto err8;
1764 mm1->key = uresp.sq_key; 1766 sq_key_mm->key = uresp.sq_key;
1765 mm1->addr = qhp->wq.sq.phys_addr; 1767 sq_key_mm->addr = qhp->wq.sq.phys_addr;
1766 mm1->len = PAGE_ALIGN(qhp->wq.sq.memsize); 1768 sq_key_mm->len = PAGE_ALIGN(qhp->wq.sq.memsize);
1767 insert_mmap(ucontext, mm1); 1769 insert_mmap(ucontext, sq_key_mm);
1768 mm2->key = uresp.rq_key; 1770 rq_key_mm->key = uresp.rq_key;
1769 mm2->addr = virt_to_phys(qhp->wq.rq.queue); 1771 rq_key_mm->addr = virt_to_phys(qhp->wq.rq.queue);
1770 mm2->len = PAGE_ALIGN(qhp->wq.rq.memsize); 1772 rq_key_mm->len = PAGE_ALIGN(qhp->wq.rq.memsize);
1771 insert_mmap(ucontext, mm2); 1773 insert_mmap(ucontext, rq_key_mm);
1772 mm3->key = uresp.sq_db_gts_key; 1774 sq_db_key_mm->key = uresp.sq_db_gts_key;
1773 mm3->addr = (__force unsigned long)qhp->wq.sq.bar2_pa; 1775 sq_db_key_mm->addr = (u64)(unsigned long)qhp->wq.sq.bar2_pa;
1774 mm3->len = PAGE_SIZE; 1776 sq_db_key_mm->len = PAGE_SIZE;
1775 insert_mmap(ucontext, mm3); 1777 insert_mmap(ucontext, sq_db_key_mm);
1776 mm4->key = uresp.rq_db_gts_key; 1778 rq_db_key_mm->key = uresp.rq_db_gts_key;
1777 mm4->addr = (__force unsigned long)qhp->wq.rq.bar2_pa; 1779 rq_db_key_mm->addr = (u64)(unsigned long)qhp->wq.rq.bar2_pa;
1778 mm4->len = PAGE_SIZE; 1780 rq_db_key_mm->len = PAGE_SIZE;
1779 insert_mmap(ucontext, mm4); 1781 insert_mmap(ucontext, rq_db_key_mm);
1780 if (mm5) { 1782 if (ma_sync_key_mm) {
1781 mm5->key = uresp.ma_sync_key; 1783 ma_sync_key_mm->key = uresp.ma_sync_key;
1782 mm5->addr = (pci_resource_start(rhp->rdev.lldi.pdev, 0) 1784 ma_sync_key_mm->addr =
1783 + PCIE_MA_SYNC_A) & PAGE_MASK; 1785 (pci_resource_start(rhp->rdev.lldi.pdev, 0) +
1784 mm5->len = PAGE_SIZE; 1786 PCIE_MA_SYNC_A) & PAGE_MASK;
1785 insert_mmap(ucontext, mm5); 1787 ma_sync_key_mm->len = PAGE_SIZE;
1788 insert_mmap(ucontext, ma_sync_key_mm);
1786 } 1789 }
1787 } 1790 }
1788 qhp->ibqp.qp_num = qhp->wq.sq.qid; 1791 qhp->ibqp.qp_num = qhp->wq.sq.qid;
@@ -1795,15 +1798,15 @@ struct ib_qp *c4iw_create_qp(struct ib_pd *pd, struct ib_qp_init_attr *attrs,
1795 qhp->wq.rq.memsize, attrs->cap.max_recv_wr); 1798 qhp->wq.rq.memsize, attrs->cap.max_recv_wr);
1796 return &qhp->ibqp; 1799 return &qhp->ibqp;
1797err8: 1800err8:
1798 kfree(mm5); 1801 kfree(ma_sync_key_mm);
1799err7: 1802err7:
1800 kfree(mm4); 1803 kfree(rq_db_key_mm);
1801err6: 1804err6:
1802 kfree(mm3); 1805 kfree(sq_db_key_mm);
1803err5: 1806err5:
1804 kfree(mm2); 1807 kfree(rq_key_mm);
1805err4: 1808err4:
1806 kfree(mm1); 1809 kfree(sq_key_mm);
1807err3: 1810err3:
1808 remove_handle(rhp, &rhp->qpidr, qhp->wq.sq.qid); 1811 remove_handle(rhp, &rhp->qpidr, qhp->wq.sq.qid);
1809err2: 1812err2: