mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-08 12:58:12 -04:00
5.2 Merge Window pull request
This has been a smaller cycle than normal. One new driver was accepted,
which is unusual, and at least one more driver remains in review on the
list.
- Driver fixes for hns, hfi1, nes, rxe, i40iw, mlx5, cxgb4, vmw_pvrdma
- Many patches from MatthewW converting radix tree and IDR users to use
xarray
- Introduction of tracepoints to the MAD layer
- Build large SGLs at the start for DMA mapping and get the driver to
split them
- Generally clean SGL handling code throughout the subsystem
- Support for restricting RDMA devices to net namespaces for containers
- Progress to remove object allocation boilerplate code from drivers
- Change in how the mlx5 driver shows representor ports linked to VFs
- mlx5 uapi feature to access the on chip SW ICM memory
- Add a new driver for 'EFA'. This is HW that supports user space packet
processing through QPs in Amazon's cloud
-----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEfB7FMLh+8QxL+6i3OG33FX4gmxoFAlzTIU0ACgkQOG33FX4g
mxrGKQ/8CqpyvuCyZDW5ovO4DI4YlzYSPXehWlwxA4CWhU1AYTujutnNOdZdngnz
atTthOlJpZWJV26orvvzwIOi4qX/5UjLXEY3HYdn07JP1Z4iT7E3P4W2sdU3vdl3
j8bU7xM7ZWmnGxrBZ6yQlVRadEhB8+HJIZWMw+wx66cIPnvU+g9NgwouH67HEEQ3
PU8OCtGBwNNR508WPiZhjqMDfi/3BED4BfCihFhMbZEgFgObjRgtCV0M33SSXKcR
IO2FGNVuDAUBlND3vU9guW1+M77xE6p1GvzkIgdCp6qTc724NuO5F2ngrpHKRyZT
CxvBhAJI6tAZmjBVnmgVJex7rA8p+y/8M/2WD6GE3XSO89XVOkzNBiO2iTMeoxXr
+CX6VvP2BWwCArxsfKMgW3j0h/WVE9w8Ciej1628m1NvvKEV4AGIJC1g93lIJkRN
i3RkJ5PkIrdBrTEdKwDu1FdXQHaO7kGgKvwzJ7wBFhso8BRMrMfdULiMbaXs2Bw1
WdL5zoSe/bLUpPZxcT9IjXRxY5qR0FpIOoo6925OmvyYe/oZo1zbitS5GGbvV90g
tkq6Jb+aq8ZKtozwCo+oMcg9QPLYNibQsnkL3QirtURXWCG467xdgkaJLdF6s5Oh
cp+YBqbR/8HNMG/KQlCfnNQKp1ci8mG3EdthQPhvdcZ4jtbqnSI=
=TS64
-----END PGP SIGNATURE-----
Merge tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma
Pull rdma updates from Jason Gunthorpe:
"This has been a smaller cycle than normal. One new driver was
accepted, which is unusual, and at least one more driver remains in
review on the list.
Summary:
- Driver fixes for hns, hfi1, nes, rxe, i40iw, mlx5, cxgb4,
vmw_pvrdma
- Many patches from MatthewW converting radix tree and IDR users to
use xarray
- Introduction of tracepoints to the MAD layer
- Build large SGLs at the start for DMA mapping and get the driver to
split them
- Generally clean SGL handling code throughout the subsystem
- Support for restricting RDMA devices to net namespaces for
containers
- Progress to remove object allocation boilerplate code from drivers
- Change in how the mlx5 driver shows representor ports linked to VFs
- mlx5 uapi feature to access the on chip SW ICM memory
- Add a new driver for 'EFA'. This is HW that supports user space
packet processing through QPs in Amazon's cloud"
* tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma: (186 commits)
RDMA/ipoib: Allow user space differentiate between valid dev_port
IB/core, ipoib: Do not overreact to SM LID change event
RDMA/device: Don't fire uevent before device is fully initialized
lib/scatterlist: Remove leftover from sg_page_iter comment
RDMA/efa: Add driver to Kconfig/Makefile
RDMA/efa: Add the efa module
RDMA/efa: Add EFA verbs implementation
RDMA/efa: Add common command handlers
RDMA/efa: Implement functions that submit and complete admin commands
RDMA/efa: Add the ABI definitions
RDMA/efa: Add the com service API definitions
RDMA/efa: Add the efa_com.h file
RDMA/efa: Add the efa.h header file
RDMA/efa: Add EFA device definitions
RDMA: Add EFA related definitions
RDMA/umem: Remove hugetlb flag
RDMA/bnxt_re: Use core helpers to get aligned DMA address
RDMA/i40iw: Use core helpers to get aligned DMA address within a supported page size
RDMA/verbs: Add a DMA iterator to return aligned contiguous memory blocks
RDMA/umem: Add API to find best driver supported page size in an MR
...
This commit is contained in:
commit
dce45af5c2
251 changed files with 12535 additions and 4571 deletions
101
include/uapi/rdma/efa-abi.h
Normal file
101
include/uapi/rdma/efa-abi.h
Normal file
|
|
@ -0,0 +1,101 @@
|
|||
/* 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.
|
||||
*/
|
||||
|
||||
#ifndef EFA_ABI_USER_H
|
||||
#define EFA_ABI_USER_H
|
||||
|
||||
#include <linux/types.h>
|
||||
|
||||
/*
|
||||
* Increment this value if any changes that break userspace ABI
|
||||
* compatibility are made.
|
||||
*/
|
||||
#define EFA_UVERBS_ABI_VERSION 1
|
||||
|
||||
/*
|
||||
* Keep structs aligned to 8 bytes.
|
||||
* Keep reserved fields as arrays of __u8 named reserved_XXX where XXX is the
|
||||
* hex bit offset of the field.
|
||||
*/
|
||||
|
||||
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,
|
||||
};
|
||||
|
||||
struct efa_ibv_alloc_ucontext_resp {
|
||||
__u32 comp_mask;
|
||||
__u32 cmds_supp_udata_mask;
|
||||
__u16 sub_cqs_per_cq;
|
||||
__u16 inline_buf_size;
|
||||
__u32 max_llq_size; /* bytes */
|
||||
};
|
||||
|
||||
struct efa_ibv_alloc_pd_resp {
|
||||
__u32 comp_mask;
|
||||
__u16 pdn;
|
||||
__u8 reserved_30[2];
|
||||
};
|
||||
|
||||
struct efa_ibv_create_cq {
|
||||
__u32 comp_mask;
|
||||
__u32 cq_entry_size;
|
||||
__u16 num_sub_cqs;
|
||||
__u8 reserved_50[6];
|
||||
};
|
||||
|
||||
struct efa_ibv_create_cq_resp {
|
||||
__u32 comp_mask;
|
||||
__u8 reserved_20[4];
|
||||
__aligned_u64 q_mmap_key;
|
||||
__aligned_u64 q_mmap_size;
|
||||
__u16 cq_idx;
|
||||
__u8 reserved_d0[6];
|
||||
};
|
||||
|
||||
enum {
|
||||
EFA_QP_DRIVER_TYPE_SRD = 0,
|
||||
};
|
||||
|
||||
struct efa_ibv_create_qp {
|
||||
__u32 comp_mask;
|
||||
__u32 rq_ring_size; /* bytes */
|
||||
__u32 sq_ring_size; /* bytes */
|
||||
__u32 driver_qp_type;
|
||||
};
|
||||
|
||||
struct efa_ibv_create_qp_resp {
|
||||
__u32 comp_mask;
|
||||
/* the offset inside the page of the rq db */
|
||||
__u32 rq_db_offset;
|
||||
/* the offset inside the page of the sq db */
|
||||
__u32 sq_db_offset;
|
||||
/* the offset inside the page of descriptors buffer */
|
||||
__u32 llq_desc_offset;
|
||||
__aligned_u64 rq_mmap_key;
|
||||
__aligned_u64 rq_mmap_size;
|
||||
__aligned_u64 rq_db_mmap_key;
|
||||
__aligned_u64 sq_db_mmap_key;
|
||||
__aligned_u64 llq_desc_mmap_key;
|
||||
__u16 send_sub_cq_idx;
|
||||
__u16 recv_sub_cq_idx;
|
||||
__u8 reserved_1e0[4];
|
||||
};
|
||||
|
||||
struct efa_ibv_create_ah_resp {
|
||||
__u32 comp_mask;
|
||||
__u16 efa_address_handle;
|
||||
__u8 reserved_30[2];
|
||||
};
|
||||
|
||||
struct efa_ibv_ex_query_device_resp {
|
||||
__u32 comp_mask;
|
||||
__u32 max_sq_wr;
|
||||
__u32 max_rq_wr;
|
||||
__u16 max_sq_sge;
|
||||
__u16 max_rq_sge;
|
||||
};
|
||||
|
||||
#endif /* EFA_ABI_USER_H */
|
||||
|
|
@ -360,6 +360,7 @@ enum mlx5_ib_create_qp_resp_mask {
|
|||
MLX5_IB_CREATE_QP_RESP_MASK_TISN = 1UL << 1,
|
||||
MLX5_IB_CREATE_QP_RESP_MASK_RQN = 1UL << 2,
|
||||
MLX5_IB_CREATE_QP_RESP_MASK_SQN = 1UL << 3,
|
||||
MLX5_IB_CREATE_QP_RESP_MASK_TIR_ICM_ADDR = 1UL << 4,
|
||||
};
|
||||
|
||||
struct mlx5_ib_create_qp_resp {
|
||||
|
|
@ -371,6 +372,7 @@ struct mlx5_ib_create_qp_resp {
|
|||
__u32 rqn;
|
||||
__u32 sqn;
|
||||
__u32 reserved1;
|
||||
__u64 tir_icm_addr;
|
||||
};
|
||||
|
||||
struct mlx5_ib_alloc_mw {
|
||||
|
|
|
|||
|
|
@ -44,6 +44,7 @@ enum mlx5_ib_create_flow_action_attrs {
|
|||
enum mlx5_ib_alloc_dm_attrs {
|
||||
MLX5_IB_ATTR_ALLOC_DM_RESP_START_OFFSET = (1U << UVERBS_ID_NS_SHIFT),
|
||||
MLX5_IB_ATTR_ALLOC_DM_RESP_PAGE_INDEX,
|
||||
MLX5_IB_ATTR_ALLOC_DM_REQ_TYPE,
|
||||
};
|
||||
|
||||
enum mlx5_ib_devx_methods {
|
||||
|
|
@ -144,6 +145,7 @@ enum mlx5_ib_flow_matcher_create_attrs {
|
|||
MLX5_IB_ATTR_FLOW_MATCHER_FLOW_TYPE,
|
||||
MLX5_IB_ATTR_FLOW_MATCHER_MATCH_CRITERIA,
|
||||
MLX5_IB_ATTR_FLOW_MATCHER_FLOW_FLAGS,
|
||||
MLX5_IB_ATTR_FLOW_MATCHER_FT_TYPE,
|
||||
};
|
||||
|
||||
enum mlx5_ib_flow_matcher_destroy_attrs {
|
||||
|
|
|
|||
|
|
@ -42,6 +42,7 @@ enum mlx5_ib_uapi_flow_action_flags {
|
|||
enum mlx5_ib_uapi_flow_table_type {
|
||||
MLX5_IB_UAPI_FLOW_TABLE_TYPE_NIC_RX = 0x0,
|
||||
MLX5_IB_UAPI_FLOW_TABLE_TYPE_NIC_TX = 0x1,
|
||||
MLX5_IB_UAPI_FLOW_TABLE_TYPE_FDB = 0x2,
|
||||
};
|
||||
|
||||
enum mlx5_ib_uapi_flow_action_packet_reformat_type {
|
||||
|
|
@ -56,5 +57,11 @@ struct mlx5_ib_uapi_devx_async_cmd_hdr {
|
|||
__u8 out_data[];
|
||||
};
|
||||
|
||||
enum mlx5_ib_uapi_dm_type {
|
||||
MLX5_IB_UAPI_DM_TYPE_MEMIC,
|
||||
MLX5_IB_UAPI_DM_TYPE_STEERING_SW_ICM,
|
||||
MLX5_IB_UAPI_DM_TYPE_HEADER_MODIFY_SW_ICM,
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
|
|
|
|||
|
|
@ -49,17 +49,6 @@ enum {
|
|||
RDMA_NL_IWPM_NUM_OPS
|
||||
};
|
||||
|
||||
struct rdma_cm_id_stats {
|
||||
__u32 qp_num;
|
||||
__u32 bound_dev_if;
|
||||
__u32 port_space;
|
||||
__s32 pid;
|
||||
__u8 cm_state;
|
||||
__u8 node_type;
|
||||
__u8 port_num;
|
||||
__u8 qp_type;
|
||||
};
|
||||
|
||||
enum {
|
||||
IWPM_NLA_REG_PID_UNSPEC = 0,
|
||||
IWPM_NLA_REG_PID_SEQ,
|
||||
|
|
@ -261,7 +250,10 @@ enum rdma_nldev_command {
|
|||
|
||||
RDMA_NLDEV_CMD_PORT_GET, /* can dump */
|
||||
|
||||
/* 6 - 8 are free to use */
|
||||
RDMA_NLDEV_CMD_SYS_GET, /* can dump */
|
||||
RDMA_NLDEV_CMD_SYS_SET,
|
||||
|
||||
/* 8 is free to use */
|
||||
|
||||
RDMA_NLDEV_CMD_RES_GET = 9, /* can dump */
|
||||
|
||||
|
|
@ -472,6 +464,21 @@ enum rdma_nldev_attr {
|
|||
*/
|
||||
RDMA_NLDEV_ATTR_LINK_TYPE, /* string */
|
||||
|
||||
/*
|
||||
* net namespace mode for rdma subsystem:
|
||||
* either shared or exclusive among multiple net namespaces.
|
||||
*/
|
||||
RDMA_NLDEV_SYS_ATTR_NETNS_MODE, /* u8 */
|
||||
/*
|
||||
* Device protocol, e.g. ib, iw, usnic, roce and opa
|
||||
*/
|
||||
RDMA_NLDEV_ATTR_DEV_PROTOCOL, /* string */
|
||||
|
||||
/*
|
||||
* File descriptor handle of the net namespace object
|
||||
*/
|
||||
RDMA_NLDEV_NET_NS_FD, /* u32 */
|
||||
|
||||
/*
|
||||
* Always the end
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -102,6 +102,7 @@ enum rdma_driver_id {
|
|||
RDMA_DRIVER_RXE,
|
||||
RDMA_DRIVER_HFI1,
|
||||
RDMA_DRIVER_QIB,
|
||||
RDMA_DRIVER_EFA,
|
||||
};
|
||||
|
||||
#endif
|
||||
|
|
|
|||
Loading…
Reference in a new issue