[PATCH 02/10] IB: remove ib_query_mr

2015-12-23 Thread Christoph Hellwig
This functionality has no users and was only supported by the staged out
EHCA driver.

Signed-off-by: Christoph Hellwig 
Reviewed-by: Sagi Grimberg 
Reviewed-by: Jason Gunthorpe  [core]
Reviewed-by: Steve Wise 
---
 drivers/infiniband/core/verbs.c |  7 -
 drivers/staging/rdma/ehca/ehca_iverbs.h |  2 --
 drivers/staging/rdma/ehca/ehca_main.c   |  1 -
 drivers/staging/rdma/ehca/ehca_mrmw.c   | 49 -
 include/rdma/ib_verbs.h | 18 
 5 files changed, 77 deletions(-)

diff --git a/drivers/infiniband/core/verbs.c b/drivers/infiniband/core/verbs.c
index 063210b..70b1016 100644
--- a/drivers/infiniband/core/verbs.c
+++ b/drivers/infiniband/core/verbs.c
@@ -1352,13 +1352,6 @@ struct ib_mr *ib_get_dma_mr(struct ib_pd *pd, int 
mr_access_flags)
 }
 EXPORT_SYMBOL(ib_get_dma_mr);
 
-int ib_query_mr(struct ib_mr *mr, struct ib_mr_attr *mr_attr)
-{
-   return mr->device->query_mr ?
-   mr->device->query_mr(mr, mr_attr) : -ENOSYS;
-}
-EXPORT_SYMBOL(ib_query_mr);
-
 int ib_dereg_mr(struct ib_mr *mr)
 {
struct ib_pd *pd;
diff --git a/drivers/staging/rdma/ehca/ehca_iverbs.h 
b/drivers/staging/rdma/ehca/ehca_iverbs.h
index 80e6a3d..30b1316 100644
--- a/drivers/staging/rdma/ehca/ehca_iverbs.h
+++ b/drivers/staging/rdma/ehca/ehca_iverbs.h
@@ -95,8 +95,6 @@ int ehca_rereg_phys_mr(struct ib_mr *mr,
   struct ib_phys_buf *phys_buf_array,
   int num_phys_buf, int mr_access_flags, u64 *iova_start);
 
-int ehca_query_mr(struct ib_mr *mr, struct ib_mr_attr *mr_attr);
-
 int ehca_dereg_mr(struct ib_mr *mr);
 
 struct ib_mw *ehca_alloc_mw(struct ib_pd *pd, enum ib_mw_type type);
diff --git a/drivers/staging/rdma/ehca/ehca_main.c 
b/drivers/staging/rdma/ehca/ehca_main.c
index 8246418..ab0a64a 100644
--- a/drivers/staging/rdma/ehca/ehca_main.c
+++ b/drivers/staging/rdma/ehca/ehca_main.c
@@ -514,7 +514,6 @@ static int ehca_init_device(struct ehca_shca *shca)
shca->ib_device.get_dma_mr  = ehca_get_dma_mr;
shca->ib_device.reg_phys_mr = ehca_reg_phys_mr;
shca->ib_device.reg_user_mr = ehca_reg_user_mr;
-   shca->ib_device.query_mr= ehca_query_mr;
shca->ib_device.dereg_mr= ehca_dereg_mr;
shca->ib_device.rereg_phys_mr   = ehca_rereg_phys_mr;
shca->ib_device.alloc_mw= ehca_alloc_mw;
diff --git a/drivers/staging/rdma/ehca/ehca_mrmw.c 
b/drivers/staging/rdma/ehca/ehca_mrmw.c
index f914b30..eb274c1 100644
--- a/drivers/staging/rdma/ehca/ehca_mrmw.c
+++ b/drivers/staging/rdma/ehca/ehca_mrmw.c
@@ -589,55 +589,6 @@ rereg_phys_mr_exit0:
return ret;
 } /* end ehca_rereg_phys_mr() */
 
