summaryrefslogtreecommitdiffstats
path: root/sys/dev/mlx5
diff options
context:
space:
mode:
authorhselasky <hselasky@FreeBSD.org>2016-09-23 08:21:45 +0000
committerhselasky <hselasky@FreeBSD.org>2016-09-23 08:21:45 +0000
commitd8549169d44011525b81f07e59d942a6365ea039 (patch)
tree57e1435c4145cf4d46cf0425c44829d229497f7e /sys/dev/mlx5
parent6708925c3ad8c595d4f8da5576b5e32088d3cca0 (diff)
downloadFreeBSD-src-d8549169d44011525b81f07e59d942a6365ea039.zip
FreeBSD-src-d8549169d44011525b81f07e59d942a6365ea039.tar.gz
MFC r305870:
mlx5en: Make the mlx5e_open_cq() and mlx5e_close_cq() functions global. Make some functions and structures global to allow for code reuse when creating rate limiting sendqueues. Sponsored by: Mellanox Technologies
Diffstat (limited to 'sys/dev/mlx5')
-rw-r--r--sys/dev/mlx5/mlx5_en/en.h18
-rw-r--r--sys/dev/mlx5/mlx5_en/mlx5_en_main.c19
2 files changed, 20 insertions, 17 deletions
diff --git a/sys/dev/mlx5/mlx5_en/en.h b/sys/dev/mlx5/mlx5_en/en.h
index 9837588..f5e23fd 100644
--- a/sys/dev/mlx5/mlx5_en/en.h
+++ b/sys/dev/mlx5/mlx5_en/en.h
@@ -352,6 +352,21 @@ struct mlx5e_stats {
struct mlx5e_port_stats_debug port_stats_debug;
};
+struct mlx5e_rq_param {
+ u32 rqc [MLX5_ST_SZ_DW(rqc)];
+ struct mlx5_wq_param wq;
+};
+
+struct mlx5e_sq_param {
+ u32 sqc [MLX5_ST_SZ_DW(sqc)];
+ struct mlx5_wq_param wq;
+};
+
+struct mlx5e_cq_param {
+ u32 cqc [MLX5_ST_SZ_DW(cqc)];
+ struct mlx5_wq_param wq;
+};
+
struct mlx5e_params {
u8 log_sq_size;
u8 log_rq_size;
@@ -794,5 +809,8 @@ void mlx5e_create_stats(struct sysctl_ctx_list *,
void mlx5e_send_nop(struct mlx5e_sq *, u32);
void mlx5e_sq_cev_timeout(void *);
int mlx5e_refresh_channel_params(struct mlx5e_priv *);
+int mlx5e_open_cq(struct mlx5e_priv *, struct mlx5e_cq_param *,
+ struct mlx5e_cq *, mlx5e_cq_comp_t *, int eq_ix);
+void mlx5e_close_cq(struct mlx5e_cq *);
#endif /* _MLX5_EN_H_ */
diff --git a/sys/dev/mlx5/mlx5_en/mlx5_en_main.c b/sys/dev/mlx5/mlx5_en/mlx5_en_main.c
index a07776f..cb70970 100644
--- a/sys/dev/mlx5/mlx5_en/mlx5_en_main.c
+++ b/sys/dev/mlx5/mlx5_en/mlx5_en_main.c
@@ -34,21 +34,6 @@
char mlx5e_version[] = "Mellanox Ethernet driver"
" (" ETH_DRIVER_VERSION ")";
-struct mlx5e_rq_param {
- u32 rqc [MLX5_ST_SZ_DW(rqc)];
- struct mlx5_wq_param wq;
-};
-
-struct mlx5e_sq_param {
- u32 sqc [MLX5_ST_SZ_DW(sqc)];
- struct mlx5_wq_param wq;
-};
-
-struct mlx5e_cq_param {
- u32 cqc [MLX5_ST_SZ_DW(cqc)];
- struct mlx5_wq_param wq;
-};
-
struct mlx5e_channel_param {
struct mlx5e_rq_param rq;
struct mlx5e_sq_param sq;
@@ -1349,7 +1334,7 @@ mlx5e_disable_cq(struct mlx5e_cq *cq)
mlx5_core_destroy_cq(cq->priv->mdev, &cq->mcq);
}
-static int
+int
mlx5e_open_cq(struct mlx5e_priv *priv,
struct mlx5e_cq_param *param,
struct mlx5e_cq *cq,
@@ -1374,7 +1359,7 @@ err_destroy_cq:
return (err);
}
-static void
+void
mlx5e_close_cq(struct mlx5e_cq *cq)
{
mlx5e_disable_cq(cq);
OpenPOWER on IntegriCloud