net/mlx5: Hairpin pair core object setup
Low level code to setup hairpin pair core object, deals with: - create hairpin RQs/SQs - destroy hairpin RQs/SQs - modifying hairpin RQs/SQs - pairing (rst2rdy) and unpairing (rdy2rst) Unlike conventional RQs/SQs, the memory used for the packet and descriptor buffers is allocated by the firmware and not the driver. The driver sets the overall data size (log). Signed-off-by: Or Gerlitz <ogerlitz@mellanox.com> Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
This commit is contained in:

committed by
Saeed Mahameed

parent
40817cdbb6
commit
18e568c390
@@ -75,4 +75,23 @@ int mlx5_core_modify_rqt(struct mlx5_core_dev *dev, u32 rqtn, u32 *in,
|
||||
int inlen);
|
||||
void mlx5_core_destroy_rqt(struct mlx5_core_dev *dev, u32 rqtn);
|
||||
|
||||
struct mlx5_hairpin_params {
|
||||
u8 log_data_size;
|
||||
u16 q_counter;
|
||||
};
|
||||
|
||||
struct mlx5_hairpin {
|
||||
struct mlx5_core_dev *func_mdev;
|
||||
struct mlx5_core_dev *peer_mdev;
|
||||
|
||||
u32 rqn;
|
||||
u32 sqn;
|
||||
};
|
||||
|
||||
struct mlx5_hairpin *
|
||||
mlx5_core_hairpin_create(struct mlx5_core_dev *func_mdev,
|
||||
struct mlx5_core_dev *peer_mdev,
|
||||
struct mlx5_hairpin_params *params);
|
||||
|
||||
void mlx5_core_hairpin_destroy(struct mlx5_hairpin *pair);
|
||||
#endif /* __TRANSOBJ_H__ */
|
||||
|
Reference in New Issue
Block a user