Pull rdma updates from Jason Gunthorpe: "Usual collection of small improvements and fixes, nothing especially stands out to me here. The new multipath PCI feature is a sign of things to come, I think we will see more of this in the next 10 years. Broadcom and HNS continue to update their drivers for their new HW generations. Summary: - Bug fixes and minor improvments in cxgb4, siw, mlx5, rxe, efa, rts, hfi, erdma, hns, irdma - Code cleanups/typos/etc. Tidy alloc_ordered_workqueue() calls - Multipath PCI for mlx5 - Variable size work queue, SRQ changes, and relaxed ordering for new bnxt HW - New ODP fault resolution FW protocol in mlx5 - New 'rdma monitor' netlink mechanism" * tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma: (99 commits) RDMA/bnxt_re: Remove the unused variable en_dev RDMA/nldev: Add missing break in rdma_nl_notify_err_msg() RDMA/irdma: fix error message in irdma_modify_qp_roce() RDMA/cxgb4: Added NULL check for lookup_atid RDMA/hns: Fix ah error counter in sw stat not increasing RDMA/bnxt_re: Recover the device when FW error is detected RDMA/bnxt_re: Group all operations under add_device and remove_device RDMA/bnxt_re: Use the aux device for L2 ULP callbacks RDMA/bnxt_re: Change aux driver data to en_info to hold more information RDMA/nldev: Expose whether RDMA monitoring is supported RDMA/nldev: Add support for RDMA monitoring RDMA/mlx5: Use IB set_netdev and get_netdev functions RDMA/device: Remove optimization in ib_device_get_netdev() RDMA/mlx5: Initialize phys_port_cnt earlier in RDMA device creation RDMA/mlx5: Obtain upper net device only when needed RDMA/mlx5: Check RoCE LAG status before getting netdev RDMA/mlx5: Consider the query_vuid cap for data_direct net/mlx5: Handle memory scheme ODP capabilities RDMA/mlx5: Add implicit MR handling to ODP memory scheme RDMA/mlx5: Add handling for memory scheme page fault events ...
Showing the changes to include/uapi (4 of 83 files). Show all
Unified · Split
| @@ -66,6 +66,7 @@ enum bnxt_re_wqe_mode { · 65 unmodified lines | |||
| 66 | 66 | ||
| 67 | enum { | 67 | enum { |
| 68 | BNXT_RE_COMP_MASK_REQ_UCNTX_POW2_SUPPORT = 0x01, | 68 | BNXT_RE_COMP_MASK_REQ_UCNTX_POW2_SUPPORT = 0x01, |
| 69 | BNXT_RE_COMP_MASK_REQ_UCNTX_VAR_WQE_SUPPORT = 0x02, | ||
| 69 | }; | 70 | }; |
| 70 | 71 | ||
| 71 | struct bnxt_re_uctx_req { | 72 | struct bnxt_re_uctx_req { |
| @@ -118,10 +119,16 @@ struct bnxt_re_resize_cq_req { · 46 unmodified lines | |||
| 118 | __aligned_u64 cq_va; | 119 | __aligned_u64 cq_va; |
| 119 | }; | 120 | }; |
| 120 | 121 | ||
| 122 | enum bnxt_re_qp_mask { | ||
| 123 | BNXT_RE_QP_REQ_MASK_VAR_WQE_SQ_SLOTS = 0x1, | ||
| 124 | }; | ||
| 125 | |||
| 121 | struct bnxt_re_qp_req { | 126 | struct bnxt_re_qp_req { |
| 122 | __aligned_u64 qpsva; | 127 | __aligned_u64 qpsva; |
| 123 | __aligned_u64 qprva; | 128 | __aligned_u64 qprva; |
| 124 | __aligned_u64 qp_handle; | 129 | __aligned_u64 qp_handle; |
| 130 | __aligned_u64 comp_mask; | ||
| 131 | __u32 sq_slots; | ||
| 125 | }; | 132 | }; |
| 126 | 133 | ||
| 127 | struct bnxt_re_qp_resp { | 134 | struct bnxt_re_qp_resp { |
| @@ -134,8 +141,14 @@ struct bnxt_re_srq_req { · 6 unmodified lines | |||
| 134 | __aligned_u64 srq_handle; | 141 | __aligned_u64 srq_handle; |
| 135 | }; | 142 | }; |
| 136 | 143 | ||
| 144 | enum bnxt_re_srq_mask { | ||
| 145 | BNXT_RE_SRQ_TOGGLE_PAGE_SUPPORT = 0x1, | ||
| 146 | }; | ||
| 147 | |||
| 137 | struct bnxt_re_srq_resp { | 148 | struct bnxt_re_srq_resp { |
| 138 | __u32 srqid; | 149 | __u32 srqid; |
| 150 | __u32 rsvd; /* padding */ | ||
| 151 | __aligned_u64 comp_mask; | ||
| 139 | }; | 152 | }; |
| 140 | 153 | ||
| 141 | enum bnxt_re_shpg_offt { | 154 | enum bnxt_re_shpg_offt { |
| @@ -274,6 +274,10 @@ enum mlx5_ib_create_cq_attrs { · 273 unmodified lines | |||
| 274 | MLX5_IB_ATTR_CREATE_CQ_UAR_INDEX = UVERBS_ID_DRIVER_NS_WITH_UHW, | 274 | MLX5_IB_ATTR_CREATE_CQ_UAR_INDEX = UVERBS_ID_DRIVER_NS_WITH_UHW, |
| 275 | }; | 275 | }; |
| 276 | 276 | ||
| 277 | enum mlx5_ib_reg_dmabuf_mr_attrs { | ||
| 278 | MLX5_IB_ATTR_REG_DMABUF_MR_ACCESS_FLAGS = (1U << UVERBS_ID_NS_SHIFT), | ||
| 279 | }; | ||
| 280 | |||
| 277 | #define MLX5_IB_DW_MATCH_PARAM 0xA0 | 281 | #define MLX5_IB_DW_MATCH_PARAM 0xA0 |
| 278 | 282 | ||
| 279 | struct mlx5_ib_match_params { | 283 | struct mlx5_ib_match_params { |
| @@ -344,6 +348,7 @@ enum mlx5_ib_pd_methods { · 64 unmodified lines | |||
| 344 | 348 | ||
| 345 | enum mlx5_ib_device_methods { | 349 | enum mlx5_ib_device_methods { |
| 346 | MLX5_IB_METHOD_QUERY_PORT = (1U << UVERBS_ID_NS_SHIFT), | 350 | MLX5_IB_METHOD_QUERY_PORT = (1U << UVERBS_ID_NS_SHIFT), |
| 351 | MLX5_IB_METHOD_GET_DATA_DIRECT_SYSFS_PATH, | ||
| 347 | }; | 352 | }; |
| 348 | 353 | ||
| 349 | enum mlx5_ib_query_port_attrs { | 354 | enum mlx5_ib_query_port_attrs { |
| @@ -351,4 +356,8 @@ enum mlx5_ib_query_port_attrs { · 1 unmodified line | |||
| 351 | MLX5_IB_ATTR_QUERY_PORT, | 356 | MLX5_IB_ATTR_QUERY_PORT, |
| 352 | }; | 357 | }; |
| 353 | 358 | ||
| 359 | enum mlx5_ib_get_data_direct_sysfs_path_attrs { | ||
| 360 | MLX5_IB_ATTR_GET_DATA_DIRECT_SYSFS_PATH = (1U << UVERBS_ID_NS_SHIFT), | ||
| 361 | }; | ||
| 362 | |||
| 354 | #endif | 363 | #endif |
| @@ -54,6 +54,10 @@ enum mlx5_ib_uapi_flow_action_packet_reformat_type { · 53 unmodified lines | |||
| 54 | MLX5_IB_UAPI_FLOW_ACTION_PACKET_REFORMAT_TYPE_L2_TO_L3_TUNNEL = 0x3, | 54 | MLX5_IB_UAPI_FLOW_ACTION_PACKET_REFORMAT_TYPE_L2_TO_L3_TUNNEL = 0x3, |
| 55 | }; | 55 | }; |
| 56 | 56 | ||
| 57 | enum mlx5_ib_uapi_reg_dmabuf_flags { | ||
| 58 | MLX5_IB_UAPI_REG_DMABUF_ACCESS_DATA_DIRECT = 1 << 0, | ||
| 59 | }; | ||
| 60 | |||
| 57 | struct mlx5_ib_uapi_devx_async_cmd_hdr { | 61 | struct mlx5_ib_uapi_devx_async_cmd_hdr { |
| 58 | __aligned_u64 wr_id; | 62 | __aligned_u64 wr_id; |
| 59 | __u8 out_data[]; | 63 | __u8 out_data[]; |
| @@ -15,6 +15,7 @@ enum { · 14 unmodified lines | |||
| 15 | enum { | 15 | enum { |
| 16 | RDMA_NL_GROUP_IWPM = 2, | 16 | RDMA_NL_GROUP_IWPM = 2, |
| 17 | RDMA_NL_GROUP_LS, | 17 | RDMA_NL_GROUP_LS, |
| 18 | RDMA_NL_GROUP_NOTIFY, | ||
| 18 | RDMA_NL_NUM_GROUPS | 19 | RDMA_NL_NUM_GROUPS |
| 19 | }; | 20 | }; |
| 20 | 21 | ||
| @@ -305,6 +306,8 @@ enum rdma_nldev_command { · 284 unmodified lines | |||
| 305 | 306 | ||
| 306 | RDMA_NLDEV_CMD_DELDEV, | 307 | RDMA_NLDEV_CMD_DELDEV, |
| 307 | 308 | ||
| 309 | RDMA_NLDEV_CMD_MONITOR, | ||
| 310 | |||
| 308 | RDMA_NLDEV_NUM_OPS | 311 | RDMA_NLDEV_NUM_OPS |
| 309 | }; | 312 | }; |
| 310 | 313 | ||
| @@ -574,6 +577,9 @@ enum rdma_nldev_attr { · 263 unmodified lines | |||
| 574 | 577 | ||
| 575 | RDMA_NLDEV_ATTR_NAME_ASSIGN_TYPE, /* u8 */ | 578 | RDMA_NLDEV_ATTR_NAME_ASSIGN_TYPE, /* u8 */ |
| 576 | 579 | ||
| 580 | RDMA_NLDEV_ATTR_EVENT_TYPE, /* u8 */ | ||
| 581 | |||
| 582 | RDMA_NLDEV_SYS_ATTR_MONITOR_MODE, /* u8 */ | ||
| 577 | /* | 583 | /* |
| 578 | * Always the end | 584 | * Always the end |
| 579 | */ | 585 | */ |
| @@ -624,4 +630,14 @@ enum rdma_nl_name_assign_type { · 44 unmodified lines | |||
| 624 | RDMA_NAME_ASSIGN_TYPE_USER = 1, /* Provided by user-space */ | 630 | RDMA_NAME_ASSIGN_TYPE_USER = 1, /* Provided by user-space */ |
| 625 | }; | 631 | }; |
| 626 | 632 | ||
| 633 | /* | ||
| 634 | * Supported rdma monitoring event types. | ||
| 635 | */ | ||
| 636 | enum rdma_nl_notify_event_type { | ||
| 637 | RDMA_REGISTER_EVENT, | ||
| 638 | RDMA_UNREGISTER_EVENT, | ||
| 639 | RDMA_NETDEV_ATTACH_EVENT, | ||
| 640 | RDMA_NETDEV_DETACH_EVENT, | ||
| 641 | }; | ||
| 642 | |||
| 627 | #endif /* _UAPI_RDMA_NETLINK_H */ | 643 | #endif /* _UAPI_RDMA_NETLINK_H */ |