]> git.karo-electronics.de Git - linux-beck.git/commitdiff
IB/rdmavt: Add query and modify device stubs
authorDennis Dalessandro <dennis.dalessandro@intel.com>
Wed, 6 Jan 2016 17:53:05 +0000 (09:53 -0800)
committerDoug Ledford <dledford@redhat.com>
Fri, 11 Mar 2016 01:37:05 +0000 (20:37 -0500)
Adds the stubs which will handle the query and modify device functions. At
this time the only intention is to support changing the node desc and the
guid via these calls.

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>
drivers/infiniband/sw/rdmavt/vt.c

index 8bd25c310052faefc6572bb2e4aaf70ee26ac3b9..db1464678a14360a887114c40b3260fb5727a264 100644 (file)
@@ -64,6 +64,33 @@ static void rvt_cleanup(void)
 }
 module_exit(rvt_cleanup);
 
+static int rvt_query_device(struct ib_device *ibdev,
+                           struct ib_device_attr *props,
+                           struct ib_udata *uhw)
+{
+       /*
+        * Return rvt_dev_info.props contents
+        */
+       return -EOPNOTSUPP;
+}
+
+static int rvt_modify_device(struct ib_device *device,
+                            int device_modify_mask,
+                            struct ib_device_modify *device_modify)
+{
+       /*
+        * Change dev props. Planned support is for node desc change and sys
+        * guid change only. This matches hfi1 and qib behavior. Other drivers
+        * that support existing modifications will need to add their support.
+        */
+
+       /*
+        * VT-DRIVER-API: node_desc_change()
+        * VT-DRIVER-API: sys_guid_change()
+        */
+       return -EOPNOTSUPP;
+}
+
 /*
  * Check driver override. If driver passes a value use it, otherwise we use our
  * own value.
@@ -76,6 +103,10 @@ int rvt_register_device(struct rvt_dev_info *rdi)
        if (!rdi)
                return -EINVAL;
 
+       /* Dev Ops */
+       CHECK_DRIVER_OVERRIDE(rdi, query_device);
+       CHECK_DRIVER_OVERRIDE(rdi, modify_device);
+
        /* DMA Operations */
        rdi->ibdev.dma_ops =
                rdi->ibdev.dma_ops ? : &rvt_default_dma_mapping_ops;