]> err.no Git - linux-2.6/blobdiff - drivers/infiniband/hw/mlx4/srq.c
Merge branch 'for-2.6.26' of master.kernel.org:/pub/scm/linux/kernel/git/jwboyer...
[linux-2.6] / drivers / infiniband / hw / mlx4 / srq.c
index 408748fb5285697d24c44b8cd5bebbb19a780f68..12d6bc6f8007da0ced4158b1a956c7da52bf56c0 100644 (file)
 
 static void *get_wqe(struct mlx4_ib_srq *srq, int n)
 {
-       int offset = n << srq->msrq.wqe_shift;
-
-       if (srq->buf.nbufs == 1)
-               return srq->buf.u.direct.buf + offset;
-       else
-               return srq->buf.u.page_list[offset >> PAGE_SHIFT].buf +
-                       (offset & (PAGE_SIZE - 1));
+       return mlx4_buf_offset(&srq->buf, n << srq->msrq.wqe_shift);
 }
 
 static void mlx4_ib_srq_event(struct mlx4_srq *srq, enum mlx4_event type)
@@ -115,7 +109,7 @@ struct ib_srq *mlx4_ib_create_srq(struct ib_pd *pd,
                }
 
                srq->umem = ib_umem_get(pd->uobject->context, ucmd.buf_addr,
-                                       buf_size, 0);
+                                       buf_size, 0, 0);
                if (IS_ERR(srq->umem)) {
                        err = PTR_ERR(srq->umem);
                        goto err_srq;
@@ -135,7 +129,7 @@ struct ib_srq *mlx4_ib_create_srq(struct ib_pd *pd,
                if (err)
                        goto err_mtt;
        } else {
-               err = mlx4_ib_db_alloc(dev, &srq->db, 0);
+               err = mlx4_db_alloc(dev->dev, &srq->db, 0);
                if (err)
                        goto err_srq;
 
@@ -206,7 +200,7 @@ err_buf:
 
 err_db:
        if (!pd->uobject)
-               mlx4_ib_db_free(dev, &srq->db);
+               mlx4_db_free(dev->dev, &srq->db);
 
 err_srq:
        kfree(srq);
@@ -251,7 +245,7 @@ int mlx4_ib_query_srq(struct ib_srq *ibsrq, struct ib_srq_attr *srq_attr)
        if (ret)
                return ret;
 
-       srq_attr->srq_limit = be16_to_cpu(limit_watermark);
+       srq_attr->srq_limit = limit_watermark;
        srq_attr->max_wr    = srq->msrq.max - 1;
        srq_attr->max_sge   = srq->msrq.max_gs;
 
@@ -273,7 +267,7 @@ int mlx4_ib_destroy_srq(struct ib_srq *srq)
                kfree(msrq->wrid);
                mlx4_buf_free(dev->dev, msrq->msrq.max << msrq->msrq.wqe_shift,
                              &msrq->buf);
-               mlx4_ib_db_free(dev, &msrq->db);
+               mlx4_db_free(dev->dev, &msrq->db);
        }
 
        kfree(msrq);