IB/mlx5: Add ODP atomics support
Handle ODP atomic operations. When initiator of RDMA atomic operation use ODP MR to provide source data handle pagefault properly. Signed-off-by: Artemy Kovalyov <artemyko@mellanox.com> Signed-off-by: Leon Romanovsky <leon@kernel.org> Signed-off-by: Saeed Mahameed <saeedm@mellanox.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:

committed by
David S. Miller

parent
d9aaed8387
commit
17d2f88f92
@@ -328,7 +328,7 @@ struct mlx5_ifc_odp_per_transport_service_cap_bits {
|
||||
u8 receive[0x1];
|
||||
u8 write[0x1];
|
||||
u8 read[0x1];
|
||||
u8 reserved_at_4[0x1];
|
||||
u8 atomic[0x1];
|
||||
u8 srq_receive[0x1];
|
||||
u8 reserved_at_6[0x1a];
|
||||
};
|
||||
|
@@ -212,6 +212,7 @@ struct mlx5_wqe_ctrl_seg {
|
||||
#define MLX5_WQE_CTRL_OPCODE_MASK 0xff
|
||||
#define MLX5_WQE_CTRL_WQE_INDEX_MASK 0x00ffff00
|
||||
#define MLX5_WQE_CTRL_WQE_INDEX_SHIFT 8
|
||||
#define MLX5_WQE_AV_EXT 0x80000000
|
||||
|
||||
enum {
|
||||
MLX5_ETH_WQE_L3_INNER_CSUM = 1 << 4,
|
||||
@@ -242,6 +243,23 @@ struct mlx5_wqe_masked_atomic_seg {
|
||||
__be64 compare_mask;
|
||||
};
|
||||
|
||||
struct mlx5_base_av {
|
||||
union {
|
||||
struct {
|
||||
__be32 qkey;
|
||||
__be32 reserved;
|
||||
} qkey;
|
||||
__be64 dc_key;
|
||||
} key;
|
||||
__be32 dqp_dct;
|
||||
u8 stat_rate_sl;
|
||||
u8 fl_mlid;
|
||||
union {
|
||||
__be16 rlid;
|
||||
__be16 udp_sport;
|
||||
};
|
||||
};
|
||||
|
||||
struct mlx5_av {
|
||||
union {
|
||||
struct {
|
||||
|
Reference in New Issue
Block a user