summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorhselasky <hselasky@FreeBSD.org>2016-09-23 08:30:53 +0000
committerhselasky <hselasky@FreeBSD.org>2016-09-23 08:30:53 +0000
commitf748227dd8c71ab845074e759f6cffa4a96f9c27 (patch)
tree5b8e3bbd37482a6bbfb2cd240e94773ed185e9ce
parentfb3adcc528df1941efc4ce758fa8bf3d050c025e (diff)
downloadFreeBSD-src-f748227dd8c71ab845074e759f6cffa4a96f9c27.zip
FreeBSD-src-f748227dd8c71ab845074e759f6cffa4a96f9c27.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
-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 c79840d..50dd357 100644
--- a/sys/dev/mlx5/mlx5_en/en.h
+++ b/sys/dev/mlx5/mlx5_en/en.h
@@ -358,6 +358,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;
@@ -804,5 +819,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 1d8f695..cddcbe6 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;
@@ -1355,7 +1340,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,
@@ -1380,7 +1365,7 @@ err_destroy_cq:
return (err);
}
-static void
+void
mlx5e_close_cq(struct mlx5e_cq *cq)
{
mlx5e_disable_cq(cq);
OpenPOWER on IntegriCloud