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
84 MLX5_IB_ATTR_DEVX_OBJ_QUERY_CMD_OUT,84 MLX5_IB_ATTR_DEVX_OBJ_QUERY_CMD_OUT,
85};85};
86 86
87enum 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
87enum mlx5_ib_devx_query_eqn_attrs {95enum mlx5_ib_devx_query_eqn_attrs {
88 MLX5_IB_ATTR_DEVX_QUERY_EQN_USER_VEC = (1U << UVERBS_ID_NS_SHIFT),96 MLX5_IB_ATTR_DEVX_QUERY_EQN_USER_VEC = (1U << UVERBS_ID_NS_SHIFT),
89 MLX5_IB_ATTR_DEVX_QUERY_EQN_DEV_EQN,97 MLX5_IB_ATTR_DEVX_QUERY_EQN_DEV_EQN,
@@ -94,6 +102,7 @@ enum mlx5_ib_devx_obj_methods { · 4 unmodified lines
94 MLX5_IB_METHOD_DEVX_OBJ_DESTROY,102 MLX5_IB_METHOD_DEVX_OBJ_DESTROY,
95 MLX5_IB_METHOD_DEVX_OBJ_MODIFY,103 MLX5_IB_METHOD_DEVX_OBJ_MODIFY,
96 MLX5_IB_METHOD_DEVX_OBJ_QUERY,104 MLX5_IB_METHOD_DEVX_OBJ_QUERY,
105 MLX5_IB_METHOD_DEVX_OBJ_ASYNC_QUERY,
97};106};
98 107
99enum mlx5_ib_devx_umem_reg_attrs {108enum 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
51 MLX5_IB_UAPI_FLOW_ACTION_PACKET_REFORMAT_TYPE_L2_TO_L3_TUNNEL = 0x3,51 MLX5_IB_UAPI_FLOW_ACTION_PACKET_REFORMAT_TYPE_L2_TO_L3_TUNNEL = 0x3,
52};52};
53 53
54struct mlx5_ib_uapi_devx_async_cmd_hdr {
55 __aligned_u64 wr_id;
56 __u8 out_data[];
57};
58
54#endif59#endif
55 60

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