]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
RDMA/core: Add optional access flags range
authorMichael Guralnik <michaelgur@mellanox.com>
Wed, 8 Jan 2020 18:05:36 +0000 (20:05 +0200)
committerJason Gunthorpe <jgg@mellanox.com>
Thu, 16 Jan 2020 19:55:46 +0000 (15:55 -0400)
Define a range of access flags that are defined to be optional, both
uverbs and drivers should enable getting them and use if they are
applicable

This will be used, for example, for the relaxed ordering access flag which
unsupporting drivers can ignore.

Link: https://lore.kernel.org/r/1578506740-22188-7-git-send-email-yishaih@mellanox.com
Signed-off-by: Michael Guralnik <michaelgur@mellanox.com>
Signed-off-by: Yishai Hadas <yishaih@mellanox.com>
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
include/rdma/ib_verbs.h
include/uapi/rdma/ib_user_ioctl_verbs.h

index b20b89e93c621f7e18cde2923677b56eb8bb8a4c..ed6cf11612b3827612c09f076bd284261b176193 100644 (file)
@@ -1419,7 +1419,9 @@ enum ib_access_flags {
        IB_ACCESS_ON_DEMAND = IB_UVERBS_ACCESS_ON_DEMAND,
        IB_ACCESS_HUGETLB = IB_UVERBS_ACCESS_HUGETLB,
 
-       IB_ACCESS_SUPPORTED = ((IB_ACCESS_HUGETLB << 1) - 1)
+       IB_ACCESS_OPTIONAL = IB_UVERBS_ACCESS_OPTIONAL_RANGE,
+       IB_ACCESS_SUPPORTED =
+               ((IB_ACCESS_HUGETLB << 1) - 1) | IB_ACCESS_OPTIONAL,
 };
 
 /*
index 9019b2d906ea87404f6eb2b66d2a97e0f06806cf..76dbbd9b55fc9c6d25823ebd5805991ff8a866d5 100644 (file)
@@ -41,6 +41,9 @@
 #define RDMA_UAPI_PTR(_type, _name)    __aligned_u64 _name
 #endif
 
+#define IB_UVERBS_ACCESS_OPTIONAL_FIRST (1 << 20)
+#define IB_UVERBS_ACCESS_OPTIONAL_LAST (1 << 29)
+
 enum ib_uverbs_access_flags {
        IB_UVERBS_ACCESS_LOCAL_WRITE = 1 << 0,
        IB_UVERBS_ACCESS_REMOTE_WRITE = 1 << 1,
@@ -50,6 +53,10 @@ enum ib_uverbs_access_flags {
        IB_UVERBS_ACCESS_ZERO_BASED = 1 << 5,
        IB_UVERBS_ACCESS_ON_DEMAND = 1 << 6,
        IB_UVERBS_ACCESS_HUGETLB = 1 << 7,
+
+       IB_UVERBS_ACCESS_OPTIONAL_RANGE =
+               ((IB_UVERBS_ACCESS_OPTIONAL_LAST << 1) - 1) &
+               ~(IB_UVERBS_ACCESS_OPTIONAL_FIRST - 1)
 };
 
 enum ib_uverbs_query_port_cap_flags {