@@ -677,8 +677,17 @@ static int mlx5e_alloc_rq(struct mlx5e_channel *c,
677677 wqe -> data .lkey = rq -> mkey_be ;
678678 }
679679
680- INIT_WORK (& rq -> am .work , mlx5e_rx_am_work );
681- rq -> am .mode = params -> rx_cq_moderation .cq_period_mode ;
680+ INIT_WORK (& rq -> dim .work , mlx5e_rx_dim_work );
681+
682+ switch (params -> rx_cq_moderation .cq_period_mode ) {
683+ case MLX5_CQ_PERIOD_MODE_START_FROM_CQE :
684+ rq -> dim .mode = NET_DIM_CQ_PERIOD_MODE_START_FROM_CQE ;
685+ break ;
686+ case MLX5_CQ_PERIOD_MODE_START_FROM_EQE :
687+ default :
688+ rq -> dim .mode = NET_DIM_CQ_PERIOD_MODE_START_FROM_EQE ;
689+ }
690+
682691 rq -> page_cache .head = 0 ;
683692 rq -> page_cache .tail = 0 ;
684693
@@ -925,7 +934,7 @@ static int mlx5e_open_rq(struct mlx5e_channel *c,
925934 if (err )
926935 goto err_destroy_rq ;
927936
928- if (params -> rx_am_enabled )
937+ if (params -> rx_dim_enabled )
929938 c -> rq .state |= BIT (MLX5E_RQ_STATE_AM );
930939
931940 return 0 ;
@@ -958,7 +967,7 @@ static void mlx5e_deactivate_rq(struct mlx5e_rq *rq)
958967
959968static void mlx5e_close_rq (struct mlx5e_rq * rq )
960969{
961- cancel_work_sync (& rq -> am .work );
970+ cancel_work_sync (& rq -> dim .work );
962971 mlx5e_destroy_rq (rq );
963972 mlx5e_free_rx_descs (rq );
964973 mlx5e_free_rq (rq );
@@ -1571,7 +1580,7 @@ static void mlx5e_destroy_cq(struct mlx5e_cq *cq)
15711580}
15721581
15731582static int mlx5e_open_cq (struct mlx5e_channel * c ,
1574- struct mlx5e_cq_moder moder ,
1583+ struct net_dim_cq_moder moder ,
15751584 struct mlx5e_cq_param * param ,
15761585 struct mlx5e_cq * cq )
15771586{
@@ -1753,7 +1762,7 @@ static int mlx5e_open_channel(struct mlx5e_priv *priv, int ix,
17531762 struct mlx5e_channel_param * cparam ,
17541763 struct mlx5e_channel * * cp )
17551764{
1756- struct mlx5e_cq_moder icocq_moder = {0 , 0 };
1765+ struct net_dim_cq_moder icocq_moder = {0 , 0 };
17571766 struct net_device * netdev = priv -> netdev ;
17581767 int cpu = mlx5e_get_cpu (priv , ix );
17591768 struct mlx5e_channel * c ;
@@ -2005,7 +2014,7 @@ static void mlx5e_build_ico_cq_param(struct mlx5e_priv *priv,
20052014
20062015 mlx5e_build_common_cq_param (priv , param );
20072016
2008- param -> cq_period_mode = MLX5_CQ_PERIOD_MODE_START_FROM_EQE ;
2017+ param -> cq_period_mode = NET_DIM_CQ_PERIOD_MODE_START_FROM_EQE ;
20092018}
20102019
20112020static void mlx5e_build_icosq_param (struct mlx5e_priv * priv ,
@@ -4047,9 +4056,18 @@ void mlx5e_set_rx_cq_mode_params(struct mlx5e_params *params, u8 cq_period_mode)
40474056 params -> rx_cq_moderation .usec =
40484057 MLX5E_PARAMS_DEFAULT_RX_CQ_MODERATION_USEC_FROM_CQE ;
40494058
4050- if (params -> rx_am_enabled )
4051- params -> rx_cq_moderation =
4052- mlx5e_am_get_def_profile (cq_period_mode );
4059+ if (params -> rx_dim_enabled ) {
4060+ switch (cq_period_mode ) {
4061+ case MLX5_CQ_PERIOD_MODE_START_FROM_CQE :
4062+ params -> rx_cq_moderation =
4063+ net_dim_get_def_profile (NET_DIM_CQ_PERIOD_MODE_START_FROM_CQE );
4064+ break ;
4065+ case MLX5_CQ_PERIOD_MODE_START_FROM_EQE :
4066+ default :
4067+ params -> rx_cq_moderation =
4068+ net_dim_get_def_profile (NET_DIM_CQ_PERIOD_MODE_START_FROM_EQE );
4069+ }
4070+ }
40534071
40544072 MLX5E_SET_PFLAG (params , MLX5E_PFLAG_RX_CQE_BASED_MODER ,
40554073 params -> rx_cq_moderation .cq_period_mode ==
@@ -4111,7 +4129,7 @@ void mlx5e_build_nic_params(struct mlx5_core_dev *mdev,
41114129 cq_period_mode = MLX5_CAP_GEN (mdev , cq_period_start_from_cqe ) ?
41124130 MLX5_CQ_PERIOD_MODE_START_FROM_CQE :
41134131 MLX5_CQ_PERIOD_MODE_START_FROM_EQE ;
4114- params -> rx_am_enabled = MLX5_CAP_GEN (mdev , cq_moderation );
4132+ params -> rx_dim_enabled = MLX5_CAP_GEN (mdev , cq_moderation );
41154133 mlx5e_set_rx_cq_mode_params (params , cq_period_mode );
41164134 mlx5e_set_tx_cq_mode_params (params , cq_period_mode );
41174135
0 commit comments