summaryrefslogtreecommitdiffstats
path: root/drivers/infiniband/sw/rdmavt/vt.c
diff options
context:
space:
mode:
authorDennis Dalessandro2016-01-06 18:54:50 +0100
committerDoug Ledford2016-03-11 02:37:07 +0100
commit2d092e11744695c30b76fac070c80bb7e1ac9325 (patch)
treeddb418d0f4d09641e80fc822857989db7718cf06 /drivers/infiniband/sw/rdmavt/vt.c
parentIB/rdmavt: Add pkey query stub (diff)
downloadkernel-qcow2-linux-2d092e11744695c30b76fac070c80bb7e1ac9325.tar.gz
kernel-qcow2-linux-2d092e11744695c30b76fac070c80bb7e1ac9325.tar.xz
kernel-qcow2-linux-2d092e11744695c30b76fac070c80bb7e1ac9325.zip
IB/rdmavt: Add query gid stub
The handler for query gid operates along the same lines as the query pkey handler. The driver will take care to keep the guid table updated. Reviewed-by: Mike Marciniszyn <mike.marciniszyn@intel.com> Reviewed-by: Ira Weiny <ira.weiny@intel.com> Signed-off-by: Dennis Dalessandro <dennis.dalessandro@intel.com> Signed-off-by: Doug Ledford <dledford@redhat.com>
Diffstat (limited to 'drivers/infiniband/sw/rdmavt/vt.c')
-rw-r--r--drivers/infiniband/sw/rdmavt/vt.c22
1 files changed, 22 insertions, 0 deletions
diff --git a/drivers/infiniband/sw/rdmavt/vt.c b/drivers/infiniband/sw/rdmavt/vt.c
index fc5372d75280..e95f19752b46 100644
--- a/drivers/infiniband/sw/rdmavt/vt.c
+++ b/drivers/infiniband/sw/rdmavt/vt.c
@@ -157,6 +157,27 @@ static int rvt_query_pkey(struct ib_device *ibdev, u8 port, u16 index,
return 0;
}
+/**
+ * rvt_query_gid - Return a gid from the table
+ * @ibdev: Verbs IB dev
+ * @port: Port number
+ * @index: = Index in table
+ * @gid: Gid to return
+ *
+ * Returns 0 on success
+ */
+static int rvt_query_gid(struct ib_device *ibdev, u8 port,
+ int index, union ib_gid *gid)
+{
+ /*
+ * Driver is responsible for updating the guid table. Which will be used
+ * to craft the return value. This will work similar to how query_pkey()
+ * is being done.
+ */
+
+ return -EOPNOTSUPP;
+}
+
/*
* Check driver override. If driver passes a value use it, otherwise we use our
* own value.
@@ -175,6 +196,7 @@ int rvt_register_device(struct rvt_dev_info *rdi)
CHECK_DRIVER_OVERRIDE(rdi, query_port);
CHECK_DRIVER_OVERRIDE(rdi, modify_port);
CHECK_DRIVER_OVERRIDE(rdi, query_pkey);
+ CHECK_DRIVER_OVERRIDE(rdi, query_gid);
/* DMA Operations */
rdi->ibdev.dma_ops =