Merge tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma
Pull rdma updates from Jason Gunthorpe: "A more active cycle than most of the recent past, with a few large, long discussed works this time. The RNBD block driver has been posted for nearly two years now, and flowing through RDMA due to it also introducing a new ULP. The removal of FMR has been a recurring discussion theme for a long time. And the usual smattering of features and bug fixes. Summary: - Various small driver bugs fixes in rxe, mlx5, hfi1, and efa - Continuing driver cleanups in bnxt_re, hns - Big cleanup of mlx5 QP creation flows - More consistent use of src port and flow label when LAG is used and a mlx5 implementation - Additional set of cleanups for IB CM - 'RNBD' network block driver and target. This is a network block RDMA device specific to ionos's cloud environment. It brings strong multipath and resiliency capabilities. - Accelerated IPoIB for HFI1 - QP/WQ/SRQ ioctl migration for uverbs, and support for multiple async fds - Support for exchanging the new IBTA defiend ECE data during RDMA CM exchanges - Removal of the very old and insecure FMR interface from all ULPs and drivers. FRWR should be preferred for at least a decade now" * tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma: (247 commits) RDMA/cm: Spurious WARNING triggered in cm_destroy_id() RDMA/mlx5: Return ECE DC support RDMA/mlx5: Don't rely on FW to set zeros in ECE response RDMA/mlx5: Return an error if copy_to_user fails IB/hfi1: Use free_netdev() in hfi1_netdev_free() RDMA/hns: Uninitialized variable in modify_qp_init_to_rtr() RDMA/core: Move and rename trace_cm_id_create() IB/hfi1: Fix hfi1_netdev_rx_init() error handling RDMA: Remove 'max_map_per_fmr' RDMA: Remove 'max_fmr' RDMA/core: Remove FMR device ops RDMA/rdmavt: Remove FMR memory registration RDMA/mthca: Remove FMR support for memory registration RDMA/mlx4: Remove FMR support for memory registration RDMA/i40iw: Remove FMR leftovers RDMA/bnxt_re: Remove FMR leftovers RDMA/mlx5: Remove FMR leftovers RDMA/core: Remove FMR pool API RDMA/rds: Remove FMR support for memory registration RDMA/srp: Remove support for FMR memory registration ...
This commit is contained in:
@@ -1321,7 +1321,9 @@ struct mlx5_ifc_cmd_hca_cap_bits {
|
||||
u8 stat_rate_support[0x10];
|
||||
u8 reserved_at_1f0[0x1];
|
||||
u8 pci_sync_for_fw_update_event[0x1];
|
||||
u8 reserved_at_1f2[0xa];
|
||||
u8 reserved_at_1f2[0x6];
|
||||
u8 init2_lag_tx_port_affinity[0x1];
|
||||
u8 reserved_at_1fa[0x3];
|
||||
u8 cqe_version[0x4];
|
||||
|
||||
u8 compact_address_vector[0x1];
|
||||
@@ -3688,7 +3690,8 @@ struct mlx5_ifc_dctc_bits {
|
||||
u8 ecn[0x2];
|
||||
u8 dscp[0x6];
|
||||
|
||||
u8 reserved_at_1c0[0x40];
|
||||
u8 reserved_at_1c0[0x20];
|
||||
u8 ece[0x20];
|
||||
};
|
||||
|
||||
enum {
|
||||
@@ -7938,7 +7941,7 @@ struct mlx5_ifc_create_dct_out_bits {
|
||||
u8 reserved_at_40[0x8];
|
||||
u8 dctn[0x18];
|
||||
|
||||
u8 reserved_at_60[0x20];
|
||||
u8 ece[0x20];
|
||||
};
|
||||
|
||||
struct mlx5_ifc_create_dct_in_bits {
|
||||
|
@@ -66,6 +66,7 @@ enum mlx5_qp_optpar {
|
||||
MLX5_QP_OPTPAR_RETRY_COUNT = 1 << 12,
|
||||
MLX5_QP_OPTPAR_RNR_RETRY = 1 << 13,
|
||||
MLX5_QP_OPTPAR_ACK_TIMEOUT = 1 << 14,
|
||||
MLX5_QP_OPTPAR_LAG_TX_AFF = 1 << 15,
|
||||
MLX5_QP_OPTPAR_PRI_PORT = 1 << 16,
|
||||
MLX5_QP_OPTPAR_SRQN = 1 << 18,
|
||||
MLX5_QP_OPTPAR_CQN_RCV = 1 << 19,
|
||||
@@ -321,6 +322,7 @@ struct mlx5_av {
|
||||
struct mlx5_ib_ah {
|
||||
struct ib_ah ibah;
|
||||
struct mlx5_av av;
|
||||
u8 xmit_port;
|
||||
};
|
||||
|
||||
static inline struct mlx5_ib_ah *to_mah(struct ib_ah *ibah)
|
||||
@@ -493,72 +495,6 @@ struct mlx5_core_dct {
|
||||
struct completion drained;
|
||||
};
|
||||
|
||||
struct mlx5_qp_path {
|
||||
u8 fl_free_ar;
|
||||
u8 rsvd3;
|
||||
__be16 pkey_index;
|
||||
u8 rsvd0;
|
||||
u8 grh_mlid;
|
||||
__be16 rlid;
|
||||
u8 ackto_lt;
|
||||
u8 mgid_index;
|
||||
u8 static_rate;
|
||||
u8 hop_limit;
|
||||
__be32 tclass_flowlabel;
|
||||
union {
|
||||
u8 rgid[16];
|
||||
u8 rip[16];
|
||||
};
|
||||
u8 f_dscp_ecn_prio;
|
||||
u8 ecn_dscp;
|
||||
__be16 udp_sport;
|
||||
u8 dci_cfi_prio_sl;
|
||||
u8 port;
|
||||
u8 rmac[6];
|
||||
};
|
||||
|
||||
/* FIXME: use mlx5_ifc.h qpc */
|
||||
struct mlx5_qp_context {
|
||||
__be32 flags;
|
||||
__be32 flags_pd;
|
||||
u8 mtu_msgmax;
|
||||
u8 rq_size_stride;
|
||||
__be16 sq_crq_size;
|
||||
__be32 qp_counter_set_usr_page;
|
||||
__be32 wire_qpn;
|
||||
__be32 log_pg_sz_remote_qpn;
|
||||
struct mlx5_qp_path pri_path;
|
||||
struct mlx5_qp_path alt_path;
|
||||
__be32 params1;
|
||||
u8 reserved2[4];
|
||||
__be32 next_send_psn;
|
||||
__be32 cqn_send;
|
||||
__be32 deth_sqpn;
|
||||
u8 reserved3[4];
|
||||
__be32 last_acked_psn;
|
||||
__be32 ssn;
|
||||
__be32 params2;
|
||||
__be32 rnr_nextrecvpsn;
|
||||
__be32 xrcd;
|
||||
__be32 cqn_recv;
|
||||
__be64 db_rec_addr;
|
||||
__be32 qkey;
|
||||
__be32 rq_type_srqn;
|
||||
__be32 rmsn;
|
||||
__be16 hw_sq_wqe_counter;
|
||||
__be16 sw_sq_wqe_counter;
|
||||
__be16 hw_rcyclic_byte_counter;
|
||||
__be16 hw_rq_counter;
|
||||
__be16 sw_rcyclic_byte_counter;
|
||||
__be16 sw_rq_counter;
|
||||
u8 rsvd0[5];
|
||||
u8 cgs;
|
||||
u8 cs_req;
|
||||
u8 cs_res;
|
||||
__be64 dc_access_key;
|
||||
u8 rsvd1[24];
|
||||
};
|
||||
|
||||
int mlx5_debug_qp_add(struct mlx5_core_dev *dev, struct mlx5_core_qp *qp);
|
||||
void mlx5_debug_qp_remove(struct mlx5_core_dev *dev, struct mlx5_core_qp *qp);
|
||||
|
||||
|
Reference in New Issue
Block a user