Roland Dreier wrote:
@@ -486,7 +500,11 @@ enum ibv_wr_opcode {
+       IBV_WR_LSO,
LSO is not exposed to user space by this patch, so maybe better to just reserve/skip this enum value?

--- a/src/cmd.c
+++ b/src/cmd.c
@@ -159,6 +159,18 @@ int ibv_cmd_query_device(struct ibv_context *context,
+       /*
+        * If the kernel driver says that it supports memory
+        * management extensions, then move the flag to
+        * IBV_DEVICE_KERN_MEM_MGT_EXTENSIONS so that the low-level
+        * driver needs to move the flag back to show it supports the
+        * operations as well.
+        */
+       if (device_attr->device_cap_flags & IBV_DEVICE_MEM_MGT_EXTENSIONS) {
+               device_attr->device_cap_flags &= ~IBV_DEVICE_MEM_MGT_EXTENSIONS;
+               device_attr->device_cap_flags |= 
IBV_DEVICE_KERN_MEM_MGT_EXTENSIONS;
+       }
this sets IBV_DEVICE_MEM_MGT_EXTENSIONS off and the IBV_DEVICE_KERN_MEM_MGT_EXTENSIONS on, correct?
--- a/src/verbs.c
+++ b/src/verbs.c
@@ -79,7 +79,13 @@ enum ibv_rate mult_to_ibv_rate(int mult)
 int __ibv_query_device(struct ibv_context *context,
                       struct ibv_device_attr *device_attr)
 {
-       return context->ops.query_device(context, device_attr);
+       int ret;
+
+       ret = context->ops.query_device(context, device_attr);
+
+       device_attr->device_cap_flags &= ~IBV_DEVICE_KERN_MEM_MGT_EXTENSIONS;
and this sets IBV_DEVICE_KERN_MEM_MGT_EXTENSIONS off, so at the bottom line the user will never see IBV_DEVICE_MEM_MGT_EXTENSIONS being set to ON? or the user space hw library should somwhow add this bit?

Or.

_______________________________________________
general mailing list
[email protected]
http://lists.openfabrics.org/cgi-bin/mailman/listinfo/general

To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general

Reply via email to