|
@@ -123,7 +123,8 @@ enum ib_device_cap_flags {
|
|
|
IB_DEVICE_MEM_WINDOW_TYPE_2A = (1<<23),
|
|
|
IB_DEVICE_MEM_WINDOW_TYPE_2B = (1<<24),
|
|
|
IB_DEVICE_MANAGED_FLOW_STEERING = (1<<29),
|
|
|
- IB_DEVICE_SIGNATURE_HANDOVER = (1<<30)
|
|
|
+ IB_DEVICE_SIGNATURE_HANDOVER = (1<<30),
|
|
|
+ IB_DEVICE_ON_DEMAND_PAGING = (1<<31),
|
|
|
};
|
|
|
|
|
|
enum ib_signature_prot_cap {
|
|
@@ -143,6 +144,27 @@ enum ib_atomic_cap {
|
|
|
IB_ATOMIC_GLOB
|
|
|
};
|
|
|
|
|
|
+enum ib_odp_general_cap_bits {
|
|
|
+ IB_ODP_SUPPORT = 1 << 0,
|
|
|
+};
|
|
|
+
|
|
|
+enum ib_odp_transport_cap_bits {
|
|
|
+ IB_ODP_SUPPORT_SEND = 1 << 0,
|
|
|
+ IB_ODP_SUPPORT_RECV = 1 << 1,
|
|
|
+ IB_ODP_SUPPORT_WRITE = 1 << 2,
|
|
|
+ IB_ODP_SUPPORT_READ = 1 << 3,
|
|
|
+ IB_ODP_SUPPORT_ATOMIC = 1 << 4,
|
|
|
+};
|
|
|
+
|
|
|
+struct ib_odp_caps {
|
|
|
+ uint64_t general_caps;
|
|
|
+ struct {
|
|
|
+ uint32_t rc_odp_caps;
|
|
|
+ uint32_t uc_odp_caps;
|
|
|
+ uint32_t ud_odp_caps;
|
|
|
+ } per_transport_caps;
|
|
|
+};
|
|
|
+
|
|
|
struct ib_device_attr {
|
|
|
u64 fw_ver;
|
|
|
__be64 sys_image_guid;
|
|
@@ -186,6 +208,7 @@ struct ib_device_attr {
|
|
|
u8 local_ca_ack_delay;
|
|
|
int sig_prot_cap;
|
|
|
int sig_guard_cap;
|
|
|
+ struct ib_odp_caps odp_caps;
|
|
|
};
|
|
|
|
|
|
enum ib_mtu {
|
|
@@ -1073,7 +1096,8 @@ enum ib_access_flags {
|
|
|
IB_ACCESS_REMOTE_READ = (1<<2),
|
|
|
IB_ACCESS_REMOTE_ATOMIC = (1<<3),
|
|
|
IB_ACCESS_MW_BIND = (1<<4),
|
|
|
- IB_ZERO_BASED = (1<<5)
|
|
|
+ IB_ZERO_BASED = (1<<5),
|
|
|
+ IB_ACCESS_ON_DEMAND = (1<<6),
|
|
|
};
|
|
|
|
|
|
struct ib_phys_buf {
|