-/*--*/
-
-int ehca_query_mr(struct ib_mr *mr, struct ib_mr_attr *mr_attr)
-{
-   int ret = 0;
-   u64 h_ret;
-   struct ehca_shca *shca =
-   container_of(mr->device, struct ehca_shca, ib_device);
-   struct ehca_mr *e_mr = container_of(mr, struct ehca_mr, ib.ib_mr);
-   unsigned long sl_flags;
-   struct ehca_mr_hipzout_parms hipzout;
-
-   if ((e_mr->flags & EHCA_MR_FLAG_FMR)) {
-   ehca_err(mr->device, "not supported for FMR, mr=%p e_mr=%p "
-"e_mr->flags=%x", mr, e_mr, e_mr->flags);
-   ret = -EINVAL;
-   goto query_mr_exit0;
-   }
-
-   memset(mr_attr, 0, sizeof(struct ib_mr_attr));
-   spin_lock_irqsave(_mr->mrlock, sl_flags);
-
-   h_ret = hipz_h_query_mr(shca->ipz_hca_handle, e_mr, );
-   if (h_ret != H_SUCCESS) {
-   ehca_err(mr->device, "hipz_mr_query failed, h_ret=%lli mr=%p "
-"hca_hndl=%llx mr_hndl=%llx lkey=%x",
-h_ret, mr, shca->ipz_hca_handle.handle,
-e_mr->ipz_mr_handle.handle, mr->lkey);
-   ret = ehca2ib_return_code(h_ret);
-   goto query_mr_exit1;
-   }
-   mr_attr->pd = mr->pd;
-   mr_attr->device_virt_addr = hipzout.vaddr;
-   mr_attr->size = hipzout.len;
-   mr_attr->lkey = hipzout.lkey;
-   mr_attr->rkey = hipzout.rkey;
-   ehca_mrmw_reverse_map_acl(, _attr->mr_access_flags);
-
-query_mr_exit1:
-   spin_unlock_irqrestore(_mr->mrlock, sl_flags);
-query_mr_exit0:
-   if (ret)
-   ehca_err(mr->device, "ret=%i mr=%p mr_attr=%p",
-ret, mr, mr_attr);
-   return ret;
-} /* end ehca_query_mr() */
-
-/*--*/
-
 int ehca_dereg_mr(struct ib_mr *mr)
 {
int ret = 0;
diff --git a/include/rdma/ib_verbs.h b/include/rdma/ib_verbs.h
index f06ce80..368d955 100644
--- a/include/rdma/ib_verbs.h
+++ b/include/rdma/ib_verbs.h
@@ -1288,15 +1288,6 @@ struct ib_phys_buf {
u64  

[PATCH 02/10] IB: remove ib_query_mr

2015-12-18 Thread Christoph Hellwig
This functionality has no users and was only supported by the staged out
EHCA driver.

Signed-off-by: Christoph Hellwig 
Reviewed-by: Sagi Grimberg 
Reviewed-by: Jason Gunthorpe  [core]
Reviewed-by: Steve Wise 
---
 drivers/infiniband/core/verbs.c |  7 -
 drivers/staging/rdma/ehca/ehca_iverbs.h |  2 --
 drivers/staging/rdma/ehca/ehca_main.c   |  1 -
 drivers/staging/rdma/ehca/ehca_mrmw.c   | 49 -
 include/rdma/ib_verbs.h | 18 
 5 files changed, 77 deletions(-)

diff --git a/drivers/infiniband/core/verbs.c b/drivers/infiniband/core/verbs.c
index 87d3746..29a3e53 100644
--- a/drivers/infiniband/core/verbs.c
+++ b/drivers/infiniband/core/verbs.c
@@ -1216,13 +1216,6 @@ struct ib_mr *ib_get_dma_mr(struct ib_pd *pd, int 
mr_access_flags)
 }
 EXPORT_SYMBOL(ib_get_dma_mr);
 
-int ib_query_mr(struct ib_mr *mr, struct ib_mr_attr *mr_attr)
-{
-   return mr->device->query_mr ?
-   mr->device->query_mr(mr, mr_attr) : -ENOSYS;
-}
-EXPORT_SYMBOL(ib_query_mr);
-
 int ib_dereg_mr(struct ib_mr *mr)
 {
struct ib_pd *pd;
diff --git a/drivers/staging/rdma/ehca/ehca_iverbs.h 
b/drivers/staging/rdma/ehca/ehca_iverbs.h
index 75c9876..4a45ca3 100644
--- a/drivers/staging/rdma/ehca/ehca_iverbs.h
+++ b/drivers/staging/rdma/ehca/ehca_iverbs.h
@@ -94,8 +94,6 @@ int ehca_rereg_phys_mr(struct ib_mr *mr,
   struct ib_phys_buf *phys_buf_array,
   int num_phys_buf, int mr_access_flags, u64 *iova_start);
 
-int ehca_query_mr(struct ib_mr *mr, struct ib_mr_attr *mr_attr);
-
 int ehca_dereg_mr(struct ib_mr *mr);
 
 struct ib_mw *ehca_alloc_mw(struct ib_pd *pd, enum ib_mw_type type);
diff --git a/drivers/staging/rdma/ehca/ehca_main.c 
b/drivers/staging/rdma/ehca/ehca_main.c
index 285e560..0be7959 100644
--- a/drivers/staging/rdma/ehca/ehca_main.c
+++ b/drivers/staging/rdma/ehca/ehca_main.c
@@ -513,7 +513,6 @@ static int ehca_init_device(struct ehca_shca *shca)
shca->ib_device.get_dma_mr  = ehca_get_dma_mr;
shca->ib_device.reg_phys_mr = ehca_reg_phys_mr;
shca->ib_device.reg_user_mr = ehca_reg_user_mr;
-   shca->ib_device.query_mr= ehca_query_mr;
shca->ib_device.dereg_mr= ehca_dereg_mr;
shca->ib_device.rereg_phys_mr   = ehca_rereg_phys_mr;
shca->ib_device.alloc_mw= ehca_alloc_mw;
diff --git a/drivers/staging/rdma/ehca/ehca_mrmw.c 
b/drivers/staging/rdma/ehca/ehca_mrmw.c
index f914b30..eb274c1 100644
--- a/drivers/staging/rdma/ehca/ehca_mrmw.c
+++ b/drivers/staging/rdma/ehca/ehca_mrmw.c
@@ -589,55 +589,6 @@ rereg_phys_mr_exit0:
return ret;
 } /* end ehca_rereg_phys_mr() */
 
-/*--*/
-
-int ehca_query_mr(struct ib_mr *mr, struct ib_mr_attr *mr_attr)
-{
-   int ret = 0;
-   u64 h_ret;
-   struct ehca_shca *shca =
-   container_of(mr->device, struct ehca_shca, ib_device);
-   struct ehca_mr *e_mr = container_of(mr, struct ehca_mr, ib.ib_mr);
-   unsigned long sl_flags;
-   struct ehca_mr_hipzout_parms hipzout;
-
-   if ((e_mr->flags & EHCA_MR_FLAG_FMR)) {
-   ehca_err(mr->device, "not supported for FMR, mr=%p e_mr=%p "
-"e_mr->flags=%x", mr, e_mr, e_mr->flags);
-   ret = -EINVAL;
-   goto query_mr_exit0;
-   }
-
-   memset(mr_attr, 0, sizeof(struct ib_mr_attr));
-   spin_lock_irqsave(_mr->mrlock, sl_flags);
-
-   h_ret = hipz_h_query_mr(shca->ipz_hca_handle, e_mr, );
-   if (h_ret != H_SUCCESS) {
-   ehca_err(mr->device, "hipz_mr_query failed, h_ret=%lli mr=%p "
-"hca_hndl=%llx mr_hndl=%llx lkey=%x",
-h_ret, mr, shca->ipz_hca_handle.handle,
-e_mr->ipz_mr_handle.handle, mr->lkey);
-   ret = ehca2ib_return_code(h_ret);
-   goto query_mr_exit1;
-   }
-   mr_attr->pd = mr->pd;
-   mr_attr->device_virt_addr = hipzout.vaddr;
-   mr_attr->size = hipzout.len;
-   mr_attr->lkey = hipzout.lkey;
-   mr_attr->rkey = hipzout.rkey;
-   ehca_mrmw_reverse_map_acl(, _attr->mr_access_flags);
-
-query_mr_exit1:
-   spin_unlock_irqrestore(_mr->mrlock, sl_flags);
-query_mr_exit0:
-   if (ret)
-   ehca_err(mr->device, "ret=%i mr=%p mr_attr=%p",
-ret, mr, mr_attr);
-   return ret;
-} /* end ehca_query_mr() */
-
-/*--*/
-
 int ehca_dereg_mr(struct ib_mr *mr)
 {
int ret = 0;
diff --git a/include/rdma/ib_verbs.h b/include/rdma/ib_verbs.h
index db4e3fe..a2a7c22 100644
--- a/include/rdma/ib_verbs.h
+++ b/include/rdma/ib_verbs.h
@@ -1180,15 +1180,6 @@ struct ib_phys_buf {
u64