History

Expose c0 and SW encap ICM for RDMA

These two series from Mark and Shun extend RDMA mlx5 API. Mark's series provides c0 register used to match egress traffic sent by local device. Shun's series adds new type for ICM area.

Leon Romanovsky committed 2 years ago

Commit afcda192 parents 07f830a d727d271114 files · +14511 −10957Browse files

Showing the changes to include/uapi (7 of 1114 files). Show all

Unified · Split

7 files
  1. include/uapi/linux/btrfs_tree.h +16 −8
  2. include/uapi/linux/fcntl.h +3 −0
  3. include/uapi/linux/stddef.h +1 −1
  4. include/uapi/linux/v4l2-subdev.h +1 −1
  5. include/uapi/linux/virtio_pci.h +11 −0
  6. include/uapi/rdma/mlx5-abi.h +2 −0
  7. include/uapi/rdma/mlx5_user_ioctl_verbs.h +1 −0
include/uapi/linux/btrfs_tree.h+16−8
@@ -219,6 +219,22 @@ · 218 unmodified lines
219219 */
220220 #define BTRFS_METADATA_ITEM_KEY 169
221221
222+/*
223+ * Special inline ref key which stores the id of the subvolume which originally
224+ * created the extent. This subvolume owns the extent permanently from the
225+ * perspective of simple quotas. Needed to know which subvolume to free quota
226+ * usage from when the extent is deleted.
227+ *
228+ * Stored as an inline ref rather to avoid wasting space on a separate item on
229+ * top of the existing extent item. However, unlike the other inline refs,
230+ * there is one one owner ref per extent rather than one per extent.
231+ *
232+ * Because of this, it goes at the front of the list of inline refs, and thus
233+ * must have a lower type value than any other inline ref type (to satisfy the
234+ * disk format rule that inline refs have non-decreasing type).
235+ */
236+#define BTRFS_EXTENT_OWNER_REF_KEY 172
237+
222238 #define BTRFS_TREE_BLOCK_REF_KEY 176
223239
224240 #define BTRFS_EXTENT_DATA_REF_KEY 178
@@ -233,14 +249,6 @@ · 8 unmodified lines
233249
234250 #define BTRFS_SHARED_DATA_REF_KEY 184
235251
236−/*
237− * Special inline ref key which stores the id of the subvolume which originally
238− * created the extent. This subvolume owns the extent permanently from the
239− * perspective of simple quotas. Needed to know which subvolume to free quota
240− * usage from when the extent is deleted.
241− */
242−#define BTRFS_EXTENT_OWNER_REF_KEY 188
243−
244252 /*
245253 * block groups give us hints into the extent allocation trees. Which
246254 * blocks are free etc etc
include/uapi/linux/fcntl.h+3−0
@@ -116,5 +116,8 @@ · 115 unmodified lines
116116 #define AT_HANDLE_FID AT_REMOVEDIR /* file handle is needed to
117117 compare object identity and may not
118118 be usable to open_by_handle_at(2) */
119+#if defined(__KERNEL__)
120+#define AT_GETATTR_NOSEC 0x80000000
121+#endif
119122
120123 #endif /* _UAPI_LINUX_FCNTL_H */
include/uapi/linux/stddef.h+1−1
@@ -27,7 +27,7 @@ · 26 unmodified lines
2727 union { \
2828 struct { MEMBERS } ATTRS; \
2929 struct TAG { MEMBERS } ATTRS NAME; \
30− }
30+ } ATTRS
3131
3232 #ifdef __cplusplus
3333 /* sizeof(struct{}) is 1 in C++, not 0, can't use C version of the macro. */
include/uapi/linux/v4l2-subdev.h+1−1
@@ -239,7 +239,7 @@ struct v4l2_subdev_routing { · 238 unmodified lines
239239 * set (which is the default), the 'stream' fields will be forced to 0 by the
240240 * kernel.
241241 */
242− #define V4L2_SUBDEV_CLIENT_CAP_STREAMS (1U << 0)
242+ #define V4L2_SUBDEV_CLIENT_CAP_STREAMS (1ULL << 0)
243243
244244 /**
245245 * struct v4l2_subdev_client_capability - Capabilities of the client accessing
include/uapi/linux/virtio_pci.h+11−0
@@ -166,6 +166,17 @@ struct virtio_pci_common_cfg { · 165 unmodified lines
166166 __le32 queue_used_hi; /* read-write */
167167 };
168168
169+/*
170+ * Warning: do not use sizeof on this: use offsetofend for
171+ * specific fields you need.
172+ */
173+struct virtio_pci_modern_common_cfg {
174+ struct virtio_pci_common_cfg cfg;
175+
176+ __le16 queue_notify_data; /* read-write */
177+ __le16 queue_reset; /* read-write */
178+};
179+
169180 /* Fields in VIRTIO_PCI_CAP_PCI_CFG: */
170181 struct virtio_pci_cfg_cap {
171182 struct virtio_pci_cap cap;
include/uapi/rdma/mlx5-abi.h+2−0
@@ -37,6 +37,7 @@ · 36 unmodified lines
3737 #include <linux/types.h>
3838 #include <linux/if_ether.h> /* For ETH_ALEN. */
3939 #include <rdma/ib_user_ioctl_verbs.h>
40+#include <rdma/mlx5_user_ioctl_verbs.h>
4041
4142 enum {
4243 MLX5_QP_FLAG_SIGNATURE = 1 << 0,
@@ -275,6 +276,7 @@ struct mlx5_ib_query_device_resp { · 232 unmodified lines
275276 __u32 tunnel_offloads_caps; /* enum mlx5_ib_tunnel_offloads */
276277 struct mlx5_ib_dci_streams_caps dci_streams_caps;
277278 __u16 reserved;
279+ struct mlx5_ib_uapi_reg reg_c0;
278280 };
279281
280282 enum mlx5_ib_create_cq_flags {
include/uapi/rdma/mlx5_user_ioctl_verbs.h+1−0
@@ -64,6 +64,7 @@ enum mlx5_ib_uapi_dm_type { · 63 unmodified lines
6464 MLX5_IB_UAPI_DM_TYPE_STEERING_SW_ICM,
6565 MLX5_IB_UAPI_DM_TYPE_HEADER_MODIFY_SW_ICM,
6666 MLX5_IB_UAPI_DM_TYPE_HEADER_MODIFY_PATTERN_SW_ICM,
67+ MLX5_IB_UAPI_DM_TYPE_ENCAP_SW_ICM,
6768 };
6869
6970 enum mlx5_ib_uapi_devx_create_event_channel_flags {

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t