History

IB/mlx5: Introduce async DEVX obj query API

Introduce async DEVX obj query API to get the command response back to user space once it's ready without blocking when calling the firmware. The event's data includes a header with some meta data then the firmware output command data. The header includes: - The input 'wr_id' to let application recognizing the response. The input FD attribute is used to have the event data ready on. Downstream patches from this series will implement the file ops to let application read it.

Yishai Hadas committed 7 years ago

Commit a124edb1 parent 6bf8f223 files · +177 −1Browse files

Showing the changes to include/uapi (2 of 3 files). Show all

Unified · Split

2 files
  1. include/uapi/rdma/mlx5_user_ioctl_cmds.h +9 −0
  2. include/uapi/rdma/mlx5_user_ioctl_verbs.h +5 −0
include/uapi/rdma/mlx5_user_ioctl_cmds.h+9−0
@@ -84,6 +84,14 @@ enum mlx5_ib_devx_obj_query_attrs { · 83 unmodified lines
8484 MLX5_IB_ATTR_DEVX_OBJ_QUERY_CMD_OUT,
8585 };
8686
87+enum mlx5_ib_devx_obj_query_async_attrs {
88+ MLX5_IB_ATTR_DEVX_OBJ_QUERY_ASYNC_HANDLE = (1U << UVERBS_ID_NS_SHIFT),
89+ MLX5_IB_ATTR_DEVX_OBJ_QUERY_ASYNC_CMD_IN,
90+ MLX5_IB_ATTR_DEVX_OBJ_QUERY_ASYNC_FD,
91+ MLX5_IB_ATTR_DEVX_OBJ_QUERY_ASYNC_WR_ID,
92+ MLX5_IB_ATTR_DEVX_OBJ_QUERY_ASYNC_OUT_LEN,
93+};
94+
8795 enum mlx5_ib_devx_query_eqn_attrs {
8896 MLX5_IB_ATTR_DEVX_QUERY_EQN_USER_VEC = (1U << UVERBS_ID_NS_SHIFT),
8997 MLX5_IB_ATTR_DEVX_QUERY_EQN_DEV_EQN,
@@ -94,6 +102,7 @@ enum mlx5_ib_devx_obj_methods { · 4 unmodified lines
94102 MLX5_IB_METHOD_DEVX_OBJ_DESTROY,
95103 MLX5_IB_METHOD_DEVX_OBJ_MODIFY,
96104 MLX5_IB_METHOD_DEVX_OBJ_QUERY,
105+ MLX5_IB_METHOD_DEVX_OBJ_ASYNC_QUERY,
97106 };
98107
99108 enum mlx5_ib_devx_umem_reg_attrs {
include/uapi/rdma/mlx5_user_ioctl_verbs.h+5−0
@@ -51,5 +51,10 @@ enum mlx5_ib_uapi_flow_action_packet_reformat_type { · 50 unmodified lines
5151 MLX5_IB_UAPI_FLOW_ACTION_PACKET_REFORMAT_TYPE_L2_TO_L3_TUNNEL = 0x3,
5252 };
5353
54+struct mlx5_ib_uapi_devx_async_cmd_hdr {
55+ __aligned_u64 wr_id;
56+ __u8 out_data[];
57+};
58+
5459 #endif
5560

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