Merge tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma
Pull rdma updates from Jason Gunthorpe:
"A quiet cycle after the larger 5.8 effort. Substantially cleanup and
driver work with a few smaller features this time.
- Driver updates for hfi1, rxe, mlx5, hns, qedr, usnic, bnxt_re
- Removal of dead or redundant code across the drivers
- RAW resource tracker dumps to include a device specific data blob
for device objects to aide device debugging
- Further advance the IOCTL interface, remove the ability to turn it
off. Add QUERY_CONTEXT, QUERY_MR, and QUERY_PD commands
- Remove stubs related to devices with no pkey table
- A shared CQ scheme to allow multiple ULPs to share the CQ rings of
a device to give higher performance
- Several more static checker, syzkaller and rare crashers fixed"
* tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma: (121 commits)
RDMA/mlx5: Fix flow destination setting for RDMA TX flow table
RDMA/rxe: Remove pkey table
RDMA/umem: Add a schedule point in ib_umem_get()
RDMA/hns: Fix the unneeded process when getting a general type of CQE error
RDMA/hns: Fix error during modify qp RTS2RTS
RDMA/hns: Delete unnecessary memset when allocating VF resource
RDMA/hns: Remove redundant parameters in set_rc_wqe()
RDMA/hns: Remove support for HIP08_A
RDMA/hns: Refactor hns_roce_v2_set_hem()
RDMA/hns: Remove redundant hardware opcode definitions
RDMA/netlink: Remove CAP_NET_RAW check when dump a raw QP
RDMA/include: Replace license text with SPDX tags
RDMA/rtrs: remove WQ_MEM_RECLAIM for rtrs_wq
RDMA/rtrs-clt: add an additional random 8 seconds before reconnecting
RDMA/cma: Execute rdma_cm destruction from a handler properly
RDMA/cma: Remove unneeded locking for req paths
RDMA/cma: Using the standard locking pattern when delivering the removal event
RDMA/cma: Simplify DEVICE_REMOVAL for internal_id
RDMA/efa: Add EFA 0xefa1 PCI ID
RDMA/efa: User/kernel compatibility handshake mechanism
...
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
/* SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-2-Clause) */
|
||||
/*
|
||||
* Copyright 2018-2019 Amazon.com, Inc. or its affiliates. All rights reserved.
|
||||
* Copyright 2018-2020 Amazon.com, Inc. or its affiliates. All rights reserved.
|
||||
*/
|
||||
|
||||
#ifndef EFA_ABI_USER_H
|
||||
@@ -20,6 +20,16 @@
|
||||
* hex bit offset of the field.
|
||||
*/
|
||||
|
||||
enum {
|
||||
EFA_ALLOC_UCONTEXT_CMD_COMP_TX_BATCH = 1 << 0,
|
||||
EFA_ALLOC_UCONTEXT_CMD_COMP_MIN_SQ_WR = 1 << 1,
|
||||
};
|
||||
|
||||
struct efa_ibv_alloc_ucontext_cmd {
|
||||
__u32 comp_mask;
|
||||
__u8 reserved_20[4];
|
||||
};
|
||||
|
||||
enum efa_ibv_user_cmds_supp_udata {
|
||||
EFA_USER_CMDS_SUPP_UDATA_QUERY_DEVICE = 1 << 0,
|
||||
EFA_USER_CMDS_SUPP_UDATA_CREATE_AH = 1 << 1,
|
||||
@@ -31,6 +41,9 @@ struct efa_ibv_alloc_ucontext_resp {
|
||||
__u16 sub_cqs_per_cq;
|
||||
__u16 inline_buf_size;
|
||||
__u32 max_llq_size; /* bytes */
|
||||
__u16 max_tx_batch; /* units of 64 bytes */
|
||||
__u16 min_sq_wr;
|
||||
__u8 reserved_a0[4];
|
||||
};
|
||||
|
||||
struct efa_ibv_alloc_pd_resp {
|
||||
|
||||
@@ -69,6 +69,7 @@ enum uverbs_methods_device {
|
||||
UVERBS_METHOD_INFO_HANDLES,
|
||||
UVERBS_METHOD_QUERY_PORT,
|
||||
UVERBS_METHOD_GET_CONTEXT,
|
||||
UVERBS_METHOD_QUERY_CONTEXT,
|
||||
};
|
||||
|
||||
enum uverbs_attrs_invoke_write_cmd_attr_ids {
|
||||
@@ -87,6 +88,11 @@ enum uverbs_attrs_get_context_attr_ids {
|
||||
UVERBS_ATTR_GET_CONTEXT_CORE_SUPPORT,
|
||||
};
|
||||
|
||||
enum uverbs_attrs_query_context_attr_ids {
|
||||
UVERBS_ATTR_QUERY_CONTEXT_NUM_COMP_VECTORS,
|
||||
UVERBS_ATTR_QUERY_CONTEXT_CORE_SUPPORT,
|
||||
};
|
||||
|
||||
enum uverbs_attrs_create_cq_cmd_attr_ids {
|
||||
UVERBS_ATTR_CREATE_CQ_HANDLE,
|
||||
UVERBS_ATTR_CREATE_CQ_CQE,
|
||||
@@ -242,6 +248,7 @@ enum uverbs_methods_mr {
|
||||
UVERBS_METHOD_DM_MR_REG,
|
||||
UVERBS_METHOD_MR_DESTROY,
|
||||
UVERBS_METHOD_ADVISE_MR,
|
||||
UVERBS_METHOD_QUERY_MR,
|
||||
};
|
||||
|
||||
enum uverbs_attrs_mr_destroy_ids {
|
||||
@@ -255,6 +262,14 @@ enum uverbs_attrs_advise_mr_cmd_attr_ids {
|
||||
UVERBS_ATTR_ADVISE_MR_SGE_LIST,
|
||||
};
|
||||
|
||||
enum uverbs_attrs_query_mr_cmd_attr_ids {
|
||||
UVERBS_ATTR_QUERY_MR_HANDLE,
|
||||
UVERBS_ATTR_QUERY_MR_RESP_LKEY,
|
||||
UVERBS_ATTR_QUERY_MR_RESP_RKEY,
|
||||
UVERBS_ATTR_QUERY_MR_RESP_LENGTH,
|
||||
UVERBS_ATTR_QUERY_MR_RESP_IOVA,
|
||||
};
|
||||
|
||||
enum uverbs_attrs_create_counters_cmd_attr_ids {
|
||||
UVERBS_ATTR_CREATE_COUNTERS_HANDLE,
|
||||
};
|
||||
|
||||
@@ -228,6 +228,10 @@ enum mlx5_ib_flow_matcher_methods {
|
||||
MLX5_IB_METHOD_FLOW_MATCHER_DESTROY,
|
||||
};
|
||||
|
||||
enum mlx5_ib_device_query_context_attrs {
|
||||
MLX5_IB_ATTR_QUERY_CONTEXT_RESP_UCTX = (1U << UVERBS_ID_NS_SHIFT),
|
||||
};
|
||||
|
||||
#define MLX5_IB_DW_MATCH_PARAM 0x80
|
||||
|
||||
struct mlx5_ib_match_params {
|
||||
@@ -259,7 +263,7 @@ enum mlx5_ib_create_flow_attrs {
|
||||
MLX5_IB_ATTR_CREATE_FLOW_FLAGS,
|
||||
};
|
||||
|
||||
enum mlx5_ib_destoy_flow_attrs {
|
||||
enum mlx5_ib_destroy_flow_attrs {
|
||||
MLX5_IB_ATTR_DESTROY_FLOW_HANDLE = (1U << UVERBS_ID_NS_SHIFT),
|
||||
};
|
||||
|
||||
@@ -286,4 +290,14 @@ enum mlx5_ib_create_flow_action_create_packet_reformat_attrs {
|
||||
MLX5_IB_ATTR_CREATE_PACKET_REFORMAT_DATA_BUF,
|
||||
};
|
||||
|
||||
enum mlx5_ib_query_pd_attrs {
|
||||
MLX5_IB_ATTR_QUERY_PD_HANDLE = (1U << UVERBS_ID_NS_SHIFT),
|
||||
MLX5_IB_ATTR_QUERY_PD_RESP_PDN,
|
||||
};
|
||||
|
||||
enum mlx5_ib_pd_methods {
|
||||
MLX5_IB_METHOD_PD_QUERY = (1U << UVERBS_ID_NS_SHIFT),
|
||||
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@@ -39,8 +39,9 @@
|
||||
|
||||
/* user kernel communication data structures. */
|
||||
enum qedr_alloc_ucontext_flags {
|
||||
QEDR_ALLOC_UCTX_RESERVED = 1 << 0,
|
||||
QEDR_ALLOC_UCTX_DB_REC = 1 << 1
|
||||
QEDR_ALLOC_UCTX_EDPM_MODE = 1 << 0,
|
||||
QEDR_ALLOC_UCTX_DB_REC = 1 << 1,
|
||||
QEDR_SUPPORT_DPM_SIZES = 1 << 2,
|
||||
};
|
||||
|
||||
struct qedr_alloc_ucontext_req {
|
||||
@@ -50,13 +51,14 @@ struct qedr_alloc_ucontext_req {
|
||||
|
||||
#define QEDR_LDPM_MAX_SIZE (8192)
|
||||
#define QEDR_EDPM_TRANS_SIZE (64)
|
||||
#define QEDR_EDPM_MAX_SIZE (ROCE_REQ_MAX_INLINE_DATA_SIZE)
|
||||
|
||||
enum qedr_rdma_dpm_type {
|
||||
QEDR_DPM_TYPE_NONE = 0,
|
||||
QEDR_DPM_TYPE_ROCE_ENHANCED = 1 << 0,
|
||||
QEDR_DPM_TYPE_ROCE_LEGACY = 1 << 1,
|
||||
QEDR_DPM_TYPE_IWARP_LEGACY = 1 << 2,
|
||||
QEDR_DPM_TYPE_RESERVED = 1 << 3,
|
||||
QEDR_DPM_TYPE_ROCE_EDPM_MODE = 1 << 3,
|
||||
QEDR_DPM_SIZES_SET = 1 << 4,
|
||||
};
|
||||
|
||||
@@ -77,6 +79,8 @@ struct qedr_alloc_ucontext_resp {
|
||||
__u16 ldpm_limit_size;
|
||||
__u8 edpm_trans_size;
|
||||
__u8 reserved;
|
||||
__u16 edpm_limit_size;
|
||||
__u8 padding[6];
|
||||
};
|
||||
|
||||
struct qedr_alloc_pd_ureq {
|
||||
|
||||
@@ -287,6 +287,12 @@ enum rdma_nldev_command {
|
||||
|
||||
RDMA_NLDEV_CMD_STAT_DEL,
|
||||
|
||||
RDMA_NLDEV_CMD_RES_QP_GET_RAW,
|
||||
|
||||
RDMA_NLDEV_CMD_RES_CQ_GET_RAW,
|
||||
|
||||
RDMA_NLDEV_CMD_RES_MR_GET_RAW,
|
||||
|
||||
RDMA_NLDEV_NUM_OPS
|
||||
};
|
||||
|
||||
@@ -525,6 +531,8 @@ enum rdma_nldev_attr {
|
||||
*/
|
||||
RDMA_NLDEV_ATTR_DEV_DIM, /* u8 */
|
||||
|
||||
RDMA_NLDEV_ATTR_RES_RAW, /* binary */
|
||||
|
||||
/*
|
||||
* Always the end
|
||||
*/
|
||||
@@ -561,5 +569,6 @@ enum rdma_nl_counter_mode {
|
||||
*/
|
||||
enum rdma_nl_counter_mask {
|
||||
RDMA_COUNTER_MASK_QP_TYPE = 1,
|
||||
RDMA_COUNTER_MASK_PID = 1 << 1,
|
||||
};
|
||||
#endif /* _UAPI_RDMA_NETLINK_H */
|
||||
|
||||
@@ -43,7 +43,7 @@
|
||||
|
||||
/*
|
||||
* General blocks assignments
|
||||
* It is closed on purpose do not expose it it user space
|
||||
* It is closed on purpose - do not expose it to user space
|
||||
* #define MAD_CMD_BASE 0x00
|
||||
* #define HFI1_CMD_BAS 0xE0
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user