summaryrefslogtreecommitdiffstats
path: root/drivers/infiniband/hw/qib/qib_keys.c
diff options
context:
space:
mode:
authorSagi Grimberg <sagig@mellanox.com>2015-10-13 18:11:47 +0200
committerDoug Ledford <dledford@redhat.com>2015-10-29 03:32:29 +0100
commitb8533eccc8eadabc559ed25e4b848c71a2433c18 (patch)
tree4772d8b551e7dc635188a6807ade9dc7fe6802de /drivers/infiniband/hw/qib/qib_keys.c
parentiw_cxgb4: Remove old FRWR API (diff)
downloadlinux-b8533eccc8eadabc559ed25e4b848c71a2433c18.tar.xz
linux-b8533eccc8eadabc559ed25e4b848c71a2433c18.zip
IB/qib: Remove old FRWR API
No ULP uses it anymore, go ahead and remove it. Signed-off-by: Sagi Grimberg <sagig@mellanox.com> Acked-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Doug Ledford <dledford@redhat.com>
Diffstat (limited to 'drivers/infiniband/hw/qib/qib_keys.c')
-rw-r--r--drivers/infiniband/hw/qib/qib_keys.c56
1 files changed, 0 insertions, 56 deletions
diff --git a/drivers/infiniband/hw/qib/qib_keys.c b/drivers/infiniband/hw/qib/qib_keys.c
index 95b8b9110fc6..d725c565518d 100644
--- a/drivers/infiniband/hw/qib/qib_keys.c
+++ b/drivers/infiniband/hw/qib/qib_keys.c
@@ -336,62 +336,6 @@ bail:
}
/*
- * Initialize the memory region specified by the work reqeust.
- */
-int qib_fast_reg_mr(struct qib_qp *qp, struct ib_send_wr *send_wr)
-{
- struct ib_fast_reg_wr *wr = fast_reg_wr(send_wr);
- struct qib_lkey_table *rkt = &to_idev(qp->ibqp.device)->lk_table;
- struct qib_pd *pd = to_ipd(qp->ibqp.pd);
- struct qib_mregion *mr;
- u32 rkey = wr->rkey;
- unsigned i, n, m;
- int ret = -EINVAL;
- unsigned long flags;
- u64 *page_list;
- size_t ps;
-
- spin_lock_irqsave(&rkt->lock, flags);
- if (pd->user || rkey == 0)
- goto bail;
-
- mr = rcu_dereference_protected(
- rkt->table[(rkey >> (32 - ib_qib_lkey_table_size))],
- lockdep_is_held(&rkt->lock));
- if (unlikely(mr == NULL || qp->ibqp.pd != mr->pd))
- goto bail;
-
- if (wr->page_list_len > mr->max_segs)
- goto bail;
-
- ps = 1UL << wr->page_shift;
- if (wr->length > ps * wr->page_list_len)
- goto bail;
-
- mr->user_base = wr->iova_start;
- mr->iova = wr->iova_start;
- mr->lkey = rkey;
- mr->length = wr->length;
- mr->access_flags = wr->access_flags;
- page_list = wr->page_list->page_list;
- m = 0;
- n = 0;
- for (i = 0; i < wr->page_list_len; i++) {
- mr->map[m]->segs[n].vaddr = (void *) page_list[i];
- mr->map[m]->segs[n].length = ps;
- if (++n == QIB_SEGSZ) {
- m++;
- n = 0;
- }
- }
-
- ret = 0;
-bail:
- spin_unlock_irqrestore(&rkt->lock, flags);
- return ret;
-}
-
-/*
* Initialize the memory region specified by the work request.
*/
int qib_reg_mr(struct qib_qp *qp, struct ib_reg_wr *wr)